Date: Thu, 16 Sep 2004 18:43:26 +0000 (UTC) From: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> To: freebsd-threads@freebsd.org Subject: assert in _lock_acquire ? Message-ID: <Pine.BSF.4.53.0409151152200.16661@e0-0.zab2.int.zabbadoz.net>
next in thread | raw e-mail | index | archive | help
Hi, I am using a global mutex to serialize a longer debugging output amongst threads. As this is only used for internal debugging builds where I really want to see everything I do not care about performance etc. Recently I ran into problems with that - getting a core dump at the same place in this debugging function. It takes some time but I can always reproduce it. I have seen this the last weeks with at least HEAD/ULE and since yesterday with RELENG_5/4BSD. The first debugging log where I can find it is dated 20040802. At that time the machine must have been running a 5-CURRENT from around 20040625. So I finally built libpthread with env DEBUG_FLAGS=-g make all and even linked with libpthread.a instead of using the shared lib. Here's the relevant part of the backtrace: ------ cut ------- (gdb) bt full #0 _lock_acquire (lck=0x38, lu=0x80da034, prio=56) at /u1/src/src/RELENG_5/compile-20040914-1630/lib/libpthread/sys/lock.c:168 i = 135110708 lval = 672675788 __func__ = "_lock_acquire" #1 0x08076151 in mutex_handoff (curthread=0x80ee000, mutex=0x80d8980) at /u1/src/src/RELENG_5/compile-20040914-1630/lib/libpthread/thread/thr_mutex.c:1586 kmbx = (struct kse_mailbox *) 0x1 pthread = (struct pthread *) 0x80d7b80 #2 0x08075166 in mutex_unlock_common (m=0x8092d6c, add_reference=0) at /u1/src/src/RELENG_5/compile-20040914-1630/lib/libpthread/thread/thr_mutex.c:1026 curthread = (struct pthread *) 0x80ee000 kmbx = (struct kse_mailbox *) 0x0 ret = 0 #3 0x08074c24 in _pthread_mutex_unlock (m=0x8092d6c) at /u1/src/src/RELENG_5/compile-20040914-1630/lib/libpthread/thread/thr_mutex.c:879 No locals. .... #9 0x0806ed84 in thread_start (curthread=0x80ee000, start_routine=0x806d62c <zzzzzz_listener_thread>, arg=0x0) at /u1/src/src/RELENG_5/compile-20040914-1630/lib/libpthread/thread/thr_create.c:342 No locals. #10 0x2815dcbf in _ctx_start () from /lib/libc.so.5 No symbol table info available. ------ cut ------- it seems I am running into an assert() in _lock_acquire. does this make any sense ? -- Bjoern A. Zeeb bzeeb at Zabbadoz dot NeT
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.53.0409151152200.16661>