[ruby-core:75912] [Ruby trunk Bug#11953] ThreadError in 2.3 on code that works on 2.2.4
From:
the.codefolio.guy@...
Date:
2016-06-09 16:02:59 UTC
List:
ruby-core #75912
Issue #11953 has been updated by Noah Gibbs.
Marc-Andre: sorry, you're right. I somehow missed that this code was defining :new.
Yeah, this is probably not a big problem. Defining new is a weird use case.
----------------------------------------
Bug #11953: ThreadError in 2.3 on code that works on 2.2.4
https://bugs.ruby-lang.org/issues/11953#change-59099
* Author: Clayton Flesher
* Status: Open
* Priority: Normal
* Assignee: Marc-Andre Lafortune
* ruby -v: 2.3.0
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
This is my first bug reporting, so I'm sorry if this isn't exactly correct format. I'll update my report accordingly if pointed in the right direction.
I ran into what appears to be a bug while doing a quiz.
I've included the breaking code, the test suite and the description of the quiz as attachments to this bug report.
The following code works fine on Ruby 2.2.4.
```ruby
class Prime
def self.nth(num)
error(num)
primes = build_primes(num)
primes.last
end
private
def build_primes(num)
primes = [2]
index = 3
until primes.size == num
if example?(index, primes)
primes << index
end
index += 1
end
primes
end
def error(num)
unless num > 0
raise ArgumentError
end
end
def example?(index, primes)
primes.each do |prime|
if index % prime == 0
return false
end
end
true
end
end
```
It raises this error in Ruby 2.3.0
```
ThreadError: deadlock; recursive locking
/home/clayton/.rubies/ruby-2.3.0/lib/ruby/2.3.0/singleton.rb:140:in `synchronize'
/home/clayton/.rubies/ruby-2.3.0/lib/ruby/2.3.0/singleton.rb:140:in `instance'
/home/clayton/.rubies/ruby-2.3.0/lib/ruby/2.3.0/singleton.rb:142:in `block in instance'
/home/clayton/.rubies/ruby-2.3.0/lib/ruby/2.3.0/singleton.rb:140:in `synchronize'
/home/clayton/.rubies/ruby-2.3.0/lib/ruby/2.3.0/singleton.rb:140:in `instance'
/home/clayton/exercism/ruby/nth-prime/nth_prime.rb:3:in `nth'
nth_prime_test.rb:28:in `test_first'
```
If this is expected behavior, I'm sorry in advance for wasting your time.
---Files--------------------------------
nth_prime.rb (528 Bytes)
nth_prime_test.rb (973 Bytes)
README.md (1.27 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>