Forums » General StepMania » Stepmania 5 beta 4a crashes with Cyberia Style

Hello Stepmania users! \^o^/

I have troubles to get Stepmania 5 beta 4a (or beta 4) to work with both Cyberia Style 7 or 8 (2 famous themes for SM): the games chrashes no matter what.

I build Stepmania from sources on Linux (OpenSUSE Tumbleweed 64 bits); it compiles successfully and I can run the game with default theme. Ok then.

But when I select Cyberia Style 7 theme, I can access to main menue, but no more: the game crashes if I go further, due to segmentation fault. And with Cyberia Style 8 theme selected, the game crashes directly at launch, due to segmentation fault again. Please find the crash logs attached at the end of the post.

I have tried different compilation options (remove optimizations, debug mode, etc.), but the result is allways the same.

Previously, with older version of my OS (OpenSUSE 12.2) and Stepmania 5 (beta 2 something), both Cyberia Style 7 and 8 were usable and I was really enjoying Stepmania experience on Linux... What I have noticed from beta 2 to beta 4a, is that Lua theme-related errors are now displayed on top part of the screen. Some of those errors appears in the logs.

I wanted to create an issue on Stepmania bug tracker, but this action is forbidden for me é_è ...

Any of you have had troubles like this one?

Then, could you give me some advise ? Feel free to ask me any details on my configuration.

Thank you steppers!

--

Crashlog with Cybera Style 7:
StepMania v5.0 beta 4a crash report (build 8, 20141122 @ 19:12:23 CET (UTC+01:00))

--------------------------------------

Architecture: Unix
Crash reason: Segmentation fault - address not mapped at 0x0000000000006161
Crashed thread: Main thread

Checkpoints:
Thread: Main thread
RageTextureManager.cpp:134 RageTextureManager::LoadTexture(/Themes/CyberiaStyle7/BGAnimations/_shared models/_box_s/gr3.png).
RageTextureManager.cpp:134 RageTextureManager::LoadTexture(/Themes/CyberiaStyle7/BGAnimations/_movie/111.avi).
MovieTexture_Generic.cpp:188
MovieTexture_FFMpeg.cpp:213
MovieTexture_FFMpeg.cpp:264
Thread: Decode thread
RageSoundDriver_Generic_Software.cpp:204
RageSoundDriver_Generic_Software.cpp:204
RageSoundDriver_Generic_Software.cpp:204
RageSoundDriver_Generic_Software.cpp:204
RageSoundDriver_Generic_Software.cpp:204
Thread: Music thread
Thread: Worker thread (MemoryCardWorker)
Thread: Worker thread (/@mc1int/)
Thread: Worker thread (/@mc2int/)

Thread: Main thread
00007f5ed205f001:
00007f5ed2a1059c:
00000000008e11ea: MovieDecoder_FFMpeg::DecodeFrame(float)
00000000008ded0e: MovieTexture_Generic::Init()
00007f5ecf54797e:
00007f5ecf547a0c:
0000000000aa83f6: (exe)
0000000000adfbdb: ActorFrame::LoadFromNode(XNode const*)
0000000000aab33d: RageMutex::Unlock()
0000000000b7ef30: LuaManager::Release(lua_State*&)
0000000000afffe4: ActorUtil::LoadFromNode(XNode const*, Actor*)
0000000000aab33d: RageMutex::Unlock()
0000000000b7ef30: LuaManager::Release(lua_State*&)
0000000000adfbdb: ActorFrame::LoadFromNode(XNode const*)
0000000000850f60: ScreenDimensions::GetScreenHeight()
0000000000afffe4: ActorUtil::LoadFromNode(XNode const*, Actor*)
0000000000b85313: std::_Rb_tree<lua_State*, std::pair<lua_State* const, bool>, std::_Select1st<std::pair<lua_State* const, bool> >, std::less<lua_State*>, std::allocator<std::pair<lua_State* const, bool> > >::_M_erase(std::_Rb_tree_node<std::pair<lua_State* const, bool> >*)
0000000000afe750: ActorUtil::MakeActor(StdString::CStdStr<char> const&, Actor*)
0000000000a708f0: RageLog::Trace(char const*, ...)
00007f5ecec43fc0:

