-
Notifications
You must be signed in to change notification settings - Fork 9
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
AddMatch eventually stacks up and breaks limit #19
Comments
Thank you @5CoJL for using this library From what I can tell, this issue may not be coming from this library and may be from either DBus or potentially from the implementation. Would you be able to provide a code snip to further assist? References: |
@5CoJL, just a heads up, I published the latest version of this package which uses Tmds.DBus v0.15.0. Give that a shot and let me know |
Thank you @DamianSuess for your answer. I am working with @5CoJL, allow me to give you more details about our issue. I was able to reproduce the error by running a simple scan function (below). I am using your Linux.Bluetooth nugget package with the latest 5.66 version.
To give you some context, we are working in an environment with roughly 200-300 Bluetooth devices around us. Our hypothesis is that since our program runs continuously, with time it catches more and more new devices from people walking around, until reaching the Or could it possibly be that we have multiple match rules for a single device ...? Is there a way to remove the match rules over time (based on a timer or with a clean() function passing RemoveMatch to DBus) ? |
Hello, and thanks for this useful repo.
I am currently having a problem and a hard time figuring out its source. I've dwelved in the Tmds.Dbus codebase as well as this libraries' to no avail.
I am using a Pi4 as a gateway to periodically scan for specific devices in its vicinity. Eventually however, my service crashes with the error message:
dbus-daemon[489]: [system] Connection ":1.37" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=2048)
There might be a couple hundred devices around me, with no new devices coming and going.
I have logged the first three scans, with the following results:
But after a couple of days, I get the crash with the aforementionned error message of max_match_rules_per_connection exceeded.
I'm suspecting there might be some sort of AddMatch leak somewhere...
Perhaps my devices eventually get a new name, somehow, and are given a new match rule ?
A simple workaround is to reboot the service automatically at each crash, but I'd be interested in finding an elegant solution to be able to RemoveMatch. Do you think this might be a problem in the library, or am I lost in bluetooth translation ?
Thank you greatly for any insight, and I remain at your disposal for any further information.
The text was updated successfully, but these errors were encountered: