orontee / taranis

Local weather data on your PocketBook e-book reader.
GNU General Public License v3.0
24 stars 0 forks source link

Intermittent fault - some weather locations cause Taranis crash #52

Closed neilswann80 closed 1 year ago

neilswann80 commented 1 year ago

Some weather locations cause Taranis crash.

I've had this happen with my home town "Bristol, England".

Today it's happening with "Swansea, Wales"

Both locations have worked previously within Taranis, but have intermittently caused an app crash as they attempt to update. Annoyingly once you've selected a location that causes a crash Taranis will then crash with every launch until you delete taranis.cfg (or edit it to remove the offending location).

orontee commented 1 year ago

Thanks, I'll investigate this. I just reproduced with Swansea, wales...

orontee commented 1 year ago

@neilswann80 Can you confirm that you're using the last pre-release, namely v1.2.0-rc2?

neilswann80 commented 1 year ago

yes, very latest with Swansea. It happened with Bristol on an older release, but seemed to only be a problem for around 24 hours.

orontee commented 1 year ago

HTTP response payloads at the time the application break don't have much differences with later payloads (On my side it now works with Swansea, Wales and Bristol, England).

I guess, #37 must be worked on before we can seriously investigate this one...

orontee commented 1 year ago

Affects: v1.2.0-rc2

neilswann80 commented 1 year ago

FYI... another location is currently causing a crash if you would like more data. I'm using latest pre-release 1.2.0-rc3

Location typed: Castle_Douglas, GB

https://openweathermap.org/city/2653590

Other two word locations work ok when using a underscore separator, e.g. Port_Talbot and South_Cerney

I checked /system/state/taranis.log but it's empty.

neilswann80 commented 1 year ago

Fort_William, GB

https://openweathermap.org/city/2649169

Also causes a crash. Castle Douglas and Fort William are both in Scotland, swapping GB for Scotland also causes the crash.

orontee commented 1 year ago

FYI... another location is currently causing a crash if you would like more data. I'm using latest pre-release 1.2.0-rc3

Location typed: Castle_Douglas, GB

Thanks a lot! I reproduced.

(...) I checked /system/state/taranis.log but it's empty.

I've a log and the crash happens after the request to /data/3.0/onecall is sent. Maybe because of the length of that response. Still have to check...

Regarding the log, was Taranis started with the --verbose command line parameter? How?

neilswann80 commented 1 year ago

Regarding the log, was Taranis started with the --verbose command line parameter? How?

No. I can try launching taranis via pbterm with that parameter though if you think it'll help?

orontee commented 1 year ago

Regarding the log, was Taranis started with the --verbose command line parameter? How?

No. I can try launching taranis via pbterm with that parameter though if you think it'll help?

No. It's very kind of you but I already reproduced and I guess we won't get more information from the log. It's already very informative and I thank you very much for today's posts!

Read Desktop Integration if you'd like to always have logs (The last sentence!).

neilswann80 commented 1 year ago

thank you very much for today's posts!

No problem, I was hoping it was helpful rather than annoying! Thanks for creating Taranis! It's been incredibly useful... especially for my recent hiking holiday in Portugal. 🥾

Read Desktop Integration if you'd like to always have logs (The last sentence!).

Ace, thanks, I'll give that a go. (Ah, I see. I add the params to the entry in view.json to permanently set)

orontee commented 1 year ago

Got it!

When some attributes like "visibility" were missing from the JSON data returned by the API, their default was "not a number" (a special floating number expressing missing number). Later, there was an attempt to convert that float to an int which causes an exception.

Many, many thanks @neilswann80 for the locations.

No idea why the local weather services don't always compute some data. But the API documentation warn to be prepared on missing attributes.

I'll never forget Fort Wiliam. Scotland rocks! (Only place I ever visited in Great-Britain... I was 13 or 14).

orontee commented 1 year ago

Should be fixed in pre-relase 1.2.0-rc4.

neilswann80 commented 1 year ago

When some attributes like "visibility" were missing from the JSON data returned by the API, their default was "not a number" (a special floating number expressing missing number). Later, there was an attempt to convert that float to an int which causes an exception.

Nice catch!

I'll never forget Fort Wiliam. Scotland rocks! (Only place I ever visited in Great-Britain... I was 13 or 14).

Scotland is indeed beautiful. Lovely people too. Scotland and Wales are two of my favourite hiking locations here in the UK, along with the Cornish and North-Devon coastlines.... and of course the Lake District.

FYI... tested the latest pre-release and everything works well, weather reports for Fort William and Castle Douglas are working. 👍