KEMBAR78
bpo-18748: _pyio.IOBase emits unraisable exception by vstinner · Pull Request #13512 · python/cpython · GitHub
Skip to content

Conversation

@vstinner
Copy link
Member

@vstinner vstinner commented May 22, 2019

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 bpo-18748: _pyio.IOBase emits unraisable exception May 22, 2019
@vstinner
Copy link
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants