Forums » Bugs

Floating point exception error

Feb 13, 2010 vskye link
Here's the exact error:
[1]+ Floating point exception./vendetta

The game loads up the update utility screen, and thats fine. When you click on Play Vendetta the above error shows up.

This is on a Eee PC 1201hab, with the GMA 500 Intel. 2GB of ram, running Jolicloud 32bit. (based off Jaunty)
Here's the errors.log:

wtf!archive returned 0
[Sat Feb 13 20:40:31 2010] Found driver: "OpenGL Reference GKGL driver". Type 5, Version 78.0. Load @0x09025ca0
[Sat Feb 13 20:40:31 2010] Instantiate address: 0xb7496ec0
[Sat Feb 13 20:40:31 2010] Found driver: "Open Sound System driver". Type 1, Version 8.1. Load @0x09027360
[Sat Feb 13 20:40:31 2010] Instantiate address: 0xb72f46c0
[Sat Feb 13 20:40:31 2010] Found driver: "ALSA driver". Type 1, Version 8.1. Load @0x090276c0
[Sat Feb 13 20:40:31 2010] Instantiate address: 0xb72dcea0
ALSA initialized: 44100Hz, 16bit stereo, 92ms latency (16 periods x 256 samples)
[Sat Feb 13 20:40:33 2010] load_sample_ogg: Couldn't open sound/mission.updated.ogg (mission.updated)
[Sat Feb 13 20:40:33 2010] load_sample: Couldn't open sound/mission.updated.ogg (mission.updated)
[Sat Feb 13 20:40:33 2010] load_sample_ogg: Couldn't open sound/nfz.warning.enter.ogg (nfz.warning.enter)
[Sat Feb 13 20:40:33 2010] load_sample: Couldn't open sound/nfz.warning.enter.ogg (nfz.warning.enter)
[Sat Feb 13 20:40:33 2010] load_sample_ogg: Couldn't open sound/nfz.warning.leave.ogg (nfz.warning.leave)
[Sat Feb 13 20:40:33 2010] load_sample: Couldn't open sound/nfz.warning.leave.ogg (nfz.warning.leave)
/dev/js0: No such file or directory
/dev/input/js0: No such file or directory
/dev/js1: No such file or directory
/dev/input/js1: No such file or directory
/dev/js2: No such file or directory
/dev/input/js2: No such file or directory
/dev/js3: No such file or directory
/dev/input/js3: No such file or directory
Found 0 joystick(s)
[Sat Feb 13 20:40:48 2010] Flight-Assist mode enabled.
[Sat Feb 13 20:40:48 2010] Auto-Aim enabled.

And the config.ini - note, I also tried 800x600 in window mode, didn't fly.

[refgl]
version=3
illummap=1
envmap=1
bumpmap=1
tc=0
aa_mode=0
minfilter=9987
maxfilter=9729
specular=1
windowmode=1
textureresolution=1
texturequality=32
gamma=8
def_freq=0
tfactor_hack=0
doshaders=0
xf86vidmode=1
dovertexbuffers=1
doindexbuffers=1
do_compiled_vertex_array=1
do_env_combine=1
do_extensions=1
vbl=0
normalizenormalmaps=0
shaderversion=3

[Vendetta]
version=3
sensorsort=4
AudioDriver=ALSA driver
VideoDriver=OpenGL Reference GKGL driver
xres=1366
yres=768
bpp=24

[Mouse]
xaxisinvert=0
yaxisinvert=0
sensitivity=6
mlook=1

If you need anything else, let me know.
Feb 13, 2010 raybondo link
Can you supply the openglinfo.log file?
And if you can get a location as to where the floating point exception happened (instruction pointer address or something) that would help.
Feb 13, 2010 vskye link
Sure, here it is:

