Publishing machinery should not pass around traceback objects
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zope 2 |
Invalid
|
Medium
|
Unassigned |
Bug Description
From an email thread on Zope-dev:
>>>On a different subject, the publisher probably shouldn't pass around
>>>traceback objects (e.g. when it calls into err_hook) as Tres believes
>>>that may be a memory leak waiting to happen.
>>
>>The traceback is vital for error analysis.
>>
>>It may not be necessary that ZPublisher touches the traceback
>>but we will definitely need access to it during error handling.
Because the traceback contains stack frames, passing it through another
stack frame (via a function call) is inherently tricky: the called
function must *not* raise another exception.
> Perhaps the traceback can be passed as a string to avoid leaks?
> Furthermore why can't the traceback be retrieved later from
> sys.exc_info()?
+1; I don't want untrusted code handling tracebacks anyway.
This isn't a bug report: it is an invitation to a deep dive research project.
Please open a new issue with specifics if you disagree.