-
Notifications
You must be signed in to change notification settings - Fork 366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI failing: "terminate called without an active exception" #8018
Comments
Full CI run on the offending PR: https://github.com/rerun-io/rerun/actions/runs/11704123409 |
Still fails just as much on Rust 1.80: https://github.com/rerun-io/rerun/actions/runs/11705944608/job/32602393114?pr=8019 |
Repro'd locally:
|
Oh, this seems related to GIL and and arrow-buffers! We've been in similar territory before. The problem then was that the arrow buffers needed to acquire a GIL lock to free their contents, and that lead to a dead-lock in some situations. The solution was to free the arrow buffers explicitly at the "right time". I believe @jleibs was involved in this. |
Ye that was me in 61c23af 😄 Just need to figure out how something has managed to escape the garbage queue, it should be impossible... |
Nuh-uh that cannot possibly make sense, there are traces of RecordingStream in that coredump 🤔 |
The issue is definitely timing based and, as far as I can tell, has always been there. This is not the result of some recently added code. The reason it now fails consistently on CI for @abey79 's branch is because that branch introduced a bunch of new unit tests, which changed the timings of the test runner in a way that always triggers the issue. I used to be able to reproduce the failing timing locally on my machine (that's how I grabbed the coredump posted above), but ever since I rebooted my machine this morning, I haven't been able to hit it again 🤪 |
There we go. Take the following code: import rerun as rr
iterations = range(0, 1)
for i in iterations:
print(f"{i}")
rr.init("rerun_example_points3d")
rr.log("points", rr.Points3D([[0, 0, 0], [1, 1, 1]]))
Add a
Unrelated, but I just remembered that the code above will use the same RecordingID for all iterations of the loop because of ye ol' This is not the source of the problem in this case, just a reminder that this thing exists and could very well had been. |
Funnily this would be prevented if test were isolated as per #8023 |
😒
Seems like there are two issues at play here:
std::thread
: https://github.com/rerun-io/rerun/actions/runs/11696632744/job/32575172821GeoLineStrings
archetype and support it in the map view #7968 is failing on linux (at least) due to "terminate called without an active exception": https://github.com/rerun-io/rerun/actions/runs/11669950690/job/32493619951?pr=7968Both seem related to threading issues. Current hypothesis is that they are two manifestations of the same underlying problem.
The text was updated successfully, but these errors were encountered: