https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85471

--- Comment #4 from Andreas Otto <aotto1...@t-online.de> ---
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==

Reply via email to