Static log:
StepMania v5.0 beta 4a
Compiled 20141122 @ 19:12:23 CET (UTC+01:00) (build 8)
Log starting 2014-11-22 20:26:00
Loading window: gtk
OS: Linux ver 031606
Crash backtrace component: x86 custom backtrace
Crash lookup component: dladdr
Crash demangle component: cxa_demangle
Runtime library: glibc 2.19
Threads library: NPTL 2.19
libavcodec: 0x374564 (3622244)
TLS is available
ALSA: Advanced Linux Sound Architecture Driver Version k3.16.6-2-desktop.
ALSA Driver: 0: HDA Intel MID [MID], device 0: VT1828S Analog [VT1828S Analog], 0/1 subdevices avail
ALSA Driver: 0: HDA Intel MID [MID], device 2: VT1828S Alt Analog [VT1828S Alt Analog], 1/1 subdevices avail
ALSA Driver: 0: HDA Intel MID [MID], device 3: VT1828S Digital [VT1828S Digital], 1/1 subdevices avail
ALSA Driver: 1: HDA ATI HDMI [HDMI], device 3: HDMI 0 [HDMI 0], 1/1 subdevices avail
ALSA: dsnd_pcm_hw_params_set_access: Invalid argument
Couldn't load driver ALSA-sw: SetHWParams failed
Couldn't load driver OSS: RageSoundDriver_OSS: Couldn't open /dev/dsp: No such file or directory
Couldn't load driver JACK: Couldn't connect to JACK server
Sound driver: Pulse
Lights driver: SystemMessage
Lights driver: Export
Video renderers: 'opengl'
Display: :0 (screen 0)
X server vendor: The X.Org Foundation [1.16.1.0]
Server GLX vendor: SGI [1.4]
Client GLX vendor: Mesa Project and SGI [1.4]
Paletted textures disabled: GL_EXT_paletted_texture missing.
Direct rendering: yes
OGL Vendor: X.Org
OGL Renderer: Gallium 0.4 on AMD CYPRESS
OGL Version: 3.0 Mesa 10.3.0
OGL Max texture size: 16384
OGL Texture units: 8
GLU Version: 1.3
OGL Extensions:
GL_AMD: conservative_depth, draw_buffers_blend, seamless_cubemap_per_texture, shader_stencil_export,
shader_trinary_minmax
GL_APPLE: packed_pixels, vertex_array_object
GL_ARB: ES2_compatibility, ES3_compatibility, base_instance, blend_func_extended, buffer_storage,
clear_buffer_object, color_buffer_float, compressed_texture_pixel_storage, conservative_depth, copy_buffer,
debug_output, depth_buffer_float, depth_clamp, depth_texture, derivative_control, draw_buffers,
draw_buffers_blend, draw_elements_base_vertex, draw_instanced, explicit_attrib_location,
explicit_uniform_location, fragment_coord_conventions, fragment_program, fragment_program_shadow,
fragment_shader, framebuffer_object, framebuffer_sRGB, get_program_binary, half_float_pixel,
half_float_vertex, instanced_arrays, internalformat_query, invalidate_subdata, map_buffer_alignment,
map_buffer_range, multi_bind, multisample, multitexture, occlusion_query, occlusion_query2,
pixel_buffer_object, point_parameters, point_sprite, provoking_vertex, robustness, sampler_objects,
seamless_cube_map, seamless_cubemap_per_texture, separate_shader_objects, shader_bit_encoding, shader_objects,
shader_stencil_export, shader_texture_lod, shading_language_100, shading_language_420pack,
shading_language_packing, shadow, stencil_texturing, sync, texture_barrier, texture_border_clamp,
texture_compression, texture_compression_bptc, texture_compression_rgtc, texture_cube_map,
texture_cube_map_array, texture_env_add, texture_env_combine, texture_env_crossbar, texture_env_dot3,
texture_float, texture_gather, texture_mirror_clamp_to_edge, texture_mirrored_repeat, texture_multisample,
texture_non_power_of_two, texture_query_levels, texture_query_lod, texture_rectangle, texture_rg,
texture_rgb10_a2ui, texture_storage, texture_storage_multisample, texture_swizzle, timer_query,
transform_feedback2, transform_feedback3, transform_feedback_instanced, transpose_matrix,
uniform_buffer_object, vertex_array_bgra, vertex_array_object, vertex_attrib_binding, vertex_buffer_object,
vertex_program, vertex_shader, vertex_type_10f_11f_11f_rev, vertex_type_2_10_10_10_rev, window_pos
GL_ATI: blend_equation_separate, draw_buffers, separate_stencil, texture_compression_3dc, texture_env_combine3,
texture_float, texture_mirror_once
GL_EXT: abgr, bgra, blend_color, blend_equation_separate, blend_func_separate, blend_minmax, blend_subtract,
compiled_vertex_array, copy_texture, draw_buffers2, draw_instanced, draw_range_elements, fog_coord,
framebuffer_blit, framebuffer_multisample, framebuffer_multisample_blit_scaled, framebuffer_object,
framebuffer_sRGB, gpu_program_parameters, multi_draw_arrays, packed_depth_stencil, packed_float,
packed_pixels, pixel_buffer_object, point_parameters, polygon_offset, provoking_vertex, rescale_normal,
secondary_color, separate_specular_color, shader_integer_mix, shadow_funcs, stencil_two_side, stencil_wrap,
subtexture, texture, texture3D, texture_array, texture_compression_latc, texture_compression_rgtc,
texture_cube_map, texture_edge_clamp, texture_env_add, texture_env_combine, texture_env_dot3,
texture_filter_anisotropic, texture_integer, texture_lod_bias, texture_mirror_clamp, texture_object,
texture_rectangle, texture_sRGB, texture_sRGB_decode, texture_shared_exponent, texture_snorm, texture_swizzle,
timer_query, transform_feedback, vertex_array, vertex_array_bgra
GL_IBM: multimode_draw_arrays, rasterpos_clip, texture_mirrored_repeat
GL_INGR_blend_func_separate
GL_KHR_debug
GL_MESA: pack_invert, texture_signed_rgba, window_pos
GL_NV: blend_square, conditional_render, depth_clamp, fog_distance, light_max_exponent, packed_depth_stencil,
primitive_restart, texgen_reflection, texture_barrier, texture_env_combine4, texture_rectangle, vdpau_interop
GL_OES: EGL_image, read_format
GL_SGIS: generate_mipmap, texture_border_clamp, texture_edge_clamp, texture_lod
GL_SUN_multi_draw_arrays
OpenGL Windowed 854x480 16 color 16 texture 60Hz Vsync SmoothLines
LinuxEvent: Couldn't open /dev/input/event0: Permission denied.
LinuxEvent: Couldn't open /dev/input/event1: Permission denied.
LinuxEvent: Couldn't open /dev/input/event2: Permission denied.
LinuxEvent: Couldn't open /dev/input/event3: Permission denied.
LinuxEvent: Couldn't open /dev/input/event4: Permission denied.
LinuxEvent: Couldn't open /dev/input/event5: Permission denied.
LinuxEvent: Couldn't open /dev/input/event6: Permission denied.
LinuxEvent: Couldn't open /dev/input/event7: Permission denied.
LinuxEvent: Couldn't open /dev/input/event8: Permission denied.
LinuxEvent: Couldn't open /dev/input/event9: Permission denied.
LinuxEvent: Couldn't open /dev/input/event10: Permission denied.
LinuxEvent: Couldn't open /dev/input/event11: Permission denied.
LinuxEvent: Couldn't open /dev/input/event12: Permission denied.
WARNING: Error playing command: /Themes/CyberiaStyle7/Graphics/ScreenWithMenuElements Help.lua:6: calling 'SetTipsColonSeparated' on bad self (string expected, got nil)
WARNING: [C]: SetTipsColonSeparated( = (null))
WARNING: /Themes/CyberiaStyle7/Graphics/ScreenWithMenuElements Help.lua:6: f1(self = (null),s = (null))
WARNING: /Themes/_fallback/Scripts/02 ActorDef.lua:25: unknown(arg = (null))
WARNING: Error playing command: /Themes/CyberiaStyle7/Graphics/ScreenWithMenuElements Help.lua:6: calling 'SetTipsColonSeparated' on bad self (string expected, got nil)
WARNING: [C]: SetTipsColonSeparated( = (null))
WARNING: /Themes/CyberiaStyle7/Graphics/ScreenWithMenuElements Help.lua:6: f1(self = (null),s = (null))
WARNING: /Themes/_fallback/Scripts/02 ActorDef.lua:25: unknown(arg = (null))
Mixing underruns: 1
Players joined: P1, P2
Language: en
Current renderer: OpenGL
Theme: CyberiaStyle7

