[#18121] [Ruby 1.8.7 - Bug #405] (Open) ssl.rb:31: [BUG] Bus Error — Anonymous <redmine@...>

Issue #405 has been reported by Anonymous.

14 messages 2008/08/04

[#18130] Re: New array methods cycle, choice, shuffle (plus bug in cycle) — Brian Candler <B.Candler@...>

> Seriously though... Array.first is a noun.

10 messages 2008/08/05

[#18319] NEW Command: absolute_path() -- — "C.E. Thornton" <admin@...>

Core,

14 messages 2008/08/16
[#18321] Re: NEW Command: absolute_path() -- — Yukihiro Matsumoto <matz@...> 2008/08/18

Hi,

[#18381] [Bug #496] DRb.start_service(nil) is very slow — Hongli Lai <redmine@...>

Bug #496: DRb.start_service(nil) is very slow

11 messages 2008/08/25

[ruby-core:18365] Re: [Ruby 1.9 - Bug #378] (Open) rbconfig.rb:173: [BUG] Stack consistency error

From: "Yusuke ENDOH" <mame@...>
Date: 2008-08-21 12:27:02 UTC
List: ruby-core #18365
Hi,

2008/7/31 Anonymous <redmine@ruby-lang.org>:
> I've tried to compile ruby 1.9 svn HEAD on an openSUSE 11.0 and ran into a build problem with prelude.c Build log is attached.

I duplicated the problem on openSUSE 11.0 on VMware on 32bit WindowsXP.

To simplify it, multiple assignment dumps core.


$ ./miniruby -e 'a, b = 1, 2'
-e:1: [BUG] Stack consistency error (sp: 10, bp: 8)
ruby 1.9.0 (2008-08-21 revision 18754) [i686-linux]

-- control frame ----------
c:0003 p:0013 s:0010 b:0008 l:000007 d:000007 TOP    -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH :private_class_method
c:0001 p:0000 s:0002 b:0002 l:000001 d:000001 TOP    <dummy toplevel>:17
---------------------------
DBG> : "-e:1:in `<main>'"
-- backtrace of native function call (Use addr2line) --
0x814f3f4
0x808069e
0x80806e8
0x81455b4
0x8145d24
0x8145f0c
0x8082a6f
0x8083d76
0x805ba00
0xb7eb05f5
0x805b901
-------------------------------------------------------
Aborted


The cause is, the function REMOVE_ELEM in compile.c is certainly called
but seems not to work.  I think gcc does wrong optimization because:

  - if building with optflags="-O0", it works
  - if adding __attribute__((noinline)) to REMOVE_ELEM, it works
  - if building with gcc 4.3.1 built by myself, it works

So I suspect packaging issue of gcc in openSUSE 11.0 or gcc's own bug.
As a workaround, you may use ./configure optflags="-O0".

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread