[Python-Dev] another dict crasher (original) (raw)
Michael Hudson mwh@python.net
Tue, 5 Jun 2001 09:39:24 +0100 (BST)
- Previous message: [Python-Dev] another dict crasher
- Next message: [Python-Dev] another dict crasher
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Haven't run your example yet as my machine's not on at the moment.
On Tue, 5 Jun 2001, Tim Peters wrote:
However, if I stick "print self.i" at the start of eq, it dies with a KeyError instead! That's why I'm mentioning it -- could be the same misdirection you're seeing. I can't account for the KeyError in any rational way: under Windows, it's actually hitting a stack overflow in the bowels of the system malloc() then.
Hmm. It's quite likely that PyMem_Malloc (or whatever) crapping out and returning NULL will get turned into a MemoryError, which will then get turned into a KeyError, isn't it? I could believe that malloc would set up some fancy sigsegv-type handlers for memory management purposes which then get called when it tramples all over the end of the stack. But I'm making this up as I go along...
Windows "recovers" from that and presses on. Everything that happens after appears to be an accident.
win98-as-usual-ly y'rs - tim
Well, linux seems to be similarly inscrutable here. One problem is that this is a pig to run under the debugger - setting a breakpoint on lookdict isn't terribly interesting way to spend your time. I suppose you could just set the breakpoint on the recursive call... later.
PS: You'll be tested on this, too .
Oh, piss off .
Cheers, M.
- Previous message: [Python-Dev] another dict crasher
- Next message: [Python-Dev] another dict crasher
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]