Partial log:
00:26.806: gluBuild2DMipmaps (format GL_RGB5_A1, 32x32, format GL_RGBA, type GL_UNSIGNED_BYTE, pixfmt 3, imgpixfmt 0)
00:26.806: RageBitmapTexture: Loaded '/Themes/CyberiaStyle7/BGAnimations/_shared models/_box_s/gr3.png' (32x32); RGB5A1 opaque stretch, source 32,32; image 32,32.
00:26.807: Movie /Themes/CyberiaStyle7/BGAnimations/_movie/111.avi has handler 'DX50', type 'divx'
00:26.807: Initializing driver: FFMpeg
00:26.807: MovieTexture_Generic::MovieTexture_Generic(/Themes/CyberiaStyle7/BGAnimations/_movie/111.avi)
00:26.810: Opening codec mpeg4
00:26.811: Bitrate: 1611160
00:26.811: Codec pixel format: yuv420p
00:26.811: Texture pixel format: 1 0 (32bpp, 000000ff 0000ff00 00ff0000 ff000000)
00:26.811: glTexImage2D (format GL_RGBA8, 428x480, format GL_RGBA, type GL_UNSIGNED_BYTE, pixfmt 0, imgpixfmt 0)

-- End of report


Crashlog with Cyberia Style 8:
StepMania v5.0 beta 4a crash report (build 8, 20141122 @ 19:12:23 CET (UTC+01:00))

--------------------------------------

Architecture: Unix
Crash reason: Segmentation fault - address not mapped at 0x00000000fffffff7
Crashed thread: Main thread

Checkpoints:
Thread: Main thread
RageTextureManager.cpp:134 RageTextureManager::LoadTexture(/Themes/_fallback/Graphics/_blank.png).
RageTextureManager.cpp:134 RageTextureManager::LoadTexture(/Themes/CyberiaStyle8/BGAnimations/_movie/_default_back.avi).
MovieTexture_Generic.cpp:188
MovieTexture_FFMpeg.cpp:213
MovieTexture_FFMpeg.cpp:264
Thread: Decode thread
Thread: Music thread
Thread: Worker thread (MemoryCardWorker)
Thread: Worker thread (/@mc1int/)
Thread: Worker thread (/@mc2int/)

Thread: Main thread
00007fa2486535b4:
00007fa24ba7452c:
00007fa24ba7452c:
00007fa24ba6e0b9:
00007fa24c41f59c:
00000000008e11ea: MovieDecoder_FFMpeg::DecodeFrame(float)
00000000008ded0e: MovieTexture_Generic::Init()
00007fa248f5697e:
00007fa248f56a0c:
0000000000aa83f6: (exe)
0000000000adfbdb: ActorFrame::LoadFromNode(XNode const*)
0000000000850f60: ScreenDimensions::GetScreenHeight()
0000000000afffe4: ActorUtil::LoadFromNode(XNode const*, Actor*)
0000000000b85313: std::_Rb_tree<lua_State*, std::pair<lua_State* const, bool>, std::_Select1st<std::pair<lua_State* const, bool> >, std::less<lua_State*>, std::allocator<std::pair<lua_State* const, bool> > >::_M_erase(std::_Rb_tree_node<std::pair<lua_State* const, bool> >*)
0000000000afe750: ActorUtil::MakeActor(StdString::CStdStr<char> const&, Actor*)
0000000000a708f0: RageLog::Trace(char const*, ...)
00007fa248652fc0:
00000000007fa248: (exe)
00000000007fa248: (exe)

