sedwards2009 / extraterm

The swiss army chainsaw of terminal emulators
https://extraterm.org
MIT License
2.52k stars 116 forks source link

Crashes after sleep #337

Closed eox2 closed 2 years ago

eox2 commented 3 years ago

When I put my computer in suspend (Linux Mint) and come back, extraterm is not responsive.

sedwards2009 commented 3 years ago

What kind of graphics card are you using? Also, is this on Xorg or Wayland?

eox2 commented 3 years ago

Its a laptop, Dell XPS with GTX 1050 TI running Linux Mint 20.1 Cinnamon.

Also have integrated graphics: Intel Corporation UHD Graphics 630 (Mobile) (prog-if 00 [VGA controller])

Not sure about Wayland or Xorg, default i guess?

I found a way to fix it when it happens, by maximizing the window (double tapping title bar). Everything is back to normal then.

Hope thats helpful. Great work btw, really like this terminal so far.

raducrisan1 commented 3 years ago

You guys created a great software. I wanted to start first with this remark and only afterwards to mention about the issue details.

I have the same issue. I have a desktop running Manjaro 21.0.1 with KDE on X11 and an NVidia 1070 TI graphics card. I hope I am not wrong assuming that extraterm runs on top on Electron. If so, by comparison, if I leave VS Code windows opened while the computer is suspended, I do not encounter issues with VS Code. I have attached a screenshot of the extraterm window before sleep and same window after restore. The issue is reproducible.

Screenshot_20210416_151900 Screenshot_20210416_151954

sedwards2009 commented 3 years ago

The only think I can think of is that it is related to WebGL (3D rendering) not coming back after sleep.

Yes, it does run on Electron. VSCode does too but it doesn't WebGL (except for possibly in its own console.)

What you can try is opening the "Developer Tools" on the menu, and keeping the console tab open, then trigger the bug and see if anything appears in there which might explain what is going on.

raducrisan1 commented 3 years ago

Hi,

Did that. Not sure If I am correct but it seems that the bug somehow prevents properly viewing the console. The areas in Dev tools do not repaint and it is useless to move the window or minimize/restore it, The only way I get "some" content is by moving the mouse above some parts, eg: menu. I also hid and re-opened Dev tools and it seems that the only entries are the source map warnings. If I move the mouse above these warnings I get the mouse cursor changed, so they look active, they are not just paints before suspend. See attached: Screenshot_20210419_091927 Screenshot_20210419_092127

eox2 commented 3 years ago

There is a similar problem occurring with my terminal on VS Code as well.

https://github.com/microsoft/vscode/issues/69665

Its not a real crash, the process is still active and functional, just more of a rendering/visual problem.

This might help you fix the issue.

sedwards2009 commented 3 years ago

thanks @eox2 . That does look like exactly the same problem.

sedwards2009 commented 3 years ago

NVidia on Linux appears to be the main situation where this problem appears.

Have you guys tried different versions of the nvidia drivers?

I'm going to pursue a similar solution to that used by VSCode. Refresh the textures after resume from sleep/hibernation and also provide some option to manually force a refresh. But the first I have to set up a machine here with nvidia hardware and Linux and then produce the problem locally.

rickthepick commented 2 years ago

I'm unable to use Extraterm due to this issue: when my computer revives from sleep extraterm is unresponsive. I went back to Gnome terminal which does not have this problem. I have an Nvidia graphics card. Running Xorg server. Extraterm version 0.59.4

sedwards2009 commented 2 years ago

From what I've figured out is that this is a GPU-coming-out-of-sleep problem which Electron doesn't handle well or provide the signals so that Extraterm can re-initialise the GPU for itself.

The Qt based version of Extraterm doesn't have this problem. (It also doesn't directly use GPU rendering either.)

rickthepick commented 2 years ago

I can tell you that VS Code, an Electron app, doesn't have the problem. Maybe the secret lies here: https://github.com/microsoft/vscode

sedwards2009 commented 2 years ago

Closing issue. The Electron based version isn't being developed anymore.