Debian Bug report logs - #593139
ruby1.9.1: testsuite may fail/hang on ia64/kfreebsd

version graph

Package: src:ruby1.9.1; Maintainer for src:ruby1.9.1 is Antonio Terceiro <terceiro@debian.org>;

Reported by: Lucas Nussbaum <lucas@lucas-nussbaum.net>

Date: Sun, 15 Aug 2010 18:51:05 UTC

Severity: important

Tags: squeeze-ignore

Found in versions ruby1.9.1/1.9.3.194-1, ruby1.9.1/1.9.2~svn28788-1, ruby1.9.1/1.9.3.0-2

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, debian-bsd@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Sun, 15 Aug 2010 18:51:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lucas Nussbaum <lucas@lucas-nussbaum.net>:
New Bug report received and forwarded. Copy sent to debian-bsd@lists.debian.org, akira yamada <akira@debian.org>. (Sun, 15 Aug 2010 18:51:07 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Lucas Nussbaum <lucas@lucas-nussbaum.net>
To: submit@bugs.debian.org
Subject: ruby1.9.1: FTBFS on kfreebsd: test suite segfaults
Date: Sun, 15 Aug 2010 20:46:45 +0200
Source: ruby1.9.1
Version: 1.9.2~svn28788-1
Severity: serious

Ruby's test suite fails on kfreebsd-i386 and kfreebsd-amd64, and then hangs.

i386:
> Loaded suite ./test/runner
> Started
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/lib/timeout.rb:50: [BUG] Segmentation fault
> ruby 1.9.2dev (2010-07-30) [i486-kfreebsd-gnu]
> 
> -- control frame ----------
> c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC  :sleep
> c:0003 p:0014 s:0007 b:0007 l:001950 d:000006 BLOCK  /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/lib/timeout.rb:50
> c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
> c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP   
> ---------------------------
> -- Ruby level backtrace information ----------------------------------------
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/lib/timeout.rb:50:in `block in timeout'
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/lib/timeout.rb:50:in `sleep'
> 
> -- C level backtrace information -------------------------------------------
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(rb_vm_bugreport+0x72) [0x281c30e2]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x4fb41) [0x280beb41]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(rb_bug+0x3a) [0x280bebda]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0xee61c) [0x2815d61c]
> /lib/libpthread.so.0(+0xaaa7) [0x28243aa7]
> [0xbfbfffb4]
> /lib/libpthread.so.0(__pthread_mutex_unlock+0x9f) [0x2823f8af]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x15493a) [0x281c393a]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x156bcc) [0x281c5bcc]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x158214) [0x281c7214]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0xb89ed) [0x281279ed]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x13e948) [0x281ad948]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x14cb12) [0x281bbb12]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x1443f2) [0x281b33f2]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x14a528) [0x281b9528]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(rb_vm_invoke_proc+0x29c) [0x281bb5cc]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x1595bd) [0x281c85bd]
> /build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-i386-8LdWDu/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9(+0x15961b) [0x281c861b]
> /lib/libpthread.so.0(+0x570c) [0x2823e70c]
> /lib/libc.so.0.1(+0xc6768) [0x28380768]

amd64:
> Loaded suite ./test/runner
> Started
> Bus error
> make[1]: *** [yes-test-all] Error 138
> .................................................................................................................................
> make[1]: Leaving directory `/build/buildd-ruby1.9.1_1.9.2~svn28788-1-kfreebsd-amd64-Etillu/ruby1.9.1-1.9.2~svn28788'
> make: [common-post-build-arch] Error 2 (ignored)

Also, on both i386 and amd64, there are many new failures in the first test suite (ruby includes one called "make test", the second one being "make test-all"): 49/922 tests failed on both i386 and amd64. (search for "undefined method `signaled?' for nil:NilClass" in the build log).

Full build logs:
https://buildd.debian.org/fetch.cgi?pkg=ruby1.9.1;ver=1.9.2~svn28788-1;arch=kfreebsd-i386;stamp=1280703210
https://buildd.debian.org/fetch.cgi?pkg=ruby1.9.1;ver=1.9.2~svn28788-1;arch=kfreebsd-amd64;stamp=1280661492

