From: Naohisa Goto Date: 2011-09-08T20:32:47+09:00 Subject: [ruby-core:39363] [Ruby 1.9 - Bug #5244] Continuation causes Bus Error on Debian sparc Issue #5244 has been updated by Naohisa Goto. The bug does not occur with older Debian sparc running on qemu. 1. download image http://people.debian.org/~aurel32/qemu/sparc/debian_etch_sparc_small.qcow2 2. qemu-system-sparc -hda debian_etch_sparc_small.qcow2 -M SS-10 -m 1G 3. change /etc/apt/sources.list 4. install subversion and many packages by using aptitude 5. manually install yaml-0.1.4.tar.gz and libffi-3.0.10.tar.gz 6. svn co http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_3 (fetched revision r33190) 7. autoconf; ./configure --prefix=/home/user/ruby/193 optflags="-O2" 8. make 9. ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -rcontinuation -e 'callcc { |c| c.call }' 10. finished with exit code 0 $ uname -a Linux debian-sparc 2.6.18-6-sparc32 #1 Fri Dec 12 16:29:52 UTC 2008 sparc GNU/Linux $ dpkg -l gcc libc6 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-==============-==================-============================================ ii gcc 4.1.1-15 The GNU C compiler ii libc6 2.3.6.ds1-13etch10 GNU C Library: Shared libraries The bug might be specific to the svn revision 33077 and might have already been fixed in the latest svn revision. ---------------------------------------- Bug #5244: Continuation causes Bus Error on Debian sparc http://redmine.ruby-lang.org/issues/5244 Author: Lucas Nussbaum Status: Feedback Priority: Normal Assignee: Naohisa Goto Category: Target version: ruby -v: - Hi, $ ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -rcontinuation -e 'callcc { |c| c.call }' -e:1: [BUG] Bus Error ruby 1.9.3dev (2011-08-26) [sparc-linux] -- Control frame information ----------------------------------------------- c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :callcc c:0003 p:0009 s:0006 b:0006 l:000fcc d:001d74 EVAL -e:1 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:000fcc d:000fcc TOP -- Ruby level backtrace information ---------------------------------------- -e:1:in `
' -e:1:in `callcc' -- C level backtrace information ------------------------------------------- Bus error gdb says: (gdb) run -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -rcontinuation -e 'callcc { |c| c.call }' Starting program: /home/lucas/ruby1.9.1-1.9.3~preview1+svn33077/miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -rcontinuation -e 'callcc { |c| c.call }' [Thread debugging using libthread_db enabled] [New Thread 0xf7fc7b70 (LWP 31418)] [Thread 0xf7fc7b70 (LWP 31418) exited] process 31417 is executing new program: /home/lucas/ruby1.9.1-1.9.3~preview1+svn33077/ruby1.9.1 [Thread debugging using libthread_db enabled] [New Thread 0xf79e5b70 (LWP 31419)] Program received signal SIGBUS, Bus error. 0xf7f4d304 in cont_capture (stat=Cannot access memory at address 0x49 ) at cont.c:439 439 if (ruby_setjmp(cont->jmpbuf)) { (gdb) print cont Cannot access memory at address 0xfffffff9 -- http://redmine.ruby-lang.org