On 2021/2/3 21:57, Martin Wilck wrote: > On Wed, 2021-02-03 at 18:48 +0800, lixiaokeng wrote: >> >> >> On 2021/2/3 4:52, Martin Wilck wrote: >>> did this fix your "crash on exit" issue? >> >> Unfortunately, the issue is not solved. >> >> There will be some different coredump stack. >> >> 0.8.5 (I'm not sure there are only two stacks in 0.8.5) >> First stack: >> Program terminated with signal SIGSEGV, Segmentation fault. >> #0 0x00007f59a0109647 in ?? () >> [Current thread is 1 (LWP 1997690)] >> (gdb) bt >> #0 0x00007f59a0109647 in ?? () >> #1 0x0000000000000000 in ?? () >> (gdb) info threads >> Id Target Id Frame >> * 1 LWP 1997690 0x00007f59a0109647 in ?? () >> 2 LWP 1996840 0x00007f59a0531de7 in ?? () >> 3 LWP 1997692 0x00007f59a0109647 in ?? () >> 4 LWP 1996857 0x00007f59a020d169 in ?? () >> >> Second stack: >> #0 0x0000ffffb6118f4c in aarch64_fallback_frame_state >> (context=0xffffb523f200, context=0xffffb523f200, fs=0xffffb523e700) >> at ./md-unwind-support.h:74 >> #1 uw_frame_state_for (context=context@entry=0xffffb523f200, >> fs=fs@entry=0xffffb523e700) at ../../../libgcc/unwind-dw2.c:1257 >> #2 0x0000ffffb6119ef4 in _Unwind_ForcedUnwind_Phase2 >> (exc=exc@entry=0xffffb52403b0, context=context@entry=0xffffb523f200) >> at ../../../libgcc/unwind.inc:155 >> #3 0x0000ffffb611a284 in _Unwind_ForcedUnwind (exc=0xffffb52403b0, >> stop=stop@entry=0xffffb64846c0 <unwind_stop>, >> stop_argument=0xffffb523f630) at ../../../libgcc/unwind.inc:207 >> #4 0x0000ffffb6484860 in __GI___pthread_unwind (buf=<optimized out>) >> at unwind.c:121 >> #5 0x0000ffffb6482d08 in __do_cancel () at pthreadP.h:304 >> #6 __GI___pthread_testcancel () at pthread_testcancel.c:26 >> #7 0x0000ffffb5c528e8 in ?? () >> > Hi Martin: Here I add condlog(2, "start funcname"), pthread_cleanup_push(func_print, NULL) in every pthread_create func. When these two core happened, "exit tur_thread" are less than "start tur_thread". So the trouble may be in tur_thread. I will use int oldstate; pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate); ... pthread_setcancelstate(oldstate, NULL); pthread_testcancel(); to test it. Regards, Lixiaokeng -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel