-
Notifications
You must be signed in to change notification settings - Fork 840
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
Importing puslar client libraries creates zombie dbus processes #1184
Comments
So I've removed pulsar from the default benthos builds: 1792ca4, and the first release of V4 (unless this gets fixed) will come without it. However, the option to compile Benthos with the standard Ideally we need to let the pulsar client lib maintainers know. To me it seems odd that a dependency like this is even being drawn into a client library by default, but I'm not sure whether the solution would be to chase upstream and then upgrade or to bring out their authentication plugins into separate packages. Either way I'm not comfortable importing these packages by default, we've had multiple issues with the dependencies being brought in by the pulsar client library over the last year or so and my gut feeling now is to hold back on using it. |
Related: 99designs/keyring#103 |
Did this get raised with the Pulsar client lib project? |
Any updates? |
Hey @tspannhw, unfortunately I'm not convinced this will be addressed by the client authors any time soon so I don't think there's any convenient way in which we can progress this ourselves. |
For now, if you wish to use the Pulsar components, you should import Benthos as a library as explained here and build it using Go 1.18+. The steps would be the following:
|
Could it have made a reappearance? Judging from this,
So it's come back through gosnowflake, I suppose? 😱 |
hecckkkkkk, 99designs more like 99attemptstoruinyourproduct |
I guess we need to give up on the idea that libraries are going to migrate away from this package, pulsar still has it as far as I can tell. I believe there's a way to manually nuke it from our deps with a replacement but needs investigation. Either that or we add a lint check specifically for this package to try and avoid future imports. |
Replacements will do fine when it comes to building benthos. They will, however, not be honored when building packages that use benthos as golang library, but they'll need to be reproduced in the |
Okay I'm bored of waiting so I've made a fork that nukes all dbus functionality from keyring and replaced usage of it in our mod: 7453f87 Next steps are:
|
I've added pulsar back into the main distribution of benthos: 01aca87, hopefully we're still good with the dependency swap. I'm still not going to be happy until we can get a non-hacky fix from upstream so leaving this open until that happens. Which it will. Surely it will. Yes, it will. Nah probably not. |
As per discord chat with @Jeffail and @mihaitodor:
Running any of benthos subcommands in a cronjob will create
/usr/bin/dbus-daemon --session
processes for every invocation, slowing downthe system or ultimately crashing it.
This is most likely because there are no dbus sessions available to cron processes.
Way to reproduce:
This also happens on every invocation in a regular shell on a system where dbus
is disabled / not existent (e.g. OpenRC systems).
The root cause is most likely this:
https://github.com/99designs/keyring/blob/81fed19d324843057dab56ba67dd0db54d1d4626/secretservice.go#L19
Workaround is to set
DBUS_SESSION_BUS_ADDRESS=/dev/null
as environmentvariable in the cron file or from where ever else you might run it.
The text was updated successfully, but these errors were encountered: