Hi all Note : except for SimpleAgenda I'm using gnustep packages from Ubuntu 24.04.2 (mainly because compiling gnustep is painful) so potential bugs could come from those packages and not from upstream gnustep code. In fact, probability of a gnustep bug is very low, I'm probably doing something silly...
I'm trying to parse a simple xml document (attached) with GSXMLParser using
+parserWithData method but it seems to get stuck in this method. I got the
following backtrace in gdb :
#0 0x00007ffff6c98d71 in __futex_abstimed_wait_common64 (private=32767,
cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x7fffec012070) at
./nptl/futex-internal.c:57
#1 __futex_abstimed_wait_common (cancel=true, private=32767, abstime=0x0,
clockid=0, expected=0, futex_word=0x7fffec012070) at ./nptl/futex-internal.c:87
#2 __GI___futex_abstimed_wait_cancelable64
(futex_word=futex_word@entry=0x7fffec012070, expected=expected@entry=0,
clockid=clockid@entry=0, abstime=abstime@entry=0x0,
private=private@entry=0) at ./nptl/futex-internal.c:139
#3 0x00007ffff6c9b7ed in __pthread_cond_wait_common (abstime=0x0, clockid=0,
mutex=0x7fffec012078, cond=0x7fffec012048) at ./nptl/pthread_cond_wait.c:503
#4 ___pthread_cond_wait (cond=0x7fffec012048, mutex=0x7fffec012078) at
./nptl/pthread_cond_wait.c:627
#5 0x00007ffff72cf8f0 in ?? () from /usr/lib/libgnustep-base.so.1.29
#6 0x00007ffff735f7b8 in ?? () from /usr/lib/libgnustep-base.so.1.29
#7 0x00007ffff735c020 in ?? () from /usr/lib/libgnustep-base.so.1.29
#8 0x00007ffff73ef306 in ?? () from /usr/lib/libgnustep-base.so.1.29
#9 0x00007ffff7752536 in __objc_install_dtable_for_class
(cls=cls@entry=0x7ffff7687a20) at
/build/gcc-14-ig5ci0/gcc-14-14.2.0/src/libobjc/sendmsg.c:1030
#10 0x00007ffff77528f0 in get_implementation (receiver=0x7ffff76876a0,
class=0x7ffff7687a20, sel=0x5555555f61d0 <_OBJC_SELECTOR_TABLE+2160>)
at /build/gcc-14-ig5ci0/gcc-14-14.2.0/src/libobjc/sendmsg.c:260
#11 0x00005555555b8c07 in -[GroupDAVStore(Private) itemsUnderRessource:]
(self=<optimized out>, _cmd=<optimized out>, resource=0x555555b1ed60) at
GroupDAVStore.m:587
GroupDAVStore.m:587 is 'parser = [GSXMLParser parserWithData:[resource data]];'
At that time the main thread is here :
#0 futex_wait (private=0, expected=2, futex_word=0x55555563e1f0) at
../sysdeps/nptl/futex-internal.h:146
#1 __GI___lll_lock_wait (futex=futex@entry=0x55555563e1f0, private=0) at
./nptl/lowlevellock.c:49
#2 0x00007ffff6ca0101 in lll_mutex_lock_optimized (mutex=0x55555563e1f0) at
./nptl/pthread_mutex_lock.c:48
#3 ___pthread_mutex_lock (mutex=0x55555563e1f0) at
./nptl/pthread_mutex_lock.c:93
#4 0x00007ffff7753f6c in __gthread_objc_mutex_lock (mutex=0x5555556248d0) at
../libgcc/gthr-default.h:568
#5 objc_mutex_lock (mutex=0x5555556248d0) at
/build/gcc-14-ig5ci0/gcc-14-14.2.0/src/libobjc/thr.c:321
#6 0x00007ffff775287f in get_implementation (receiver=0x7ffff7e2c6e0,
class=0x7ffff7e2b580, sel=0x7ffff7639b20) at
/build/gcc-14-ig5ci0/gcc-14-14.2.0/src/libobjc/sendmsg.c:253
[snip]
#39 0x00007ffff7a4a156 in NSApplicationMain () from
/usr/lib/libgnustep-gui.so.0.30
#40 0x00007ffff6c2a1ca in __libc_start_call_main
(main=main@entry=0x5555555970e0 <main>, argc=argc@entry=1,
argv=argv@entry=0x7fffffffda08) at ../sysdeps/nptl/libc_start_call_main.h:58
#41 0x00007ffff6c2a28b in __libc_start_main_impl (main=0x5555555970e0 <main>,
argc=1, argv=0x7fffffffda08, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>,
stack_end=0x7fffffffd9f8) at ../csu/libc-start.c:360
#42 0x0000555555597125 in _start ()
gnustep base package version is 1.29.0-7ubuntu4, lixml2 is
2.9.14+dfsg-1.3ubuntu3.
Any idea ?
Thanks,
Philippe
baikal-answer.xml
Description: XML document
