Game Development Community

Floating Point Exception with USB Wheel pluged in

by Heiko Irrgang · in Torque Game Engine · 05/20/2004 (11:17 pm) · 4 replies

Hello,

I got a new steering wheel, a thrustmaster enzo ffb, USB. If this wheel is plugged in when starting torque, it bails out with sdl-parachute message "Floating Point Exception".

This happens with the self compiled torqueDemo_DEBUG.bin based on current cvs, as with the binary downloaded torque demo application.

i have tried a other joystick supporting sdl application, it works without problems.

As soon as i unplug the wheel, torque starts up.

I am running linux 2.4.26. The important strace lines are:
open("/dev/input/event0", O_RDONLY) = 10
fcntl64(10, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
ioctl(10, 0x80a04521, 0xbffff410) = 64
ioctl(10, 0x80a04523, 0xbffff370) = 4
ioctl(10, 0x80a04522, 0xbffff2d0) = 4
ioctl(10, 0x80144540, 0xbffff2b0) = 0
ioctl(10, 0x80144541, 0xbffff2b0) = 0
ioctl(10, 0x80144542, 0xbffff2b0) = 0
ioctl(10, 0x8014454b, 0xbffff2b0) = 0
ioctl(10, 0x8014454c, 0xbffff2b0) = 0
ioctl(10, 0x8014454d, 0xbffff2b0) = 0
ioctl(10, 0x8014454e, 0xbffff2b0) = 0
ioctl(10, 0x8014455c, 0xbffff2b0) = 0
--- SIGFPE (Floating point exception) @ 0 (0) ---

is this known behaviour? are there any workarounds (other than running around the desk and unplugging the wheel :) )

thanx
Heiko

#1
05/21/2004 (1:28 am)
Heiko,

Have you tried running torque under a debugger (e.g. gdb) to see what torque does to possibly cause this crash?
#2
05/21/2004 (1:33 am)
Yes, but i considered it not to be very helpful. here is what gdb says:

Program received signal SIG32, Real-time event 32.
0x40238ea6 in sigsuspend () from /lib/libc.so.6
(gdb) bt
#0 0x40238ea6 in sigsuspend () from /lib/libc.so.6
#1 0x400dfdca in pthread_getconcurrency () from /lib/libpthread.so.0
#2 0xbffff460 in ?? ()
#3 0x00000020 in ?? ()
#4 0x400df611 in pthread_create () from /lib/libpthread.so.0
#5 0xbffff520 in ?? ()
#6 0x00000094 in ?? ()
#7 0x0f500855 in ?? ()
#8 0xbffff5b0 in ?? ()
#9 0x40013bf8 in ?? ()
#10 0x40013d48 in ?? ()
#11 0x400e5060 in ?? () from /lib/libpthread.so.0
#12 0x400e5060 in ?? () from /lib/libpthread.so.0
#3
05/21/2004 (1:58 am)
Aha....

forget my forum entry...

if you start that joystick sdl app i used to test without prams, it just prints out the joysticks. If you add the joystick number, it prints out the specific events of that joystick.

If i do so, i get the same floating point error with that other application, so this is a problem of sdl, not of torques. I'll report this to sdl developers.

Thanx anyway.
Heiko
#4
05/27/2004 (10:29 pm)
Just an update for anyone having the same problem:

it IS a SDL bug in versions up to 1.2.7, fixed in cvs version. So just update SDL if you have the same problem.