Bug 28011

Summary: 0.12/git : No Geoclue master client!
Product: GeoClue Reporter: Stefan Kost <ensonic>
Component: Master Server (obsolete)Assignee: Geoclue Bugs <geoclue-bugs>
Status: RESOLVED INVALID QA Contact: Geoclue Bugs <geoclue-bugs>
Severity: critical    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Stefan Kost 2010-05-07 00:26:34 UTC
1.) compiled git-head today
2.)
> geoclue-test-gui 
No Geoclue master client!
(need to press ctrl-c now)

> l /usr/lib/geoc*
-rwxr-xr-x 1 root root  9844  5. Mai 09:50 /usr/lib/geoclue-example*
-rwxr-xr-x 1 root root  9896  5. Mai 09:50 /usr/lib/geoclue-geonames*
-rwxr-xr-x 1 root root 14008  5. Mai 09:50 /usr/lib/geoclue-gypsy*
-rwxr-xr-x 1 root root  9888  5. Mai 09:50 /usr/lib/geoclue-hostip*
-rwxr-xr-x 1 root root 14096  5. Mai 09:50 /usr/lib/geoclue-localnet*
-rwxr-xr-x 1 root root 13996  5. Mai 09:50 /usr/lib/geoclue-manual*
-rwxr-xr-x 1 root root 38844  5. Mai 09:50 /usr/lib/geoclue-master*
-rwxr-xr-x 1 root root  9908  5. Mai 09:50 /usr/lib/geoclue-plazes*
-rwxr-xr-x 1 root root  9868  5. Mai 09:50 /usr/lib/geoclue-yahoo*

according to strace it does not even try to load it. If going back to the disto version (0.11.1-6.16), the ui comes up but dumps a lot of less helpful errors to the console - see Bug #28010.
Comment 1 Bastien Nocera 2010-05-07 01:11:42 UTC
-rwxr-xr-x 1 root root 38844  5. Mai 09:50 /usr/lib/geoclue-master*

geoclue-master is installed. Obviously you wouldn't see anything related to that in the strace, as it's autostarted by D-Bus.

My guess is that either the D-Bus configuration file didn't get reloaded, or you didn't install it in the right place. Check the debug output in /var/log/messages
Comment 2 Stefan Kost 2010-05-07 02:48:03 UTC
from /var/log/messages
May  7 12:35:21 hoshi kernel: [14581.743736] geoclue-master[15289]: segfault at 4 ip 0804eff4 sp bfa26900 error 4 in geoclue-master[8048000+a000]
May  7 12:35:35 hoshi kernel: [14595.712768] geoclue-master[15308]: segfault at 4 ip 0804eff4 sp bf9d7bd0 error 4 in geoclue-master[8048000+a000]
May  7 12:35:44 hoshi kernel: [14604.606897] geoclue-master[15340]: segfault at 4 ip 0804eff4 sp bfa45260 error 4 in geoclue-master[8048000+a000]

I get one more for each time I start geoclue-test-gui. 

> gdb /usr/lib/geoclue-master 
(gdb) r
Starting program: /usr/lib/geoclue-master 
** (process:15377): WARNING **: Could not get connectivity state from NetworkManager: The name org.freedesktop.NetworkManager was not provided by any .service files
Found providers:
  geoclue-manual.provider
  geoclue-geonames.provider
  geoclue-gypsy.provider
  geoclue-skyhook.provider
  geoclue-plazes.provider
  geoclue-gsmloc.provider
  geoclue-hostip.provider
  geoclue-example.provider
  geoclue-localnet.provider
  geoclue-yahoo.provider
  geoclue-gpsd.provider
  geoclue-nominatim.provider


2nd terminal
> geoclue-test-gui 
** (geoclue-test-gui:15382): DEBUG: 12:38:03: Adding master address provider
** (geoclue-test-gui:15382): WARNING **: Metadata for error domain "geoclue-error-quark" already registered
** (geoclue-test-gui:15382): DEBUG: 12:38:03: Adding address provider /org/freedesktop/Geoclue/Providers/Hostip
** (geoclue-test-gui:15382): DEBUG: 12:38:03: Adding address provider /org/freedesktop/Geoclue/Providers/Plazes
** (geoclue-test-gui:15382): DEBUG: 12:38:03: Adding address provider /org/freedesktop/Geoclue/Providers/Manual
** (geoclue-test-gui:15382): DEBUG: 12:38:03: Adding address provider /org/freedesktop/Geoclue/Providers/Localnet
** (geoclue-test-gui:15382): DEBUG: 12:38:04: Adding master position provider

Error while creating GeocluePosition master.
** (geoclue-test-gui:15382): DEBUG: 12:38:28: Adding position provider /org/freedesktop/Geoclue/Providers/Hostip

and gdb:


** (process:15377): DEBUG: client: 4 address providers matching requirements found, now choosing current provider
** (process:15377): DEBUG: client: connecting to 'Manual' accuracy-changed and status-changed
** (process:15377): DEBUG: client: connecting to 'Plazes' accuracy-changed and status-changed
** (process:15377): DEBUG: client: connecting to 'Hostip' accuracy-changed and status-changed
** (process:15377): DEBUG: client: connecting to 'Localnet' accuracy-changed and status-changed
** (process:15377): DEBUG: client: choosing best provider
** (process:15377): DEBUG:         ...trying provider Manual
** (process:15377): DEBUG: Manual: Updating cache 
** (process:15377): DEBUG: client: provider Manual status changed: 2
** (process:15377): DEBUG: client: Manual accuracy changed (0)
** (process:15377): DEBUG:         ...but provider choice in progress
** (process:15377): DEBUG: client: provider Manual status changed: 3
** (process:15377): DEBUG:         ...started Manual (status 3), re-starting provider selection
** (process:15377): DEBUG:         ...trying provider Localnet
** (process:15377): DEBUG:         ...trying provider Plazes
** (process:15377): DEBUG:         ...trying provider Hostip
** (process:15377): DEBUG:         ...trying provider Manual
** (process:15377): DEBUG: client: address provider changed (to Manual)
** (process:15377): DEBUG: client: 5 position providers matching requirements found, now choosing current provider
** (process:15377): DEBUG: client: connecting to 'Gypsy' accuracy-changed and status-changed
** (process:15377): DEBUG: client: connecting to 'Plazes' accuracy-changed and status-changed
** (process:15377): DEBUG: client: connecting to 'GPSd' accuracy-changed and status-changed
** (process:15377): DEBUG: client: choosing best provider
** (process:15377): DEBUG:         ...trying provider Plazes
** (process:15377): DEBUG:         ...trying provider Plazes
** (process:15377): DEBUG:         ...trying provider Hostip
** (process:15377): DEBUG:         ...trying provider Gypsy

(process:15377): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed

(process:15377): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed

Program received signal SIGSEGV, Segmentation fault.
0xb7f88585 in org_freedesktop_Geoclue_get_provider_info (error=<value optimized out>, OUT_Description=<value optimized out>, OUT_Name=<value optimized out>, 
    proxy=<value optimized out>) at gc-iface-geoclue-bindings.h:32
32	  return dbus_g_proxy_call (proxy, "GetProviderInfo", error, G_TYPE_INVALID, G_TYPE_STRING, OUT_Name, G_TYPE_STRING, OUT_Description, G_TYPE_INVALID);
(gdb) bt
#0  0xb7f88585 in org_freedesktop_Geoclue_get_provider_info (error=<value optimized out>, OUT_Description=<value optimized out>, OUT_Name=<value optimized out>, 
    proxy=<value optimized out>) at gc-iface-geoclue-bindings.h:32
#1  geoclue_provider_get_provider_info (error=<value optimized out>, OUT_Description=<value optimized out>, OUT_Name=<value optimized out>, proxy=<value optimized out>)
    at geoclue-provider.c:491
#2  0x0804d2a1 in g_dir_open ()
#3  0x0804d6f9 in g_dir_open ()
#4  0x0804a543 in g_dir_open ()
#5  0x0804b152 in g_dir_open ()
#6  0x0804b40a in g_dir_open ()
#7  0x0804a7c3 in g_dir_open ()
#8  0xb7f6bb42 in ?? () from /usr/lib/libdbus-glib-1.so.2
#9  0xb7f6c36f in ?? () from /usr/lib/libdbus-glib-1.so.2
#10 0xb7f3c209 in ?? () from /lib/libdbus-1.so.3
#11 0xb7f2eab1 in dbus_connection_dispatch () from /lib/libdbus-1.so.3
#12 0xb7f68c0d in ?? () from /usr/lib/libdbus-glib-1.so.2
#13 0xb7cb04c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#14 0xb7cb3d98 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0xb7cb41ef in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#16 0x0804beba in g_dir_open ()
#17 0xb7b2cace in __libc_start_main () from /lib/libc.so.6
#18 0x0804a1b1 in g_dir_open ()



The two
(process:15377): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed

I seem to get if there is e.g. 
/usr/share/geoclue-providers/geoclue-gpsd.provider
but no
/usr/lib/geoclue-gpsd

I had the older providers left there - as the git head needs also never gpsd/gypsy. This could be handled gracefully.

The backtrace looks not very useful to me, I keep trying.
Comment 3 Bastien Nocera 2010-06-29 11:12:52 UTC
Please enable fatal-warnings in gdb:
set environment G_DEBUG fatal_warnings

So that we can see where the first critical warning is.
Comment 4 Stefan Kost 2010-08-24 01:10:59 UTC
It does not happen anymore. As I have no idea if it was fixed or I had a messed up installation, I'll close as "Invalid".

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.