Bugs item #1101399, was opened at 2005-01-12 23:37
Message generated for change (Comment added) made by tim_one
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1101399&group_id=5470

Category: Python Library
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Neil Schemenauer (nascheme)
>Assigned to: Jim Fulton (dcjim)
Summary: dict subclass breaks cPickle noload()

Initial Comment:
The attached script displays the bug.

----------------------------------------------------------------------

>Comment By: Tim Peters (tim_one)
Date: 2005-01-13 13:28

Message:
Logged In: YES 
user_id=31435

Oh. fudge.  I'd like to say that since noload() is wholly 
undocumented, tough luck <wink>.

The GLOBAL and NEWOBJ opcodes just stick None on the 
stack in noload()-mode.  That's why the test script yields

TypeError: object does not support item assignment

(SETITEM is griping about the None noload()'s NEWOBJ left 
behind).  I agree your patch fixes that, and offhand can't 
think of a more principled approach.  Assigning to Jim in case 
he can.

In any case, please put the marker() call on a different line 
and check its return value.  I know some other code in 
cPickle takes the shortcut you're using, but it's not a good 
idea to grow more code like that (it changes what would 
have been a clear ""could not find MARK" error into a more 
mysterious "unpickling stack underflow" error).

It would be good to get this fixed in 2.3.5 too.

----------------------------------------------------------------------

Comment By: Neil Schemenauer (nascheme)
Date: 2005-01-12 23:54

Message:
Logged In: YES 
user_id=35752

Attached is a patch that seems to fix the problem.  Someone
please review it.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1101399&group_id=5470
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to