Issue #14403 has been updated by jrochkind (jonathan rochkind).


Oops, sorry, somehow missed reproduction script in the original report, here it is:

https://gist.github.com/jrochkind/a8344b1805badec8109b6f95c89a745b

```
require 'rexml/parsers/pullparser'

def look_at_record(parser)
  # While this first 'if' condition will never be triggered, it is somehow
  # neccesary as is to trigger the core dump.
  if Module.constants.index('FooBarBazNoSuchThing') && parser.is_a?(String)
  else
    while parser.has_next?
      event = parser.pull
      if event.end_element?
        if event[0] == "record"
          return "foo"
        end
      end
    end
  end
end


  sample_xml = <<EOF
<record>
  <leader>foo</leader>
</record>
EOF


parser = REXML::Parsers::PullParser.new(StringIO.new(sample_xml))
while parser.has_next?
  event = parser.pull
  # if it's the start of a record element
  if event.start_element? and event[0] == 'record'
    puts look_at_record(parser)
  end
end
```

----------------------------------------
Bug #14403: Crash and coredump (Stack consistency error) on ruby 2.5.0
https://bugs.ruby-lang.org/issues/14403#change-69835

* Author: jrochkind (jonathan rochkind)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16]
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
This reproduction script seems to make no sense, because it's extracted from an actual program where I encountered this bug, and trimmed down to be the minimal I can get to reproduce. 

Parts of the script that seem irrelevant (like the `if` check that should never be true), if removed, remove the reproduction. This is why I'm glad I'm not a C programmer! 

This executes without core dump on `ruby 2.4.3p205 (2017-12-14 revision 61247) [x86_64-darwin16]` -- runs fine, does not reproduce error, on 2.4. 

I believe on ruby 2.5 it also reproduces on travis (which is where I originally encountered the problem), so I don't believe it is unique to the MacOS ruby build I am reporting here. 

Console output at: https://gist.github.com/jrochkind/0e6ed450414f4577bdb886961e4d61ba

Crash report log file from  ~/Library/Logs/DiagnosticReports/ruby_2018-01-25-113636_170220-C02T63QEFVH4.crash at: 
https://gist.github.com/jrochkind/6cbd60845cf36352491fb6d058ea2910



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>