Project

General

Profile

Actions

Bug #10892

closed

Deadlock in autoload

Added by Eregon (Benoit Daloze) about 9 years ago. Updated almost 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-02-23 trunk 49693) [x86_64-linux]
[ruby-core:68255]

Description

Updating to recent RubySpec seems to show a bug under concurrent autoload.
I attach the extracted logic to reproduce.

At me, the script ends with either, in most cases,

autoload_bug.rb:105:in `value': No live threads left. Deadlock? (fatal)
	from autoload_bug.rb:105:in `map'
	from autoload_bug.rb:105:in `<main>'

Or:

autoload_bug.rb:95:in `const_get': uninitialized constant Mod1 (NameError)
	from autoload_bug.rb:95:in `block (3 levels) in <main>'
	from autoload_bug.rb:86:in `each'
	from autoload_bug.rb:86:in `block (2 levels) in <main>'

Which both seem incorrect behavior.
All versions from 2.0 seem affected, and 1.9.3 behavior seems wrong but differently.

Could someone confirm this is a bug?
Is it likely to be fixed?


Files

autoload_bug.rb (2.18 KB) autoload_bug.rb Eregon (Benoit Daloze), 02/23/2015 12:34 PM
0001-load.c-unlock-the-new-shield.patch (1005 Bytes) 0001-load.c-unlock-the-new-shield.patch thedarkone (Vit Z), 07/31/2015 04:53 AM

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #7530: Concurrent loads fail with mutex errorsClosedGlass_saga (Masaki Matsushita)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0