Hi,
On Wed, Jun 03, 2015 at 16:58 +0200, Konstantin Belousov
wrote:> You should recompile both libc and libthr with debugging symbols, like
> cd /usr/src
> (cd lib/libc && make all install DEBUG_FLAGS=-g)
> (cd lib/libthr && make all install DEBUG_FLAGS=-g)
> then obtain the core dump and post backtraces.
still no new core dump from Xorg, but one from vim.
As far as I recall, vim used to crash at pthread_getspecific, too, but this time
it was different:
Core was generated by `vim'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libncurses.so.8...(no debugging symbols found)...done.
Loaded symbols for /lib/libncurses.so.8
Reading symbols from /usr/local/lib/libintl.so.8...(no debugging symbols
found)...done.
Loaded symbols for /usr/local/lib/libintl.so.8
Reading symbols from /usr/local/lib/libpython2.7.so.1...(no debugging symbols
found)...done.
Loaded symbols for /usr/local/lib/libpython2.7.so.1
Reading symbols from /lib/libthr.so.3...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /lib/libutil.so.9...done.
Loaded symbols for /lib/libutil.so.9
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x000000080149d6a2 in check_deferred_signal (curthread=0x802406400) at
/usr/src/lib/libthr/thread/thr_sig.c:331
331 getcontext(uc);
[New Thread 802406400 (LWP 101373/vim)]
Current language: auto; currently minimal
(gdb) bt
#0 0x000000080149d6a2 in check_deferred_signal (curthread=0x802406400) at
/usr/src/lib/libthr/thread/thr_sig.c:331
#1 0x000000080149d5ed in _thr_ast (curthread=0x802406400) at
/usr/src/lib/libthr/thread/thr_sig.c:264
#2 0x00000008014a23c7 in _thr_rtld_lock_release (lock=<value optimized
out>) at /usr/src/lib/libthr/thread/thr_rtld.c:162
#3 0x000000080083c94d in _r_debug_postinit () from /libexec/ld-elf.so.1
#4 0x000000080083a15d in .text () from /libexec/ld-elf.so.1
#5 0x00000000004e3d83 in preserve_exit ()
#6 0x000000000051e808 in mch_libcall ()
#7 0x000000080149e47a in handle_signal (actp=<value optimized out>,
sig=<value optimized out>, info=<value optimized out>, ucp=<value
optimized out>) at /usr/src/lib/libthr/thread/thr_sig.c:240
#8 0x000000080149e062 in thr_sighandler (sig=<value optimized out>,
info=<value optimized out>, _ucp=<value optimized out>) at
/usr/src/lib/libthr/thread/thr_sig.c:183
#9 <signal handler called>
#10 0x000000080149d6a2 in check_deferred_signal (curthread=0x802406400) at
/usr/src/lib/libthr/thread/thr_sig.c:331
#11 0x000000080149d5ed in _thr_ast (curthread=0x802406400) at
/usr/src/lib/libthr/thread/thr_sig.c:264
#12 0x00000008014a23c7 in _thr_rtld_lock_release (lock=<value optimized
out>) at /usr/src/lib/libthr/thread/thr_rtld.c:162
#13 0x000000080083c94d in _r_debug_postinit () from /libexec/ld-elf.so.1
#14 0x000000080083a15d in .text () from /libexec/ld-elf.so.1
#15 0x000000080149e4e2 in handle_signal (actp=<value optimized out>,
sig=<value optimized out>, info=<value optimized out>, ucp=<value
optimized out>) at /usr/src/lib/libthr/thread/thr_sig.c:256
#16 0x000000080149e062 in thr_sighandler (sig=<value optimized out>,
info=<value optimized out>, _ucp=<value optimized out>) at
/usr/src/lib/libthr/thread/thr_sig.c:183
#17 <signal handler called>
#18 0x00000008017f9b7a in select () from /lib/libc.so.7
#19 0x000000080149bb32 in __select (numfds=1, readfds=0x7fffffffdfb0,
writefds=0x0, exceptfds=0x7fffffffdf30, timeout=0x0) at
/usr/src/lib/libthr/thread/thr_syscalls.c:561
#20 0x000000000051a33b in mch_write ()
#21 0x000000000051a5ac in mch_inchar ()
#22 0x00000000005b7a17 in ui_inchar ()
#23 0x00000000004ae86a in inchar ()
#24 0x00000000004b1cdb in vgetc ()
#25 0x00000000004b0bda in vgetc ()
#26 0x00000000004b2499 in safe_vgetc ()
#27 0x00000000004f560f in normal_cmd ()
#28 0x00000000005df297 in main_loop ()
#29 0x00000000005de908 in main ()
It's still a thread problem, but I've no idea if it's related with
the former pthread_getspecific problem.
Sincerely yours Andre.