There's an history of kfreebsd problems with Ruby 1.9.* (#543805, #542927, #590002) but all are supposed to be fixed.

Since it works fine on amd64, armel, i386, mips, mipsel, powerpc and s390, I
believe this is an architecture-specific problem. Ruby's test suite is known to
exercise threads in interesting ways.
-- 
| Lucas Nussbaum
| lucas@lucas-nussbaum.net   http://www.lucas-nussbaum.net/ |
| jabber: lucas@nussbaum.fr             GPG: 1024D/023B3F4F |




Added tag(s) squeeze-ignore. Request was from Mehdi Dogguy <mehdi@debian.org> to control@bugs.debian.org. (Sun, 05 Dec 2010 15:03:12 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Sat, 27 Aug 2011 21:27:16 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lucas Nussbaum <lucas@lucas-nussbaum.net>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Sat, 27 Aug 2011 21:27:16 GMT) Full text and rfc822 format available.

Message #12 received at 593139@bugs.debian.org (full text, mbox):

From: Lucas Nussbaum <lucas@lucas-nussbaum.net>
To: 593139@bugs.debian.org
Subject: Re: Bug#593139: ruby1.9.1: FTBFS on kfreebsd: test suite segfaults
Date: Sat, 27 Aug 2011 23:26:56 +0200
On 15/08/10 at 20:46 +0200, Lucas Nussbaum wrote:
> Source: ruby1.9.1
> Version: 1.9.2~svn28788-1
> Severity: serious
> 
> Ruby's test suite fails on kfreebsd-i386 and kfreebsd-amd64, and then hangs.

Hi,

Quick follow-up on this:

I looked at three problems and filed three bugs.
Version tested: experimental (1.9.3~preview1+svn33077-1).

http://redmine.ruby-lang.org/issues/5239
problem in a test (patch provided)

http://redmine.ruby-lang.org/issues/5240
more severe problem when using threads+forks. bisected the commit that
introduced the regression.

http://redmine.ruby-lang.org/issues/5241
failure of test_massign.rb (Fiber-related).

  Lucas




Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Tue, 30 Aug 2011 11:45:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Petr Salinger <Petr.Salinger@seznam.cz>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Tue, 30 Aug 2011 11:45:07 GMT) Full text and rfc822 format available.

Message #17 received at 593139@bugs.debian.org (full text, mbox):

From: Petr Salinger <Petr.Salinger@seznam.cz>
To: Lucas Nussbaum <lucas@lucas-nussbaum.net>
Cc: 593139@bugs.debian.org
Subject: Re: ruby1.9.1 hangs again
Date: Tue, 30 Aug 2011 13:52:27 +0200 (CEST)
[Message part 1 (text/plain, inline)]
>>> Would you have time to turn that into a (tested ;) ) patch?

With attached patch on top of 1.9.3~preview1+svn33077-3

"make test"

#244 test_fork.rb:51:in `<top (required)>':
     a = []
     trap(:INT) { a.push(1) }
     trap(:TERM) { a.push(2) }
     pid = $$
     begin
       fork do
         sleep 0.5
         Process.kill(:INT, pid)
         Process.kill(:TERM, pid)
       end

       sleep 1
       a.sort
     rescue NotImplementedError
       [1, 2]
     end
  #=> "[]" (expected "[1, 2]")  [ruby-dev:44005] [Ruby 1.9 - Bug #4950]
#934 test_thread.rb:389:in `<top (required)>':
     open("zzz.rb", "w") do |f|
       f.puts <<-END
         begin
           m = Mutex.new
           Thread.new { m.lock; sleep 1 }
           sleep 0.3
           parent = Thread.current
           Thread.new do
             sleep 0.3
             begin
               fork { GC.start }
             rescue Exception
               parent.raise $!
             end
           end
           m.lock
           pid, status = Process.wait2
           $result = status.success? ? :ok : :ng
         rescue NotImplementedError
           $result = :ok
         end
       END
     end
     require "./zzz.rb"
     $result
  #=> "" (expected "ok")
FAIL 2/937 tests failed
make: *** [yes-btest-ruby] Error 1
[rb3.diff (text/x-diff, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Tue, 30 Aug 2011 13:48:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lucas Nussbaum <lucas@lucas-nussbaum.net>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Tue, 30 Aug 2011 13:48:04 GMT) Full text and rfc822 format available.

Message #22 received at 593139@bugs.debian.org (full text, mbox):

From: Lucas Nussbaum <lucas@lucas-nussbaum.net>
To: Petr Salinger <Petr.Salinger@seznam.cz>
Cc: 593139@bugs.debian.org
Subject: Re: ruby1.9.1 hangs again
Date: Tue, 30 Aug 2011 15:47:31 +0200
On 30/08/11 at 13:52 +0200, Petr Salinger wrote:
> >>>Would you have time to turn that into a (tested ;) ) patch?
> 
> With attached patch on top of 1.9.3~preview1+svn33077-3
> 
> "make test"

Thanks!

Could you try make test-all ? While some failures and errors are
expected, it stresses the interpreter a bit more, so it's a good way to
check that it doesn't block.

> #244 test_fork.rb:51:in `<top (required)>':
>      a = []
>      trap(:INT) { a.push(1) }
>      trap(:TERM) { a.push(2) }
>      pid = $$
>      begin
>        fork do
>          sleep 0.5
>          Process.kill(:INT, pid)
>          Process.kill(:TERM, pid)
>        end
> 
>        sleep 1
>        a.sort
>      rescue NotImplementedError
>        [1, 2]
>      end
>   #=> "[]" (expected "[1, 2]")  [ruby-dev:44005] [Ruby 1.9 - Bug #4950]

Err. This is fairly simple, and should not fail.

Could you try this version:
<---
a = []
trap(:INT) { puts "INT recvd" ; a.push(1) }
trap(:TERM) { puts "TERM recvd" ; a.push(2) }
pid = $$
puts "parent pid: #{pid}"
begin
  fork do
    puts "child pid: #{$$}"
    sleep 0.5
    Process.kill(:INT, pid)
    Process.kill(:TERM, pid)
    puts "signals sent."
  end
  sleep 1
  a.sort
  p a
rescue NotImplementedError
  [1, 2]
end
---->

> #934 test_thread.rb:389:in `<top (required)>':
>      open("zzz.rb", "w") do |f|
>        f.puts <<-END
>          begin
>            m = Mutex.new
>            Thread.new { m.lock; sleep 1 }
>            sleep 0.3
>            parent = Thread.current
>            Thread.new do
>              sleep 0.3
>              begin
>                fork { GC.start }
>              rescue Exception
>                parent.raise $!
>              end
>            end
>            m.lock
>            pid, status = Process.wait2
>            $result = status.success? ? :ok : :ng
>          rescue NotImplementedError
>            $result = :ok
>          end
>        END
>      end
>      require "./zzz.rb"
>      $result
>   #=> "" (expected "ok")
> FAIL 2/937 tests failed
> make: *** [yes-btest-ruby] Error 1

Very strange. What about this script?
<------
m = Mutex.new
Thread.new { m.lock; sleep 3 ;  puts "after m.lock in thread" }
sleep 1
m.lock
puts "after m.lock"
------>

Lucas




Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Tue, 30 Aug 2011 18:12:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Petr Salinger <Petr.Salinger@seznam.cz>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Tue, 30 Aug 2011 18:12:05 GMT) Full text and rfc822 format available.

Message #27 received at 593139@bugs.debian.org (full text, mbox):

From: Petr Salinger <Petr.Salinger@seznam.cz>
To: Lucas Nussbaum <lucas@lucas-nussbaum.net>
Cc: 593139@bugs.debian.org
Subject: Re: ruby1.9.1 hangs again
Date: Tue, 30 Aug 2011 20:18:14 +0200 (CEST)
> Could you try this version:
> <---
> a = []
> trap(:INT) { puts "INT recvd" ; a.push(1) }
> trap(:TERM) { puts "TERM recvd" ; a.push(2) }
> pid = $$
> puts "parent pid: #{pid}"
> begin
>  fork do
>    puts "child pid: #{$$}"
>    sleep 0.5
>    Process.kill(:INT, pid)
>    Process.kill(:TERM, pid)
>    puts "signals sent."
>  end
>  sleep 1
>  a.sort
>  p a
> rescue NotImplementedError
>  [1, 2]
> end
> ---->

