Skip site navigation (1)Skip section navigation (2)
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>