[#70257] [Ruby trunk - Feature #11420] [Open] Introduce ID key table into MRI — ko1@...

Issue #11420 has been reported by Koichi Sasada.

11 messages 2015/08/06

[ruby-core:70585] [Ruby trunk - Bug #11481] Segmentation fault when thread is killed during `require`.

From: thomas.weissschuh@...
Date: 2015-08-25 07:28:54 UTC
List: ruby-core #70585
Issue #11481 has been updated by Thomas Weiテ殱chuh.

File backtrace.symbols added

----------------------------------------
Bug #11481: Segmentation fault when thread is killed during `require`.
https://bugs.ruby-lang.org/issues/11481#change-53991

* Author: Thomas Weiテ殱chuh
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
One of a library used by us executes `open` from `uri-open` in multiple thread in parallel under a timeout.
`open-uri` implicitly `require`s `net/http`. When the import machinery is killed during performing an import this will lead to a segfault further down the line.

I readily accept that it is very poor practice to do `require` in a loop which is suspect to uncatchable exceptions,
But unfortunately the user has no idea that `require`s are performed.

The test.rb script from the attachements triggers this bug. You may want to spawn less threads. The high number was chosen to improve the rate of triggering the bug.

We tested this on ruby 2.1.5p273 as shipped with debian Jessie. And ruby 2.2.3p173 from ArchLinux.

---Files--------------------------------
backtrace (255 KB)
test.rb (231 Bytes)
backtrace.symbols (122 KB)


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

In This Thread

Prev Next