id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 5553,Access violation caused by boost::unit_test::make_test_case on Windows,Balint SZENTE ,Gennadiy Rozental,"The unit test main application built in DEBUG mode generates access violation with non debug version of Boost shared libraries on Windows platform. Steps to reproduce: * Test file: {{{ #!cpp #define BOOST_TEST_MODULE ""Test"" #include using namespace boost; BOOST_AUTO_TEST_SUITE(Suite) BOOST_AUTO_TEST_CASE(Case) { } BOOST_AUTO_TEST_SUITE_END() }}} * Compile with Visual C++ 2010 in DEBUG mode having the following defines enabled: {{{ BOOST_ALL_DYN_LINK BOOST_ALL_NO_LIB }}} * Link with the ''non debug'' versions of Boost DLLs taken from the [boostpro.com] website (version 1.46.1 or 1.44 for example) * Run the program Expected result: {{{ Running 1 test cases... *** No errors detected }}} Actual result: the program will crash in `msvcr100.dll` in `memcpy` function with illegal addresses. The callstack: {{{ msvcr100.dll!memcpy(unsigned char * dst, unsigned char * src, unsigned long count) Line 311 boost_unit_test_framework-vc100-mt-1_44.dll!10002e29() [Frames below may be incorrect and/or missing, no symbols loaded for boost_unit_test_framework-vc100-mt-1_44.dll] boost_unit_test_framework-vc100-mt-1_44.dll!1003298f() boost_unit_test_framework-vc100-mt-1_44.dll!10032a9d() boost_utf.exe!boost::unit_test::make_test_case(const boost::unit_test::callback0 & test_func, boost::unit_test::basic_cstring tc_name) Line 255 + 0x8d bytes }}} '''Note:''' * The program linked with the DEBUG version of the Boost DLLs works properly. It seems that Boost.Test module generates different codepaths and the Debug and non debug versions of ''the DLLs are not functionally compatible''. * On Linux this issue does not exist. The DEBUG version of the application works well with the non debug version of boost_unit_test_framework shared object files.",Bugs,closed,To Be Determined,test,Boost 1.52.0,Problem,wontfix,"windows, memcpy, make_test_case",