Skip to content
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

Stopping Bonsai workflow sometimes leaves hardware in bad state #11

Open
jonnew opened this issue Feb 23, 2022 · 2 comments
Open

Stopping Bonsai workflow sometimes leaves hardware in bad state #11

jonnew opened this issue Feb 23, 2022 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@jonnew
Copy link
Collaborator

jonnew commented Feb 23, 2022

Occasionally, when a workflow with ONIX hardware is stopped, it leaves hardware in a deadlocked state. Trying to run the workflow again will not work. Any new hubs attached to the host will not be discovered. When the hardware is in this state running the simple C test program (https://github.com/open-ephys/liboni/blob/main/api/liboni/liboni-test/host.c) will return the hardware to normal.

@jonnew jonnew added the bug Something isn't working label Feb 23, 2022
@aacuevas
Copy link
Collaborator

Does closing bonsai and opening it again solve the issue as well?
Context creation performs a hardware reset, which is true for both bonsai and the C program.

I have observed a similar issue in the past in which the Bonsai context got deadlocked at disposal time, usually due to some lock or race condition. Since the context was never disposed, any attempt to get a new context from the manager would just return the existing one which, being locked, wasn't able to perform any meaningful function.

I suspect this might be the case. I removed some conditions that led to this issue, but there might be more.

@jonnew
Copy link
Collaborator Author

jonnew commented Feb 24, 2022

RE: restarting bonsai: I need to encounter the full bug again to give an honest report. But, my recollection is that in some cases, no. There is something "magic" about the C program that really resets everything properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants