I compiled Celestia version 1.2.4 on linux (kernel 2.4.18 + XFree86 4.2.0 + Mesa 3.4.2 + gtk 1.2). It successfully starts up and a 3D accelleration works fine on my Radeon Mobility LY card. But celestia crashes by "go to object" when saturn is selected as an object. A view point moves toword the saturn but celestia crashes before an image of the saturn appears. It also crashes with uranus or titan, but does not crash with jupiter or neptune...
A debug message is as follows,
Loading texture: textures/medres/saturn.jpg
Program received signal SIGSEGV, Segmentation fault.
0x816d5b7 in wglGetSwapIntervalEXT () at eval.c:41
41 eval.c: No such file or directory.
Current language: auto; currently c
An option of configure is the default value and Celestia version 1.2.2 run nicely on the same systems.
Are there any suggestions?
Sorry for my poor English, it's not my mother tongue.
Celestia is the great great great software! Thanks!
Crash when going to saturn etc...
- t00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
We had this problem before somewhere in this forum.
Have a look.
In case you have a SuSE Linux distribution installed, make sure that you use the glx headers from the mesa-devel package. The xf86glx_devel package /must/ not be installed. It has conflicting headers, that somehow cause that SEGFAULT.
I had the segfaults, too. After deinstallation of xf86glx_devel and installation of mesa-devel eveything worked perfectly.
After the install of mesa-devel, you must recompile celestia, of course.
Bye Fridger
Have a look.
In case you have a SuSE Linux distribution installed, make sure that you use the glx headers from the mesa-devel package. The xf86glx_devel package /must/ not be installed. It has conflicting headers, that somehow cause that SEGFAULT.
I had the segfaults, too. After deinstallation of xf86glx_devel and installation of mesa-devel eveything worked perfectly.
After the install of mesa-devel, you must recompile celestia, of course.
Bye Fridger
-
Topic authorsano
Thank you for your informative advice. But my distribution is based on Red Hat 7.2 and there are only Mesa-devel package. This package is made of MesaLib-3.4.2.tar.bz2 from http://www.mesa3d.org and GL-part of the source of XFree86(XFree86-4.1.0-0.9.13-GLonly.tar.bz2) while Mesa-devel package in SuSE seems to be made of MesaLib-3.4.2 only. It seems that this causes the problem but more investigation is needed.
Thanks anyway.
Thanks anyway.
Seg Fault while rendering ring system
As a long time SourceForge user I reported the SegFault experienced
with celestia 1.2.4 while approaching Saturn or Uranus (or any other
planet with ring system) to the SourceForge bug tracking system.
But the celestia people right now prefer to use this forum here?
Anyway: I've a Dell Inspiron 8000 notebook equipped with a
Nvidia GeForce 2 graphics chip set. On this box I use SuSE
Linux 7.2 (partially upgraded to 7.3 in the meantime).
Most 3D graphics applications work fine.
I've the mesa-devel-3.4.2.rpm installed. No xf86glx but there is
a xf86glu-devel... Does this hurt?
celestia 1.2.0 works fine, while 1.2.4 crashes as you can see it here in GDB:
Breakpoint 2, renderRings (rings=@0x82e4ba8, ri=@0xbfffea80,
planetRadius=60330, textureResolution=1, renderShadow=true)
at render.cpp:1994
1994 float inner = rings.innerRadius / planetRadius;
Current language: auto; currently c++
(gdb) s
1995 float outer = rings.outerRadius / planetRadius;
(gdb)
1996 int nSections = 100;
(gdb)
2010 float ringIllumination = 0.0f;
(gdb)
2012 float illumFraction = (1.0f + ri.eyeDir_obj * ri.sunDir_obj) / 2.0f;
(gdb)
float operator*<float> (a=@0xbfffeab4, b=@0xbfffeaa8)
at ../celmath/vecmath.h:254
254 return a.x * b.x + a.y * b.y + a.z * b.z;
(gdb)
0x08104870 254 return a.x * b.x + a.y * b.y + a.z * b.z;
(gdb)
renderRings (rings=@0x82e4ba8, ri=@0xbfffea80, planetRadius=60330,
textureResolution=1, renderShadow=true) at render.cpp:2014
2014 ringIllumination = illumFraction;
(gdb)
2022 if (renderShadow)
(gdb)
2024 glActiveTextureARB(GL_TEXTURE1_ARB);
(gdb) s
Program received signal SIGSEGV, Segmentation fault.
0x457c9030 in ?? ()
with celestia 1.2.4 while approaching Saturn or Uranus (or any other
planet with ring system) to the SourceForge bug tracking system.
But the celestia people right now prefer to use this forum here?
Anyway: I've a Dell Inspiron 8000 notebook equipped with a
Nvidia GeForce 2 graphics chip set. On this box I use SuSE
Linux 7.2 (partially upgraded to 7.3 in the meantime).
Most 3D graphics applications work fine.
I've the mesa-devel-3.4.2.rpm installed. No xf86glx but there is
a xf86glu-devel... Does this hurt?
celestia 1.2.0 works fine, while 1.2.4 crashes as you can see it here in GDB:
Breakpoint 2, renderRings (rings=@0x82e4ba8, ri=@0xbfffea80,
planetRadius=60330, textureResolution=1, renderShadow=true)
at render.cpp:1994
1994 float inner = rings.innerRadius / planetRadius;
Current language: auto; currently c++
(gdb) s
1995 float outer = rings.outerRadius / planetRadius;
(gdb)
1996 int nSections = 100;
(gdb)
2010 float ringIllumination = 0.0f;
(gdb)
2012 float illumFraction = (1.0f + ri.eyeDir_obj * ri.sunDir_obj) / 2.0f;
(gdb)
float operator*<float> (a=@0xbfffeab4, b=@0xbfffeaa8)
at ../celmath/vecmath.h:254
254 return a.x * b.x + a.y * b.y + a.z * b.z;
(gdb)
0x08104870 254 return a.x * b.x + a.y * b.y + a.z * b.z;
(gdb)
renderRings (rings=@0x82e4ba8, ri=@0xbfffea80, planetRadius=60330,
textureResolution=1, renderShadow=true) at render.cpp:2014
2014 ringIllumination = illumFraction;
(gdb)
2022 if (renderShadow)
(gdb)
2024 glActiveTextureARB(GL_TEXTURE1_ARB);
(gdb) s
Program received signal SIGSEGV, Segmentation fault.
0x457c9030 in ?? ()
Re: Crash when going to saturn etc...
Had the same problem as described - the demonstration segfaults consistently as you zoom in on Saturn.
Running Celestia 1.2.4 on Redhat 7.2, OpenGL with some version of Mesa, etc.
Here are the decodes from the backtrace - below.
I'm not sure about the y direction of the sun not being a number, or the later
(binary?) parameters in sun colours...
hope this helps,
L.
http://www.geomview.org/ and its Orrery and http://savi.sourceforge.net/ aren't rendered
as slickly, but may also be of interest.
this is after make --enable-debug (rather than make installing)
$ gdb celestia
GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run
Starting program: /home/lloyd/celestia/celestia-1.2.4/celestia
Cannot chdir to '/usr/local/share/celestia', probably due to improper installation
StarDatabase::read: nStars = 112521
Parent body 'BD -10 3166' of 'b' not found.
fv: 6
Could not open font file fonts/sansbold20.txf
Loading texture: textures/medres/jupiter.jpg
Loading texture: textures/medres/io.jpg
Loading texture: textures/medres/earth.png
Loading texture: textures/medres/moon.jpg
Loading texture: textures/medres/gstar.jpg
Loading texture: textures/medres/earth-clouds.png
Loading texture: textures/medres/saturn.jpg
Program received signal SIGSEGV, Segmentation fault.
0x0814386d in glClientActiveTextureARB () at eval.c:41
41 eval.c: No such file or directory.
in eval.c
Current language: auto; currently c
(gdb) bt
#0 0x0814386d in glClientActiveTextureARB () at eval.c:41
#1 0x6c081438 in ?? ()
#2 0x080b2637 in Renderer::renderObject (this=0x8147d88, pos=0xbffff600,
distance=19473630, now=2452858.5926977354, cameraOrientation=0xbffff610,
nearPlaneDistance=9645450, farPlaneDistance=21574994, sunDirection=
{x = -1.99968338, y = -nan(0x7fffff), z = -1.99969864}, sunColor=
{static Black = {static Black = <same as static member of an already seen type>, stat
ic White = {static Black = <same as static member of an already seen type>, static White =
<same as static member of an already seen type>, c = "????"}, c = "\000\000\000?"}, static
White = <same as static member of an already seen type>, c = "????"}, obj=@0xbffff620) at r
ender.cpp:2559
#3 0x080b2fe2 in Renderer::renderPlanet (this=0x8147d88, body=@0x8230ad8,
pos=0xbffff7f0, sunDirection=
{x = -1.9997673, y = 19473630, z = -7.13714981}, distance=19473630,
appMag=-7.13714981, now=2452858.5926977354, orientation=0xbffff850,
nearPlaneDistance=9645450, farPlaneDistance=21574994) at render.cpp:2757
#4 0x080ae706 in Renderer::render (this=0x8147d88, observer=@0x817b0a8,
universe=@0x8177fc8, faintestMagNight=6, sel=@0x817b098,
now=2452858.5926977354) at render.cpp:1221
#5 0x080b80bb in Simulation::render (this=0x817b070, renderer=@0x8147d88)
at simulation.cpp:208
#6 0x08097422 in CelestiaCore::draw (this=0x8147c10) at celestiacore.cpp:963
#7 0x0809de55 in Display () at glutmain.cpp:77
---Type <return> to continue, or q <return> to quit---
#8 0x0809de9c in Idle () at glutmain.cpp:89
#9 0x4007e123 in idleWait () at eval.c:41
#10 0x405c4507 in __libc_start_main (main=0x809e284 <main>, argc=1,
ubp_av=0xbffffa14, init=0x8092bdc <_init>, fini=0x8114a48 <_fini>,
rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbffffa0c)
at ../sysdeps/generic/libc-start.c:129
(gdb)
Running Celestia 1.2.4 on Redhat 7.2, OpenGL with some version of Mesa, etc.
Here are the decodes from the backtrace - below.
I'm not sure about the y direction of the sun not being a number, or the later
(binary?) parameters in sun colours...
hope this helps,
L.
http://www.geomview.org/ and its Orrery and http://savi.sourceforge.net/ aren't rendered
as slickly, but may also be of interest.
this is after make --enable-debug (rather than make installing)
$ gdb celestia
GNU gdb Red Hat Linux 7.x (5.0rh-15) (MI_OUT)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run
Starting program: /home/lloyd/celestia/celestia-1.2.4/celestia
Cannot chdir to '/usr/local/share/celestia', probably due to improper installation
StarDatabase::read: nStars = 112521
Parent body 'BD -10 3166' of 'b' not found.
fv: 6
Could not open font file fonts/sansbold20.txf
Loading texture: textures/medres/jupiter.jpg
Loading texture: textures/medres/io.jpg
Loading texture: textures/medres/earth.png
Loading texture: textures/medres/moon.jpg
Loading texture: textures/medres/gstar.jpg
Loading texture: textures/medres/earth-clouds.png
Loading texture: textures/medres/saturn.jpg
Program received signal SIGSEGV, Segmentation fault.
0x0814386d in glClientActiveTextureARB () at eval.c:41
41 eval.c: No such file or directory.
in eval.c
Current language: auto; currently c
(gdb) bt
#0 0x0814386d in glClientActiveTextureARB () at eval.c:41
#1 0x6c081438 in ?? ()
#2 0x080b2637 in Renderer::renderObject (this=0x8147d88, pos=0xbffff600,
distance=19473630, now=2452858.5926977354, cameraOrientation=0xbffff610,
nearPlaneDistance=9645450, farPlaneDistance=21574994, sunDirection=
{x = -1.99968338, y = -nan(0x7fffff), z = -1.99969864}, sunColor=
{static Black = {static Black = <same as static member of an already seen type>, stat
ic White = {static Black = <same as static member of an already seen type>, static White =
<same as static member of an already seen type>, c = "????"}, c = "\000\000\000?"}, static
White = <same as static member of an already seen type>, c = "????"}, obj=@0xbffff620) at r
ender.cpp:2559
#3 0x080b2fe2 in Renderer::renderPlanet (this=0x8147d88, body=@0x8230ad8,
pos=0xbffff7f0, sunDirection=
{x = -1.9997673, y = 19473630, z = -7.13714981}, distance=19473630,
appMag=-7.13714981, now=2452858.5926977354, orientation=0xbffff850,
nearPlaneDistance=9645450, farPlaneDistance=21574994) at render.cpp:2757
#4 0x080ae706 in Renderer::render (this=0x8147d88, observer=@0x817b0a8,
universe=@0x8177fc8, faintestMagNight=6, sel=@0x817b098,
now=2452858.5926977354) at render.cpp:1221
#5 0x080b80bb in Simulation::render (this=0x817b070, renderer=@0x8147d88)
at simulation.cpp:208
#6 0x08097422 in CelestiaCore::draw (this=0x8147c10) at celestiacore.cpp:963
#7 0x0809de55 in Display () at glutmain.cpp:77
---Type <return> to continue, or q <return> to quit---
#8 0x0809de9c in Idle () at glutmain.cpp:89
#9 0x4007e123 in idleWait () at eval.c:41
#10 0x405c4507 in __libc_start_main (main=0x809e284 <main>, argc=1,
ubp_av=0xbffffa14, init=0x8092bdc <_init>, fini=0x8114a48 <_fini>,
rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbffffa0c)
at ../sysdeps/generic/libc-start.c:129
(gdb)
Sorry for the Anonymous post (3:43 pm).
Without at least some more understanding of GL and celestia I feel
unable to track this down on my own, although the bug is nice,
because it can be reproduced easily and doesn't disappear when running
the program from GDB.
Without at least some more understanding of GL and celestia I feel
unable to track this down on my own, although the bug is nice,
because it can be reproduced easily and doesn't disappear when running
the program from GDB.
Peter Funk, Oldenburger Str. 86, D-27777 Ganderkesee, Germany