[Bug sanitizer/84428] ==7122==AddressSanitizer CHECK failed: ../../../sanitizer/asan/asan_interceptors.cc:384 "((__interception::real___cxa_throw)) != (0)" (0x0, 0x0)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84428 --- Comment #15 from Vojtech Fried --- I am also getting this error. Our code is a big python extension. I run python3 and use LD_PRELOAD. In our code it throws an exception that would normally be caught. ==23331==AddressSanitizer CHECK failed: ../../../../src/libsanitizer/asan/asan_interceptors.cc:384 "((__interception::real___cxa_throw)) != (0)" (0x0, 0x0) #0 0x7fac411eec02 (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe9c02) #1 0x7fac4120d595 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x108595) #2 0x7fac4113d26c in __interceptor___cxa_throw (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x3826c) ...our code... #7 0x7fac33fb573a in _wrap_SharedPtr_APIString_APIString_Dictionary_At /home/vfr01/build/streamserve/docplatform/distribution/ubuntu/Debug/bin/pydocapiPYTHON_wrap.cxx:380961 #8 0x7fac40cad6d4 in PyCFunction_Call ../../Objects/methodobject.c:126 ...python code...
[Bug sanitizer/84428] ==7122==AddressSanitizer CHECK failed: ../../../sanitizer/asan/asan_interceptors.cc:384 "((__interception::real___cxa_throw)) != (0)" (0x0, 0x0)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84428 --- Comment #17 from Vojtech Fried --- (In reply to Martin Liška from comment #16) > Is it public, so that I can reproduce that? No, it is not public and it is also a large project, so it is not useful for reproducing the issue. I am sorry.
[Bug sanitizer/84428] ==7122==AddressSanitizer CHECK failed: ../../../sanitizer/asan/asan_interceptors.cc:384 "((__interception::real___cxa_throw)) != (0)" (0x0, 0x0)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84428 --- Comment #18 from Vojtech Fried --- Created attachment 43866 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43866&action=edit simple repro I have added a simple way to reproduce it. Unpack and run run.sh. You need python3 installed (including dev packages). It creates a simple python3 module and runs a python script using it. If built and run with sanitizers, it will reproduce the problem.
[Bug libstdc++/71025] New: std::call_once aborts instead of propagating an exception (AIX 6.1)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71025 Bug ID: 71025 Summary: std::call_once aborts instead of propagating an exception (AIX 6.1) Product: gcc Version: 5.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: vfried at opentext dot com Target Milestone: --- When an exception is thrown inside a function called from std::call_once, the process is aborted. The exception should be propagated outside std::call_once. #include #include #include int main() { static std::once_flag flag; printf( "start\n" ); try { std::call_once( flag, [&]() { throw std::runtime_error("thrown from once"); } ); } catch ( std::runtime_error const& exc ) { printf( "%s\n", exc.what() ); } printf( "end\n" ); return 0; } bea@stbldap02:~/samples$ g++ -std=c++14 -pthread std_call_once_exception.cxx bea@stbldap02:~/samples$ ./a.out start terminate called after throwing an instance of 'std::runtime_error' what(): thrown from once IOT/Abort trap (core dumped) BTW: the system on which I tested it should be the same as in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67478
[Bug libstdc++/71025] std::call_once aborts instead of propagating an exception (AIX 6.1)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71025 --- Comment #1 from Vojtech Fried --- I am sorry, probably duplicate of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66146