Ogre always segfault at exit (Since 0.14.0 to latest Hastur)

Problems building or running the engine, queries about how to use features etc.
Post Reply
kabutor
Gnoblar
Posts: 18
Joined: Thu Mar 18, 2004 1:50 am
Location: Spain and Olé

Ogre always segfault at exit (Since 0.14.0 to latest Hastur)

Post by kabutor »

Hi

We insert ogre in a game, and now we can use an external sdl interface and "fire up" Ogre for the 3D part of the game, unload Ogre and keeps with the SDL interface and so, but we encountered a problem some time ago, Ogre segfault at exit almost always.

For other user, with ATI+ DRI drivers it works fine when we switch Ogre to GLX inestead of SDL, but for me keeps segfaulting always Id just wait to test with latest ATI drivers, but it keeps the same.

So Im just curious to see if someone else is having a segafaul at exit or if I can try a workaround.

Just to clarify, this dont happen only with our game, all the Ogre Samples segfault at exit, something I never really care about, until now :(

Anyone else with ATI + Linux with same problems?

Thx
JoSch
Gnoblar
Posts: 12
Joined: Mon Mar 15, 2004 11:46 am

Post by JoSch »

Yes, it kicks us, too.
But I have a NVidia card, so it seems not to be card specific, but GLX specific.
It seems, that when you quit SDL before ending Ogre, that is before returning false in frameEnded, it doesn't segfault.
But that is no option for you, but it's a hint where the problem lies.


Bye JoSch.
Member of Team Pantheon: Maker of Noise and Flashing Lights, Caretaker of Penguins.
kabutor
Gnoblar
Posts: 18
Joined: Thu Mar 18, 2004 1:50 am
Location: Spain and Olé

Post by kabutor »

Its not GLX specific also, because with Ogre-SDL happens the same, but it also segfaults in the DRI + ATI computer, we switched to GLX Ogre just to avoid the segfault, but in my computer, and probably in a lot more have still the segfault.

Thx for the comments ;)
JoSch
Gnoblar
Posts: 12
Joined: Mon Mar 15, 2004 11:46 am

Post by JoSch »

Ooops, I just misread your message, indeed it is Ogre specific.
Member of Team Pantheon: Maker of Noise and Flashing Lights, Caretaker of Penguins.
User avatar
_mental_
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 419
Joined: Mon Jan 27, 2003 11:51 pm
Location: The Woodlands, TX
Contact:

Post by _mental_ »

The only time that I've come across this problem is when SDL_Quit() has been called and then glDeleteFragmentShaderATI or glDeleteBuffersARB is called sometime after. About 6 months ago I went through and re-ordered the shutdown so that this wasn't a problem anymore, but I haven't been able to test the problem since I switched from using my ATI 9500 to an NVidia 6800 a few months back.

Looking through the shutdown code it looks like SDL_Quit() is being called correctly from inside of the GL rendersystem, but its also possible that another glDelete* function is causing this.

I'd appreciate it if someone with an ATI card could look into this further.

@JoSch: I'll look into the shutdown GLX issue you are experiencing with NVidia.
kabutor
Gnoblar
Posts: 18
Joined: Thu Mar 18, 2004 1:50 am
Location: Spain and Olé

Post by kabutor »

_mental_ wrote:I switched from using my ATI 9500 to an NVidia 6800 a few months back.
You are a lucky man, I swear not to look at ATI never more..

But, In the meanwhile, Ive made some fresh cvs hastur checkout + some kernel 2.6 updates and seems like if the segfault at exit dissapears, now I have a problem starting the Ogre demos if I compile Ogre with GLX, I see the GLX preferences window and whatever option I choose it segfault and drop me back to console..

Gdb didnt show nothing to me Im afraid..

Code: Select all

Parsing material script: Example.material
Parsing material script: Examples-Advanced.material

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 8797)]
0x00000242 in ?? ()
(gdb) bt
#0  0x00000242 in ?? ()
#1  0x40c4c4c3 in ?? ()
#2  0x00000001 in ?? ()
#3  0x088bd448 in ?? ()
#4  0x00000001 in ?? ()
#5  0x088bd458 in ?? ()
#6  0x4088e9c0 in __after_morecore_hook () from /lib/libc.so.6
#7  0x00000048 in ?? ()
#8  0x00000006 in ?? ()
#9  0x4023f820 in ?? () from /usr/local/lib/libOgreMain.so.4
#10 0x00000048 in ?? ()
#11 0x088bd458 in ?? ()
#12 0xbfffe6a8 in ?? ()
(gdb) 
Post Reply