Skip to content

bpo-18748: _pyio.IOBase emits unraisable exception - #13512

Merged
vstinner merged 3 commits into
python:masterfrom
vstinner:pyio_destructor
May 23, 2019
Merged

bpo-18748: _pyio.IOBase emits unraisable exception#13512
vstinner merged 3 commits into
python:masterfrom
vstinner:pyio_destructor

Conversation

@vstinner

@vstinner vstinner commented May 22, 2019

Copy link
Copy Markdown
Member

In development (-X dev) mode and in a debug build, IOBase finalizer
of the _pyio module now logs the exception if the close() method
fails. The exception is ignored silently by default in release build.

test_io: test_error_through_destructor() now uses
support.catch_unraisable_exception() rather than capturing stderr.

https://bugs.python.org/issue18748

In development (-X dev) mode and in a debug build, IOBase finalizer
of the _pyio module now logs the exception if the close() method
fails. The exception is ignored silently by default in release build.

test_io: test_error_through_destructor() now uses
support.catch_unraisable_exception() rather than capturing stderr.
@vstinner vstinner changed the title bpo-36918: _pyio.IOBase emits unraisable exception May 22, 2019
@vstinner

Copy link
Copy Markdown
Member Author

Ah, test_io failed on Travis CI. Example:

FAIL: test_error_through_destructor (test.test_io.CBufferedReaderTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/python/cpython/Lib/test/test_io.py", line 1107, in test_error_through_destructor
    self.assertIsNotNone(cm.unraisable)
AssertionError: unexpectedly None
vstinner added 2 commits May 23, 2019 02:33
:opt: becomes :option:
@vstinner
vstinner merged commit bc2aa81 into python:master May 23, 2019
@vstinner
vstinner deleted the pyio_destructor branch May 23, 2019 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

3 participants