Issue #13612 has been updated by nobu (Nobuyoshi Nakada).


rovf (Ronald Fischer) wrote:
> Aside from the fact that my company unfortunately does not allow me to send you the whole application, as this is a strategic product, I think you wouldn't be too happy to debug with it anyway, as it is roughly 20000 lines of Ruby code (not counting the gems), which needs to run for 10 minutes or so until the bug appears.

Of course, we don't want the whole __application__.
What we need is __runnable__ code fragment.

> I found meanwhile a more compact example, which moreover shows erroneous behaviour reproducibly and does not contain any , but before I do this, I will follow your advice and verify, whether the error still occurs with a newer version.

Thank you so much in advance.

> It's strange that so many new versions are available already. I made a fresh install less than one months ago.....

2.3.4 was released at 2017-03-30.
2.4.1 was released at 2017-03-22.



----------------------------------------
Bug #13612: Segmentation Fault
https://bugs.ruby-lang.org/issues/13612#change-65179

* 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)


-- 
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>