Geoclue takes 20s in GetClient() dbus call
Hi!
I am having some troubles with geoclue; version geoclue 2.5.3 on Archlinux. Whenever a program calls GetClient() dbus method, while geoclue service is still not running, geoclue takes exactly 20s to conclude the call.
The issue is easily reproducible: just stop geoclue.service and start where-am-i demo, eg:
$ sudo systemctl stop geoclue.service $ time /usr/lib/geoclue-2.0/demos/where-am-i Client object: /org/freedesktop/GeoClue2/Client/1 New location: Latitude: xxxxxx° Longitude: xxxxxx° Accuracy: 57,361855 meters Timestamp: ven 23 ago 2019, 11:16:53 (1566551813 seconds since the Epoch) real 0m30,381s user 0m0,014s sys 0m0,007s
Here it is 30s that is a 20s delay + some seconds before receiving a new location i guess. My own program has some logs right before and after geoclue GetClient(), and it always takes 20s:
(I)[11:26:59]{location.c:124} Calling geoclue GetClient() (I)[11:27:19]{location.c:126} Called geoclue GetClient()
Here, in between these 2 logs, only a call to geoclue GetClient() method is done. Note that as my program runs in user context, i cannot pull in Geoclue as systemd unit dependency (After=).
Moreover, note that in between those 2 logs, geoclue seems to be started very quickly:
ago 23 11:26:59 federico-desktop systemd[1]: Starting Location Lookup Service... ago 23 11:26:59 federico-desktop systemd[1]: Started Location Lookup Service.
Ie: it seems geoclue starts with no issues.
Any idea?
Thanks, Federico