Satellites plugin fails on non-standard numeric locale

Bug #1207969 reported by Markus Wenzel
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Stellarium
Fix Released
Medium
Unassigned

Bug Description

I did a fresh system install (gentoo,amd64,Intel HD4000)
Run stellarium once and everything worked fine including showing satellites.

I did a packet update on the system, maybe enabled some unstable packages versions maybe affected by stellarium.
No more satellites are showing, but an error message from the log:

....
Loaded plugin "Satellites" .
Satellites::getJsonFileVersion() version from file: "0.7.3"
Satellites::init using satellite.json file: "/home/mega/.stellarium/modules/Satellites/satellites.json"
Satellite has invalid orbit: "ATLAS CENTAUR 2" "00694"
....and many more.....

I attached the complete log.

Does someone have an idea whats wrong with the satellites ?

Revision history for this message
Markus Wenzel (paulbg) wrote :
Revision history for this message
Alexander Wolf (alexwolf) wrote :

Hmm... please try delete ~/.stellarium/modules/Satellites/satellites.json file and run Stellarium again

Revision history for this message
Markus Wenzel (paulbg) wrote :

I did, problem is still there, log attached

Revision history for this message
Alexander Wolf (alexwolf) wrote :

Please try run: export LC_NUMERIC=C && stellarium

Revision history for this message
Markus Wenzel (paulbg) wrote :

no change :( log attached

Revision history for this message
Bogdan Marinov (daggerstab) wrote :

OK, it looks like that for some reason the Satellites plug-in decides that each and every satellite has an invalid orbit and puts them into the "orbit calculation error" group, which is not displayed by default. So, they won't be displayed even after the underlying problem is fixed, unless you reset your satellite catalog every time.

Now we have to find out why calculating the orbits failed.

Could you please check your date/time/time zone settings?

Revision history for this message
Markus Wenzel (paulbg) wrote :

hm okay I'll give my best:

#date
Sa 3. Aug 17:40:57 CEST 2013

#cat /etc/timezone
Europe/Berlin

#env
...
LC_ALL=de_DE.UTF-8
MULTIOSDIRS=../lib64:../lib32
QT_GRAPHICSSYSTEM=raster
OPENGL_PROFILE=xorg-x11
...

#cat /etc/env.d/02locale
LANG="de_DE.UTF-8"
LC_COLLATE="C"
LC_ALL="de_DE.UTF-8"

#cat /etc/conf.d/hwclock
clock="local"
clock_hctosys="YES"

what else could I deliver ?

Markus Wenzel (paulbg)
tags: added: invalid orbit
Revision history for this message
Markus Wenzel (paulbg) wrote :

Somehow solved by running stellarium with "export LC_NUMERIC=C && stellarium" again.
It works now. Maybe I was to stupid to execute this export o_O. But I did change some mesa-opengl settings and reconfigured my timezone and updated my intel-driver too.
Thanx for the "export" hint :)
Not a bug, invalid by stupidity.

Changed in stellarium:
status: New → Invalid
Revision history for this message
Alexander Wolf (alexwolf) wrote :

Hmm... No, this is bug related to locale.

Changed in stellarium:
status: Invalid → Opinion
importance: Undecided → Medium
Revision history for this message
Markus Wenzel (paulbg) wrote :

just want to mention that I had " LC_ALL="de_DE.UTF-8"" set. This might also overwrite every attempt to set the LC_COLLATE="C".

Revision history for this message
Alexander Wolf (alexwolf) wrote :

please try run Stellarium with LC_COLLATE="de_DE.UTF-8"

Revision history for this message
Markus Wenzel (paulbg) wrote :

no problem, it works

I wrote "..overwrite every attempt to set the LC_COLLATE="C"..."
I meant "..overwrite every attempt to set the LC_NUMERIC="C""
sorry

My problem is still LC_NUMERIC somehow resets itself on every new terminal I open.

I set it in /etc/env.d/02locale and removed the LC_ALL line completely:

#02locale
LANG="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_NUMERIC="C"

If my understanding on gentoo is right this should set it globaly on every reboot for every user.
Instead "locale" shows after reboot:

#locale
...
LC_NUMERIC="de_DE.UTF-8"
LC_COLLATE=C
...

At least I know the direction to ask for the problem solution, but I think that's distribution specific and I will ask on the gentoo forums.

Revision history for this message
Alexander Wolf (alexwolf) wrote :

Satellites plug-in used sscanf for reading the TLE date and if LC_NUMERIC is unset or have "strange" settings then sscanf() of course will be work wrong.

Changed in stellarium:
status: Opinion → Confirmed
summary: - Satellites plugin not showing satellites, invalid orbit
+ Satellites plugin fails on non-standard numeric locale
tags: removed: invalid orbit
Revision history for this message
Alexander Wolf (alexwolf) wrote :

Seems we fixed it already because I'm can't reproduce this bug anymore.

Changed in stellarium:
milestone: none → 0.13.2
status: Confirmed → In Progress
Changed in stellarium:
status: In Progress → Fix Committed
Changed in stellarium:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.