Subject: pkg/34921: ruby without native pthread broken with tDiary
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <kochi@NetBSD.org>
List: pkgsrc-bugs
Date: 10/26/2006 08:15:00
>Number: 34921
>Category: pkg
>Synopsis: ruby without native pthread broken with tDiary
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Oct 26 08:15:00 +0000 2006
>Originator: Takayoshi Kochi
>Release: 3.1_RC4
>Organization:
>Environment:
NetBSD 3.1_RC4
>Description:
With a ruby (ruby18-base) built without native pthread
(RUBY_USE_PTHREAD=no in /etc/mk.conf), tDiary (diary/blog
writing tool, http://www.tdiary.org) doesn't work at all.
If a ruby is built with the native pthread, tDiary works well.
The symptom is that it always dumps core when an http server
invokes its top page CGI (index.rb). This can be repeated
manually from shell.
I got a traceback from its core:
(gdb) bt
#0 0xbda6e0fb in kill () from /usr/lib/libc.so.12
#1 0xbda7005b in __libc_mutex_unlock () from /usr/lib/libc.so.12
#2 0xbdaee75b in malloc () from /usr/lib/libc.so.12
#3 0xbdb6f14e in ruby_xmalloc () from /usr/pkg/lib/libruby18.so.18
#4 0xbdbaf3af in st_init_table_with_size () from /usr/pkg/lib/libruby18.so.18
#5 0xbdbaf3f5 in st_init_table () from /usr/pkg/lib/libruby18.so.18
#6 0xbdbaf41b in st_init_numtable () from /usr/pkg/lib/libruby18.so.18
#7 0xbdb4d44e in rb_class_boot () from /usr/pkg/lib/libruby18.so.18
#8 0xbdb4d4d3 in rb_class_new () from /usr/pkg/lib/libruby18.so.18
#9 0xbdb4d9d9 in rb_define_class_id () from /usr/pkg/lib/libruby18.so.18
#10 0xbdb4daf5 in rb_define_class () from /usr/pkg/lib/libruby18.so.18
#11 0xbda3f1ae in Init_erbscan ()
from /usr/pkg/lib/ruby/site_ruby/1.8/i386-netbsdelf/erbscan.so
#12 0xbdb5145f in dln_load () from /usr/pkg/lib/libruby18.so.18
#13 0xbdb6171b in rb_require_safe () from /usr/pkg/lib/libruby18.so.18
#14 0xbdb6120f in rb_f_require () from /usr/pkg/lib/libruby18.so.18
#15 0xbdb6a628 in call_cfunc () from /usr/pkg/lib/libruby18.so.18
#16 0xbdb5e89b in rb_call0 () from /usr/pkg/lib/libruby18.so.18
#17 0xbdb5f271 in rb_call () from /usr/pkg/lib/libruby18.so.18
#18 0xbdb5a1ae in rb_eval () from /usr/pkg/lib/libruby18.so.18
#19 0xbdb60d29 in rb_load () from /usr/pkg/lib/libruby18.so.18
#20 0xbdb61780 in rb_require_safe () from /usr/pkg/lib/libruby18.so.18
#21 0xbdb6120f in rb_f_require () from /usr/pkg/lib/libruby18.so.18
#22 0xbdb6a628 in call_cfunc () from /usr/pkg/lib/libruby18.so.18
#23 0xbdb5e89b in rb_call0 () from /usr/pkg/lib/libruby18.so.18
#24 0xbdb5f271 in rb_call () from /usr/pkg/lib/libruby18.so.18
#25 0xbdb5a1ae in rb_eval () from /usr/pkg/lib/libruby18.so.18
#26 0xbdb59957 in rb_eval () from /usr/pkg/lib/libruby18.so.18
#27 0xbdb60d29 in rb_load () from /usr/pkg/lib/libruby18.so.18
#28 0xbdb61780 in rb_require_safe () from /usr/pkg/lib/libruby18.so.18
#29 0xbdb6120f in rb_f_require () from /usr/pkg/lib/libruby18.so.18
#30 0xbdb6a628 in call_cfunc () from /usr/pkg/lib/libruby18.so.18
#31 0xbdb5e89b in rb_call0 () from /usr/pkg/lib/libruby18.so.18
#32 0xbdb5f271 in rb_call () from /usr/pkg/lib/libruby18.so.18
#33 0xbdb5a1ae in rb_eval () from /usr/pkg/lib/libruby18.so.18
#34 0xbdb59957 in rb_eval () from /usr/pkg/lib/libruby18.so.18
#35 0xbdb5674c in ruby_exec_internal () from /usr/pkg/lib/libruby18.so.18
#36 0xbdb56799 in ruby_exec () from /usr/pkg/lib/libruby18.so.18
#37 0xbdb567cc in ruby_run () from /usr/pkg/lib/libruby18.so.18
#38 0x080488af in main ()
#39 0x080486b6 in ___start ()
>How-To-Repeat:
Download tDiary from http://www.tdiary.org (2.0.2 or 2.1.4 is fine)
and extract the package, then
% ruby index.rb
will always dump core.
>Fix:
N/A