Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Feb 2010 15:10:10 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        ticso@cicely.de
Cc:        arm@freebsd.org, Bernd Walter <ticso@cicely7.cicely.de>, current@freebsd.org
Subject:   Re: bind fails with sig11 on start / pthread failure on ARM?
Message-ID:  <20100218131010.GQ50403@deviant.kiev.zoral.com.ua>
In-Reply-To: <20100218124907.GG43625@cicely7.cicely.de>
References:  <20100215213907.GA43625@cicely7.cicely.de> <20100216183951.GI43625@cicely7.cicely.de> <20100218124907.GG43625@cicely7.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help

--yEbVe0JFHWhrOjGA
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Feb 18, 2010 at 01:49:07PM +0100, Bernd Walter wrote:
> On Tue, Feb 16, 2010 at 07:39:51PM +0100, Bernd Walter wrote:
> > On Mon, Feb 15, 2010 at 10:39:07PM +0100, Bernd Walter wrote:
> > [55]Please.tell.me.who.am.I# gdb /usr/sbin/named named.core=20
> > GNU gdb 6.1.1 [FreeBSD]
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and yo=
u are
> > welcome to change it and/or distribute copies of it under certain condi=
tions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for deta=
ils.
> > This GDB was configured as "arm-marcel-freebsd"...(no debugging symbols=
 found)...
> > Core was generated by `named'.
> > Program terminated with signal 5, Trace/breakpoint trap.
> > Reading symbols from /lib/libcrypto.so.6...(no debugging symbols found)=
...done.
> > Loaded symbols for /lib/libcrypto.so.6
> > Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...=
done.
> > Loaded symbols for /lib/libthr.so.3
> > Reading symbols from /lib/libc.so.7...(no debugging symbols found)...do=
ne.
> > Loaded symbols for /lib/libc.so.7
> > Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found=
)...done.
> > Loaded symbols for /libexec/ld-elf.so.1
> > #0  0x203571b0 in _thread_bp_create () from /lib/libthr.so.3
> > [New Thread 20804280 (LWP 100062)]
> > [New Thread 20804140 (LWP 100052)]
> > (gdb) bt
> > #0  0x203571b0 in _thread_bp_create () from /lib/libthr.so.3
> > #1  0x203572b8 in _thread_bp_death () from /lib/libthr.so.3
> > #2  0x20349da4 in pthread_create () from /lib/libthr.so.3
> > #3  0x00164cb8 in ?? ()
> > (gdb)=20
> >=20
> > Do we have a general threading problem on ARM?
>=20
> I see two different type a crashes.
> Both have in common that one or more threads are in _umtx_op.
> Unfortunately I don't know enough details about those things to isolate
> any more.
>=20
> the one from above:
> #0  0x203571b0 in _thread_bp_create () from /lib/libthr.so.3
> [New Thread 20804280 (LWP 100062)]
> [New Thread 20804140 (LWP 100052)]
> (gdb) bt
> #0  0x203571b0 in _thread_bp_create () from /lib/libthr.so.3
> #1  0x203572b8 in _thread_bp_death () from /lib/libthr.so.3
> #2  0x20349da4 in pthread_create () from /lib/libthr.so.3
> #3  0x00164cb8 in ?? ()
> (gdb) thread 1
> [Switching to thread 1 (Thread 20804280 (LWP 100062))]#0  0x203ab6f0 in _=
umtx_op () from /lib/libc.so.7
> (gdb) bt
> #0  0x203ab6f0 in _umtx_op () from /lib/libc.so.7
> #1  0x2035769c in pthread_cleanup_push () from /lib/libthr.so.3
> #2  0x20357cc0 in pthread_cleanup_push () from /lib/libthr.so.3
> #3  0x20349540 in pthread_getprio () from /lib/libthr.so.3
> #4  0x203499a0 in pthread_create () from /lib/libthr.so.3
> #5  0x00164cb8 in ?? ()
>=20
> And another, which is what I get most of the time:
> (gdb) thread 1
> [Switching to thread 1 (Thread 20804500 (LWP 100100))]#0  0x20435f28 in k=
event () from /lib/libc.so.7
> (gdb) bt
> #0  0x20435f28 in kevent () from /lib/libc.so.7
> #1  0x0014f2dc in ?? ()
> (gdb) thread 2
> [Switching to thread 2 (Thread 208043c0 (LWP 100099))]#0  0x203ab6f4 in _=
umtx_op () from /lib/libc.so.7
> (gdb) bt
> #0  0x203ab6f4 in _umtx_op () from /lib/libc.so.7
> #1  0x2035769c in pthread_cleanup_push () from /lib/libthr.so.3
> #2  0x20357a78 in pthread_cleanup_push () from /lib/libthr.so.3
> #3  0x20355580 in pthread_cond_signal () from /lib/libthr.so.3
> #4  0x00000000 in ?? ()
> (gdb) thread 3
> [Switching to thread 3 (Thread 20804280 (LWP 100098))]#0  0x203ab6f4 in _=
umtx_op () from /lib/libc.so.7
> (gdb) bt
> #0  0x203ab6f4 in _umtx_op () from /lib/libc.so.7
> #1  0x2035769c in pthread_cleanup_push () from /lib/libthr.so.3
> #2  0x20357a78 in pthread_cleanup_push () from /lib/libthr.so.3
> #3  0x20355580 in pthread_cond_signal () from /lib/libthr.so.3
> #4  0x2092d008 in ?? ()
> (gdb) thread 4
> [Switching to thread 4 (Thread 20804140 (LWP 100043))]#0  0x0015755c in ?=
? ()
> (gdb) bt
> #0  0x0015755c in ?? ()

Compile and install ld-elf.so, libc and libthr with debugging symbols:
(cd libexec/rtld-elf && make all install DEBUG_FLAGS=3D-g)
(cd lib/libc && make all install DEBUG_FLAGS=3D-g)
(cd lib/libthr && make all install DEBUG_FLAGS=3D-g)

Then repeat the crash and try to see where in code does it happen.

--yEbVe0JFHWhrOjGA
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkt9PDIACgkQC3+MBN1Mb4gqBQCgxZlcaE8lrHJaQnYMBE7qiK2C
9jAAmwSzIoYVhMYraXn85Y59UKemeLYl
=W9Kn
-----END PGP SIGNATURE-----

--yEbVe0JFHWhrOjGA--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100218131010.GQ50403>