[Twisted-Python] [Twisted] #5437: sys.settrace(None) in process.py raises RuntimeError in debugger
Bob Novas
bob.novas at shinkuro.com
Tue Dec 20 17:02:00 EST 2011
Well, what wing's debugger does is to raise RuntimeError, and NOT CONTINUE
to execute that path. So the child never runs. That's bad! What more can I
say? I have to comment out that line every time I run on a new installation
if I want to debug in linux (Windows doesn't go down that code path). Bob
> -----Original Message-----
> From: Twisted [mailto:trac at twistedmatrix.com]
> Sent: Tuesday, December 20, 2011 4:40 PM
> Subject: Re: [Twisted] #5437: sys.settrace(None) in process.py raises
> RuntimeError in debugger
>
> #5437: sys.settrace(None) in process.py raises RuntimeError in debugger
> --------------------------+---------------------------------------------
> --------------------------+----
> Reporter: BobNovas | Owner: BobNovas
> Type: defect | Status: new
> Priority: normal | Milestone:
> Component: core | Keywords: settrace, process
> Branch: | Branch_author:
> Launchpad_bug: |
> --------------------------+---------------------------------------------
> --------------------------+----
> Changes (by exarkun):
>
> * owner: => BobNovas
> * milestone: regular-releases =>
> * branch_author: BobNovas =>
>
>
> Comment:
>
> The ''regular-releases'' milestone is for release automation. The
''author'' field
> is for svn branch authorship. I've unset these two fields.
>
> I'm think the intent of the `sys.settrace(None)` call is to disable
debuggers. It
> does this because there's very little left to do before the Python
process is going
> to be replaced by a new process (which will not be debuggable using the
trace
> hook) and because there are two different Python processes being debugged
at
> that point in the code, because of the `os.fork` call which has succeeded
just
> beforehand.
>
> Does Wing have some way to meaningfully debug two processes
> simultaneously, where the second is created using `os.fork` in the first?
> If not, then there's no use in removing the `sys.settrace(None)`, because
it will
> just break in some other way.
>
> I have very little experience with Wing's debugger, so I don't know what
it's
> possible to do in this case. I'm also not really sure what a Wing
debugger user
> (ie you :) expect to happen.
>
> Can you shed some more light on this? Thanks.
>
> --
> Ticket URL: <http://twistedmatrix.com/trac/ticket/5437#comment:1>
> Twisted <http://twistedmatrix.com/trac/> Engine of your Internet
More information about the Twisted-Python
mailing list