Re: Bug#593138: ruby1.9.1: FTBFS on sparc: test suite hangs
On Thu, Aug 19, 2010 at 05:30:27AM +0000, brian m. carlson wrote:
> On Sun, Aug 15, 2010 at 10:05:08PM +0200, Lucas Nussbaum wrote:
> > On 15/08/10 at 19:57 +0000, brian m. carlson wrote:
> > > On Sun, Aug 15, 2010 at 08:36:28PM +0200, Lucas Nussbaum wrote:
> > > > Ruby's test suite (make test-all) hangs on sparc. I had to do a manual
> > > > upload after disabling the test suite.
> > >
> > > Could you provide us with a log of the failing build? buildd.debian.org
> > > doesn't have one, and it would be helpful to know exactly where the
> > > problem occurred. I'll run a test build on my Ultra 5, but it's not
> > > SMP, so it may not trigger the bug. I'll report back.
> >
> > Sorry, I didn't keep it, but it was reproducible on sperger.d.o.
>
> Unfortunately, since I'm not a DD, I don't have access to the Debian
> buildds or porter boxes. I did a test build on my Ultra 5 and got a
> segfault, but no hang. I'll investigate the segfault and determine
> whether or not it's related; in any case, the code shouldn't segfault.
It turns out that I can reproduce either a hang or a crash while
running tests on my box (2-CPU Sunblade 1000). I tried building a few
times and hangs/crashes occur while running fiber tests from
test_fiber.rb. After I've forced printing the names of the tests and
timing information, here's what I get:
Script started on Sun 22 Aug 2010 19:40:08 IST
jurij@debian:~/tmp/ruby1.9.1-1.9.2~svn28788$ ./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./tool/runruby.rb --extout=.ext -- "./test/ruby/test _fiber.rb"
Loaded suite ./test/ruby/test_fiber
Started
TestFiber#test_alive: 0.00 s: .
TestFiber#test_argument: 0.00 s: .
TestFiber#test_error: 0.01 s: .
TestFiber#test_fiber_transfer_segv: 0.06 s: F
TestFiber#test_many_fibers: 1.02 s: .
TestFiber#test_many_fibers_with_threads: 7.71 s: .
TestFiber#test_normal: 0.00 s: .
TestFiber#test_resume_self: ./test/ruby/test_fiber.rb:179: [BUG] Segmentation fault
ruby 1.9.2dev (2010-07-30) [sparc-linux]
-- control frame ----------
c:0004 p:---- s:0008 b:0008 l:000007 d:000007 CFUNC :resume
c:0003 p:0011 s:0005 b:0005 l:0000d0 d:000004 BLOCK ./test/ruby/test_fiber.rb:179
c:0002 p:---- s:0003 b:0003 l:000002 d:000002 FINISH
c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
---------------------------
-- Ruby level backtrace information ----------------------------------------
./test/ruby/test_fiber.rb:179:in `block in test_resume_self'
./test/ruby/test_fiber.rb:179:in `resume'
-- C level backtrace information -------------------------------------------
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(+0x64924) [0xf7e08924]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(rb_bug+0x38) [0xf7e089d8]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(+0x10a93c) [0xf7eae93c]
/lib/ultra3/libpthread.so.0(+0x11158) [0xf7d89158]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(rb_fiber_resume+0x23c) [0xf7f1d93c]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(+0x15c1c8) [0xf7f001c8]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(+0x16a184) [0xf7f0e184]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(+0x161ef0) [0xf7f05ef0]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(+0x167bd8) [0xf7f0bbd8]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(rb_vm_invoke_proc+0x2ac) [0xf7f0dc8c]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(rb_fiber_start+0x144) [0xf7f1dde4]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(ruby_cleanup+0x2d4) [0xf7e0d994]
/home/jurij/tmp/ruby1.9.1-1.9.2~svn28788/libruby-1.9.1.so.1.9.1(ruby_run_node+0x24) [0xf7e0da44]
./ruby1.9.1(main+0x54) [0x10834]
/lib/ultra3/libc.so.6(__libc_start_main+0x10c) [0xf7abc54c]
./ruby1.9.1(_start+0x2c) [0x106ac]
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
Aborted
jurij@debian:~/tmp/ruby1.9.1-1.9.2~svn28788$ exit
Script done on Sun 22 Aug 2010 19:40:23 IST
The fact that backtrace includes /lib/ultra3/libpthread.so.0 might
indicate that the bug is Ultrasparc-III specific, which would explain
why it's not reproducible on your box.
I'll try to dig a little bit further to get a simpler test case.
Best regards,
--
Jurij Smakov jurij@wooyd.org
Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC
Reply to: