I'm involved in the PL/Parrot project, which is attempting to embed Parrot inside PostgreSQL. One concern is that PostgreSQL is single-threaded, and people embedding stuff within it need to be careful that whatever they embed also remains single-threaded. So I compiled Parrot using the --without-threads configure argument, and gdb tells me this when the Parrot interpreter starts up:
[Thread debugging using libthread_db enabled] Error while reading shared library symbols: Cannot find new threads: generic error Cannot find new threads: generic error I admit not knowing what that message means, precisely, but it sure looks like Parrot's doing something with threads, and this despite the --without-threads flag. Anyway, after this message, gdb gives me a prompt. Telling it to continue results in a segfault: #0 0xb7f7f430 in __kernel_vsyscall () #1 0xb7dd16d0 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb7dd3098 in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb5ac696f in Parrot_confess (cond=0xb5cf75fd "! interpreter_array", file=0xb5cf743c "src/thread.c", line=1560) at src/ exceptions.c:553 #4 0xb5b35d86 in pt_add_to_interpreters (interp=0xacb4b78, new_interp=0x0) at src/thread.c:1560 #5 0xb5b3105d in Parrot_cx_init_scheduler (interp=0xacb4b78) at src/ scheduler.c:80 #6 0xb5ae86c5 in make_interpreter (parent=0x0, flags=0) at src/interp/ inter_create.c:252 #7 0xb5ac3fa5 in Parrot_new (parent=0x0) at src/embed.c:90 #8 0xb5d31a09 in plparrot_call_handler (fcinfo=0xbfd2c564) at src/ handler/plparrot.c:58 The segfault doesn't worry me so much as the thread-related messages, because if I can't keep Parrot from threading, I will need to architect PL/Parrot differently. Comments, anyone? Thanks in advance. -- Joshua Tolley / eggyknap End Point Corporation http://www.endpoint.com
signature.asc
Description: Digital signature
_______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
