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: flatpakAssignee: David King <dking>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: high    
Version: 7.5CC: jkoten, lmiksik, rstrode, tpelka, vbenes
Target Milestone: rcKeywords: 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 Flags
patch vbenes is testing
none
latest version of the patch none

Description Vladimir Benes 2017-10-18 12:21:50 UTC
This bug has been created based on an anonymous crash report requested by the package maintainer.

Report URL: http://faf.lab.eng.brq.redhat.com/faf/reports/bthash/7e95fbed308a62a07fe5fec62bc845a4cabafa16/

Comment 2 Ray Strode [halfline] 2017-11-08 18:47:48 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

Comment 3 Ray Strode [halfline] 2017-11-08 19:04:24 UTC
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

Comment 4 Ray Strode [halfline] 2017-11-09 20:19:32 UTC
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.

Comment 13 errata-xmlrpc 2018-04-10 12:54:31 UTC
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