[Intel Thread Checker 3.1] calls std::terminate() after throwing exception of class type ----------------------------------------------------------------------------------------
Key: STDCXX-476 URL: https://issues.apache.org/jira/browse/STDCXX-476 Project: C++ Standard Library Issue Type: Bug Components: External Environment: Intel Therad Checker 3.1 Reporter: Martin Sebor Running a program that throws and catches an exception of user-defined type in a thread function through the thread checker causes a call to terminate(): cat t.cpp && make t && icc -v && tcheck_cl t #include <pthread.h> #include <stdio.h> struct S { }; int loop; extern "C" void* thread_proc (void*) { for (loop = 0; loop != 2; ++loop) { printf ("%d\n", loop); try { throw S (); } catch (...) { } } return 0; } int main () { pthread_t tid; if (pthread_create (&tid, 0, thread_proc, 0)) return 1; pthread_join (tid, 0); } icc -c -I/home/sebor/stdcxx/include/ansi -D_RWSTDDEBUG -D_REENTRANT -I/home/sebor/stdcxx/include -I/build/sebor/stdcxx-icc-10.0.025-15S/include -I/home/sebor/stdcxx/examples/include -cxxlib-nostd -g -w1 t.cpp icc t.o -o t -cxxlib-nostd -lpthread -L/build/sebor/stdcxx-icc-10.0.025-15S/lib -lstd15S -lcxaguard -lsupc++ -lm Version 10.0 Intel(R) Thread Checker 3.1 command line instrumentation driver (24400) Copyright (c) 2007 Intel Corporation. All rights reserved. Building project Instrumenting 11% t ( All Functions ):.. Running: /build/sebor/stdcxx-icc-10.0.025-15S/examples/t 0 terminate called after throwing an instance of 'S' Application finished _______________________________________________________________________________ |ID|Short Des|Severit|Co|Context|Description |1st Ac|2nd Acc| | |cription |y Name |un|[Best] | |cess[B|ess[Bes| | | | |t | | |est] |t] | _______________________________________________________________________________ |1 |Thread te|Informa|1 |Whole |Thread termination at |"t.cpp|"t.cpp"| | |rmination|tion | |Program|"t.cpp":24 - includes stack |":24 |:24 | | | | | |1 |allocation of 10.004 MB and | | | | | | | | |use of 7.281 KB | | | _______________________________________________________________________________ |2 |Thread te|Informa|1 |Whole |Thread termination at |"t.cpp|"t.cpp"| | |rmination|tion | |Program|"t.cpp":21 - includes stack |":21 |:21 | | | | | |2 |allocation of 10 MB and use of| | | | | | | | |4.938 KB | | | _______________________________________________________________________________ -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.