Open cipriancraciun opened 4 years ago
As a followup I can confirm that even with hardware acceleration disabled the freeze does happen, although not as often.
Is there any "debugging" flag that I can turn on so we can perhaps have an idea of what could be the culprit?
You can activate the 'Developer' menu and thus opening Chrome's developer tools by following the steps from this guide.
OK, I've enabled the developer tools, opened the console and randomly played a little. It froze.
But interestingly -- I should have mentioned this in the initial report -- the UI freezes in the sense that the window is not repainted at all (i.e. hiding and re-showing the window gives a blank image). Thus in this case not even the developer tools was visible. I've tried to resize the window, make it full screen (from the window manager), press F11 (hoping it would go full screen from Electron), etc. Nothing snapped it out of it.
Then I've tried another experiment: start Sabaki, and just hide / show the window without doing anything special. (With i3
I achieved this by switching to and from another window.) This yielded the same result: a blank window, thus "frozen" application.
Perhaps this is an Electron issue?
Regarding Electron, I've looked at the Electron version in Sabaki and it's 5.0.1
, although if I look in package.json
for the master it is now ^6.0.1
(thus hopefully the next build will take the last one); however the latest official version of Electron is 7.1.9
, which might suggest that Sabaki is quite "behind" Electron's development. (I don't know much about Electron development, and perhaps 6.x is a LTS or something, but perhaps Sabaki's build is missing some critical fixes.)
(BTW, in case you are using yarn
or npm
with lock file support, committing that file would also allow people to get a "repeatable" build, because if now I would to checkout the repo and build Sabaki myself I'll get a "random-ish" selection of dependency versions that might or might not work due to unrelated reasons. I know about "semantic-versioning", but in practice sometimes even a minor version change can break something...) :)
In related news I've searched Electron's issues for similar reports and I've found:
I'll keep an eye on that report also.
Very interesting, thank you very much for your detailed report!
You can try building master
branch of Sabaki yourself to see if this issue persists with Electron v6, or even building Sabaki with the latest Electron version and see if you can still encounter this issue.
I'm using Linux OpenSUSE Tumbleweed and Sabaki v0.43.3 (64 bits) downloaded from the releases tab.
While playing (either human vs human, or vs computer) the UI freezes without any warnings or errors even in the console. After it freezes it doesn't recover, thus I need to kill the process. (The CPU doesn't go to 100%, it just sits idle.)
In order to replicate this all I need to do is play a little and eventually the UI will freeze.
I've tried to see if changing some options help, and from what I've seen disabling the hardware acceleration seems to solve the issue. (I'll report back if it freezes even in this situation.)
Given that it might be a hardware acceleration issue, bellow are a few dumps that might help. (I'm running Xorg with the i3 window manager, not Wayland.)