Actions
Bug #12925
closedterminated by signal SIGSEGV (Address boundary error)
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0dev (2016-11-02 trunk 56542) [x86_64-darwin15]
Backport:
Description
When I run this code
module SafeException
refine Exception do
alias message message
alias backtrace backtrace
end
end
class Exception
undef message
undef backtrace # <-- comment this line out to see that message works as expected
end
using SafeException
begin
raise RuntimeError, "hello", ["f1", "f2"]
rescue => e
p e.message # this works
p e.backtrace # this doesn't
end
In 2.3.1 and 2.4 (built last week), I get this:
fish: Job 25, 'ruby f2.rb' terminated by signal SIGSEGV (Address boundary error)
If I drop down to Ruby 2.2, I get this:
f2.rb:16: [BUG] vm_call0: unsupported method type (6)
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin15]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/CrashReporter
* /Library/Logs/CrashReporter
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
for more details.
-- Control frame information -----------------------------------------------
c:0002 p:0055 s:0005 E:0025f8 EVAL f2.rb:16 [FINISH]
c:0001 p:0000 s:0002 E:0003d0 TOP [FINISH]
-- Ruby level backtrace information ----------------------------------------
f2.rb:16:in `<main>'
-- C level backtrace information -------------------------------------------
0 ruby 0x000000010dc55dd5 rb_vm_bugreport + 149
1 ruby 0x000000010daf73d4 rb_bug + 468
2 ruby 0x000000010dc52c0f vm_call0_body + 2863
3 ruby 0x000000010dc5312b rb_call0 + 427
4 ruby 0x000000010dc43496 rb_funcall + 374
5 ruby 0x000000010db0016e setup_exception + 638
6 ruby 0x000000010daffed0 rb_raise_jump + 160
7 ruby 0x000000010db01a25 rb_f_raise + 341
8 ruby 0x000000010dc4c9c2 vm_call_cfunc + 1410
9 ruby 0x000000010dc4baad vm_call_method + 909
10 ruby 0x000000010dc38720 vm_exec_core + 13024
11 ruby 0x000000010dc472da vm_exec + 138
12 ruby 0x000000010dc48309 rb_iseq_eval_main + 393
13 ruby 0x000000010daffa68 ruby_exec_internal + 152
14 ruby 0x000000010daff976 ruby_run_node + 54
15 ruby 0x000000010dab57af main + 79
-- Other runtime information -----------------------------------------------
* Loaded script: f2.rb
* Loaded features:
0 enumerator.so
1 rational.so
2 complex.so
3 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin15/enc/encdb.bundle
4 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin15/enc/trans/transdb.bundle
5 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/unicode_normalize.rb
6 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin15/rbconfig.rb
7 thread.rb
8 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/x86_64-darwin15/thread.bundle
9 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/compatibility.rb
10 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/defaults.rb
11 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/deprecate.rb
12 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/errors.rb
13 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/version.rb
14 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/requirement.rb
15 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/platform.rb
16 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/basic_specification.rb
17 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/stub_specification.rb
18 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/util/stringio.rb
19 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/specification.rb
20 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/exceptions.rb
21 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb
22 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/monitor.rb
23 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb
24 /Users/josh/.rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems.rb
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
Don't forget to include the above Crash Report log file.
For details: http://www.ruby-lang.org/bugreport.html
fish: Job 25, 'ruby f2.rb' terminated by signal SIGABRT (Abort)
Updated by nobu (Nobuyoshi Nakada) almost 8 years ago
- Status changed from Open to Closed
Applied in changeset r56766.
error.c: rb_get_backtrace
- error.c (rb_get_backtrace): move from eval_error.c to call
exc_backtrace directly. [ruby-core:78097] [Bug #12925]
Updated by nagachika (Tomoyuki Chikanaga) almost 8 years ago
- Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED
Updated by nobu (Nobuyoshi Nakada) almost 8 years ago
- Backport changed from 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED to 2.1: REQUIRED, 2.2: REQUIRED, 2.3: REQUIRED
Refinements and aliases are red herring.
All versions have this bug.
$ ruby1.9 -e 'class Exception; undef backtrace; end' -e 'raise "hello"'
Illegal instruction: 4
$ ruby2.0 -e 'class Exception; undef backtrace; end' -e 'raise "hello"'
Segmentation fault: 11
$ ruby2.1 -e 'class Exception; undef backtrace; end' -e 'raise "hello"'
Segmentation fault: 11
$ ruby2.2 -e 'class Exception; undef backtrace; end' -e 'raise "hello"'
Segmentation fault: 11
$ ruby2.3 -e 'class Exception; undef backtrace; end' -e 'raise "hello"'
Segmentation fault: 11
Updated by nagachika (Tomoyuki Chikanaga) almost 8 years ago
- Backport changed from 2.1: REQUIRED, 2.2: REQUIRED, 2.3: REQUIRED to 2.1: REQUIRED, 2.2: REQUIRED, 2.3: DONE
ruby_2_3 r56781 merged revision(s) 56766,56767.
Updated by usa (Usaku NAKAMURA) almost 8 years ago
- Backport changed from 2.1: REQUIRED, 2.2: REQUIRED, 2.3: DONE to 2.1: REQUIRED, 2.2: DONE, 2.3: DONE
ruby_2_2 r56786 merged revision(s) 56766,56767.
Actions
Like0
Like0Like0Like0Like0Like0