-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
WIP amplify/debug testQualifiedUsers #19294
Conversation
b34543b
to
7beaf2c
Compare
Interesting - - so there is no ipaclient-uninstall.log at all. So this smells like the "closed connection" is from realmd when cockpit tries to call At first sight this smells like a race condition with an idle timer. But I sit()ed right before clicking the Leave button, and realmd.service still stays alive after several minutes. And neither does the journal show that the service stopped. Also, if I stop realmd.service manually and then continue the test, it fails differently:
As the next step I'll enable D-Bus debugging. But that log shows no realmd related D-Bus methods at all, just a lot of packagekit and systemd noise. I'll disable preloads and enable debug messages earlier. But with that it's no good -- I retried the test about 7 times, and it always succeeds. Heisenbug/timing change.. So I reenabled preloads again, that reproduces it again Next step, I added some console.logs() to trace what happens at leaving the domain, and to inspect the proxy state and Next step, COCKPIT_DEBUG=all ; failed tests, and journal. But that doesn't reveal anything new -- the last D-Bus message is the There is no
which I think is just for the overview page to show/check for the current realm. But that happens waay earlier than opening the leave dialog. |
be18238
to
bc3ed48
Compare
I'll take over for a while. First let's disable the D-Bus logging again and start tracing backwards from the dialog error. :) |
45b389f
to
c414f89
Compare
- Show the D-Bus client name, as we usually have lots of D-Bus clients, and it's otherwise impossible to know to which one the message applies. - Stringify the JSON objects, so that they get printed properly in our test logs. - Log calls to .close(), and log rejected outstanding calls.
e247263
to
8a35b4c
Compare
The client recreates all proxies when the superuser thing emits a "changed" event. When this happens while the Leave dialog is open, the "realm" proxy in the Leave dialog becomes unusable.
8a35b4c
to
dcd95fe
Compare
184b98d
to
b2f0dd2
Compare
6297094
to
1c78cdf
Compare
Ok, the issue is a race between the Superuser level, RealmdClient, and LeaveDialog. RealmdClient listens to superuser level changes and will call its own initProxy method twice during every login, once when constructed, and once when The LeaveDialog could do Another fix is to only call initProxy when |
This is the truth: the |
This is |
Trying to debug this common flake. I don't get it locally, and there's nothing useful in the journal.