[Sat Feb 13 20:40:32 2010]
Vendor: Tungsten Graphics, Inc
Renderer: Mesa DRI Intel(R) GMA500 20081116 - 5.0.1.0046 x86/MMX/SSE2
Version: 2.0 Mesa 7.4
Extensions: GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_cull_vertex GL_EXT_compiled_vertex_array GL_EXT_copy_texture GL_EXT_draw_range_elements GL_EXT_framebuffer_object GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_EXT_subtexture GL_EXT_texture GL_EXT_texture3D GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array GL_APPLE_client_storage GL_APPLE_packed_pixels GL_ATI_blend_equation_separate GL_ATI_separate_stencil GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_INGR_blend_func_separate GL_MESA_pack_invert GL_MESA_window_pos GL_NV_blend_square GL_NV_light_max_exponent GL_NV_point_sprite GL_NV_texture_rectangle GL_NV_texgen_reflection GL_OES_read_format GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SUN_multi_draw_arrays
GLU Version: 1.3
GLU Extensions: GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess
glx Extensions: GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_import_context GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_copy_sub_buffer GLX_MESA_swap_control GLX_MESA_swap_frame_usage GLX_OML_swap_method GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_visual_select_group
glx Version: 1.2
glx server Vendor: SGI
glx server Version: 1.2
glx server Extensions: GLX_ARB_multisample GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_copy_sub_buffer GLX_OML_swap_method GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_visual_select_group
glx client Vendor: SGI
glx client Version: 1.4
glx client Extensions: GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_import_context GLX_EXT_visual_info GLX_EXT_visual_rating GLX_MESA_allocate_memory GLX_MESA_copy_sub_buffer GLX_MESA_swap_control GLX_MESA_swap_frame_usage GLX_OML_swap_method GLX_OML_sync_control GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_EXT_texture_from_pixmap
GL_MAX_LIGHTS: 8
GL_MAX_CLIP_PLANES: 6
GL_MAX_MODELVIEW_STACK_DEPTH: 32
GL_MAX_PROJECTION_STACK_DEPTH: 32
GL_MAX_TEXTURE_STACK_DEPTH: 10
GL_SUBPIXEL_BITS: 4
GL_MAX_TEXTURE_SIZE: 4096
GL_MAX_PIXEL_MAP_TABLE: 256
GL_MAX_NAME_STACK_DEPTH: 64
GL_MAX_LIST_NESTING: 64
GL_MAX_EVAL_ORDER: 30
GL_MAX_VIEWPORT_DIMS: 4096
GL_MAX_ATTRIB_STACK_DEPTH: 16
GL_AUX_BUFFERS: 0
GL_RGBA_MODE: 1
GL_INDEX_MODE: 0
GL_DOUBLEBUFFER: 1
GL_STEREO: 0
GL_POINT_SIZE_RANGE: 1.000000 - 1.000000
GL_POINT_SIZE_GRANULARITY: 1.000000
GL_LINE_WIDTH_RANGE: 1.000000 - 1.000000
GL_LINE_WIDTH_GRANULARITY: 1.000000
GL_MAX_TEXTURE_UNITS: 8
GL_MAX_CUBE_MAP_TEXTURE_SIZE: 4096
GL_MAX_3D_TEXTURE_SIZE: 256
GL_MAX_ELEMENTS_VERTICES: 3000
GL_MAX_ELEMENTS_INDICES: 3000
GL_POINT_SIZE_MIN: 0.000000
GL_POINT_SIZE_MAX: 16.000000
GL_POINT_FADE_THRESHOLD_SIZE: 1.000000
GL_MAX_TEXTURE_MAX_ANISOTROPY: 16.000000
GL_SAMPLE_BUFFERS_ARB: 0
GL_SAMPLES_ARB: 0
Disabling shaders because of opengl driver bug for Intel 915/945 chipsets.
Disabling shaders because of lack of s3tc/dxtc support.
Not using vertex buffers.
Not using fences.

Edit: And heres the info from the openglerr.log

visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x21 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
Feb 14, 2010 raybondo link
Hmm. I'm not an expert on linux, but is there a way for you to be able to capture the exception to see where it is happening in vendetta? We explicitly turn off floating point exceptions and I think what is happening is that the OS or video or audio driver is turning it back on again. That's not supposed to happen, so if that is the case, there's nothing that we can do without severely degrading performance.

A floating point exception can be any number of things, including underflow, overflow, divide by zero, denormalized value, etc...
Some of which are perfectly valid and should be ignored.
Feb 14, 2010 yodaofborg link
I'm not an expert in anything, but wouldn't a stack trace do? But it's probably a driver or bad ram issue, do other 3d games work fine or not?
Feb 14, 2010 vskye link
After loading up Scorched 3D, it plays the game.. but so slowly it isn't worth it. It would have the same issues with VO also, even if it did run, apparently. Thanks anyway!
Feb 15, 2010 incarnate link
From what little reading I've done, I think jolicloud mostly focuses on enabling the hardware h264 video decoding abilities of the GMA500, rather than doing anything better with 3D (if anything better can be done, even). Wikipedia claims that Ubuntu's driver is best (without saying how), and also links to articles about a new Linux GMA500 driver in the works.

In the meantime, we can at least auto-detect the chip and configure for it, and perhaps some other workarounds. Aside from this, reasonable gameplay performance will probably have to wait until the new blobby Gallium3D driver is released.
Feb 15, 2010 raybondo link
yodaofborg, Yeah, it would, if one were generated. From the looks of the errors.log, no trace was generated, most likely because we ignore FPEs.