Project

General

Profile

Actions

Bug #6341

closed

SIGSEGV: Thread.new { fork { GC.start } }.join

Added by rudolf (r stu3) over 9 years ago. Updated over 9 years ago.

Status:
Third Party's Issue
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3p196 (2012-04-21) [x86_64-netbsd6.0.]
Backport:
[ruby-core:44533]

Description

When running ruby (ruby-lang.org) test suite, I am able to provoke a segfault using a test from bootstraptest/test_thread.rb:
begin
Thread.new { fork { GC.start } }.join
pid, status = Process.wait2
$result = status.success? ? :ok : :ng
rescue NotImplementedError
$result = :ok
end

It is easy to provoke the problem with this command launched in shell (1-20 times until the problem shows):
$ ruby -e "Thread.new { fork { GC.start } }.join"

Environment:

  • NetBSD-6.0_BETA amd64, from 2012/04/21
  • ruby_1_9_3 branch, revision 35416 (I've also tried trunk and it has similar problem)
  • 8 GB RAM, a lot of free memory, dual-core CPU
  • gcc version 4.5.3 (NetBSD nb2 20110806)

Backtrace and "bt full" is available in the attached gdb_session.txt file.


Files

gdb_session.txt (9.23 KB) gdb_session.txt Backtrace rudolf (r stu3), 04/22/2012 11:27 PM

Related issues

Related to Backport187 - Backport #2603: NetBSD 5.0以降でpthreadの処理に由来する不具合Closedshyouhei (Shyouhei Urabe)01/14/2010Actions
Related to Backport187 - Backport #2739: ruby 1.8.7 built with pthreads hangs under some circumstancesClosedshyouhei (Shyouhei Urabe)02/12/2010Actions
Related to Ruby master - Bug #270: lazy timer thraed creationClosedko1 (Koichi Sasada)Actions
Related to Ruby master - Bug #2724: fork from other than the main thread causes wrong pthread condition on NetBSDThird Party's Issue02/09/2010Actions
Actions

Also available in: Atom PDF