Closed pepone closed 2 days ago
We also got an failure in Ice/operations
in CI, probably related
https://github.com/zeroc-ice/ice/actions/runs/7790569493/job/21244716190
client/amd server [wss]: python.Ice.operations
Traceback (most recent call last):
File "/Users/runner/work/ice/ice/scripts/Util.py", line 1543, in stop
process.waitSuccess(exitstatus=exitstatus, timeout=30)
File "/Users/runner/work/ice/ice/scripts/Expect.py", line 691, in waitSuccess
self.testExitStatus(exitstatus)
File "/Users/runner/work/ice/ice/scripts/Expect.py", line 735, in testExitStatus
test(self.exitstatus, exitstatus)
File "/Users/runner/work/ice/ice/scripts/Expect.py", line 717, in test
raise RuntimeError(
RuntimeError: unexpected exit status: expected: 0, got -6
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/runner/work/ice/ice/scripts/Util.py", line 2050, in run
self.runWithDriver(current)
File "/Users/runner/work/ice/ice/scripts/Util.py", line 2081, in runWithDriver
current.driver.runClientServerTestCase(current)
File "/Users/runner/work/ice/ice/scripts/LocalDriver.py", line 712, in runClientServerTestCase
raise failure[0]
File "/Users/runner/work/ice/ice/scripts/LocalDriver.py", line 693, in stopServerSide
self.runner.stopServerSide(server, current, success)
File "/Users/runner/work/ice/ice/scripts/LocalDriver.py", line 204, in stopServerSide
testcase._stopServerSide(current, success)
File "/Users/runner/work/ice/ice/scripts/Util.py", line 1997, in _stopServerSide
self.stopServerSide(current, success)
File "/Users/runner/work/ice/ice/scripts/Util.py", line 1909, in stopServerSide
self._stopServer(current, server, success)
File "/Users/runner/work/ice/ice/scripts/Util.py", line 2015, in _stopServer
server.stop(current, success)
File "/Users/runner/work/ice/ice/scripts/Util.py", line 1707, in stop
IceProcess.stop(self, current, waitSuccess and self.waitForShutdown, exitstatus)
File "/Users/runner/work/ice/ice/scripts/Util.py", line 1559, in stop
raise RuntimeError(str(ex) + output)
RuntimeError: unexpected exit status: expected: 0, got -6
Fatal Python error: bool_dealloc: deallocating True or False: bug likely caused by a refcount error in a C extension
Python runtime state: finalizing (tstate=0x000000010517e9a0)
Current thread 0x00000001df831000 (most recent call first):
Garbage-collecting
<no Python frame>
I am closing this issue because, starting with Python 3.12, True, False, and None are immortal objects. I have already updated the code to avoid using Py_INCREF and Py_DECREF for these immortal objects.
The crash reported here appears to occur during the deallocation of True or False, likely due to an incorrect reference count.