This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author chris.jerdonek
Recipients chris.jerdonek, yselivanov
Date 2017-08-07.11:06:34
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1502103995.24.0.900898482206.issue31131@psf.upfronthosting.co.za>
In-reply-to
Content
In Python 3.6.1, if asyncio.wait_for() times out with a TimeoutError, the traceback doesn't show what line the code was waiting on when the timeout occurred. This makes it more difficult to diagnose the cause of a timeout.

To reproduce, you can use the following code:

    import asyncio

    async def run():
        print('running...')
        await asyncio.sleep(1000000)

    def main(coro):
        loop = asyncio.new_event_loop()
        future = asyncio.wait_for(coro, timeout=1)
        loop.run_until_complete(future)

    main(run())

It gives the following output (notice that the sleep() line is missing):

    $ python test-timeouterror.py 
    running...
    Traceback (most recent call last):
      File "test-timeouterror.py", line 12, in <module>
        main(run())
      File "test-timeouterror.py", line 10, in main
        loop.run_until_complete(future)
      File "/Users/.../python3.6/asyncio/base_events.py", line 466,
         in run_until_complete
        return future.result()
      File "/Users/.../python3.6/asyncio/tasks.py", line 356, in wait_for
        raise futures.TimeoutError()
    concurrent.futures._base.TimeoutError

It seems like it should be possible to show the full traceback because, for example, if I register a signal handler with loop.add_signal_handler() as described here:
https://mail.python.org/pipermail/async-sig/2017-August/000374.html
and press Control-C before the timeout occurs, I do get a full traceback showing the line:

    await asyncio.sleep(1000000)
History
Date User Action Args
2017-08-07 11:06:35chris.jerdoneksetrecipients: + chris.jerdonek, yselivanov
2017-08-07 11:06:35chris.jerdoneksetmessageid: <1502103995.24.0.900898482206.issue31131@psf.upfronthosting.co.za>
2017-08-07 11:06:35chris.jerdoneklinkissue31131 messages
2017-08-07 11:06:34chris.jerdonekcreate