parent pid: 44147
child pid: 44150
signals sent.
[]

According to ktrace, signals are sent to parent pid.
It might be related to our pid semantic, each thread have different pid.
The signal cannot be received by a different thread.


>
>> #934 test_thread.rb:389:in `<top (required)>':
>>      open("zzz.rb", "w") do |f|
>>        f.puts <<-END
>>          begin
>>            m = Mutex.new
>>            Thread.new { m.lock; sleep 1 }
>>            sleep 0.3
>>            parent = Thread.current
>>            Thread.new do
>>              sleep 0.3
>>              begin
>>                fork { GC.start }
>>              rescue Exception
>>                parent.raise $!
>>              end
>>            end
>>            m.lock
>>            pid, status = Process.wait2
>>            $result = status.success? ? :ok : :ng
>>          rescue NotImplementedError
>>            $result = :ok
>>          end
>>        END
>>      end
>>      require "./zzz.rb"
>>      $result
>>   #=> "" (expected "ok")
>> FAIL 2/937 tests failed
>> make: *** [yes-btest-ruby] Error 1
>
> Very strange. What about this script?

May be not.

For what should "Process.wait2" wait ?

The fork of garbage collector and wait2 seems be by a different thread,
which with our pthread implementration does not work.

> <------
> m = Mutex.new
> Thread.new { m.lock; sleep 3 ;  puts "after m.lock in thread" }
> sleep 1
> m.lock
> puts "after m.lock"
> ------>

after m.lock in thread
after m.lock






Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Tue, 30 Aug 2011 18:54:11 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lucas Nussbaum <lucas@lucas-nussbaum.net>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Tue, 30 Aug 2011 18:54:11 GMT) Full text and rfc822 format available.

Message #32 received at 593139@bugs.debian.org (full text, mbox):

From: Lucas Nussbaum <lucas@lucas-nussbaum.net>
To: Petr Salinger <Petr.Salinger@seznam.cz>
Cc: 593139@bugs.debian.org
Subject: Re: ruby1.9.1 hangs again
Date: Tue, 30 Aug 2011 20:52:23 +0200
On 30/08/11 at 20:18 +0200, Petr Salinger wrote:
> >Could you try this version:
> ><---
> >a = []
> >trap(:INT) { puts "INT recvd" ; a.push(1) }
> >trap(:TERM) { puts "TERM recvd" ; a.push(2) }
> >pid = $$
> >puts "parent pid: #{pid}"
> >begin
> > fork do
> >   puts "child pid: #{$$}"
> >   sleep 0.5
> >   Process.kill(:INT, pid)
> >   Process.kill(:TERM, pid)
> >   puts "signals sent."
> > end
> > sleep 1
> > a.sort
> > p a
> >rescue NotImplementedError
> > [1, 2]
> >end
> >---->
> 
> parent pid: 44147
> child pid: 44150
> signals sent.
> []
> 
> According to ktrace, signals are sent to parent pid.
> It might be related to our pid semantic, each thread have different pid.
> The signal cannot be received by a different thread.

Arg. If I remember correctly, ruby expects signals to be handled by one
specific thread of the interpreter. Since they have different pids, it's
possible that they are not sent to the right thread.

> >>#934 test_thread.rb:389:in `<top (required)>':
> >>     open("zzz.rb", "w") do |f|
> >>       f.puts <<-END
> >>         begin
> >>           m = Mutex.new
> >>           Thread.new { m.lock; sleep 1 }
> >>           sleep 0.3
> >>           parent = Thread.current
> >>           Thread.new do
> >>             sleep 0.3
> >>             begin
> >>               fork { GC.start }
> >>             rescue Exception
> >>               parent.raise $!
> >>             end
> >>           end
> >>           m.lock
> >>           pid, status = Process.wait2
> >>           $result = status.success? ? :ok : :ng
> >>         rescue NotImplementedError
> >>           $result = :ok
> >>         end
> >>       END
> >>     end
> >>     require "./zzz.rb"
> >>     $result
> >>  #=> "" (expected "ok")
> >>FAIL 2/937 tests failed
> >>make: *** [yes-btest-ruby] Error 1
> >
> >Very strange. What about this script?
> 
> May be not.
> 
> For what should "Process.wait2" wait ?
> 
> The fork of garbage collector and wait2 seems be by a different thread,
> which with our pthread implementration does not work.

