[#60404] is RB_GC_GUARD needed in rb_io_syswrite? — Eric Wong <normalperson@...>
I haven't gotten it to crash as-is, but it seems like we need to
4 messages
2014/02/01
[#60682] volatile usages — Eric Wong <normalperson@...>
Hi all, I went ahead and removed some use of volatile which were once
5 messages
2014/02/13
[#60794] [RFC] rearrange+pack vtm and time_object structs — Eric Wong <normalperson@...>
Extracted from addendum on top of Feature #9362 (cache-aligned objects).
4 messages
2014/02/16
[#61139] [ruby-trunk - Feature #9577] [Open] [PATCH] benchmark/driver.rb: align columns in text output — normalperson@...
Issue #9577 has been reported by Eric Wong.
3 messages
2014/02/28
[ruby-core:61099] [ruby-trunk - Bug #9568] [Closed] Ruby interpreter crashes when executing a script in debug mode
From:
nobu@...
Date:
2014-02-26 04:26:34 UTC
List:
ruby-core #61099
Issue #9568 has been updated by Nobuyoshi Nakada.
Status changed from Open to Closed
% Done changed from 0 to 100
Applied in changeset r45180.
----------
eval.c: preserve errinfo
* eval.c (setup_exception): preserve errinfo across calling #to_s
method on the exception. [ruby-core:61091] [Bug #9568]
----------------------------------------
Bug #9568: Ruby interpreter crashes when executing a script in debug mode
https://bugs.ruby-lang.org/issues/9568#change-45487
* Author: Scott Thompson
* Status: Closed
* Priority: Normal
* Assignee:
* Category:
* Target version:
* ruby -v: ruby 2.2.0dev (2014-02-26 trunk 45176) [x86_64-darwin13.0]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
The following script will crash the ruby interpreter when ruby is run in debug mode.
This script is creating mock HTTP objects and creating the Response class out of the middle of the Savon gem and calling a private method in a very odd way because it is a reduced test case pulled from a much larger script. The actual script use Savon in a much more conventional way:
-- crash_example.rb --
require 'savon'
class SampleHTTPStuff
def error?
return true
end
def code
return 500
end
def body
return %q{<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Internal Error</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>}
end
end
http = SampleHTTPStuff.new()
response = Savon::Response.new(http, {}, {})
begin
response.instance_eval { raise_soap_and_http_errors! }
rescue => e
puts "Ouch!"
end
--- end of crash_example.rb
For what it's worth, I'm using version 2.3.3 of the Savon gem.
If I run this using:
ruby -d crash_example.rb
I get a segmentation fault error. The problem appears to be the result of calling vm_throw with the "throwobj" having the value 0x8
If I run the script without the "-d" debug flag, the script runs without trouble.
I am running this on Mac OS X 10.9.1 on a MacBook Pro Retina 15"
using RVM I have tried the same code on 2.0, 2.1, and the 2.2dev head (as of 2/25/2014). They all exhibit the same behavior
I've attached a transcript file of the code being run.
---Files--------------------------------
crash_transcript.txt (35.1 KB)
--
http://bugs.ruby-lang.org/