
The attached program crashes under MinGW-32 (gcc-4.4), but works under VC8. It does concurrent streaming of posix_time::ptime values to independent std::ostringstream's. Mutexing the ostringstream from construction to destruction keeps it from crashing, but that shouldn't have to be done for independent streams. Mutexing just the ptime insertions makes it run longer, but it still crashes. I made it a Trac ticket, but wondered if anyone here had any input on it. Could it be a GCC or MinGW bug? Are other platforms escaping a crash just by luck? Building: MinGW: g++ -DBOOST_THREAD_USE_LIB DTConcur.cpp -IC:\Software\Open\lib\boost_1_45_0\ -DWIN32 -D_WINDOWS -LC:\Software\Open\lib\boost_1_45_0\mgw44\lib -mthreads -g -frtti -fexceptions -mthreads -Wall -lstdc++ -lmingw32 -o DTConcur -lboost_thread-mgw44-mt-s-1_45 VC8: cl DTConcur.cpp /IC:\Software\Open\lib\boost_1_45_0\ /MT /D BOOST_THREAD_USE_LIB /GR /EHsc /D "WIN32" /D "_WINDOWS" /FeDTConcur.exe /link /LIBPATH:C:\Software\Open\lib\boost_1_45_0\msvc8\lib