Indeed.

So, I don't know what to do.

How likely are those problems to be fixed in kfreebsd?

- Lucas




Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Tue, 30 Aug 2011 19:03:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Petr Salinger <Petr.Salinger@seznam.cz>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Tue, 30 Aug 2011 19:03:03 GMT) Full text and rfc822 format available.

Message #37 received at 593139@bugs.debian.org (full text, mbox):

From: Petr Salinger <Petr.Salinger@seznam.cz>
To: Lucas Nussbaum <lucas@lucas-nussbaum.net>
Cc: 593139@bugs.debian.org
Subject: Re: ruby1.9.1 hangs again
Date: Tue, 30 Aug 2011 21:08:40 +0200 (CEST)
> Could you try make test-all ? While some failures and errors are
> expected, it stresses the interpreter a bit more, so it's a good way to
> check that it doesn't block.

Under sid, it fails to start, probably due to
multiarch changes of libc location:

/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/.ext/common/dl/import.rb:227:in 
`import_function': cannot find the function: strcpy() (DL::DLError)
        from 
/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/.ext/common/dl/import.rb:133:in 
`extern'
        from 
/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/test/dl/test_import.rb:12:in 
`<module:LIBC>'
        from 
/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/test/dl/test_import.rb:5:in 
`<module:DL>'


Under squeeze runs up to

TestDRbCore#test_03 = 0.06 s = .
TestDRbCore#test_04 = 
/opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/lib/timeout.rb:61: 
SEGV received in SEGV handler
[BUG] Segmentation fault
ruby 1.9.3dev (2011-08-26) [x86_64-kfreebsd-gnu]

-- Control frame information 
-----------------------------------------------
c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC  :sleep
c:0003 p:0014 s:0007 b:0007 l:001c10 d:000006 BLOCK 
/opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/lib/timeout.rb:61
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP

-- Ruby level backtrace information 
----------------------------------------
/opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/lib/timeout.rb:61:in 
`block in timeout'
/opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/lib/timeout.rb:61:in 
`sleep'

-- C level backtrace information 
-------------------------------------------
/opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/libruby-1.9.1.so.1.9(+0x15256f) 
[0x80097256f] vm_dump.c:796
/opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/libruby-1.9.1.so.1.9(+0x59754) 
[0x800879754] error.c:258
/opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/libruby-1.9.1.so.1.9(rb_bug+0xb8) 
[0x8008798c8] error.c:277
/opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/libruby-1.9.1.so.1.9(+0xf0cd5) 
[0x800910cd5] signal.c:609
/lib/libpthread.so.0(+0xc244) [0x800c31244]
[0x7fffffffffc3]






Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Wed, 31 Aug 2011 07:06:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lucas Nussbaum <lucas@lucas-nussbaum.net>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Wed, 31 Aug 2011 07:06:03 GMT) Full text and rfc822 format available.

Message #42 received at 593139@bugs.debian.org (full text, mbox):

From: Lucas Nussbaum <lucas@lucas-nussbaum.net>
To: Petr Salinger <Petr.Salinger@seznam.cz>
Cc: 593139@bugs.debian.org
Subject: Re: ruby1.9.1 hangs again
Date: Wed, 31 Aug 2011 09:02:09 +0200
On 30/08/11 at 21:08 +0200, Petr Salinger wrote:
> >Could you try make test-all ? While some failures and errors are
> >expected, it stresses the interpreter a bit more, so it's a good way to
> >check that it doesn't block.
> 
> Under sid, it fails to start, probably due to
> multiarch changes of libc location:
> 
> /build/manual/ruby1.9.1-1.9.3~preview1+svn33077/.ext/common/dl/import.rb:227:in
> `import_function': cannot find the function: strcpy() (DL::DLError)
>         from /build/manual/ruby1.9.1-1.9.3~preview1+svn33077/.ext/common/dl/import.rb:133:in
> `extern'
>         from /build/manual/ruby1.9.1-1.9.3~preview1+svn33077/test/dl/test_import.rb:12:in
> `<module:LIBC>'
>         from /build/manual/ruby1.9.1-1.9.3~preview1+svn33077/test/dl/test_import.rb:5:in
> `<module:DL>'

Oh, ./test/dl/test_base.rb and ./test/fiddle/helper.rb probably need
some changes. That code is really stupid. I've added to my todo list to
fix it, but if you want to take a look so that you can continue testing,
it should be trivial.

> Under squeeze runs up to
> 
> TestDRbCore#test_03 = 0.06 s = .
> TestDRbCore#test_04 = /opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/lib/timeout.rb:61:
> SEGV received in SEGV handler
> [BUG] Segmentation fault
> ruby 1.9.3dev (2011-08-26) [x86_64-kfreebsd-gnu]
> 
> -- Control frame information
> -----------------------------------------------
> c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC  :sleep
> c:0003 p:0014 s:0007 b:0007 l:001c10 d:000006 BLOCK /opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/lib/timeout.rb:61
> c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
> c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP
> 
> -- Ruby level backtrace information
> ----------------------------------------
> /opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/lib/timeout.rb:61:in
> `block in timeout'
> /opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/lib/timeout.rb:61:in
> `sleep'
> 
> -- C level backtrace information
> -------------------------------------------
> /opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/libruby-1.9.1.so.1.9(+0x15256f)
> [0x80097256f] vm_dump.c:796
> /opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/libruby-1.9.1.so.1.9(+0x59754)
> [0x800879754] error.c:258
> /opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/libruby-1.9.1.so.1.9(rb_bug+0xb8)
> [0x8008798c8] error.c:277
> /opt/sid/build/manual/ruby1.9.1-1.9.3~preview1+svn33077/libruby-1.9.1.so.1.9(+0xf0cd5)
> [0x800910cd5] signal.c:609
> /lib/libpthread.so.0(+0xc244) [0x800c31244]
> [0x7fffffffffc3]

This is related to timer thread (which is used to handle timeouts). It
might be worth debugging, as it could be an indication that your patch
doesn't handle a corner case.

I've added info on how to run specific tests to git:
http://anonscm.debian.org/gitweb/?p=collab-maint/ruby1.9.1.git;a=blob;f=debian/README.porters;h=94aff7dd3ecd9f748498f2e285b4a4313b4b8f36;hb=f3ac1c548cfc23a32ec54df480547c6634381f53

Due to the differences of kfreebsd, I think that we should aim for:
- interpreter never crashes or hangs
- it's "OK" if some identified tests fail due to identified problems,
  because it would be very hard to avoid.

What worries me is that some applications, such as puppet (used by DSA),
might break with 1.9. That would be a huge problem if we decide to
switch to 1.9 by default and drop 1.8 in wheezy.

Lucas




Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Wed, 31 Aug 2011 09:30:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Petr Salinger <Petr.Salinger@seznam.cz>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Wed, 31 Aug 2011 09:30:03 GMT) Full text and rfc822 format available.

Message #47 received at 593139@bugs.debian.org (full text, mbox):

From: Petr Salinger <Petr.Salinger@seznam.cz>
To: Lucas Nussbaum <lucas@lucas-nussbaum.net>
Cc: 593139@bugs.debian.org
Subject: Re: ruby1.9.1 hangs again
Date: Wed, 31 Aug 2011 11:37:54 +0200 (CEST)
> So, I don't know what to do.
>
> How likely are those problems to be fixed in kfreebsd?

The needed primitives [1] for pthread add-on rewrite
should be available and working in FreeBSD 9.0 kernel.
The 8.x have only limited support.

No ETA for eglibc rewrite now ;-)

Petr

[1] http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/sys/umtx.h




Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Wed, 31 Aug 2011 09:42:24 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lucas Nussbaum <lucas@lucas-nussbaum.net>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Wed, 31 Aug 2011 09:42:27 GMT) Full text and rfc822 format available.

Message #52 received at 593139@bugs.debian.org (full text, mbox):

