I'm running into precicely a similar problem. In this case my method is calling a Python Image Library open(), which fails with an IOError. I expected that try/except/finally should cover this situation, but instead TG instantly calls the method again! This results in a second pass through, attempting to spool the form's image data and process it...
This double calling behaviour is terribly confusing and I'm still trying to figure out a work-around. Keeping an eagle eye on this one. - Aaron.