Static log:
StepMania v5.0 beta 4a
Compiled 20141122 @ 19:12:23 CET (UTC+01:00) (build 8)
Log starting 2014-11-22 20:34:12
Loading window: gtk
OS: Linux ver 031606
Crash backtrace component: x86 custom backtrace
Crash lookup component: dladdr
Crash demangle component: cxa_demangle
Runtime library: glibc 2.19
Threads library: NPTL 2.19
libavcodec: 0x374564 (3622244)
TLS is available
WARNING: GetPreference: unknown preference "PercentScoreWeightW1"
WARNING: GetPreference: unknown preference "GradeWeightW1"
ALSA: Advanced Linux Sound Architecture Driver Version k3.16.6-2-desktop.
ALSA Driver: 0: HDA Intel MID [MID], device 0: VT1828S Analog [VT1828S Analog], 0/1 subdevices avail
ALSA Driver: 0: HDA Intel MID [MID], device 2: VT1828S Alt Analog [VT1828S Alt Analog], 1/1 subdevices avail
ALSA Driver: 0: HDA Intel MID [MID], device 3: VT1828S Digital [VT1828S Digital], 1/1 subdevices avail
ALSA Driver: 1: HDA ATI HDMI [HDMI], device 3: HDMI 0 [HDMI 0], 1/1 subdevices avail
ALSA: dsnd_pcm_hw_params_set_access: Invalid argument
Couldn't load driver ALSA-sw: SetHWParams failed
Couldn't load driver OSS: RageSoundDriver_OSS: Couldn't open /dev/dsp: No such file or directory
Couldn't load driver JACK: Couldn't connect to JACK server
Sound driver: Pulse
Lights driver: SystemMessage
Lights driver: Export
Video renderers: 'opengl'
Display: :0 (screen 0)
X server vendor: The X.Org Foundation [1.16.1.0]
Server GLX vendor: SGI [1.4]
Client GLX vendor: Mesa Project and SGI [1.4]
Paletted textures disabled: GL_EXT_paletted_texture missing.
Direct rendering: yes
OGL Vendor: X.Org
OGL Renderer: Gallium 0.4 on AMD CYPRESS
OGL Version: 3.0 Mesa 10.3.0
OGL Max texture size: 16384
OGL Texture units: 8
GLU Version: 1.3
OGL Extensions:
GL_AMD: conservative_depth, draw_buffers_blend, seamless_cubemap_per_texture, shader_stencil_export,
shader_trinary_minmax
GL_APPLE: packed_pixels, vertex_array_object
GL_ARB: ES2_compatibility, ES3_compatibility, base_instance, blend_func_extended, buffer_storage,
clear_buffer_object, color_buffer_float, compressed_texture_pixel_storage, conservative_depth, copy_buffer,
debug_output, depth_buffer_float, depth_clamp, depth_texture, derivative_control, draw_buffers,
draw_buffers_blend, draw_elements_base_vertex, draw_instanced, explicit_attrib_location,
explicit_uniform_location, fragment_coord_conventions, fragment_program, fragment_program_shadow,
fragment_shader, framebuffer_object, framebuffer_sRGB, get_program_binary, half_float_pixel,
half_float_vertex, instanced_arrays, internalformat_query, invalidate_subdata, map_buffer_alignment,
map_buffer_range, multi_bind, multisample, multitexture, occlusion_query, occlusion_query2,
pixel_buffer_object, point_parameters, point_sprite, provoking_vertex, robustness, sampler_objects,
seamless_cube_map, seamless_cubemap_per_texture, separate_shader_objects, shader_bit_encoding, shader_objects,
shader_stencil_export, shader_texture_lod, shading_language_100, shading_language_420pack,
shading_language_packing, shadow, stencil_texturing, sync, texture_barrier, texture_border_clamp,
texture_compression, texture_compression_bptc, texture_compression_rgtc, texture_cube_map,
texture_cube_map_array, texture_env_add, texture_env_combine, texture_env_crossbar, texture_env_dot3,
texture_float, texture_gather, texture_mirror_clamp_to_edge, texture_mirrored_repeat, texture_multisample,
texture_non_power_of_two, texture_query_levels, texture_query_lod, texture_rectangle, texture_rg,
texture_rgb10_a2ui, texture_storage, texture_storage_multisample, texture_swizzle, timer_query,
transform_feedback2, transform_feedback3, transform_feedback_instanced, transpose_matrix,
uniform_buffer_object, vertex_array_bgra, vertex_array_object, vertex_attrib_binding, vertex_buffer_object,
vertex_program, vertex_shader, vertex_type_10f_11f_11f_rev, vertex_type_2_10_10_10_rev, window_pos
GL_ATI: blend_equation_separate, draw_buffers, separate_stencil, texture_compression_3dc, texture_env_combine3,
texture_float, texture_mirror_once
GL_EXT: abgr, bgra, blend_color, blend_equation_separate, blend_func_separate, blend_minmax, blend_subtract,
compiled_vertex_array, copy_texture, draw_buffers2, draw_instanced, draw_range_elements, fog_coord,
framebuffer_blit, framebuffer_multisample, framebuffer_multisample_blit_scaled, framebuffer_object,
framebuffer_sRGB, gpu_program_parameters, multi_draw_arrays, packed_depth_stencil, packed_float,
packed_pixels, pixel_buffer_object, point_parameters, polygon_offset, provoking_vertex, rescale_normal,
secondary_color, separate_specular_color, shader_integer_mix, shadow_funcs, stencil_two_side, stencil_wrap,
subtexture, texture, texture3D, texture_array, texture_compression_latc, texture_compression_rgtc,
texture_cube_map, texture_edge_clamp, texture_env_add, texture_env_combine, texture_env_dot3,
texture_filter_anisotropic, texture_integer, texture_lod_bias, texture_mirror_clamp, texture_object,
texture_rectangle, texture_sRGB, texture_sRGB_decode, texture_shared_exponent, texture_snorm, texture_swizzle,
timer_query, transform_feedback, vertex_array, vertex_array_bgra
GL_IBM: multimode_draw_arrays, rasterpos_clip, texture_mirrored_repeat
GL_INGR_blend_func_separate
GL_KHR_debug
GL_MESA: pack_invert, texture_signed_rgba, window_pos
GL_NV: blend_square, conditional_render, depth_clamp, fog_distance, light_max_exponent, packed_depth_stencil,
primitive_restart, texgen_reflection, texture_barrier, texture_env_combine4, texture_rectangle, vdpau_interop
GL_OES: EGL_image, read_format
GL_SGIS: generate_mipmap, texture_border_clamp, texture_edge_clamp, texture_lod
GL_SUN_multi_draw_arrays
OpenGL Windowed 854x480 16 color 16 texture 60Hz Vsync SmoothLines
LinuxEvent: Couldn't open /dev/input/event0: Permission denied.
LinuxEvent: Couldn't open /dev/input/event1: Permission denied.
LinuxEvent: Couldn't open /dev/input/event2: Permission denied.
LinuxEvent: Couldn't open /dev/input/event3: Permission denied.
LinuxEvent: Couldn't open /dev/input/event4: Permission denied.
LinuxEvent: Couldn't open /dev/input/event5: Permission denied.
LinuxEvent: Couldn't open /dev/input/event6: Permission denied.
LinuxEvent: Couldn't open /dev/input/event7: Permission denied.
LinuxEvent: Couldn't open /dev/input/event8: Permission denied.
LinuxEvent: Couldn't open /dev/input/event9: Permission denied.
LinuxEvent: Couldn't open /dev/input/event10: Permission denied.
LinuxEvent: Couldn't open /dev/input/event11: Permission denied.
LinuxEvent: Couldn't open /dev/input/event12: Permission denied.
Players joined: none
Language: en
Current renderer: OpenGL
Theme: CyberiaStyle8