From: Lucas Nussbaum <lucas@lucas-nussbaum.net>
To: Petr Salinger <Petr.Salinger@seznam.cz>
Cc: 593139@bugs.debian.org
Subject: Re: ruby1.9.1 hangs again
Date: Wed, 31 Aug 2011 11:40:03 +0200
On 31/08/11 at 11:37 +0200, Petr Salinger wrote:
> >So, I don't know what to do.
> >
> >How likely are those problems to be fixed in kfreebsd?
> 
> The needed primitives [1] for pthread add-on rewrite
> should be available and working in FreeBSD 9.0 kernel.
> The 8.x have only limited support.
> 
> No ETA for eglibc rewrite now ;-)

Heh, can we bet on it for wheezy?

Lucas




Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Fri, 06 Apr 2012 17:48:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Steven Chamberlain <steven@pyro.eu.org>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Fri, 06 Apr 2012 17:48:03 GMT) Full text and rfc822 format available.

Message #57 received at 593139@bugs.debian.org (full text, mbox):

From: Steven Chamberlain <steven@pyro.eu.org>
To: 593139@bugs.debian.org
Cc: debian-bsd@lists.debian.org
Subject: Re: Bug#593139: ruby1.9.1: FTBFS on kfreebsd: test suite segfaults
Date: Fri, 06 Apr 2012 18:45:37 +0100
[Message part 1 (text/plain, inline)]
found ruby1.9.1/1.9.3.0-2
thanks

Hi,

I found that debian/run-test-suites.bash sometimes passes all tests
except for test_fork:12.

But other tests like test_io and thest_thread fail/hang sometimes.
Particularly:

TestIO#test_copy_stream_socket
TestIO#test_threaded_flush
TestThread#test_thread_instance_variable

I also came up with the attached BUG when running test_io on its own.

Regards,
-- 
Steven Chamberlain
steven@pyro.eu.org
[ruby.txt (text/plain, attachment)]

Marked as found in versions ruby1.9.1/1.9.3.0-2. Request was from Steven Chamberlain <steven@pyro.eu.org> to control@bugs.debian.org. (Fri, 06 Apr 2012 17:54:04 GMT) Full text and rfc822 format available.

Marked as fixed in versions ruby1.9.1/1.9.3.194-1. Request was from Antonio Terceiro <terceiro@debian.org> to control@bugs.debian.org. (Mon, 04 Jun 2012 22:03:07 GMT) Full text and rfc822 format available.

Reply sent to Antonio Terceiro <terceiro@debian.org>:
You have taken responsibility. (Mon, 04 Jun 2012 22:03:11 GMT) Full text and rfc822 format available.

Notification sent to Lucas Nussbaum <lucas@lucas-nussbaum.net>:
Bug acknowledged by developer. (Mon, 04 Jun 2012 22:03:11 GMT) Full text and rfc822 format available.

Message #66 received at 593139-done@bugs.debian.org (full text, mbox):

From: Antonio Terceiro <terceiro@debian.org>
To: 593139-done@bugs.debian.org, 593141-done@bugs.debian.org, 647296-done@bugs.debian.org
Subject: ruby1.9.1 does not FTBFS on kfreebsd, ia64 and kfreebsd-* anymore
Date: Mon, 4 Jun 2012 18:57:20 -0300
[Message part 1 (text/plain, inline)]
fixed 593139 1.9.3.194-1
fixed 593141 1.9.3.194-1
fixed 647296 1.9.3.194-1
thanks

Hi,

With the upload of version 1.9.3.194-1, ruby1.9.1 builds fine on amd64,
ia64 and kfreebsd-*. I am therefore closing the FTBFS bugs associated
with these architectures.

-- 
Antonio Terceiro <terceiro@debian.org>
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Tue, 05 Jun 2012 00:36:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Antonio Terceiro <terceiro@debian.org>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Tue, 05 Jun 2012 00:36:03 GMT) Full text and rfc822 format available.

Message #71 received at 593139@bugs.debian.org (full text, mbox):

From: Antonio Terceiro <terceiro@debian.org>
To: 593139@bugs.debian.org, 593141@bugs.debian.org
Subject: oops ... closed by mistake
Date: Mon, 4 Jun 2012 19:26:07 -0300
[Message part 1 (text/plain, inline)]
reopen 593139
reopen 593141
thanks

