guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: thread assert with 1.8.2


From: Greg Troxel
Subject: Re: thread assert with 1.8.2
Date: Wed, 22 Aug 2007 19:39:09 -0400
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1 (berkeley-unix)

I ran this again (still with 1.8.2) and got a core dump.  There were 4
threads, and #2 was the one that failed.

static scm_t_guile_ticket
scm_leave_guile ()
{
  scm_i_thread *t = suspend ();
  scm_i_pthread_mutex_unlock (&t->heap_mutex);
  return (scm_t_guile_ticket) t;
}
So this is trying to unlock heap_mutex.

There are lots of comments in the  course about how this is trouble.

(gdb) bt
#0  0xbba76c27 in _exit () from /usr/lib/libc.so.12
#1  0xbbaa2fd7 in pthread__errorfunc () from /usr/lib/libpthread.so.0
#2  0xbbaa0ddd in pthread_mutex_unlock () from /usr/lib/libpthread.so.0
#3  0xbbb98760 in scm_leave_guile ()
   from 
/usr/home/gdt/NetBSD-current/pkgsrc/lang/guile/work/guile-1.8.2/libguile/.libs/libguile.so.17
#4  0xbbb99c52 in on_thread_exit ()
   from 
/usr/home/gdt/NetBSD-current/pkgsrc/lang/guile/work/guile-1.8.2/libguile/.libs/libguile.so.17
#5  0xbba9fd9c in pthread__destroy_tsd () from /usr/lib/libpthread.so.0
#6  0xbbaa4465 in pthread_exit () from /usr/lib/libpthread.so.0
#7  0xbbaa47a8 in pthread_setcancelstate () from /usr/lib/libpthread.so.0
#8  0xbb9f7700 in swapcontext () from /usr/lib/libc.so.12


with 1.8.1, I get the same thing.

Running threads.test
guile: Error detected by libpthread: Unlocking unlocked mutex.
Detected by file 
"/usr/home/gdt/NetBSD-current/src/lib/libpthread/pthread_mutex.c", line 357, 
function "pthread_mutex_unlock".
See pthread(3) for information.
[1]   Abort trap (core dumped) ${dir}${tst}
FAIL: check-guile

(gdb) t 2
[Switching to thread 2 (process 221227)]#0  0xbb9d3e67 in kill ()
   from /usr/lib/libc.so.12
(gdb) bt
#0  0xbb9d3e67 in kill () from /usr/lib/libc.so.12
#1  0xbbaa2fcb in pthread__errorfunc () from /usr/lib/libpthread.so.0
#2  0xbbaa0ddd in pthread_mutex_unlock () from /usr/lib/libpthread.so.0
#3  0xbbb98488 in scm_leave_guile ()
   from 
/usr/home/gdt/NetBSD-current/pkgsrc/lang/guile/work/guile-1.8.1/libguile/.libs/libguile.so.17
#4  0xbbb9997a in on_thread_exit ()
   from 
/usr/home/gdt/NetBSD-current/pkgsrc/lang/guile/work/guile-1.8.1/libguile/.libs/libguile.so.17
#5  0xbba9fd9c in pthread__destroy_tsd () from /usr/lib/libpthread.so.0
#6  0xbbaa4465 in pthread_exit () from /usr/lib/libpthread.so.0
#7  0xbbaa47a8 in pthread_setcancelstate () from /usr/lib/libpthread.so.0
#8  0xbb9f7700 in swapcontext () from /usr/lib/libc.so.12

so it seems the same.

1.8.0 does not build easily (some of the pkgsrc patches don't apply, and
it fails without them).






reply via email to

[Prev in Thread] Current Thread [Next in Thread]