Partial log:
00:04.299: Loading /Themes/CyberiaStyle8/BGAnimations/_logo/subtitle (doubleres).png, type FileType_Bitmap
00:04.299: Loading /Themes/CyberiaStyle8/BGAnimations/_logo/title-cs (doubleres).png, type FileType_Bitmap
00:04.299: Movie /Themes/CyberiaStyle8/BGAnimations/_movie/_default_back.avi has handler 'DX50', type 'divx'
00:04.299: Initializing driver: FFMpeg
00:04.299: MovieTexture_Generic::MovieTexture_Generic(/Themes/CyberiaStyle8/BGAnimations/_movie/_default_back.avi)
00:04.302: Opening codec mpeg4
00:04.302: Bitrate: 1592957
00:04.302: Codec pixel format: yuv420p
00:04.302: Texture pixel format: 1 0 (32bpp, 000000ff 0000ff00 00ff0000 ff000000)
00:04.302: glTexImage2D (format GL_RGBA8, 428x480, format GL_RGBA, type GL_UNSIGNED_BYTE, pixfmt 0, imgpixfmt 0)

-- End of report

Last edited: 22 November 2014 11:39am

Reply
Those crashes look like they're happening in videos. Check how you're building SM5 and make sure it IS NOT built with "--with-system-ffmpeg". If SM5 is configured to use the system ffmpeg, it will crash.
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
Thank you for your answer Kyzentun!

