Boost logo

Boost Interest :

Subject: Re: [Boost-cmake] placement_new test failure under VC++8
From: Mike Jackson (mike.jackson_at_[hidden])
Date: 2009-05-16 07:59:13

I have seen that error before when I have a static array like the following:

int i[2];

and then try to access something beyond the end of the array
i[3] = 1;

I have also seen that error when doing the following:

std::vector<int> i(0);
i[1] = 1;

So I am going to assume that there is an actual bug in the code. Is it
possible to debug the program with a debugger and get the line of code
that VS is bombing on?

Mike Jackson

On Sat, May 16, 2009 at 12:47 AM, David Wolfe <dwolfe_at_[hidden]> wrote:
> A runtime error in one of the unit tests has been making it difficult to
> get continuous builds going under Windows.  I get about halfway through
> the tests and then a message box pops up containing the following text:
>  Debug Error!
>  Program: ...
>  Module:
>  ..rojects\boost\build\bin\tests\numeric\placement_new.exe
>  File
>  c:\projects\boost\libs\numeric\ublas\placement_new.cpp
>  Line: 63
>  Run-Time Check Failure #2 - Stack around the variable 'a' was
>  corrupted.
>  (Press Retry to debug the application)
> If I click 'Ignore', the rest of the tests complete, and my results get
> submitted to the dashboard; but this prevents me from doing unattended
> builds.  And if I locally disable the placement_new test with something
> like:
>  if(NOT MSVC)
>    boost_test_run(placement_new)
>  endif()
> then ctest carps that I've got a locally-modified tree and refuses to
> continue:
>  c:\projects\boost\build>ctest -D Continuous
>     Site: fifthsally
>     Build name: msvc-8.0-windows
>  Create new tag: 20090516-0414 - Continuous
>  Start processing tests
>  Updating the repository
>     Updating the repository: C:/projects/boost
>     Use SVN repository type
>     Old revision of repository is: 53041
>     New revision of repository is: 53041
>     Gathering version information (one . per revision):
>     Found 1 locally modified files
>     There are modified or conflicting files in the repository
> I think I can get around this by running running ctest as follows:
>  ctest -D Continuous -E placement_new
> But it might be nice if someone with write access could add the 'if(NOT
> MSVC)' bit around 'boost_test_run(placement_NEW)' in
> libs/numeric/ublas/test/CMakeLists.txt.  (Or fix it if it's a 'real'
> error...)
> _______________________________________________
> Boost-cmake mailing list
> Boost-cmake_at_[hidden]

Boost-cmake list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at