From: the.codefolio.guy@... Date: 2016-06-09T16:02:59+00:00 Subject: [ruby-core:75912] [Ruby trunk Bug#11953] ThreadError in 2.3 on code that works on 2.2.4 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: