Open aadi123 opened 3 years ago
@aadi123, thanks for reporting the issue. First, please share /mnt/wslg/stderr.log. Also would you please try running without GPU enabled? I just would like to clarify if this is GPU specific issue. Refer https://github.com/microsoft/wslg/issues/445 to how to disable GPU. Thanks!
Decided to give "supertuxkart" a try on Windows 11 with WSLg, and I have the same issue. There is the content of my stderr.log
Build version: 22000.258 Distribution: Fedora Remix for WSL (Updated to Fedora 35) WSLg Version: 1.0.26
dbus[11]: Unknown username "pulse" in message bus configuration file
/usr/share/icons/hicolor/scalable/apps/org.gnome.Evince.svg: unrecognized file header 0x3c 0x73 0x76 0x67
/usr/share/icons/hicolor/scalable/apps/projectM.svg: unrecognized file header 0x3c 0x3f 0x78 0x6d
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
/usr/share/icons/hicolor/scalable/apps/org.gnome.Evince.svg: unrecognized file header 0x3c 0x73 0x76 0x67
glamor: 'wl_drm' not supported
Missing Wayland requirements for glamor GBM backend
Failed to initialize glamor, falling back to sw
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error: Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Unsupported maximum keycode 569, clipping.
> X11 cannot support keycodes above 255.
> Internal error: Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Unsupported maximum keycode 569, clipping.
> X11 cannot support keycodes above 255.
> Internal error: Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
<4>WSLGd: /usr/bin/sh exited with status 0.
<4>WSLGd: /usr/bin/sh exited with status 0.
The application is running (albeit really slowly) when the environment variable LIBGL_ALWAYS_SOFTWARE
is set to 1
@COLAMAroro, thanks for sharing the log, I hoped it shows some details on segfault, but not. What GPU do you have? Please share output from "glxinfo -B" thanks!
@hideyukn88 Sure ! There it is
name of display: :0
NVD3D10: CPU cyclestats are disabled on client virtualization
NVD3D10: CPU cyclestats are disabled on client virtualization
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Microsoft Corporation (0xffffffff)
Device: D3D12 (NVIDIA GeForce RTX 2070 SUPER) (0xffffffff)
Version: 21.0.2
Accelerated: yes
Video memory: 24359MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 3.3
Max compat profile version: 3.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.0
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA GeForce RTX 2070 SUPER)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 21.0.2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 3.1 Mesa 21.0.2
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 21.0.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
In case it may help, I have compiled the game from source using their official recommendation, with -ggdb3
enabled, and run the game from valgrind in the hope of generating a stacktrace
==29544==
==29544== Process terminating with default action of signal 11 (SIGSEGV)
==29544== Access not within mapped region at address 0x30
==29544== at 0x1848D7E1: d3d12_transition_resource_state(d3d12_context*, d3d12_resource*, D3D12_RESOURCE_STATES) (d3d12_context.cpp:1521)
==29544== by 0x1848FB5E: fill_cbv_descriptors (d3d12_draw.cpp:66)
==29544== by 0x1848FB5E: set_graphics_root_parameters (d3d12_draw.cpp:261)
==29544== by 0x1848FB5E: d3d12_draw_vbo(pipe_context*, pipe_draw_info const*, pipe_draw_indirect_info const*, pipe_draw_start_count const*, unsigned int) (d3d12_draw.cpp:583)
==29544== by 0x17F8DEC6: u_vbuf_draw_vbo (u_vbuf.c:1315)
==29544== by 0x17F3E379: cso_multi_draw (cso_context.c:1706)
==29544== by 0x17B6B7C0: _mesa_draw_arrays (draw.c:592)
==29544== by 0x17B6B7C0: _mesa_draw_arrays (draw.c:561)
==29544== by 0x3F0D18: UnknownInlinedFun (2dutils.cpp:195)
==29544== by 0x3F0D18: draw2DImage(irr::video::ITexture const*, irr::core::rect<int> const&, irr::core::rect<int> const&, irr::core::rect<int> const*, irr::video::SColor const*, bool, bool, float) (2dutils.cpp:410)
==29544== by 0x4DA815: GUIEngine::Skin::drawBgImage() (skin.cpp:2713)
==29544== by 0x4C80A7: GUIEngine::renderLoading(bool, bool, bool) (engine.cpp:1437)
==29544== by 0x4C8DCA: GUIEngine::init(irr::IrrlichtDevice*, irr::video::IVideoDriver*, GUIEngine::AbstractStateManager*, bool) (engine.cpp:1180)
==29544== by 0x5ACC29: initRest() (main.cpp:1761)
==29544== by 0x34415F: main (main.cpp:2070)
==29544== If you believe this happened as a result of a stack
==29544== overflow in your program's main thread (unlikely but
==29544== possible), you can try to increase the size of the
==29544== main thread stack using the --main-stacksize= flag.
==29544== The main thread stack size used in this run was 8388608.
==29544==
==29544== Process terminating with default action of signal 11 (SIGSEGV)
==29544== General Protection Fault
==29544== at 0x5716CF2: __pthread_once_slow (pthread_once.c:115)
==29544== by 0x57D2B02: __rpc_thread_variables (rpc_thread.c:59)
==29544== by 0x582504C: free_mem (in /usr/lib64/libc.so.6)
==29544== by 0x5824B81: __libc_freeres (in /usr/lib64/libc.so.6)
==29544== by 0x48351E7: _vgnU_freeres (vg_preloaded.c:74)
==29544== by 0x10D577DF: ???
==29544== by 0x115408F7: ??? (in /usr/lib/wsl/lib/libD3D12Core.so)
==29544== by 0x1848FB5E: fill_cbv_descriptors (d3d12_draw.cpp:66)
==29544== by 0x1848FB5E: set_graphics_root_parameters (d3d12_draw.cpp:261)
==29544== by 0x1848FB5E: d3d12_draw_vbo(pipe_context*, pipe_draw_info const*, pipe_draw_indirect_info const*, pipe_draw_start_count const*, unsigned int) (d3d12_draw.cpp:583)
==29544== by 0x17F8DEC6: u_vbuf_draw_vbo (u_vbuf.c:1315)
==29544== by 0x17F3E379: cso_multi_draw (cso_context.c:1706)
==29544== by 0x17B6B7C0: _mesa_draw_arrays (draw.c:592)
==29544== by 0x17B6B7C0: _mesa_draw_arrays (draw.c:561)
==29544== by 0x3F0D18: UnknownInlinedFun (2dutils.cpp:195)
==29544== by 0x3F0D18: draw2DImage(irr::video::ITexture const*, irr::core::rect<int> const&, irr::core::rect<int> const&, irr::core::rect<int> const*, irr::video::SColor const*, bool, bool, float) (2dutils.cpp:410)
==29544==
==29544== HEAP SUMMARY:
==29544== in use at exit: 21,565,553 bytes in 164,414 blocks
==29544== total heap usage: 624,029 allocs, 459,615 frees, 126,475,083 bytes allocated
==29544==
==29544== LEAK SUMMARY:
==29544== definitely lost: 4,166 bytes in 47 blocks
==29544== indirectly lost: 1,976 bytes in 41 blocks
==29544== possibly lost: 2,344,522 bytes in 12,218 blocks
==29544== still reachable: 19,214,889 bytes in 152,108 blocks
==29544== of which reachable via heuristic:
==29544== newarray : 19,464 bytes in 50 blocks
==29544== multipleinheritance: 406,640 bytes in 504 blocks
==29544== suppressed: 0 bytes in 0 blocks
==29544== Rerun with --leak-check=full to see details of leaked memory
==29544==
==29544== Use --track-origins=yes to see where uninitialised values come from
==29544== For lists of detected and suppressed errors, rerun with: -s
==29544== ERROR SUMMARY: 56472 errors from 1000 contexts (suppressed: 0 from 0)
EDIT: Updated the stacktrace with added debug symbols.
Also, most of the errors are coming from memset
s, an example here:
==29544== Invalid write of size 4
==29544== at 0x1247A8EA: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x12F6AEE2: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x12F6AA30: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x12481C04: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x1247B7F0: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x124FB3BD: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x132D43C0: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x125034C4: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x1255EABC: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x134D1BFA: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x134D122C: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== by 0x125455C8: ??? (in /usr/lib/wsl/drivers/nvgbdi.inf_amd64_d5fe302d559fc396/libnvwgf2umx.so)
==29544== Address 0x7f9ea684a008 is not stack'd, malloc'd or (recently) free'd
I got this same bug with a different application called Octave. Octave is basically open source version of MATLAB. Whenever I generated a plot and interacted with it, I also generated a segfault. However, this error only occurred when the GPU was on. Would you like me to send the logs?
FWIW if you install supertuxkart as a snap (systemd-genie env here), it works
@000MDK, thanks for info, would you please clarify on "(systemd-genie env here)", could be missing link? thanks!
perhaps this @hideyukn88 ?
https://gist.github.com/djfdyuruiry/6720faa3f9fc59bfdf6284ee1f41f950
Environment
Steps to reproduce
install supertuxkart on linux
sudo apt install -y supertuxkart
Then run.supertuxkart
WSL logs:
/mnt/wslg
You can access the wslg logs using explorer at:
\\wsl$\<Distro-Name>\mnt\wslg
(e.g.:\\wsl$\Ubuntu-20.04\mnt\wslg
)puseaudio.log
weston.log
versions.txt
[info ] [FileManager]: Creating directory(ies) '/home/aaditya/.config/supertuxkart/config-0.10/' [info ] FileManager: Creating directory '/home/aaditya/.config/supertuxkart/'. [info ] FileManager: Creating directory '/home/aaditya/.config/supertuxkart/config-0.10/'. [info ] [FileManager]: Creating directory(ies) '/home/aaditya/.local/share' [info ] FileManager: Creating directory '/home/aaditya/.local/'. [info ] FileManager: Creating directory '/home/aaditya/.local/share/'. [info ] FileManager: Creating directory '/home/aaditya/.local/share/supertuxkart'. [info ] FileManager: Creating directory '/home/aaditya/.local/share/supertuxkart/addons/'. [info ] FileManager: Creating directory '/home/aaditya/.local/share/supertuxkart/addons/icons/'. [info ] FileManager: Creating directory '/home/aaditya/.local/share/supertuxkart/addons/tmp/'. [info ] FileManager: Creating directory '/home/aaditya/.local/share/supertuxkart/screenshots/'. [info ] FileManager: Creating directory '/home/aaditya/.local/share/supertuxkart/replay/'. [info ] FileManager: Creating directory '/home/aaditya/.cache/supertuxkart'. [info ] FileManager: Creating directory '/home/aaditya/.cache/supertuxkart/cached-textures/'. [info ] FileManager: Creating directory '/home/aaditya/.local/share/supertuxkart/grandprix/'. [verbose ] main: Error messages and other text output will be logged to /home/aaditya/.config/supertuxkart/config-0.10/stdout.log. [info ] UserConfig: Could not read user config file '/home/aaditya/.config/supertuxkart/config-0.10/config.xml'. A new file will be created. [info ] [FileManager]: Data files will be fetched from: '/usr/share/games/supertuxkart/data/' [info ] [FileManager]: User directory is '/home/aaditya/.config/supertuxkart/config-0.10/'. [info ] [FileManager]: Addons files will be stored in '/home/aaditya/.local/share/supertuxkart/addons/'. [info ] [FileManager]: Screenshots will be stored in '/home/aaditya/.local/share/supertuxkart/screenshots/'. [info ] [FileManager]: User-defined grand prix will be stored in '/home/aaditya/.local/share/supertuxkart/grandprix/'. [info ] [FileManager]: Asset 0 will be loaded from '/usr/share/games/supertuxkart/data/challenges/'. [info ] [FileManager]: Asset 1 will be loaded from '/usr/share/games/supertuxkart/data/gfx/'. [info ] [FileManager]: Asset 2 will be loaded from '/usr/share/games/supertuxkart/data/grandprix/'. [info ] [FileManager]: Asset 3 will be loaded from '/usr/share/games/supertuxkart/data/gui/icons/'. [info ] [FileManager]: Asset 4 will be loaded from '/usr/share/games/supertuxkart/data/gui/screens/'. [info ] [FileManager]: Asset 5 will be loaded from '/usr/share/games/supertuxkart/data/gui/dialogs/'. [info ] [FileManager]: Asset 6 will be loaded from '/usr/share/games/supertuxkart/data/replay/'. [info ] [FileManager]: Asset 7 will be loaded from '/usr/share/games/supertuxkart/data/shaders/'. [info ] [FileManager]: Asset 8 will be loaded from '/usr/share/games/supertuxkart/data/skins/'. [info ] [FileManager]: Asset 9 will be loaded from '/usr/share/games/supertuxkart/data/ttf/'. [info ] [FileManager]: Asset 10 will be loaded from '/usr/share/games/supertuxkart/data/po/'. [info ] [FileManager]: Asset 11 will be loaded from '/usr/share/games/supertuxkart/data/library/'. [info ] [FileManager]: Asset 12 will be loaded from '/usr/share/games/supertuxkart/data/models/'. [info ] [FileManager]: Asset 13 will be loaded from '/usr/share/games/supertuxkart/data/music/'. [info ] [FileManager]: Asset 14 will be loaded from '/usr/share/games/supertuxkart/data/sfx/'. [info ] [FileManager]: Asset 15 will be loaded from '/usr/share/games/supertuxkart/data/textures/'. [info ] [FileManager]: Asset 16 will be loaded from '/usr/share/games/supertuxkart/data/tracks/'. [verbose ] translation: Env var LANGUAGE = 'C.UTF-8'. [warn ] Translation: Unsupported language 'C.UTF-8' [info ] ServerConfig: Could not read server config file '/home/aaditya/.config/supertuxkart/config-0.10/server_config.xml'. A new file will be created. ..:: Antarctica Rendering Engine 2.0 ::.. Linux 5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64 [info ] IrrDriver: OpenGL version: 3.3 [info ] IrrDriver: OpenGL vendor: Microsoft Corporation [info ] IrrDriver: OpenGL renderer: D3D12 (NVIDIA GeForce RTX 3060 Ti) [info ] IrrDriver: OpenGL version string: 3.3 (Core Profile) Mesa 21.0.3 [info ] GLEW: Glew couldn't open glx display. [info ] GLDriver: ARB Arrays of Arrays Present [info ] GLDriver: ARB Texture Storage Present [info ] GLDriver: EXT Texture Compression S3TC Present [info ] GLDriver: ARB Uniform Buffer Object Present [info ] GLDriver: ARB Explicit Attrib Location Present [info ] GLDriver: EXT Texture Filter Anisotropic Present [info ] GLDriver: Geometry Shaders Present [info ] GLDriver: ARB Texture Buffer Object Present [info ] GLDriver: ARB Texture Swizzle Present [info ] GLDriver: ARB Pixel Buffer Object Present [info ] GLDriver: ARB Sampler Objects Present [info ] GLDriver: ARB Vertex Type 2_10_10_10_rev Present [info ] GLDriver: ARB Instanced Arrays Present [info ] SharedGPUObjects: Hardware Skinning enabled, method: TBO, max bones: 1024 [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/screenquad.vert [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/motion_blur.frag [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/lightning.frag [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/primitive2dlist.vert [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/transparent.frag [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/texturedquad.vert [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/uniformcolortexturedquad.frag [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/texturedquad.frag [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/coloredquad.vert [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/coloredquad.frag [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/colortexturedquad.vert [info ] ShaderFilesManager: Compiling shader: /usr/share/games/supertuxkart/data/shaders/colortexturedquad.frag [info ] irr_driver: GLSL supported. Segmentation fault