Date: Sun, 14 Jun 2015 22:05:04 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Andre Meiser <ortadur@web.de> Cc: freebsd-stable@freebsd.org Subject: Re: Re: Many core dumps in pthread_getspecific. Message-ID: <20150614190504.GT2080@kib.kiev.ua> In-Reply-To: <trinity-15fcacbd-871c-4ea8-9257-5d11e7862ec0-1434103396559@3capp-webde-bs41> References: <trinity-d3a62468-a8fd-44c3-ab9c-8b177ca8a366-1433331244003@3capp-webde-bs60> <20150603145838.GX2499@kib.kiev.ua> <trinity-15fcacbd-871c-4ea8-9257-5d11e7862ec0-1434103396559@3capp-webde-bs41>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 12, 2015 at 12:03:16PM +0200, Andre Meiser wrote: > 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. Show me the 'ldd vim' output and output from the readelf -d vim | grep NEEDED.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150614190504.GT2080>