Project

General

Profile

Actions

Backport #1785

closed

ObjectSpace::define_finalizer on Fixnum segfaults with recent ruby

Added by pterjan (Pascal Terjan) almost 15 years ago. Updated almost 13 years ago.


Description

=begin
$ ruby -e 'ObjectSpace::define_finalizer(4, proc {})'
-e:1:in `define_finalizer': cannot define finalizer for Fixnum (ArgumentError)
from -e:1
-e:1: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [i586-linux]

Abandon

It does not give error and does not crash on my other machine with ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
=end

Actions #1

Updated by wyhaines (Kirk Haines) almost 15 years ago

=begin
On Thu, Jul 16, 2009 at 3:42 PM, Pascal Terjan wrote:

Bug #1785: ObjectSpace::define_finalizer on Fixnum segfaults with recent ruby
http://redmine.ruby-lang.org/issues/show/1785

Author: Pascal Terjan
Status: Open, Priority: Normal
ruby -v: ruby 1.8.7 (2009-06-12 patchlevel 174) [i586-linux]

$ ruby -e 'ObjectSpace::define_finalizer(4, proc {})'
-e:1:in `define_finalizer': cannot define finalizer for Fixnum (ArgumentError)
       from -e:1
-e:1: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [i586-linux]

I can confirm that this error occurs on 1.8.6 at least with pl368 and
up. I have not had a chance to check other patch levels.

Kirk Haines

=end

Actions #2

Updated by zenspider (Ryan Davis) almost 15 years ago

=begin

On Jul 16, 2009, at 15:08 , Kirk Haines wrote:

On Thu, Jul 16, 2009 at 3:42 PM, Pascal Terjan<redmine@ruby-
lang.org> wrote:

Bug #1785: ObjectSpace::define_finalizer on Fixnum segfaults with
recent ruby
http://redmine.ruby-lang.org/issues/show/1785

Author: Pascal Terjan
Status: Open, Priority: Normal
ruby -v: ruby 1.8.7 (2009-06-12 patchlevel 174) [i586-linux]

$ ruby -e 'ObjectSpace::define_finalizer(4, proc {})'
-e:1:in `define_finalizer': cannot define finalizer for Fixnum
(ArgumentError)
from -e:1
-e:1: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [i586-linux]

I can confirm that this error occurs on 1.8.6 at least with pl368 and
up. I have not had a chance to check other patch levels.

Both 1.8.7-p160, 1.8.6-p368 segfault. 1.9.1 is listed as a failure,
but that is only based on exit code, so it shouldn't be counted as
incorrect:

502 % multiruby -e 'ObjectSpace::define_finalizer(4, proc {})'

VERSION = 1.8.6-p287
CMD = ~/.multiruby/install/1.8.6-p287/bin/ruby -e
ObjectSpace::define_finalizer(4, proc {})

RESULT = 0

VERSION = 1.8.6-p368
CMD = ~/.multiruby/install/1.8.6-p368/bin/ruby -e
ObjectSpace::define_finalizer(4, proc {})

-e:1:in `define_finalizer': cannot define finalizer for Fixnum
(ArgumentError)
from -e:1
-e:1: [BUG] Bus Error
ruby 1.8.6 (2009-03-31) [i686-darwin9.7.0]

RESULT = 6

VERSION = 1.8.7-p160
CMD = ~/.multiruby/install/1.8.7-p160/bin/ruby -e
ObjectSpace::define_finalizer(4, proc {})

-e:1:in `define_finalizer': cannot define finalizer for Fixnum
(ArgumentError)
from -e:1
-e:1: [BUG] Bus Error
ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-darwin9.7.0]

RESULT = 6

VERSION = 1.8.7-p72
CMD = ~/.multiruby/install/1.8.7-p72/bin/ruby -e
ObjectSpace::define_finalizer(4, proc {})

RESULT = 0

VERSION = 1.9.1-p129
CMD = ~/.multiruby/install/1.9.1-p129/bin/ruby -e
ObjectSpace::define_finalizer(4, proc {})

-e:1:in define_finalizer': cannot define finalizer for Fixnum (ArgumentError) from -e:1:in '

RESULT = 256

TOTAL RESULT = 3 failures out of 5

Passed: 1.8.6-p287, 1.8.7-p72
Failed: 1.9.1-p129, 1.8.7-p160, 1.8.6-p368

=end

Actions #3

Updated by shyouhei (Shyouhei Urabe) almost 15 years ago

  • Assignee set to wyhaines (Kirk Haines)

=begin
Applied in changeset r24178. Should be backported to 1.8.6.
=end

Actions #4

Updated by wyhaines (Kirk Haines) almost 14 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r28235.
Pascal, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0