Bug 1503579
| Summary: | [abrt] [faf] xdg-desktop-portal: unknown function(): /usr/libexec/xdg-desktop-portal killed by 11 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Vladimir Benes <vbenes> | ||||||
| Component: | flatpak | Assignee: | David King <dking> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | high | ||||||||
| Version: | 7.5 | CC: | jkoten, lmiksik, rstrode, tpelka, vbenes | ||||||
| Target Milestone: | rc | Keywords: | Regression | ||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| URL: | http://faf.lab.eng.brq.redhat.com/faf/reports/bthash/7e95fbed308a62a07fe5fec62bc845a4cabafa16/ | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | flatpak-0.8.8-2.el7 | Doc Type: | If docs needed, set a value | ||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2018-04-10 12:54:31 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Attachments: |
|
||||||||
|
Description
Vladimir Benes
2017-10-18 12:21:50 UTC
Looking at the corefile in the sosreport attached, we see the crash is here:
│85 if (!xdp_impl_permission_store_call_lookup_sync (get_permission_store (),
│86 TABLE_NAME,
│87 "inhibit",
│88 &out_perms,
│89 &out_data,
│90 NULL,
│91 &error))
│92 {
>│93 g_warning ("Error getting permissions: %s", error->message);
│94 g_clear_error (&error);
│95 }
This means xdp_impl_permission_store_call_lookup_sync is failing without setting an error.
In other words, it's getting passed an invalid input. Indeed, get_permission_store()
is returning NULL:
(gdb) p permission_store
$1 = (XdpImplPermissionStore *) 0x0
This will return NULL if it can't get a proxy to the org.freedesktop.impl.portal.PermissionStore service.
That service file is so:
[D-BUS Service]
Name=org.freedesktop.impl.portal.PermissionStore
Exec=@libexecdir@/xdg-permission-store
SystemdService=xdg-permission-store.service
So it will try to activate the systemd service associated with the dbus name. but we don't have a user bus and we don't have systemd --user → fail.
I think we should just patch out SystemdService= from the service file. and maybe fix dbus to ignore SystemdService for non-system-services
Created attachment 1349548 [details] patch vbenes is testing just threw this scratch build: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=14502327 to vbenes. it has the above patch Created attachment 1350096 [details]
latest version of the patch
this is the latest version of the patch, but now i'm wondering if the parts that remove the -SystemdService= are needed, or if it's really just the missing rpaths from the later hunks in the patch.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0767 |