These bugs have been closed by mistake. The test suite is disabled on
ia64 and kfreebsd, so before closing these bugs we need to try building
with the test suite enabled.

Sorry for the noise.

-- 
Antonio Terceiro <terceiro@debian.org>
[signature.asc (application/pgp-signature, inline)]

Bug reopened Request was from Antonio Terceiro <terceiro@debian.org> to control@bugs.debian.org. (Tue, 05 Jun 2012 00:36:08 GMT) Full text and rfc822 format available.

No longer marked as fixed in versions ruby1.9.1/1.9.3.194-1. Request was from Antonio Terceiro <terceiro@debian.org> to control@bugs.debian.org. (Tue, 05 Jun 2012 00:36:08 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Thu, 21 Jun 2012 20:06:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Steven Chamberlain <steven@pyro.eu.org>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Thu, 21 Jun 2012 20:06:03 GMT) Full text and rfc822 format available.

Message #80 received at 593139@bugs.debian.org (full text, mbox):

From: Steven Chamberlain <steven@pyro.eu.org>
To: 593139@bugs.debian.org
Subject: Bug#593139: ruby1.9.1: testsuite may fail/hang on ia64/kfreebsd
Date: Thu, 21 Jun 2012 21:03:16 +0100
severity 593139 important
retitle 593139 ruby1.9.1: testsuite may fail/hang on ia64/kfreebsd
found 593139 1.9.3.194-1
thanks

Since the package no longer FTBFS in case of these testsuite
failures/hangs, it is not RC-severity so I shall downgrade and retitle
this bug accordingly.

Thanks,
Regards,
-- 
Steven Chamberlain
steven@pyro.eu.org




Severity set to 'important' from 'serious' Request was from Steven Chamberlain <steven@pyro.eu.org> to control@bugs.debian.org. (Thu, 21 Jun 2012 20:06:05 GMT) Full text and rfc822 format available.

Changed Bug title to 'ruby1.9.1: testsuite may fail/hang on ia64/kfreebsd' from 'ruby1.9.1: FTBFS on kfreebsd: test suite segfaults' Request was from Steven Chamberlain <steven@pyro.eu.org> to control@bugs.debian.org. (Thu, 21 Jun 2012 20:06:05 GMT) Full text and rfc822 format available.

Marked as found in versions ruby1.9.1/1.9.3.194-1. Request was from Steven Chamberlain <steven@pyro.eu.org> to control@bugs.debian.org. (Thu, 21 Jun 2012 20:06:06 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, akira yamada <akira@debian.org>:
Bug#593139; Package src:ruby1.9.1. (Mon, 25 Jun 2012 06:36:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Petr Salinger <Petr.Salinger@seznam.cz>:
Extra info received and forwarded to list. Copy sent to akira yamada <akira@debian.org>. (Mon, 25 Jun 2012 06:36:03 GMT) Full text and rfc822 format available.

Message #91 received at 593139@bugs.debian.org (full text, mbox):

From: Petr Salinger <Petr.Salinger@seznam.cz>
To: 593139@bugs.debian.org
Subject: Re: ruby-randrop build hangs
Date: Mon, 25 Jun 2012 08:21:47 +0200 (CEST)
[Message part 1 (text/plain, inline)]
I confirm problem bellow,
the attached c code does not have problem.

Petr

---------- Forwarded message ----------
Date: Sat, 23 Jun 2012 16:23:36 +0300
From: Hleb Valoshka <375gnu@gmail.com>

It looks like ruby-raindrops hangs on buildd because of issues with ruby1.9.1,
libc and SMP.

This very simple code taken from raindrops maillist [0] will 100% hang on SMP
kfreebsd box:

1000.times do
   pid = fork do
     1 + 1
   end
   Process.waitpid2(pid)
 end

It may be used as a test case :)

It doesn't lock on uniprocessor machine, it doesn't lock under ruby1.8, it
doesn't locks on ordinary FreeBSD. But it locks when run under ruby1.9.1 on SMP
machine with kfreebsd (8.1, 9.0) and glibc.

[0] http://permalink.gmane.org/gmane.comp.lang.ruby.raindrops.general/96
[rb-rd.c (text/x-csrc, attachment)]

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Apr 20 16:16:11 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.