Project

General

Profile

Bug #9269

class variable is not being handled correctly

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

Status:
Rejected
Priority:
Normal
Assignee:
-
ruby -v:
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]
Backport:
1.9.3: UNKNOWN, 2.0.0: UNKNOWN
[ruby-core:59231]

Description

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:

https://gist.github.com/rosenfeld/8056742

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?

History

#1 [ruby-core:59471] Updated by Nobuyoshi Nakada about 2 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 2 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 2 years ago

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

Also available in: Atom PDF