From: ynnor@... Date: 2017-05-30T14:19:36+00:00 Subject: [ruby-core:81472] [Ruby trunk Bug#13612] Segmentation Fault Issue #13612 has been updated by rovf (Ronald Fischer). File segf_test_improved.rb added I just made a minor change, which shows better where the error occurs (segf_test_improved.rb). The program needs to be operated in the same way as segf_test.rb which I described before. Two things are notable: 1. Like in the backtrace which I provided initially, the program crashes at the statement filter_method_symb = FIND_CHAIN_FOR_POS_FILTER_PIPELINE.next (the "puts 'before'" before the line is shown, the "puts 'after'" is not shown. 2. When I run this improved test script, it aborts already (reproduceably) in the iteration 4937. What puzzles me most, is how sensitive this bug is related to program layout. For example, if I insert just one empty line before the first 'class' definition, the bug disappears! This is insane!!!! ---------------------------------------- Bug #13612: Segmentation Fault https://bugs.ruby-lang.org/issues/13612#change-65181 * Author: rovf (Ronald Fischer) * Status: Feedback * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-cygwin] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- I got a segmentation fault, fllowed by the message "You may have encountered a bug in the Ruby interpreter or extension libraries.". See attachment. The exception occured in this piece of code: ```ruby class EXPERT FIND_CHAIN_FOR_POS_FILTER_PIPELINE = [ :no_filter, :filter_by_etkz_e, :filter_chain_in_chain, ].each def find_chain_for_pos(sw_lines_for_module, wsc_sw_lines) FIND_CHAIN_FOR_POS_FILTER_PIPELINE.rewind begin while NVP.multiple_grpids?(sw_lines_for_module) filter_method_symb = FIND_CHAIN_FOR_POS_FILTER_PIPELINE.next # <----- This is line 30, where the exception reportedly occured. sw_lines_for_module = NVP.send(filter_method_symb, br, sw_lines_for_module) end rescue StopIteration LOG.trace "Could not find unique GRPID" end end end ``` The segmentation fault occurs only after this method has been executed repeatedly several hundred times. ---Files-------------------------------- ruby_segf.txt (18.5 KB) segf_test.rb (1.49 KB) segf_test_improved.rb (1.54 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: