[Debian-astro-maintainers] Bug#788699: stellarium: Hangs after moving to the past/future by several days

Pawel T. Jochym jochym at wolf.ifj.edu.pl
Sun Jun 14 20:58:04 UTC 2015


Ok. I have found the probable cause.

The program hangs in this fragment of core/modules/Orbit.cpp:

   │129     //      GZ: Comet orbits are quite often near-parabolic, where this may still only converge slowly.                                                                                      │
   │130     //      Better always use Laguerre-Conway. See Heafner, Ch. 5.3                                                                                                                          │
   │131             double E=M+0.85*e*StelUtils::sign(sin(M));                                                                                                                                       │
   │132             for (;;)                                                                                                                                                                         │
   │133             {                                                                                                                                                                                │
   │134                     const double Ep=E;                                                                                                                                                       │
   │135                     const double f2=e*sin(E);                                                                                                                                                │
  >│136                     const double f=E-f2-M;                                                                                                                                                   │
   │137                     const double f1=1.0-e*cos(E);                                                                                                                                            │
   │138                     E+= (-5.0*f)/(f1+StelUtils::sign(f1)*std::sqrt(fabs(16.0*f1*f1-20.0*f*f2)));                                                                                             │
   │139                     if (fabs(E-Ep) < EPSILON) break;                                                                                                                                         │
   │140             }                                                                                                                                                                                │
   │141     //      Note: q=a*(1-e)                                                                                                                                                                  │

It seams that some of my SS data triggered non-convergent loop here.
I enclose my ssystem.ini file. After restoring the file to standard contents
the problem is gone. On the other hand the previous version of stellarium
did not exhibit this problem and when I run the current version under
gdb it does not show up as well. It may be more subtle then just unfortunate
elements. Maybe some threading share data conflict (speculation)?

P.

-- 
Paweł T. Jochym
Institute of Nuclear Physics, PAN
Cracow, Poland

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ssystem.ini
Type: application/x-wine-extension-ini
Size: 399891 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-astro-maintainers/attachments/20150614/2195b4b1/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/debian-astro-maintainers/attachments/20150614/2195b4b1/attachment-0001.sig>


More information about the Debian-astro-maintainers mailing list