-
Notifications
You must be signed in to change notification settings - Fork 143
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
initialise_event_info_struct: initialise failed! #111
Comments
try 5.0.2 |
unfortunately as i try to understand how this is happening, i have run into the 'goto' problem. Fail can be reached by 2 ways, one is id this statement returns true:
and the other
|
so we know which of the 3 possible exit contidions it actually is.
Now the errors will be :
|
For me when the error occurs it results in:
|
This issue seems to be related to this: |
It seems we would need to transition away from SELECT() and switch to poll() http://man7.org/linux/man-pages/man2/select.2.html to http://man7.org/linux/man-pages/man2/poll.2.html This will result in lots of opening and closing code needing to be checked when its changed, and a lot of changes to the data structures used to keep track of the serial port events. |
I agree that switching to |
It seems the library is keeping thousands of file descriptors to temporary files, e.g.
It's easily reproduced by running the example program in #180 and not inserting the USB stick. If I insert it after there are thousands of these file descriptors I immediately see the error. I think I've even seen it cause issues with other programs because of this. |
This is really curious. Retrieving a specific port identifier by name ( Detecting ports opens each one, I think, to confirm that the user has access to the file. (I don't think there's a good reason for doing that instead of calling |
Hi, is there any plan to fix this issue? Thank you. |
Yes, I'd like to replace all of the locking with something more modern. But I don't have a timeline for getting to do it. Are you able to work around the issue for now by disabling lockfiles? |
@roxkamx and @zyliu1985, can you please test again with this build of the library (from this workflow run) to see if #216 fixed this issue for you? |
Many thanks for having a look at this @MrDOS! I gave the build with the changes a test and it seems to fix the issue for me. 👍 All the temporary lock files are gone from the output of It also worked fine with openHAB. 🙂 |
Hello, wouldn't worth it releasing a stable version of the library with this fix because it seems to be blocking, especially when dealing with debian bullseye (see openhab problems) ? |
Hi,
I have a project where I attach 32 devices grouped in 2 physical hubs ( 16 each ) to a Centos7 server.
With 16 devices my application works just fine.
When I start the application with both hubs attached ( i.e. 32 devices attached ) at the 24th device my application stops with the following error:
initialise_event_info_struct: initialise failed!
This message looks to be from RXTX ( as found on http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7r2/src/SerialImp.c )
Any suggestions how to overcome this issue? is there any limitation?
The same thing happened on 2 other different PCs, so I would exclude for now the USB driver.
Thanks
The text was updated successfully, but these errors were encountered: