geocoder icon indicating copy to clipboard operation
geocoder copied to clipboard

Error: Unexpected token at position 0: <

Open cserb opened this issue 6 years ago • 6 comments

[error] GenServer #PID<0.2048.0> terminating
** (Poison.ParseError) Unexpected token at position 0: <
    (poison) lib/poison/parser.ex:353: Poison.Parser.value/3
    (poison) lib/poison/parser.ex:64: Poison.Parser.parse!/2
    (httpoison) lib/httpoison/base.ex:866: HTTPoison.Base.response/8
    (geocoder) lib/geocoder/providers/open_street_maps.ex:139: Geocoder.Providers.OpenStreetMaps.request_all/2
    (geocoder) lib/geocoder/providers/open_street_maps.ex:149: Geocoder.Providers.OpenStreetMaps.request/2
    (geocoder) lib/geocoder/providers/open_street_maps.ex:11: Geocoder.Providers.OpenStreetMaps.geocode/1
    (geocoder) lib/geocoder/worker.ex:71: Geocoder.Worker.run/4
    (geocoder) lib/geocoder/worker.ex:36: Geocoder.Worker.handle_call/3
    (stdlib) gen_server.erl:661: :gen_server.try_handle_call/4
    (stdlib) gen_server.erl:690: :gen_server.handle_msg/6
    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Last message (from #PID<0.2158.0>): {:geocode, [address: "Dolomitenstraße 54, 13187 Berlin"], [timeout: 5000, stream_to: nil, store: true]}
State: [store: Geocoder.Store, provider: Geocoder.Providers.OpenStreetMaps]
Client #PID<0.2158.0> is alive

    (stdlib) gen.erl:167: :gen.do_call/4
    (elixir) lib/gen_server.ex:1007: GenServer.call/3
    (poolboy) /home/******/deps/poolboy/src/poolboy.erl:84: :poolboy.transaction/3
    (stdlib) erl_eval.erl:680: :erl_eval.do_apply/6
    (elixir) src/elixir.erl:275: :elixir.eval_forms/4
    (iex) lib/iex/evaluator.ex:257: IEx.Evaluator.handle_eval/5
    (iex) lib/iex/evaluator.ex:237: IEx.Evaluator.do_eval/3
    (iex) lib/iex/evaluator.ex:215: IEx.Evaluator.eval/3
    (iex) lib/iex/evaluator.ex:103: IEx.Evaluator.loop/1
    (iex) lib/iex/evaluator.ex:27: IEx.Evaluator.init/4
    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
** (exit) exited in: GenServer.call(#PID<0.2048.0>, {:geocode, [address: "Dolomitenstraße 54, 13187 Berlin"], [timeout: 5000, stream_to: nil, store: true]}, 5000)
    ** (EXIT) an exception was raised:
        ** (Poison.ParseError) Unexpected token at position 0: <
            (poison) lib/poison/parser.ex:353: Poison.Parser.value/3
            (poison) lib/poison/parser.ex:64: Poison.Parser.parse!/2
            (httpoison) lib/httpoison/base.ex:866: HTTPoison.Base.response/8
            (geocoder) lib/geocoder/providers/open_street_maps.ex:139: Geocoder.Providers.OpenStreetMaps.request_all/2
            (geocoder) lib/geocoder/providers/open_street_maps.ex:149: Geocoder.Providers.OpenStreetMaps.request/2
            (geocoder) lib/geocoder/providers/open_street_maps.ex:11: Geocoder.Providers.OpenStreetMaps.geocode/1
            (geocoder) lib/geocoder/worker.ex:71: Geocoder.Worker.run/4
            (geocoder) lib/geocoder/worker.ex:36: Geocoder.Worker.handle_call/3
            (stdlib) gen_server.erl:661: :gen_server.try_handle_call/4
            (stdlib) gen_server.erl:690: :gen_server.handle_msg/6
            (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
    (elixir) lib/gen_server.ex:1010: GenServer.call/3
    (poolboy) /home/*****/deps/poolboy/src/poolboy.erl:84: :poolboy.transaction/3

When callinng Geocoder.call("Dolomitenstraße 54, 13187 Berlin") I get the error above

Elixir: 1.9.0 Geocoder: git/master

cserb avatar Aug 19 '19 12:08 cserb

@cserb could you log the HTTP response from open street maps and post it here?

iloveitaly avatar Aug 19 '19 12:08 iloveitaly

@iloveitaly Bandwidth limit exceeded as html and not json format :(

cserb avatar Aug 19 '19 12:08 cserb

@cserb would you expect an {:error, :bandwidth_exceeded}? The exception being raised seems to indicate an exceptional condition ;P

CyrusNuevoDia avatar Aug 21 '19 21:08 CyrusNuevoDia

@knrz exactly. Bandwith limit exceeded returns an unexpected (for geocoder) html body which should return an error

cserb avatar Aug 26 '19 08:08 cserb

Hey @cserb and thanks for reporting this! Do you feel comfortable to file a PR that accounts for this error condition?

carpodaster avatar Aug 26 '19 08:08 carpodaster

@carpodaster yes sure. But it'll take some time

cserb avatar Sep 19 '19 15:09 cserb