使用共享内存中存储的 rwlock 对象的同一进程中的两个线程在 pthreads 压力测试期间遇到崩溃。我花了一段时间试图找到内存损坏或死锁,但到目前为止一无所获。这只是通知我我造成了僵局的一种不太理想的方式吗?有关调试此工具/方法的任何指示?
线程 5“tms_test”收到信号 SIGABRT,中止。 [切换到线程 0x7ffff28a7700 (LWP 3777)] 0x00007ffff761e428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 54 ../sysdeps/unix/sysv/linux/raise.c:没有这样的文件或目录。 (gdb) bt #0 0x00007ffff761e428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 0x00007ffff762002a 在 __GI_abort () at abort.c:89 #2 0x00007ffff76607ea in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff77776cc "%s") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007ffff766080e in __GI__libc_fatal (message=message@entry=0x7ffff79c4ae0“futex 工具返回了一个意外的错误代码。”) at ../sysdeps/posix/libc_fatal.c:185 #4 0x00007ffff79be7e5 in futex_fatal_error () at ../sysdeps/nptl/futex-internal.h:200 #5 futex_wait (private=, expected=, futex_word=0x7ffff7f670d9) at ../sysdeps/unix/sysv/linux/futex-internal.h:77 #6 futex_wait_simple (private=, expected=, futex_word=0x7ffff7f670d9) at ../sysdeps/nptl/futex-internal.h:135 #7 __pthread_rwlock_wrlock_slow (rwlock=0x7ffff7f670cd) 在 pthread_rwlock_wrlock.c:67 #8 …