https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85471
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Andreas Otto from comment #4) > change my C++ wrapper from "embedded data" (large amount of data) to just an > embedded pointer (only 8byte pointer in the C++ class) > > → the error is still there… > > ==57730== Process terminating with default action of signal 6 (SIGABRT) > ==57730== at 0x6BA2F67: raise (raise.c:55) > ==57730== by 0x6BA4339: abort (abort.c:78) > ==57730== by 0x4178DD: _Unwind_SetGR (unwind-dw2.c:273) > ==57730== by 0x409B8C: __gxx_personality_v0 (eh_personality.cc:712) > ==57730== by 0x72AC4A4: _Unwind_ForcedUnwind_Phase2 (unwind.inc:175) > ==57730== by 0x72ACA64: _Unwind_ForcedUnwind (unwind.inc:207) > ==57730== by 0x696098F: __pthread_unwind (unwind.c:126) > ==57730== by 0x695A8B4: __do_cancel (pthreadP.h:283) > ==57730== by 0x695A8B4: pthread_exit (pthread_exit.c:28) > ==57730== by 0x506554E: libmsgque::SysExit(int, int) (sys.cc:1000) > ==57730== by 0x5059987: libmsgque::MqSysExit(int, int) (msgque.h:2038) > ==57730== by 0x505B4F8: libmsgque::MqExitP(libmsgque::MqS*, char const*, > char const*) (msgque.cc:440) > ==57730== by 0x50B2FAA: ccmsgque::MqC::ExitP(char const*, char const*) > (MqC.cc:380) > ==57730== by 0x405EF7: Filter6::EXIT() (Filter6.cc:80) > ==57730== by 0x5099A15: ccmsgque::MqC::ProcCall(libmsgque::MqS*, void*) > (ccmisc.cc:50) > ==57730== by 0x5043DA3: libmsgque::MqCallbackCall(libmsgque::MqS*, > libmsgque::MqCallbackS) (msgque_private.h:326) > ==57730== by 0x5045368: libmsgque::pTokenInvoke(libmsgque::pTokenS > const*) (token.cc:342) > ==57730== by 0x507836C: libmsgque::pServiceStart(libmsgque::MqS*, > libmsgque::MqErrorE (*)(void*, libmsgque::MqS**, libmsgque::MqEnvS*), void*) > (service.cc:244) > ==57730== by 0x502D33B: libmsgque::pEventStart(libmsgque::MqS*, > libmsgque::MqEventS*, timeval const*) (event.cc:287) > ==57730== by 0x5055AD3: libmsgque::pIoSelectStart(libmsgque::MqIoS*, > timeval const*) (io.cc:267) > ==57730== by 0x5078B3E: libmsgque::MqProcessEvent(libmsgque::MqS*, long, > libmsgque::MqWaitOnEventE) (service.cc:377) > ==57730== by 0x5063F70: > libmsgque::MqSysServerThreadMain(libmsgque::MqSysServerThreadMainS*) > (sys.cc:488) > ==57730== by 0x5063FB7: libmsgque::sSysServerThreadInit(void*) > (sys.cc:502) > ==57730== by 0x6959723: start_thread (pthread_create.c:457) > ==57730== by 0x6C5AE8C: clone (clone.S:109) > ==57730== > ==57730== HEAP SUMMARY: > ==57730== in use at exit: 160,370 bytes in 184 blocks > ==57730== total heap usage: 940 allocs, 756 frees, 677,695 bytes allocated > ==57730== > ==57922== > ==57922== HEAP SUMMARY: > ==57922== in use at exit: 72,944 bytes in 4 blocks > ==57922== total heap usage: 487 allocs, 483 frees, 273,097 bytes allocated > ==57922== > ==57922== LEAK SUMMARY: > ==57922== definitely lost: 0 bytes in 0 blocks > ==57922== indirectly lost: 0 bytes in 0 blocks > ==57922== possibly lost: 0 bytes in 0 blocks > ==57922== still reachable: 72,944 bytes in 4 blocks > ==57922== suppressed: 0 bytes in 0 blocks > ==57922== Rerun with --leak-check=full to see details of leaked memory > ==57922== > ==57922== For counts of detected and suppressed errors, rerun with: -v > ==57922== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) > ==57730== LEAK SUMMARY: > > > but I have additional "leakcheck" data… > > > ---- trans2-3-TE2-init-(3|binary|uds|cc.uds.thread) start > ==67406== 672 bytes in 2 blocks are possibly lost in loss record 131 of 151 > ==67406== at 0x4C2C240: calloc (in > /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > ==67406== by 0x40119E1: allocate_dtv (dl-tls.c:322) > ==67406== by 0x401223D: _dl_allocate_tls (dl-tls.c:539) > ==67406== by 0x695A180: allocate_stack (allocatestack.c:580) > ==67406== by 0x695A180: pthread_create@@GLIBC_2.2.5 (pthread_create.c:654) > ==67406== by 0x5064231: libmsgque::SysServerThread(libmsgque::MqS*, > libmsgque::MqFactoryS*, libmsgque::MqBufferLS**, libmsgque::MqBufferLS**, > char const*, int, libmsgque::MqIdS*) (sys.cc:562) > ==67406== by 0x5057E6F: libmsgque::pIoStartServer(libmsgque::MqIoS*, > libmsgque::IoStartServerE, libmsgque::MqSockS*, libmsgque::MqIdS*) > (io.cc:692) > ==67406== by 0x5053294: libmsgque::GenericServer(libmsgque::GenericS*, > sockaddr*, unsigned int) (generic_io.cc:155) > ==67406== by 0x5048FE9: libmsgque::UdsServer(libmsgque::UdsS*) > (uds_io.cc:129) > ==67406== by 0x505421E: libmsgque::pIoCreate(libmsgque::MqS*, > libmsgque::MqIoS**) (io.cc:95) > ==67406== by 0x5083507: libmsgque::MqLinkCreate(libmsgque::MqS*, > libmsgque::MqBufferLS*) (link.cc:1104) > ==67406== by 0x5084730: libmsgque::MqLinkDefault(libmsgque::MqS*, > libmsgque::MqBufferLS*) (link.cc:1256) > ==67406== by 0x5082279: libmsgque::MqLinkCreate(libmsgque::MqS*, > libmsgque::MqBufferLS*) (link.cc:971) > ==67406== by 0x50B3ACD: ccmsgque::MqC::LinkCreate(ccmsgque::MqBufferLC*) > (MqC.cc:414) > ==67406== by 0x5095DE2: ccmsgque::MqC::LinkCreate(ccmsgque::MqBufferLC) > (ccmsgque.cc:151) > ==67406== by 0x40498B: main (Filter6.cc:176) > ==67406== I'm sorry but a reduced test-case will be really needed. Without that it will be very difficult to guess what's wrong. Thanks.