[no bug]Random floating point exception

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
Post Reply
doomware
Posts: 2
Joined: Wed Jul 06, 2011 12:52 pm

[no bug]Random floating point exception

Post by doomware »

Hi everyone,

We are currently developping a kind of video game with Irrlicht 1.7.2.
It uses quite a lot of graphic features of the library : meshes, billboards, skybox...

Most of the time it runs quite well, but sometimes a 'floating point exception' pops and kills the process.

Here is the backtrace given by gdb when it happens:
Program received signal SIGFPE, Arithmetic exception.
0x0085c4f6 in ?? () from /usr/lib/dri/i965_dri.so
Missing separate debuginfos, use: debuginfo-install expat-2.0.1-10.fc13.i686 glibc-2.12-3.i686 libX11-1.3.1-3.fc13.i686 libXau-1.0.5-1.fc12.i686 libXcursor-1.1.10-4.fc13.i686 libXdamage-1.1.2-2.fc13.i686 libXext-1.1-2.fc13.i686 libXfixes-4.0.4-2.fc13.i686 libXrender-0.9.5-1.fc13.i686 libXxf86vm-1.1.0-1.fc13.i686 libdrm-2.4.20-1.fc13.i686 libgcc-4.4.4-2.fc13.i686 libselinux-2.0.90-5.fc13.i686 libstdc++-4.4.4-2.fc13.i686 libxcb-1.5-1.fc13.i686 mesa-dri-drivers-7.8.1-6.fc13.i686 mesa-libGL-7.8.1-6.fc13.i686
(gdb) back
#0 0x0085c4f6 in ?? () from /usr/lib/dri/i965_dri.so
#1 0x0085d00e in ?? () from /usr/lib/dri/i965_dri.so
#2 0x008a199d in ?? () from /usr/lib/dri/i965_dri.so
#3 0x050360ef in glBufferSubDataARB () from /usr/lib/libGL.so.1
#4 0x0810a031 in irr::video::COpenGLExtensionHandler::extGlBufferSubData(unsigned int, int, int, void const*) ()
#5 0x08101a56 in irr::video::COpenGLDriver::updateIndexHardwareBuffer (this=0x86f4bd0, HWBuffer=0x9513180) at COpenGLDriver.cpp:1065
#6 0x08101c5e in irr::video::COpenGLDriver::updateHardwareBuffer (this=0x86f4bd0, HWBuffer=0x9513180) at COpenGLDriver.cpp:1114
#7 0x08101ec6 in irr::video::COpenGLDriver::drawHardwareBuffer (this=0x86f4bd0, _HWBuffer=0x9513180) at COpenGLDriver.cpp:1187
#8 0x080f9c18 in irr::video::CNullDriver::drawMeshBuffer (this=0x86f4bd0, mb=0x9512c20) at CNullDriver.cpp:1467
#9 0x080d113a in irr::scene::CTerrainSceneNode::render (this=0x95f77d8) at CTerrainSceneNode.cpp:734
#10 0x080bbf11 in irr::scene::CSceneManager::drawAll (this=0x8733700) at CSceneManager.cpp:1469
#11 0x0804d44e in IrrGraphics::IrrDevice::run (this=0xbffff594) at IrrDevice.cpp:62
#12 0x0804d4db in main () at IrrDevice.cpp:79
From this log we assumed that the bug could come from the video driver, but as we are unsure of the cause of this error.
It can occur at any moment. Sometimes it pops out, sometime not, after running 15 seconds or after 15 minutes.

Please note that the computers we use to develop this game are owned by our university.
Therefore we do not have the permissions to perform any software update, such as video driver update.

This is the configuration we use at our university:
Fedora 13 x86 (kernel 2.6.33.6-147.2.4.fc13.i686.PAE)
Intel Core 2 Duo / Intel GMA chipset

Any lead or workaround to resolve this issue would be appreciated.

Thank you for your answers.
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: Random floating point exception

Post by hendu »

Yes, it looks like a bug in mesa. Your drivers are over a year old.

As long as you can compile, you can install the latest mesa to your home directory, and run your app with that driver.

make DESTDIR=~/mesa install # after configuring mesa and typing make

To run your app against this new driver:
LD_LIBRARY_PATH=~/mesa/lib LIBGL_DRIVERS_PATH=~/mesa/lib/dri myapp
doomware
Posts: 2
Joined: Wed Jul 06, 2011 12:52 pm

Re: Random floating point exception

Post by doomware »

Hi hendu,

Thank you for your reply.
I'm going to try your suggestion tomorrow when I go back to school, as I only have a virtual machine available (without gfx acceleration) at home.
Post Reply