This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author larry
Recipients Mark.Shannon, benjamin.peterson, larry, njs, pitrou, serhiy.storchaka
Date 2015-08-30.19:44:35
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1440963876.25.0.453428391244.issue24912@psf.upfronthosting.co.za>
In-reply-to
Content
I will not ship 3.5.0 with this bug.

Consider for a moment Google App Engine. If GAE updated to 3.5 with this bug, users would now have the ability to inject code into other people's programs, because interned ints (and a couple other types) are shared across interpreters.

Reverting the patch gives us back the old behavior.  Dismissing the old behavior as "buggy" is unconvincing; it was acceptable enough that it shipped with many versions of Python, and its behavior is predictable and within the boundaries of the language spec.

Nathaniel, I'm willing to consider fixes for this bug, if the other devs in this thread are satisfied with the fix.  But I am *absolutely* leaning towards backing it out for 3.5.  My goal is to ship high-quality software, and that means balancing new features against regressions and new exploits.  We almost didn't find this in time before 3.5 shipped--not to spread FUD, but what other ramifications of this code are lurking in the object model, waiting to be discovered?

p.s. I would love it if someone would add a regression test that tried mutating fields on a bunch of interned objects.  Certainly such a test would be a precondition of keeping this change.
History
Date User Action Args
2015-08-30 19:44:36larrysetrecipients: + larry, pitrou, benjamin.peterson, njs, Mark.Shannon, serhiy.storchaka
2015-08-30 19:44:36larrysetmessageid: <1440963876.25.0.453428391244.issue24912@psf.upfronthosting.co.za>
2015-08-30 19:44:36larrylinkissue24912 messages
2015-08-30 19:44:35larrycreate