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
proxy: access provider directly not through be_ctx #646
Conversation
|
This improves the situation in the sense that the proxy provider now works, but I'm seeing this crash on shutdown: |
|
btw I'm seeing the crash with PR #647 applied..but only with the proxy domain, not e.g. IPA domain |
Modules are initialized as part of dp_init_send() but be_ctx->provider is set only after this request is finished therefore it is not available here. Resolves: https://pagure.io/SSSD/sssd/issue/3812
Backend context is overused inside sssd code even during its initialization. Some parts of initialization code requires access to be_ctx->provider so we must make it available as soon as possible. Better solution would be to always use 'provider' directly in initialization but this makes it safer for any future changes as one does not have to keep in mind when it is safe to use be_ctx->provider and when not. Now it is always safe. Resolves: https://pagure.io/SSSD/sssd/issue/3812
|
I can not reproduce this issue. Do you have any reproducer or machine where I can debug it? |
dbus_message_set_sender may reallocate internal fields which will yield pointer obtained by dbus_message_get_* invalid.
This may cause some troubles if the dbus connection was dropped as dbus will try to actually send the messages. Also when the connectin is being freed, tevent integration is already disabled so there is no point in doing this.
We never reproduced this with gdb but valgrind shows invalid read in sbus_watch_handler after the watch_fd was freed. This should not be needed since watch_fd is memory parent of fdevent but it seems to help.
c6aefc9
to
999841d
Compare
|
I pushed new patches after debugging session with Jakub. |
|
I'm very sorry for the slow review. Please ping me next time I forget about some patchset like this. Anyway, I'm happy to confirm that the patches fix the issue. To be sure, I ran the RH QE tests twice without the patches and got two crash reports (jobs 2829402 and 2829398 in case anyone cares), then twice with the patches (jobs 2831660 and 2831658) with no crash. -> ACK |
|
btw I know Sumit wants to get some patches through CI, so I won't push the patches right away in order to not add even more load to CI at the moment.. |
For the record: the same crash was seen in https://bugzilla.redhat.com/show_bug.cgi?id=1783169 so I think it was not fixed by this PR. |
See commit message for details.
Resolves:
https://pagure.io/SSSD/sssd/issue/3812