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