diospiroverde / WazzApp

Unofficial Client of WhatsApp for Linux
MIT License
15 stars 6 forks source link

GL_INVALID_FRAMEBUFFER_OPERATION: Draw framebuffer is incomplete #15

Closed daniwenne closed 2 years ago

daniwenne commented 2 years ago
(node:4909) UnhandledPromiseRejectionWarning: DBusError: Process org.freedesktop.Notifications exited with status 1
    at _methodReturnHandlers.<computed> (/opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/bus.js:343:27)
    at handleMessage (/opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/bus.js:101:11)
    at EventEmitter.<anonymous> (/opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/bus.js:151:9)
    at EventEmitter.emit (events.js:315:20)
    at /opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/connection.js:116:14
    at Socket.<anonymous> (/opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/message.js:63:9)
    at Socket.emit (events.js:315:20)
    at emitReadable_ (_stream_readable.js:555:12)
    at processTicksAndRejections (internal/process/task_queues.js:83:21)
(node:4909) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:4909) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[4946:0426/102322.794459:ERROR:gl_utils.cc(314)] [.RendererMainThread-0x1fe7b5682300] GL_INVALID_FRAMEBUFFER_OPERATION: Draw framebuffer is incomplete

After some minutes of use, wazzapp crashes MATE in such a way that I need to recover from tty. I'm using the .pacman package from the repo description. Here is my system info:

                  -`                    dango@dangopc 
                  .o+`                   ------------- 
                 `ooo/                   OS: Arch Linux x86_64 
                `+oooo:                  Kernel: 5.15.35-1-lts 
               `+oooooo:                 Uptime: 1 hour, 24 mins 
               -+oooooo+:                Packages: 1503 (pacman) 
             `/:-:++oooo+:               Shell: bash 5.1.16 
            `/++++/+++++++:              Resolution: 1920x1080, 1360x768 
           `/++++++++++++++:             DE: MATE 1.26.0 
          `/+++ooooooooooooo/`           WM: Compiz 
         ./ooosssso++osssssso+`          WM Theme: Materia-dark-compact 
        .oossssso-````/ossssss+`         Theme: Materia-dark-compact [GTK2/3] 
       -osssssso.      :ssssssso.        Icons: Papirus-Dark [GTK2/3] 
      :osssssss/        osssso+++.       Terminal: mate-terminal 
     /ossssssss/        +ssssooo/-       Terminal Font: Monospace 10 
   `/ossssso+/:-        -:/+osssso+-     CPU: AMD Ryzen 5 3600 (12) @ 3.600GHz 
  `+sso+:-`                 `.-/+oso:    GPU: AMD ATI Radeon RX 470/480/570/570 
 `++:.                           `-/+/   Memory: 2531MiB / 15990MiB 
 .`                                 `/
diospiroverde commented 2 years ago

Hi,

Can you please try starting wazzapp from the command line with this command?

wazzapp --disable-gpu

Then check if the issue remains.

daniwenne commented 2 years ago

Hello,

It still crashes, even when disabling the gpu. I noticed that just before it crashes, the tray icon changes to the action-unavailable-symbolic icon from the theme that i'm using. Anyway, here is my terminal output:

$ wazzapp --disable-gpu
/bin/sh: line 1: update-alternatives: command not found
(node:5650) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information
(node:5650) UnhandledPromiseRejectionWarning: DBusError: Process org.freedesktop.Notifications exited with status 1
    at _methodReturnHandlers.<computed> (/opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/bus.js:343:27)
    at handleMessage (/opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/bus.js:101:11)
    at EventEmitter.<anonymous> (/opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/bus.js:151:9)
    at EventEmitter.emit (events.js:315:20)
    at /opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/connection.js:116:14
    at Socket.<anonymous> (/opt/wazzapp/resources/app.asar/node_modules/dbus-next/lib/message.js:63:9)
    at Socket.emit (events.js:315:20)
    at emitReadable_ (_stream_readable.js:555:12)
    at processTicksAndRejections (internal/process/task_queues.js:83:21)
(node:5650) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:5650) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

(wazzapp:5650): libnotify-WARNING **: 19:19:19.474: Failed to connect to proxy

(wazzapp:5650): libnotify-WARNING **: 19:19:44.500: Failed to connect to proxy
Real-time signal 2
diospiroverde commented 2 years ago

Hi,

Before I install a VM to try and reproduce the problem you have on your system, can you please try the following?

Download and install this package I generated just for testing (it disables hardware acceleration within the code) and test it.

PacMan

If this doesn't work, then download the app image and check if the problem persists with this version.

AppImage

I can see the dbus-next module is also throwing exceptions on your system, although this does not seem to be crashing the program. If it's still crashing and you have "sticky notifications" enabled, I'd also ask you to disable them in options, to ensure that it's not related to the crashes you're experiencing.

I only ever tested the pacman package in Manjaro Linux at the request of another user, if nothing of this works I will try a VM with MATE and then get back to you.

daniwenne commented 2 years ago

Hi Diospiro, I managed to narrow down the issue to my compositor (Compiz). if I use marco, this issue goes away. Since compiz is no longer being actively developed, I believe it is unnecessary to pursue this issue any further.

Thank you for your help and for this great app! (It's the best Whatsapp client on linux by a long shot!)

On a side note, I wasn't able to install the package you sent me, it complains of an unmet dependency:

warning: cannot resolve "tuxedo-control-center", a dependency of "wazzapp"
:: The following package cannot be upgraded due to unresolvable dependencies:
      wazzapp

:: Do you want to skip the above package for this upgrade? [y/N] n
error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'tuxedo-control-center' required by wazzapp

This doesn't seem right, are you using debtap to generate the arch package? I see that in your package.json there is no target for arch:

"target": [
                {
                    "target": "deb",
                    "arch": [
                        "ia32",
                        "x64"
                    ]
                },
                "snap",
                "appimage",
                "rpm"

In the electron builder documentation I found out that you can now deploy electron apps to a .pacman file, please take a look: https://www.electron.build/configuration/linux

diospiroverde commented 2 years ago

Hi, daniwenne.

Thanks for narrowing this down to compiz and also for your words about the app. I agree that since compiz is no longer being actively developed we can close this issue (I remember using compiz many years ago for the desktop cube and wobbly windows effects).

I will, nevertheless, add an option to explicity disable hardware acceleration and deploy it in a day or two, so that anyone can work around a catastrophic graphics driver failure in cases like this (or at least try to).

I was indeed using debtap to generate the package for testing, but I will also update package.json and set "pacman" as target.

You can expect a new release shortly.

Again, thank you for taking the time to test the app and for your support.