Project

General

Profile

Actions

Bug #8860

closed

64-bit x86 ruby 1.9.3-p448 on Solaris core dumps on bug4950 test case

Added by apchin (April Chin) about 11 years ago. Updated almost 9 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 1.9.3p448 (2013-06-27 revision 41675) [i386-solaris2.12]
[ruby-core:<unknown>]

Description

64-bit ruby 1.9.3-p448 on x86 in Solaris, compiled with the Studio 12.1 compiler,
core dumps against the test case for bug 4950 in bootstraptest/test_fork.rb.
This problem sounds similar to issue 6334, which was rejected due
to lack of information.
The core dump does not occur with 64-bit ruby 1.9.3 on sparc.

configure options used:
--prefix=/usr/ruby/1.9 --mandir=/usr/ruby/1.9/share/man --bindir=/usr/ruby/1.9/bin --libdir=/usr/ruby/1.9/lib --sbindir=/usr/ruby/1.9/sbin --enable-shared --enable-rpath --enable-install-doc --disable-option-checking --with-openssl

CFLAGS="-m64 -xO2 -xchip=generic -Ui386 -U__i386 -D__amd64 -xregs=no%frameptr -mt -DFFI_NO_RAW_API"

$ cat bug4950
a = []
trap(:INT) { a.push(1) }
trap(:TERM) { a.push(2) }

pid = $$
fork do
sleep 0.5
puts "send start"
Process.kill(:INT, pid)
Process.kill(:TERM, pid)
puts "send end"
end

puts "sleep start"
sleep 3
puts "sleep end"
p a

$ ruby bug4950
sleep start
send start
send end
Memory fault(coredump)
$ pstack core
core 'core' of 24964: ruby bug4950
------------ lwp# 1 / thread# 1 ---------------
ffff80ffbf5a6797 __lwp_park () + 17
ffff80ffbf5a0062 cond_wait_queue () + 62
ffff80ffbf5a04a0 cond_wait_common () + 1dc
ffff80ffbf5a06e5 __cond_timedwait () + 5d
ffff80ffbf5a0779 cond_timedwait () + 29
ffff80ffbf5a07ad pthread_cond_timedwait () + 9
ffff80ffb8799564 native_cond_timedwait () + 24
ffff80ffb8799b5c native_sleep () + d8
ffff80ffb879b26d sleep_timeval () + 7d
ffff80ffb879b3ff rb_thread_wait_for () + 27
ffff80ffb8712162 rb_f_sleep () + 4a
ffff80ffb8789eb4 vm_call_cfunc () + c0
ffff80ffb878a562 vm_call_method () + 2ae
ffff80ffb878d57b vm_exec_core () + 1403
ffff80ffb8796e7b vm_exec () + 5c7
ffff80ffb8796f93 rb_iseq_eval_main () + 2b
ffff80ffb86b3917 ruby_exec_internal () + 87
ffff80ffb86b39f6 ruby_exec_node () + 1e
ffff80ffb86b39bc ruby_run_node () + 24
0000000000400ec8 main () + 4c
0000000000400d1c ???????? ()
------------ lwp# 3 / thread# 3 ---------------
ffff80ffbf7b189f lookup_sym () + 3b
ffff80ffbf7cb9db elf_bndr () + 11b
ffff80ffbf7ad073 elf_rtbndr () + 83
ffff80ffbf7ee030 ???????? ()
ffff80ffbf5a6876 __sighndlr () + 6
ffff80ffbf599bba call_user_handler () + 2ce
ffff80ffbf59a063 sigacthandler (f, ffff80ffbf76b6c8, ffff80ffbf76b360) + db
--- called from signal handler with signal 15 (SIGTERM) ---
ffff80ffbf5b026b _syscall6 () + 1b
ffff80ffbf599b01 call_user_handler () + 215
ffff80ffbf59a063 sigacthandler (2, ffff80ffbf76bc98, ffff80ffbf76b930) + db
--- called from signal handler with signal 2 (SIGINT) ---
ffff80ffbf5af64a __pollsys () + a
ffff80ffbf4fc6c5 pselect () + 181
ffff80ffbf4fcb44 select () + 68
ffff80ffb8799f57 thread_timer () + b3
ffff80ffbf5a64a5 _thrp_setup () + a5
ffff80ffbf5a6750 _lwp_start ()


Files

core.part1 (3 MB) core.part1 yann (Yann Rouillard), 03/09/2014 01:11 PM
core.part2 (2.96 MB) core.part2 yann (Yann Rouillard), 03/09/2014 01:11 PM
test_fork_modified.rb (267 Bytes) test_fork_modified.rb yann (Yann Rouillard), 03/09/2014 01:13 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0