Python Crashes

Terry Reedy tjreedy at udel.edu
Thu Jan 15 15:01:30 EST 2009


> 
> I am using 9 3rd party modules and there are some DLLs too - PIL etc.
> But the problem is that the issue comes only after 3 hrs usually.
> When I checked the memory using taskmanager, I found that it is not
> going too high.

I know of 3 general ways to crash the interpreter.

1. Use 3rd party modules.  By far most common.  I would try to do 
everything but use one of them, possibly by replacing import with stub.

2. Use ctypes.  This can bypass all protections.

3. Write a subtle infinite recursion in a class method that is not 
checked for infinite recursion.  The following illustrates the idea 
without testing whether this crashes.

class c():
   def __add__(self, other): return self+other # calls this __add__


I believe some of these vulnerabilities existed in 2.4 but many were 
crushed in 2.5.  Backported to 2.4.3? No idea.  This could hit so fast 
you never see it in task manager.

If your 3rd party modules work with 2.5, consider upgrading to 2.5.3. 
Many bug fixes.

tjr




More information about the Python-list mailing list