tetrio / issues

Report issues and discuss improvements / feature requests around TETR.IO
https://tetr.io
387 stars 21 forks source link

tetrio crashes when in setting #1268

Open skotishsky opened 3 months ago

skotishsky commented 3 months ago

Checklist

OS and Version

Fedora linux (gnome)

Browser and version

desktop v9

Describe the bug/issue

When looking through the settings, the desktop crashes.
Is an OpenGL issue.

Reproducing

Step 1. Go to config Step 2. Go through video/graphic settings Step 3. Change a parameter

Expected behavior

To not crash

Screenshots

https://github.com/tetrio/issues/assets/92538536/98466841-94c6-432a-a7ca-472e32f0b11f

Console logs

No response

Additional context

Not 100% sure if it's changing the graphics that's causing the issue

ZaptorZap commented 3 months ago

The issue is caused by hovering over a tooltip. It's happening arbitrarily across some setups, while some other setups, mine included, are perfectly OK with tooltips...

skotishsky commented 3 months ago

Is it a Chromium problem?

ZaptorZap commented 3 months ago

I mean, possibly. This doesn't happen with the Blink rendering engine afterall. (・・;

We still have to figure out what's consistent across the systems that do experience the issue. One member of the TETR.IO Discord shared this core dump: image

Furthermore, I'd like to point out that you're welcome to downgrade back to v8 for the time being. Get it from https://tetr.io/about/desktop/history/

skotishsky commented 3 months ago

Thanks BTW I'm using an AMD Ryzen™ 5 3500U with Radeon™ Vega Mobile Gfx × 8, 12 g of ram and kernel 6.7.7 and mesa 23.3.6

ThePirate42 commented 3 months ago

This happens to me also in the public rooms selection page

jnaviask commented 2 months ago

I also get this crash on the settings page when hovering over a tooltip. The tooltip appears and the game crashes soon after. On Manjaro Linux + i3wm on a Framework 13 with Intel Iris XE integrated graphics. Console output:

$ tetrio-desktop 
[37245:0402/233502.115872:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37356:0402/233502.536017:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[37654:0402/233502.536089:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[37245:0402/233502.536493:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[37245:0402/233502.537017:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37654:0402/233502.957040:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[37356:0402/233502.957083:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[37245:0402/233502.957399:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37654:0402/233503.024878:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[37356:0402/233503.025086:ERROR:command_buffer_proxy_impl.cc(131)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[37245:0402/233503.390669:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37245:0402/233503.872982:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37356:0402/233504.481371:ERROR:command_buffer_proxy_impl.cc(323)] GPU state invalid after WaitForGetOffsetInRange.
[37245:0402/233504.481804:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37245:0402/233504.842787:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37245:0402/233505.214833:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37245:0402/233505.587694:ERROR:gpu_process_host.cc(989)] GPU process exited unexpectedly: exit_code=133
[37245:0402/233505.587717:FATAL:gpu_data_manager_impl_private.cc(448)] GPU process isn't usable. Goodbye.
Trace/breakpoint trap (core dumped)
ThePirate42 commented 2 months ago

My setup is

OS: Arch Linux x86_64 Host: 82L7 IdeaPad 5 Pro 14ACN6 Kernel: 6.8.2-arch2-1 Resolution: 2240x1400 DE: Plasma 6.0.3 WM: KWin Theme: Breeze [GTK2/3] Icons: breeze [GTK2/3] CPU: AMD Ryzen 5 5600U with Radeon Graphics (12) @ 4.289GHz GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series Memory: 13829MiB

BTW has someone discovered why this happens?

qubitnano commented 1 month ago

I've narrowed it down on my machine to electron bumping to chromium 122 during electron 29's release.

Test with the following:

mkdir /tmp/tetrio
cd /tmp/tetrio
wget https://tetr.io/about/desktop/builds/9/TETR.IO%20Setup.tar.gz
tar -xf TETR.IO\ Setup.tar.gz tetrio-desktop-9.0.0/resources/app.asar --strip-components 2
# install nodejs/npm on your distro
# this is the last good tag
npx electron@v29.0.0-alpha.7 app.asar
# this is the first bad tag
npx electron@v29.0.0-alpha.8 app.asar
# This is still present in latest nightly

From https://github.com/electron/electron/compare/v29.0.0-alpha.7...v29.0.0-alpha.8 the most obvious is the chromium 122 import.

The console shows PixiJS 6.1.3 - WebGL 2 so perhaps upgrading to a recent version would help as this version is from 2021.

ZaptorZap commented 1 month ago

Oh, right, someone found the magic flag that stops this from happening. Try running tetrio-desktop with the argument --in-process-gpu. Doesn't impact my experience as TETR.IO never crashed on my system, but that's the fix for others.

qubitnano commented 1 month ago

Oh, right, someone found the magic flag that stops this from happening. Try running tetrio-desktop with the argument --in-process-gpu. Doesn't impact my experience as TETR.IO never crashed on my system, but that's the fix for others.

Thank you seems to work fine now

ZaptorZap commented 1 month ago

No performance impact, right? osk is considering making this a default launch flag for everyone (even windows) if there're no performance implications.

JuxGD commented 1 month ago

I didn't notice any lower performance on my laptop (using Wayland KDE Plasma 6, NixOS (Linux)).

ThePirate42 commented 1 month ago

What is --in-process-gpu supposed to do? I searched it online but I can't find anything.

ZaptorZap commented 1 month ago

I know as much as you, frankly. All I know is that it prevents crashes with arbitrary setups trying to render tooltips.