Bug #9269

class variable is not being handled correctly

Added by Rodrigo Rosenfeld Rosas about 3 years ago. Updated about 3 years ago.

Target version:
ruby -v:
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]


I was doing an experiment after discussing with Charles Nutter whether the memoize pattern (@v ||= value_processing) was atomic in MRI and found what seems to be a curious bug in MRI implementation:

Shouldn't the output be 1, 101, 102, 102 instead of 1, 1, 102, 102?

Also, should I post the code and output here or is it ok to just link to it? Also, if I were to paste the code here, how am I supposed to format Ruby code in this Redmine?


#1 [ruby-core:59471] Updated by Nobuyoshi Nakada about 3 years ago

  • Status changed from Open to Rejected

That code just starts threads but wait nothing.
Makes no sense.

#2 [ruby-core:59531] Updated by Rodrigo Rosenfeld Rosas about 3 years ago

Why do you think so? This is not my understanding. Could you please explain why the threads are not joining? I still think this is a bug. Please consider reopening it.

#3 [ruby-core:59532] Updated by Rodrigo Rosenfeld Rosas about 3 years ago

ah, sorry, I saw the comment on the gist. It doesn't notify me by e-mail.

Also available in: Atom PDF