The system ffmpeg flag isn't selected when I build Stepmania.

I didn't assume it was a video problem when reading the logs. Then, I have tried to compile without ffmpeg (--without-ffmpeg flag) and no crash happens. This is a workaround, but I don't have video support any more (but, I'm not sure I will miss it that badly, I don't use video backgrounds for my songs).

I have also tried, out of curiosity, to statically link ffmpeg (--with-static-ffmpeg flag), but the building process failed.

Last edited: 23 November 2014 9:15am

Reply
This part of the log you posted is the callstack, which is like a path telling where in the code the problem occurred.
Thread: Main thread

00007f5ed205f001:
00007f5ed2a1059c:
00000000008e11ea: MovieDecoder_FFMpeg::DecodeFrame(float)
00000000008ded0e: MovieTexture_Generic::Init()
00007f5ecf54797e:
00007f5ecf547a0c:
0000000000aa83f6: (exe)
0000000000adfbdb: ActorFrame::LoadFromNode(XNode const*)
0000000000aab33d: RageMutex::Unlock()
0000000000b7ef30: LuaManager::Release(lua_State*&)
0000000000afffe4: ActorUtil::LoadFromNode(XNode const*, Actor*)
0000000000aab33d: RageMutex::Unlock()
0000000000b7ef30: LuaManager::Release(lua_State*&)
0000000000adfbdb: ActorFrame::LoadFromNode(XNode const*)
0000000000850f60: ScreenDimensions::GetScreenHeight()
0000000000afffe4: ActorUtil::LoadFromNode(XNode const*, Actor*)
0000000000b85313: std::_Rb_tree<lua_State*, std::pair<lua_State* const, bool>, std::_Select1st<std::pair<lua_State* const, bool> >, std::less<lua_State*>, std::allocator<std::pair<lua_State* const, bool> > >::_M_erase(std::_Rb_tree_node<std::pair<lua_State* const, bool> >*)
0000000000afe750: ActorUtil::MakeActor(StdString::CStdStr<char> const&, Actor*)
0000000000a708f0: RageLog::Trace(char const*, ...)
00007f5ecec43fc0:

The line that has "MovieDecoder_FFMpeg::DecodeFrame" told me the crash occurred when it was decoding a video frame, that's how I knew it was an ffmpeg problem.
If you run configure with no flags, it should build and link with the bundled ffmpeg and display videos fine. The problems I've seen people have with videos have all been on distros where the package maintainer decided to tell configure to link with system ffmpeg, which causes crashes.
I'm considering adding a preference for soft disabling videos, so that people on those distros will be able to at least play without having to rebuild stepmania the correct way.

Cyberia Style has videos as part of the theme for graphical effect. It's too filled with mistakes to be used on Beta 4 or newer anyway though.
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
OK, then. But whithout any flag, the crash occurs. So there may be something wrong with the ffmpeg binaries I got after building.

I will try some songs with video as backgroung and default theme to check if the problem comes from ffmpeg itself, or from the way Cyberia Style gives its videos.

During the building process, stepmania and ffmpeg are both builded, right? So, is there a way to test ffmpeg binaries directly? Just to check.

You said:
It's too filled with mistakes to be used on Beta 4 or newer anyway though.
Do you mean CS7 (and 8?) is too old for beta 4? What mistakes are you speaking about (sorry if it stands out of the thread)?

Last edited: 23 November 2014 12:41pm

Reply
re you using the source code straight from github, or some package from the linux distro you're using? If configure is actually building the bundled ffmpeg like it shoukd, you should see a line like this in configure's output:
configure: Configuring ffmpeg. This is quiet and takes a bit. Be patient.

