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

Attachment: signature.asc
Description: Digital signature

_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to