david@Miho:/opt/SuperMeatBoy$ ./SuperMeatBoy
Super Meat Boy: Installed in '.'.
Super Meat Boy: Using x86 version.
Segmentation fault
david@Miho:/opt/SuperMeatBoy$
It opens a large black window and then after a couple seconds, the window dies and it prints a segmentation fault.
Installed from Humble Indie Bundle #4
(supermeatboy-linux-12132011b-bin)
OS:
Debian GNU/Linux 5.0
ATI Catalyst 9.3
Pentium-M 2.0 Ghz
ATI Radeon Mobility X700
I can confirm this bug in 64-bit Ubuntu (10.04 with glibc updated to 2.14.1) as well. It insta-segfaults when using the 64 bit version, and a black window appears for a couple seconds before segfaulting when using linux32 to make it think it is 32 bit.
dopefish7590@Angelfire:~/apps/supermeatboy <('.'<)$ ./SuperMeatBoy
Super Meat Boy: Installed in '.'.
Super Meat Boy: Using amd64 version.
Segmentation fault
dopefish7590@Angelfire:~/apps/supermeatboy ^('.')^$ linux32 !!
linux32 ./SuperMeatBoy
Super Meat Boy: Installed in '.'.
Super Meat Boy: Using x86 version.
Segmentation fault
dopefish7590@Angelfire:~/apps/supermeatboy (>'.')>$ ./amd64/SuperMeatBoy-amd64
Segmentation fault
dopefish7590@Angelfire:~/apps/supermeatboy ^('.')^$ ./x86/SuperMeatBoy-x86
Segmentation fault
And here is some interesting output from strace:
mkdir("", 0700) = -1 ENOENT (No such file or directory)
mkdir("/home", 0700) = -1 EEXIST (File exists)
mkdir("/home/dopefish7590", 0700) = -1 EEXIST (File exists)
mkdir("/home/dopefish7590/.local", 0700) = -1 EEXIST (File exists)
mkdir("/home/dopefish7590/.local/share", 0700) = -1 EEXIST (File exists)
mkdir("/home/dopefish7590/.local/share/SuperMeatBoy", 0700) = -1 EEXIST (File exists)
mkdir("/home/dopefish7590/.local/share/SuperMeatBoy/UserData", 0700) = -1 EEXIST (File exists)
mkdir("/home/dopefish7590/.local/share/SuperMeatBoy/UserData/", 0700) = -1 EEXIST (File exists)
Isn't the last one supposed to be a file in the folder?
When I link something else there, 32 bit suddenly starts insta-segfaulting. Since this directly affects the behavior of the bug, I think it may be related.
Confirmed on x86 with free (ATi) graphics drivers.
Confirmed NOT HAPPENING (game runs fine) on x86_64 with proprietary nVidia graphics drivers.
Someone also mentioned using Intel graphics and experiencing this bug. Which graphics drivers are you using?
syscall traces aren't generally useful; can someone please give me a stack trace?
Run the game under gdb:
# Replace "amd64" with "x86" for the 32-bit version...
cd /where/i/installed/supermeatboy/amd64
gdb ./SuperMeatBoy-amd64
# at the gdb prompt, run the game...
r
# when it crashes, get the stack trace...
bt
# Quit gdb
q
Cut and paste the output from the "bt" command here.
Thanks!
--ryan.
Mine is pretty much identical, except it's got an extra line at the top.
[Thread 0xa3d3bb70 (LWP 3862) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb740f6d0 (LWP 3824)]
0x000010d1 in ?? ()
(gdb) bt
#0 0x000010d1 in ?? ()
#1 0x08191808 in impl_GLSL_CompileShader ()
#2 0x08193500 in MOJOSHADER_glCompileShader ()
#3 0x081c0aae in CreateOpenGLShader ()
#4 0x082a4923 in Shader::CreateShader ()
#5 0x08288f2e in FragmentLinker::GetShader ()
#6 0x081bffc9 in gfxDraw ()
#7 0x0828ab90 in TGraphics::Draw ()
#8 0x082721bf in FlashSymbol::Render ()
#9 0x08274f33 in FlashLibraryInstance::TimelineRender ()
#10 0x08275339 in FlashTimeline::Render ()
#11 0x0827543b in FlashMovieClip::Render ()
#12 0x08274f33 in FlashLibraryInstance::TimelineRender ()
#13 0x08275339 in FlashTimeline::Render ()
#14 0x0827543b in FlashMovieClip::Render ()
#15 0x0826f37e in FlashLibraryInstance::Render ()
#16 0x0810e754 in GSMBMenu::RenderTitleScreenForIntro ()
#17 0x080b49ff in GMeatHUD::Render ()
#18 0x0829bfeb in RenderLayers::Render ()
#19 0x08281b7d in TEngine::Render ()
#20 0x08281e5b in TEngine::EngineRun ()
#21 0x08281fd1 in TEngine::Run ()
#22 0x080a90be in main ()
(gdb)
Comment 12Fibonacci Prower
2011-12-15 15:39:09 EST
I'm attaching four files: an strace and an ltrace, in a system in which the game runs (64-bit, nVidia drivers) and a system in which it doesn't (32-bit, free ATi drivers).
The ltraces had to be gzipped because they were too big.
Comment 13Fibonacci Prower
2011-12-15 15:47:11 EST
(In reply to comment #15)
> And the ltraces were too big even after gzipping, so I cannot show them here.
Again, these aren't usually helpful anyhow.
--ryan.
So the consensus seems to be that this is crashing in the GLSL compiler. I suppose we could try kicking the game over to ARB programs instead of GLSL shaders and see if it helps.
--ryan.
This does not happened with 64bit of Linux and Mesa driver.
Tested on:
Ubuntu 11.10
Linux 3.1.5-030105-generic
Mesa 7.11.2
Mesa compiled by myself by -m64 option. So I dont know why 32bit get segfault while 64 bit not.
Tested on Intel GMA 4500.
The game runs fine with this graphics card and 64bit Linux and Mesa.
Thank you
This does not happened with 64bit of Linux and Mesa driver.
Tested on:
Ubuntu 11.10
Linux 3.1.5-030105-generic
Mesa 7.11.2
Mesa compiled by myself by -m64 option. So I dont know why 32bit get segfault while 64 bit not.
Tested on Intel GMA 4500.
The game runs fine with this graphics card and 64bit Linux and Mesa.
Thank you
Google search suggests that compiling mesa for 64-bit also disables the x86 assembly optimizations because some newer 64-bit CPUs no longer support the older assembly optimizations (3DNOW, MMX,etc.).. Not sure if that's still true in the latest builds of mesa, but that would explain it..
Also, as I noted in the other thread. If the user is missing hardware/driver support for the OpenGL extension in question.... It looks like Mesa is returning a non-null pointer to garbage if it was compiled with ASM optimizations, while with ASM optimizations when MESA was compiled, Mesa returns a null pointer..
The game is trying to use the extension whenever the pointer is not null, hence the crash. Mesa team says the game must always check for support of the OpenGL extension and not rely on returned pointers being NULL as a non-null pointer does not indicate hardware/driver support for the OpenGL extension.
It looks like MESA added support for GL_ARB_transform_feedback2 back in 2010... So if your graphics driver is older than 18 months *AND* you are running a 32-bit OS where your distro compiled Mesa with assembly optimizations, you will get a segfault in this game (and also Shank) until the games get patched.
The problem is that Mojoshader looks for the function called "glCreateShaderObject" which doesn't exist in OpenGL - it should be "glCreateShaderObjectARB", but it relies on the fact that glXGetProcAddress will return NULL when called with "glCreateShaderObject" so that it can append "ARB" and try again.
Mesa for some reason decides to return a non-null pointer for "glCreateShaderObject" even though it does not have this function, and segfaults.
As David said, the Mesa team say not to rely on returned pointers being NULL as an indication that the driver supports the OpenGL extension so I am not sure if this is a Mesa bug or a Mojoshader one.
david@Miho:/opt/SuperMeatBoy/x86$ ldd ./SuperMeatBoy-x86 linux-gate.so.1 => (0xb77ac000) libSDL-1.2.so.0 => /opt/SuperMeatBoy/x86/./libSDL-1.2.so.0 (0xb7717000) libopenal.so.1 => /opt/SuperMeatBoy/x86/./libopenal.so.1 (0xb76d2000) libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb769d000) libstdc++.so.6 => /opt/SuperMeatBoy/x86/./libstdc++.so.6 (0xb75da000) libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb75b4000) libgcc_s.so.1 => /opt/SuperMeatBoy/x86/./libgcc_s.so.1 (0xb759c000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7456000) libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7451000) librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7448000) /lib/ld-linux.so.2 (0xb77ad000) david@Miho:/opt/SuperMeatBoy/x86$david@Miho:/opt/SuperMeatBoy/x86$ glxinfo name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.2 server glx extensions: GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group client glx vendor string: ATI client glx version string: 1.4 client glx extensions: GLX_ARB_create_context, 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_swap_control, GLX_MESA_swap_frame_usage, GLX_NV_swap_group, 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_swap_barrier, GLX_SGIX_swap_group, GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap GLX version: 1.2 GLX extensions: GLX_ARB_create_context, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_swap_control, GLX_NV_swap_group, GLX_OML_swap_method, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_swap_barrier, GLX_SGIX_swap_group, GLX_SGIX_visual_select_group OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI MOBILITY RADEON X700 OpenGL version string: 2.1.8543 Release OpenGL extensions: GL_AMD_performance_monitor, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_map_buffer_range, 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_shadow_ambient, 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_float, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_ATI_draw_buffers, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_meminfo, GL_ATI_separate_stencil, GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3, GL_ATI_texture_float, 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_compiled_vertex_array, GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object, GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, GL_EXT_point_parameters, 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_texgen_reflection, GL_EXT_texture3D, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 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_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_swizzle, GL_EXT_vertex_array, GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_texgen_reflection, GL_SGIS_generate_mipmap, GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_WIN_swap_hint, WGL_EXT_swap_control 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 ---------------------------------------------------------------------- 0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x24 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x25 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x26 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x27 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x28 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x29 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x2a 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x2b 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x2c 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x2d 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x2e 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x2f 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 2 1 None 0x30 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 2 1 None 0x31 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 2 1 None 0x32 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 2 1 None 0x33 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x34 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x35 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x36 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x37 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 4 1 None 0x38 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 4 1 None 0x39 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 4 1 None 0x3a 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 4 1 None 0x3b 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x3c 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x3d 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x3e 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x3f 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 6 1 None 0x40 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 6 1 None 0x41 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 6 1 None 0x42 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 6 1 None 0x43 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x44 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x45 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x46 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x47 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None 0x48 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None 0x49 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None 0x4a 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None 0x4b 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x4c 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x4d 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x4e 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x4f 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x50 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x51 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x52 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None 0x53 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x54 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x55 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x56 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x57 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 2 1 None 0x58 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 2 1 None 0x59 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 2 1 None 0x5a 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 2 1 None 0x5b 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x5c 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x5d 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x5e 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x5f 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 4 1 None 0x60 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 4 1 None 0x61 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 4 1 None 0x62 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 4 1 None 0x63 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x64 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x65 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x66 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x67 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 6 1 None 0x68 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 6 1 None 0x69 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 6 1 None 0x6a 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 6 1 None 0x6b 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x6c 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None 0x6d 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x6e 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 None 0x6f 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None 0x70 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None 0x71 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None 0x72 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None 0x85 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 4 1 Ncon david@Miho:/opt/SuperMeatBoy/x86$I can confirm this bug in 64-bit Ubuntu (10.04 with glibc updated to 2.14.1) as well. It insta-segfaults when using the 64 bit version, and a black window appears for a couple seconds before segfaulting when using linux32 to make it think it is 32 bit. dopefish7590@Angelfire:~/apps/supermeatboy <('.'<)$ ./SuperMeatBoy Super Meat Boy: Installed in '.'. Super Meat Boy: Using amd64 version. Segmentation fault dopefish7590@Angelfire:~/apps/supermeatboy ^('.')^$ linux32 !! linux32 ./SuperMeatBoy Super Meat Boy: Installed in '.'. Super Meat Boy: Using x86 version. Segmentation fault dopefish7590@Angelfire:~/apps/supermeatboy (>'.')>$ ./amd64/SuperMeatBoy-amd64 Segmentation fault dopefish7590@Angelfire:~/apps/supermeatboy ^('.')^$ ./x86/SuperMeatBoy-x86 Segmentation fault And here is some interesting output from strace: mkdir("", 0700) = -1 ENOENT (No such file or directory) mkdir("/home", 0700) = -1 EEXIST (File exists) mkdir("/home/dopefish7590", 0700) = -1 EEXIST (File exists) mkdir("/home/dopefish7590/.local", 0700) = -1 EEXIST (File exists) mkdir("/home/dopefish7590/.local/share", 0700) = -1 EEXIST (File exists) mkdir("/home/dopefish7590/.local/share/SuperMeatBoy", 0700) = -1 EEXIST (File exists) mkdir("/home/dopefish7590/.local/share/SuperMeatBoy/UserData", 0700) = -1 EEXIST (File exists) mkdir("/home/dopefish7590/.local/share/SuperMeatBoy/UserData/", 0700) = -1 EEXIST (File exists) Isn't the last one supposed to be a file in the folder? When I link something else there, 32 bit suddenly starts insta-segfaulting. Since this directly affects the behavior of the bug, I think it may be related.Created attachment 3032 [details] strace Debian Lenny strace Debian LennyCreated attachment 3033 [details] strace Debian Lenny strace Debian LennyCreated attachment 3041 [details] ltrace I think it is more because of this: open("resources/Shaders/F8F5D6A5.bin", O_RDONLY) = 11 fstat64(11, {st_mode=S_IFREG|0644, st_size=320, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x9e0d0000 read(11, "\0\2\377\377\376\3778\0CTAB\34\0\0\0\253\0\0\0\0\2\377\377\3\0\0\0\34\0\0\0\0"..., 4096) = 320 read(11, ""..., 4096) = 0 close(11) = 0 munmap(0x9e0d0000, 4096) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- Also, attached ltraceCreated attachment 3044 [details] non-working strace strace on a system in which SMB segfaults.Created attachment 3045 [details] working strace strace on a system in which SMB runs fine.