(You can redirect configure's output to a file for easy reading like this: "./configure &> conf.out" and then open conf.out in a text editor to read it)
If you can't find the line I quoted, then something is interfering and configure isn't setting up the bundled ffmpeg. There might be other lines in the output related to ffmpeg, look through either by reading or with grep.


Errors and mistakes in themes are a long and miserable story. The short version is that practically all themes are full of mistakes, and only themes that have been updated in the last 2-3 months by a skilled (read: SM developer) themer are actually fully functional. I could give you a short list of themes I know work, but it begins with mine and ends with freem's, and that just makes me look like an ass.
The long version of the story is that for many years, mistakes in themes were only recorded in a log file that nobody read. These were generally mistakes like using variables or functions that don't exist, or not checking whether there is a song currently selected before trying to display its banner and stuff. Every time Stepmania encountered an error in the theme, it would stop whatever the theme was doing and log the error to the log file. Since practically nobody looked at the log file to find the errors and they weren't watching the screen to see that the various actors on screen actually did what they were supposed to. Fast forward through a couple generations of people copy pasting code between themes, sometimes without knowing how any of the code works at all, sometimes adding new mistakes, and you arrive at themes from last year, which have tons of hidden mistakes that people don't know about because nobody remembers anymore what anything is supposed to be doing.
I entered theming for SM5 in November of 2013, with my own plans, and no intention of basing my theme off of anybody else's theme. Being inquisitive and generally looking to make sure my theme worked perfectly, I found the log file for errors early on, and used it to make sure I didn't have any. In June, I had made enough changes to Stepmania to be comfortable with making more, and I wanted to improve how errors were handled. So I dug up all code related to theme mistakes that I could find, (including theme mistakes that would formerly cause Stepmania to crash), and routed it through the error reporting system you can see in Beta 4. This made it vastly easier for themers to see when they made a mistake and where in their theme to fix it, and gave users a way to tell when a theme is broken in lots of places. It also revealed that practically every theme has numerous mistakes from years of bad theming.
The upside is that there's a pretty clear indicator of the quality of the code in a theme. The downside is that everything not actively updated since Beta 4 (since approximately zero themers used the nightly builds between July and October to look for errors) is too full of mistakes to be usable. In theory, all the errors should be fixable if the theme authors go through and fix them, say, 15-20 hours of work at the very most, unless they're incompetent. In practice, it looks like most themes are abandoned, so everyone is screwed and I get yelled at by people because their favorite crap theme from last year or two years ago is broken trash.
(also, it's kinda really sad that the community of themers is so bad at coding that one motivated nutjob can come along and surpass themers that have been at it for years in just a few months. I'm not talking about graphics or worthless flashy trash, I'm talking about functionality and making sure every part actually works)

Last edited: 23 November 2014 2:51pm

< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
Wow, thank you for that long and complete answer Kyzentum. Don't worry, I'm not yelling at you or anything. I personally think you have done a good job by clearing themes errors management in Stepmania, even if, from my player side, it just adds some unusual stuff at the top of my screen. I hope it will help future themers to produce safer themes. I have already observed some errors from Cyberia Style in the application logs, and some bad practices also, like storing theme data in application directory, rather than user's.

To stick back to my problem, I think the theme isn't involved in my crashes any more. I have build beta 2 and beta 3a on OpenSUSE 13.1 (right now, close enough to Tumbleweed) and the crash occurs, whereas it was fine when I was using 12.3. So I think there is something wrong with the dependencies of my distro. Just to confirm, I compile source code from Github Stepmania's repo.

Ffmpeg configure's output is shown, and no error occurs during building. Is there a way to check my bundled ffmpeg binaries? Where are they supposed to dwell?
Reply
After building, the .so files for the bundled ffmpeg should be in the bundle dir like this:
bundle/ffmpeg/libswscale/libswscale.so
bundle/ffmpeg/libavformat/libavformat.so
bundle/ffmpeg/libavcodec/libavcodec.so
bundle/ffmpeg/libavutil/libavutil.so

There's a possibility that you're accidentally running an older executable that was built wrong instead of the one you intended to run. Stepmania puts the date and time that it was compiled at the beginning of the log.txt file like this:
00:00.073: StepMania v5.0 beta 4a
00:00.074: Compiled 20141124 @ 02:40:47 AM MST (UTC-07:00) (build 1292)
00:00.074: Log starting 2014-11-24 02:41:44
If you haven't found it already, the log file is in ~/.stepmania-5.0/Logs/log.txt
You can check it to make sure you're actually running the fresh executable you intended.

The build instructions I wrote a few months ago are here, so it might be useful to know if there are extra things you are doing besides what's in there.
In particular, most linux users installing source packages are used to running "make install" after make, but I don't think that actually works with Stepmania. I settled for making a symlink from the stepmania folder to the executable that is made inside src like this: kyz@home:~/stepmania$ ln -s ./src/stepmania stepmania
Then I always start Stepmania from a terminal by running that symlink.
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply