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.

Reply via email to