nwjs / nw.js

Call all Node.js modules directly from DOM/WebWorker and enable a new way of writing applications with all Web technologies.
https://nwjs.io
MIT License
40.39k stars 3.88k forks source link

Linux/X11: crash on 0.85.0+ when trying to show a tooltip from `title` attributes ("GPU process exited unexpectedly: exit_code=133") #8184

Open bastimeyer opened 6 months ago

bastimeyer commented 6 months ago

Issue Type

Before opening an issue, please search and see if it has already been raised.

Please use our mailing list or Gitter chatroom to ask questions. The issue tracker is only for bugs and feature requests, in English only. Please note that issues without a repro or code snippet are less likely to be resolved.

Issue

Reproduction: https://github.com/bastimeyer/nwjs-tooltip-crash Related: https://github.com/streamlink/streamlink-twitch-gui/issues/1005

When using NW.js 0.85.0+, including the latest version 0.87.0 with Chromium 124, the GPU process crashes when the application tries to render a tooltip from any title attribute in the DOM tree. This is not the case on 0.84.0 and below.

The GPU process crash seems only to happen when using Chromium's X11 ozone platform implementation. This is still the default on Wayland without the --ozone-platform=wayland arg being set explicitly (unfortunately).

Apparently, the issue also does only occur when using an Intel or Nvidia GPU. I couldn't manage to reproduce this on my main system using the AMDGPU kernel driver and latest mesa. In the issue report on my application, only reports from users with Intel or Nvidia GPUs have been made so far.

Here's an error log from my notebook running KDE Plasma on Wayland using an integrated Intel GPU (i915 kernel driver + latest mesa). As said, the issue does only occur on X11 / XWayland.

~/nwjs-0.87.0-sdk/nw --ozone-platform=x11 .
[16694:16694:0505/191045.026995:ERROR:object_proxy.cc(576)] Failed to call method: org.kde.KWallet.isEnabled: object_path= /modules/kwalletd6: org.freedesktop.DBus.Error.NoReply: Remote peer disconnected
[16694:16694:0505/191045.027068:ERROR:kwallet_dbus.cc(112)] Error contacting kwalletd6 (isEnabled)
[16694:16694:0505/191045.027442:ERROR:object_proxy.cc(576)] Failed to call method: org.kde.KLauncher.start_service_by_desktop_name: object_path= /KLauncher: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
[16694:16694:0505/191045.027458:ERROR:kwallet_dbus.cc(81)] Error contacting klauncher to start kwalletd6
[16694:16694:0505/191045.238732:ERROR:object_proxy.cc(576)] Failed to call method: org.kde.KWallet.close: object_path= /modules/kwalletd6: org.freedesktop.DBus.Error.NoReply: Remote peer disconnected
[16694:16694:0505/191045.238778:ERROR:kwallet_dbus.cc(502)] Error contacting kwalletd6 (close)
[16694:16694:0505/191045.239586:ERROR:chrome_browser_cloud_management_controller.cc(161)] Cloud management controller initialization aborted as CBCM is not enabled. Please use the `--enable-chrome-browser-cloud-management` command line flag to enable it if you are not using the official Google Chrome build.
[0505/191045.305872:ERROR:elf_dynamic_array_reader.h(64)] tag not found

