|
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]
> http://lists.boost.org/mailman/listinfo.cgi/boost-cmake
>