Title: Emscripten test worker sometimes fails witth "BlockingIOError: write could not complete without blocking" · Issue #94026 · python/cpython · GitHub
Open Graph Title: Emscripten test worker sometimes fails witth "BlockingIOError: write could not complete without blocking" · Issue #94026 · python/cpython
X Title: Emscripten test worker sometimes fails witth "BlockingIOError: write could not complete without blocking" · Issue #94026 · python/cpython
Description: Bug report Sometimes test worker processes on wasm32-emscripten build bot fails with BlockingIOError: write could not complete without blocking. Example https://buildbot.python.org/all/#/builders/1044/builds/27/steps/10/logs/stdio 0:37:3...
Open Graph Description: Bug report Sometimes test worker processes on wasm32-emscripten build bot fails with BlockingIOError: write could not complete without blocking. Example https://buildbot.python.org/all/#/builders/1...
X Description: Bug report Sometimes test worker processes on wasm32-emscripten build bot fails with BlockingIOError: write could not complete without blocking. Example https://buildbot.python.org/all/#/builders/1...
Opengraph URL: https://github.com/python/cpython/issues/94026
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Emscripten test worker sometimes fails witth \"BlockingIOError: write could not complete without blocking\"","articleBody":"**Bug report**\r\n\r\nSometimes test worker processes on wasm32-emscripten build bot fails with ``BlockingIOError: write could not complete without blocking``. Example https://buildbot.python.org/all/#/builders/1044/builds/27/steps/10/logs/stdio\r\n\r\n```\r\n0:37:30 load avg: 4.42 [422/436/3] test_pathlib crashed (Exit code 1)\r\n... \r\nresult=Traceback (most recent call last):\r\n File \"\u003cfrozen runpy\u003e\", line 198, in _run_module_as_main\r\n File \"\u003cfrozen runpy\u003e\", line 88, in _run_code\r\n File \"/opt/buildbot/bcannon-wasm/3.x.bcannon-wasm.emscripten-node/build/Lib/test/regrtest.py\", line 47, in \u003cmodule\u003e\r\n _main()\r\n ^^^^^^^\r\n File \"/opt/buildbot/bcannon-wasm/3.x.bcannon-wasm.emscripten-node/build/Lib/test/regrtest.py\", line 43, in _main\r\n main()\r\n ^^^^^^\r\n File \"/opt/buildbot/bcannon-wasm/3.x.bcannon-wasm.emscripten-node/build/Lib/test/libregrtest/main.py\", line 754, in main\r\n Regrtest().main(tests=tests, **kwargs)\r\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n File \"/opt/buildbot/bcannon-wasm/3.x.bcannon-wasm.emscripten-node/build/Lib/test/libregrtest/main.py\", line 692, in main\r\n self._main(tests, kwargs)\r\n ^^^^^^^^^^^^^^^^^^^^^^^^^\r\n File \"/opt/buildbot/bcannon-wasm/3.x.bcannon-wasm.emscripten-node/build/Lib/test/libregrtest/main.py\", line 713, in _main\r\n run_tests_worker(self.ns, self.worker_test_name)\r\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n File \"/opt/buildbot/bcannon-wasm/3.x.bcannon-wasm.emscripten-node/build/Lib/test/libregrtest/runtest_mp.py\", line 102, in run_tests_worker\r\n print(json.dumps(result, cls=EncodeTestResult), flush=True)\r\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\nBlockingIOError: [Errno 6] write could not complete without blocking\r\n```\r\n\r\nThe error seems to occur at the end of a test job when the worker process returns its status to the control process. The control process runs CPython natively (``x86_64-pc-linux-gnu`` in case of the build bot). The worker processes is wasm32-emscripten CPython with NodeJS as runner. I guess that every now and then, the test worker process produces output faster than the control process can consume from the pipe that connects stdout of the worker and read pipe of the control process. The runtime does not like blocking IO and returns ``EAGAIN``.\r\n\r\n```\r\n\u003e\u003e\u003e import sys, errno\r\n\u003e\u003e\u003e sys.platform\r\n'emscripten'\r\n\u003e\u003e\u003e errno.errorcode[6]\r\n'EAGAIN'\r\n```","author":{"url":"https://github.com/tiran","@type":"Person","name":"tiran"},"datePublished":"2022-06-20T13:44:24.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4},"url":"https://github.com/94026/cpython/issues/94026"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:878d7b87-1db3-4472-ceaf-181a50d9dbea |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 82AE:1D70BE:3D4B80:5203D1:69697D77 |
| html-safe-nonce | f272e363ffff0a9c3e7cf79419e6432f0c517c32dab9db83e6da9fa8a53a4fff |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MkFFOjFENzBCRTozRDRCODA6NTIwM0QxOjY5Njk3RDc3IiwidmlzaXRvcl9pZCI6IjIyMjgwNTUzMjkyNzYwMDE2NTUiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 288018401c3813d2598b6470b946d9b4c6a7dd0639e7b4687557d41851cdec18 |
| hovercard-subject-tag | issue:1276954425 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/94026/issue_layout |
| twitter:image | https://opengraph.githubassets.com/56329bd036aae9c8f6fe91c68558e088e146f1b486d9d2be5f671e296a2307ba/python/cpython/issues/94026 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/56329bd036aae9c8f6fe91c68558e088e146f1b486d9d2be5f671e296a2307ba/python/cpython/issues/94026 |
| og:image:alt | Bug report Sometimes test worker processes on wasm32-emscripten build bot fails with BlockingIOError: write could not complete without blocking. Example https://buildbot.python.org/all/#/builders/1... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | tiran |
| hostname | github.com |
| expected-hostname | github.com |
| None | f33e4b94c8824ab2b434d82a94139432fb5ebee9df4b75304140ad22508c4a77 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 48f380098b30acbb700b04f1724481ca10d574fc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width