[issue3514] pickle segfault with infinite loop in __getattr__

2008-08-14 Thread Alexandre Vassalotti
Alexandre Vassalotti <[EMAIL PROTECTED]> added the comment: Committed fix in r65689. Thanks! -- resolution: -> fixed status: open -> closed ___ Python tracker <[EMAIL PROTECTED]>

[issue3514] pickle segfault with infinite loop in __getattr__

2008-08-11 Thread Guido van Rossum
Guido van Rossum <[EMAIL PROTECTED]> added the comment: Good find Alexandre! Can you work up a patch? Would be even better if it had a unittest. ___ Python tracker <[EMAIL PROTECTED]> ___

[issue3514] pickle segfault with infinite loop in __getattr__

2008-08-10 Thread Alexandre Vassalotti
Alexandre Vassalotti <[EMAIL PROTECTED]> added the comment: This is a bug in the C implementation of pickle (i.e., the _pickle module). I think you're right about the missing exception check. At first glance, it looks like the missing else-if case for "setstate == NULL", in load_build(), is the c

[issue3514] pickle segfault with infinite loop in __getattr__

2008-08-07 Thread Erick Tryzelaar
Erick Tryzelaar <[EMAIL PROTECTED]> added the comment: > Guido van Rossum <[EMAIL PROTECTED]> added the comment: > > Does this occur in 2.6 or 2.5? It doesn't in python 2.5. The RuntimeError manages to get printed out. I don't have 2.6 installed to test against at the moment. Here's the equivale

[issue3514] pickle segfault with infinite loop in __getattr__

2008-08-07 Thread Guido van Rossum
Guido van Rossum <[EMAIL PROTECTED]> added the comment: Does this occur in 2.6 or 2.5? -- nosy: +gvanrossum ___ Python tracker <[EMAIL PROTECTED]> ___ _

[issue3514] pickle segfault with infinite loop in __getattr__

2008-08-07 Thread Erick Tryzelaar
New submission from Erick Tryzelaar <[EMAIL PROTECTED]>: I found a segfault in pickle.load when you overload __getattr__ and create yourself a infinite loop in the latest svn checkout of python 3: import pickle class Foo: def __getattr__(self, key):