Error getting position: Router mac address query failed

Bastien Nocera hadess at hadess.net
Tue Aug 31 02:34:23 PDT 2010


On Tue, 2010-08-31 at 12:16 +0300, Stefan Kost wrote:
> On 28.08.2010 14:43, Bastien Nocera wrote:
> > On Wed, 2010-08-25 at 17:37 +0300, Stefan Kost wrote:
> >   
> >> On 25.08.2010 15:44, Bastien Nocera wrote:
> >>     
> >>> On Wed, 2010-08-25 at 15:11 +0300, Jussi Kukkonen wrote:
> >>>   
> >>>       
> >>>> On 08/25/2010 02:06 PM, Stefan Kost wrote:
> >>>>  > yes, I am on a wired connection...
> >>>>
> >>>> Hmmm, it's unfortunate that the wired router MAC isn't available via 
> >>>> this connman implementation. It would be just as useful.
> >>>>
> >>>>  >.. and indeed if I enable wireless I get those warnings instead:
> >>>>  > ** (geoclue-test-gui:27072): WARNING **: Error getting position: Could
> >>>>  > not understand reply from server
> >>>>  > ** (geoclue-test-gui:27072): WARNING **: Error getting address: Could
> >>>>  > not understand reply from server
> >>>>
> >>>> The warning comes from a web provider that cannot parse the response 
> >>>> from the service. I see that at least Plazes does that now, they seem to 
> >>>> expect a lower case mac address... not sure if this is a new phenomenon.
> >>>>     
> >>>>         
> >>> Does something like the attached work for you, Stefan?
> >>>
> >>> Cheers
> >>>   
> >>>       
> >> Thanks for the patch, now I am getting:
> >> ** (geoclue-test-gui:6888): WARNING **: Error getting position: Could
> >> not understand reply from server
> >> ** (geoclue-test-gui:6888): WARNING **: Error getting address: Could not
> >> understand reply from server
> >> ** (geoclue-test-gui:6888): WARNING **: Error getting address: Could not
> >> get current gateway mac address
> >>
> >> I also killed all /usr/libexec/geoclue-* instances and again:
> >> ** (geoclue-test-gui:7185): WARNING **: Error getting position: Could
> >> not understand reply from server
> >> ** (geoclue-test-gui:7185): WARNING **: Error getting address: Could not
> >> understand reply from server
> >> ** (geoclue-test-gui:7185): WARNING **: Error getting address: Could not
> >> get current gateway mac address
> >> ** (geoclue-test-gui:7185): WARNING **: Error getting position: Failed
> >> to query web service
> >>     
> > Now it looks like the plazes backend changed the format of its answers,
> > or we have a bug in the parsing code.
> >
> > Any chance you could add some debug and make it dump the response?
> >
> >   
> I basically now added this in the two places in the plazes provider
> after gc_web_service_query()
> 
>     {
>       gchar *str;
>       if (gc_web_service_get_string (plazes->web_service, &str, "/")) {
>         g_debug ("PLAZES: got string: '%s'", str);
>         g_debug ("PLAZES: reponse: '%s'", plazes->web_service->response);
>         g_free (str);
>       }
>     }
>     // DEBUG
> 
> rebuilt and run the places backend manually.
> 
> $ /usr/libexec/geoclue-plazes
> ** (process:24878): DEBUG: PLAZES: got string: '
> '
> ** (process:24878): DEBUG: PLAZES: reponse: '<?xml version="1.0"
> encoding="UTF-8"?>
> <suggestions>
> </suggestions>
> \u0011'
> ** (process:24878): DEBUG: PLAZES: got string: '
> '
> ** (process:24878): DEBUG: PLAZES: reponse: '<?xml version="1.0"
> encoding="UTF-8"?>
> <suggestions>
> </suggestions>
> \x81'

Looks like there's garbage in the XML responses. Or there's a bug in the
web service code (which is more likely).

> 
> This is the same as using the webbrowser and going to the PLAZES_URL
> (http://plazes.com/suggestions.xml).

I don't get the trailing garbage here. Any chance you could run it under
valgrind?

> Would be nice to get all the debug logging to logfiles if the providers
> are activated from dbus. Also if the client (geoclue-test-ui) could
> actually tell which provider gave the error that would ease debugging.

Right.



More information about the GeoClue mailing list