(nw:16694): Gtk-WARNING **: 19:10:45.749: compose file /home/basti/.config/gtk-3.0/Compose does not include any keys besides keys in en-us compose file
[16722:16765:0505/191048.888497:FATAL:resource_bundle.cc(362)] Check failed: g_shared_instance_ != nullptr. 
#0 0x7fba2f2e0523 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6ce0522)
#1 0x7fba2f23d1e7 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6c3d1e6)
#2 0x7fba2f23d0cd (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6c3d0cc)
#3 0x7fba2f227070 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6c2706f)
#4 0x7fba2f2270ce (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6c270cd)
#5 0x7fba2f226e33 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6c26e32)
#6 0x7fba3088991a (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x8289919)
#7 0x7fba30878b76 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x8278b75)
#8 0x7fba3093e8a0 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x833e89f)
#9 0x7fba3094035a (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x8340359)
#10 0x7fba30949d95 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x8349d94)
#11 0x7fba30949c7c (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x8349c7b)
#12 0x7fba34f3efdd (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0xc93efdc)
#13 0x7fba34f06a7c (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0xc906a7b)
#14 0x7fba34edb2a1 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0xc8db2a0)
#15 0x7fba34eea853 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0xc8ea852)
#16 0x7fba34ee9ac6 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0xc8e9ac5)
#17 0x7fba2aae44fb (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x24e44fa)
#18 0x7fba2f2c7b19 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6cc7b18)
#19 0x7fba2f28940f (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6c8940e)
#20 0x7fba2f2a16b9 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6ca16b8)
#21 0x7fba2f2a1132 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6ca1131)
#22 0x7fba2f2a1af5 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6ca1af4)
#23 0x7fba2f30471c (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6d0471b)
#24 0x7fba2f2a1e87 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6ca1e86)
#25 0x7fba2f26b17f (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6c6b17e)
#26 0x7fba2f2c2b68 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6cc2b67)
#27 0x7fba2f2c2cb9 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6cc2cb8)
#28 0x7fba2f2d53cf (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x6cd53ce)
#29 0x7fba284aa1cf (/usr/lib/libc.so.6+0x8e1ce)
#30 0x7fba2852b6ec (/usr/lib/libc.so.6+0x10f6eb)
Task trace:
#0 0x7fba34eeb2fb (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0xc8eb2fa)
#1 0x7fba2f9e4b68 (/home/basti/nwjs-0.87.0-sdk/lib/libnw.so+0x73e4b67)
Crash keys:
  "gpu-url-chunk" = "chrome-extension://dajmfnaldgbiogcpjiglngadnnpjmnfe/index.html"
  "gpu-gl-context-is-virtual" = "0"
  "gr-context-type" = "GaneshGL"
  "variations" = "f38ef081-ca7d8d80,9481ce98-3d47f4f4,70678518-dee66fa8,be338734-dee66fa8,5f9907a9-dee66fa8,8eeccb9a-dee66fa8,2b465683-dee66fa8,52fc7926-dee66fa8,a41a7188-dee66fa8,ff71bfdc-dee66fa8,6daa4147-dee66fa8,4b935545-3d47f4f4,9a38bae3-3d47f4f4,2d1e43a3-3d47f4f4,386dc267-3d47f4f4,d69d967d-3695c92e,"
  "num-experiments" = "16"
  "egl-display-type" = "angle:OpenGL"
  "gpu-gl-renderer" = "ANGLE (Intel, Mesa Intel(R) HD Graphics 620 (KBL GT2), OpenGL 4.6 (Core Profile) Mesa 24.0.6-arch1.2)"
  "gpu-gl-vendor" = "Google Inc. (Intel)"
  "gpu-generation-intel" = "9"
  "gpu-vsver" = "1.00"
  "gpu-psver" = "1.00"
  "gpu-driver" = "24.0.6"
  "gpu_count" = "1"
  "gpu-devid" = "0x5916"
  "gpu-venid" = "0x8086"
  "reentry_guard_tls_slot" = "unused"
  "switch-11" = "--user-data-dir=/home/basti/.config/nwjs-tooltip-crash"
  "switch-10" = "--variations-seed-version"
  "switch-9" = "--field-trial-handle=3,i,1866447249929635377,1220333896076927628"
  "switch-8" = "--shared-files"
  "switch-7" = "--change-stack-guard-on-fork=enable"
  "switch-6" = "--nwapp-path=."
  "switch-5" = "--user-data-dir=/home/basti/.config/nwjs-tooltip-crash"
  "switch-4" = "--enable-crash-reporter=,"
  "switch-3" = "--crashpad-handler-pid=16696"
  "switch-2" = "--ozone-platform=x11"
  "switch-1" = "--no-sandbox"
  "num-switches" = "13"
  "osarch" = "x86_64"
  "pid" = "16722"
  "ptype" = "gpu-process"

[16694:16694:0505/191049.386247:ERROR:gpu_process_host.cc(1001)] GPU process exited unexpectedly: exit_code=133
[16830:16830:0505/191049.618609:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[16830:16830:0505/191049.623603:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[16830:16830:0505/191051.597964:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!
Porkepix commented 6 months ago

Also note that the crash let some rendering process alive and orphaned, eating quite some bunch of cpu/gpu resources.

imawizrd commented 6 months ago

I couldn't reproduce this on macos running on apple silicon. The tooltips look fine. I only tested macos though.

cheof commented 4 months ago

I also got a nvidia and use X11

qbroker commented 3 months ago

I can confirm that the problem is also present when running: Linux Mint 21 Vanessa, Cinnamon 5.4.12 Kernel: 5.15.0-117-generic Intel UHD Graphics 620, X.Org v: 1.21.1.4

BiimGames commented 2 months ago

I was going to open a similar post.

Game created with the game engine Construct 3, exported for Linux with NWjs versions from 0.85.0 until latest, closes the window straight away once launched.

Tested on Linux laptop:

_Operating System: TUXEDO OS 3

KDE Plasma Version: 6.1.3

KDE Frameworks Version: 6.4.0

Qt Version: 6.7.0

Kernel Version: 6.5.0-10043-tuxedo (64-bit)

Graphics Platform: X11

Processors: 24 × Intel® Core™ i7-14650HX

Memory: 67.1 GB of RAM

Graphics Processor: NVIDIA GeForce RTX 4060 Laptop GPU/PCIe/SSE2_

Post about the issue on Construct 3 forum and got a reply from one of the software creator where he suggested to report the issue here: https://www.construct.net/en/forum/construct-3/general-discussion-7/issues-c2-c3-game-exported-183236#forumPost1111629

qbroker commented 1 month ago

I can confirm that the problem with the title tag for tool-tips, and hanging processes is solved with version 0.92.0. THANK YOU VERY MUCH !!!

Running on: Linux Mint 21.2 Vanessa, Cinnamon 5.8.4 Kernel: 5.15.0-118-generic Intel UHD Graphics 620, X.Org v: 1.21.1.4