On 2 Oct 2009, at 19:45, Richard Frith-Macdonald wrote:
On 2 Oct 2009, at 10:39, Philippe Roussel wrote:
Hi all,
Currently the testsuite still stops (deadlocks ?) on
NSLock/doubleLocking with the following output :
2009-10-02 11:23:27.699 doubleLocking[5672] *** -[NSLock lock]:
deadlock (<NSLock: 0x84a69f8>)
2009-10-02 11:23:27.700 doubleLocking[5672] *** Break on
_NSLockError() to debug.
and gdb backtrace :
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb77696c0 (LWP 5672)]
0xb7f3d430 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7f3d430 in __kernel_vsyscall ()
#1 0xb7bf5cf9 in __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/
linux/i386/i686/../i486/lowlevellock.S:136
#2 0xb7bf1129 in _L_lock_89 () from /lib/tls/i686/cmov/
libpthread.so.0
#3 0xb7bf0a32 in __pthread_mutex_lock (mutex=0xb7f399fc) at
pthread_mutex_lock.c:86
#4 0xb7d83ddf in _NSLockError (obj=0x84a69f8, _cmd=0x804e680) at
NSLock.m:137
#5 0xb7d83e3f in -[NSLock lock] (self=0x84a69f8, _cmd=0x804e680)
at NSLock.m:202
#6 0x0804b267 in main () at doubleLocking.m:16
This is on Ubuntu 9.04.
Am I the only one seeing this ?
I think you are using an out of date version of the testsuite ...
your stack trace shows the problem at line 16 of doubleLocking.m,
but that line is inside the '#else' section of a preprocessor
conditional starting with '#if 1' ... it should not exist in the
executable.
PS. printing a deadlock error message is the correct (ie OSX
compatible) behavior if the code in the #else part is compiled and run.
Maybe you do have up to date code, but you modified it locally to test
the deadlock, and forgot that you changed it? I've made that sort of
mistake before now.
_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev