flathub / com.axosoft.GitKraken

https://flathub.org/apps/details/com.axosoft.GitKraken
8 stars 9 forks source link

Trying to run terminal or view settings - both crash #114

Closed othbert closed 3 years ago

othbert commented 3 years ago

Similarly to #106 - I wanted to test the gitkraken cli feature new in 8.0.0, but it immediately crashes. I wanted to check settings and found this also crashes the application. Nothing (apart from actual old errors from my projects) in error-log.txt - running via flatpak run com.axosoft.GitKraken gives this output:

[2 preload-host-spawn-strategy] Running: /app/bin/zypak-helper child - /app/extra/gitkraken/gitkraken --type=zygote
Gtk-Message: 20:10:08.714: Failed to load module "canberra-gtk-module"

(gitkraken:2): Gtk-WARNING **: 20:10:08.739: Theme parsing error: gtk.css:1090:0: Expected a valid selector
(node:2) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:2) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(electron) 'allowRendererProcessReuse' is deprecated and will be removed.
state:  unavailable
state:  checking
(node:117) Electron: Loading non-context-aware native module in renderer: '/app/extra/gitkraken/resources/app.asar.unpacked/node_modules/@axosoft/nodegit/build/Release/nodegit-fedora-28.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:117) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
state:  unavailable
(node:117) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(node:117) DeprecationWarning: Instantiation of DiffOptions is deprecated and will be removed in an upcoming version
(node:117) DeprecationWarning: Use NodeGit.Credential.TYPE.[object Object] instead of NodeGit.Cred.TYPE.[object Object]
(node:117) DeprecationWarning: Use NodeGit.Credential.sshKeyNew instead of NodeGit.Cred.sshKeyNew

Then attempting to open settings ...

Cannot upload crash dump: failed to open
Failed to save crash dump: failed to open
App Window: WebContents 2 render process unexpectedly missing: crashed
MessagePort is terminating
[PERFORMANCE] tried to end event with no start time: opening renderer window
state:  checking
state:  unavailable
(node:241) Electron: Loading non-context-aware native module in renderer: '/app/extra/gitkraken/resources/app.asar.unpacked/node_modules/@axosoft/nodegit/build/Release/nodegit-fedora-28.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:241) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:241) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(node:241) DeprecationWarning: Instantiation of DiffOptions is deprecated and will be removed in an upcoming version
(node:241) DeprecationWarning: Use NodeGit.Credential.TYPE.[object Object] instead of NodeGit.Cred.TYPE.[object Object]
(node:241) DeprecationWarning: Use NodeGit.Credential.sshKeyNew instead of NodeGit.Cred.sshKeyNew

(edit: sorry, forgot possibly relevant specs) AMD Ryzen 7 4800H apu - OpenSUSE Tumbleweed x64 - 5.14.2-1-default kernel - KDE Plasma 5.22.5

Lctrs commented 3 years ago

Can't reproduce. Did you give host access to gitkraken flatpak ?

othbert commented 3 years ago

Ahh interesting, nope, I didn't change filesystem permissions from what I had in previous versions that were working. flatpak info -m com.axosoft.GitKraken gives:

[Context]
shared=network;ipc;
sockets=x11;pulseaudio;ssh-auth;pcsc;
devices=dri;
filesystems=home;/media;xdg-run/gvfsd;/mnt;/run/media;xdg-run/gvfs;

My project data and so on is mounted on drives under /mnt. Would expect it was allowing access to subdirs before, perhaps that has changed at some point? I tried to override with sudo flatpak override com.axosoft.GitKraken --filesystem=host I get no confirmation or error but the flatpak info command shows the same filesystems in metadata afterwards.

Could it be because I have used flatseal as a gui to handle permissions and locations for other apps? Though when I try to set it through there I also get the same filesystems listed and not host. Flatseal shows it the option as enabled, to allow host filesystem, but nothing so far seems to have made any difference (which makes sense if neither flatseal nor the override are really setting the fs permissions to host).

othbert commented 3 years ago

Ok sorry, now I ran flatpak override --show com.axosoft.GitKraken and got the result:

[Context]
filesystems=host;

I could also see this value being changed if I enabled host (and host-os / host-etc) in flatseal but as a user permission. Not sure that would make any difference as I have all my flatpaks installed at system wide level.

Still no change in behaviour.

... and I forgot to say, thanks for taking a look!

Lctrs commented 3 years ago

No no no. I didn't mean it this way. You should not give access to host filesystem. I asked this because of #6.

I don't know what could happen since there is no log.

Try running the app with flatpak run com.axosoft.GitKraken --log-level EXTENDED, maybe it will give us more informations.

Lctrs commented 3 years ago

Could also try flatpak run com.axosoft.GitKraken --log-level SILLY

othbert commented 3 years ago

Ok thanks, I removed the override for host access and ran; flatpak run com.axosoft.GitKraken --log-level SILLY

output:

[2 preload-host-spawn-strategy] Running: /app/bin/zypak-helper child - /app/extra/gitkraken/gitkraken --type=zygote --log-level
Gtk-Message: 22:32:22.678: Failed to load module "canberra-gtk-module"

(gitkraken:2): Gtk-WARNING **: 22:32:22.709: Theme parsing error: gtk.css:1090:0: Expected a valid selector
(node:2) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:2) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(electron) 'allowRendererProcessReuse' is deprecated and will be removed.
state:  unavailable
state:  checking
state:  unavailable
(node:119) Electron: Loading non-context-aware native module in renderer: '/app/extra/gitkraken/resources/app.asar.unpacked/node_modules/@axosoft/nodegit/build/Release/nodegit-fedora-28.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:119) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:119) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(node:119) DeprecationWarning: Instantiation of DiffOptions is deprecated and will be removed in an upcoming version
(node:119) DeprecationWarning: Use NodeGit.Credential.TYPE.[object Object] instead of NodeGit.Cred.TYPE.[object Object]
(node:119) DeprecationWarning: Use NodeGit.Credential.sshKeyNew instead of NodeGit.Cred.sshKeyNew
(node:2) UnhandledPromiseRejectionWarning: Error: bad request
    at buildError (<embedded>:10:747606)
    at IncomingMessage.<anonymous> (<embedded>:10:749304)
    at IncomingMessage.emit (events.js:310:20)
    at IncomingMessage.EventEmitter.emit (domain.js:482:12)
    at endReadableNT (_stream_readable.js:1187:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
(node:2) 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:2) [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.

Then clicking settings:

Cannot upload crash dump: failed to open
Failed to save crash dump: failed to open
App Window: WebContents 2 render process unexpectedly missing: crashed
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
MessagePort is terminating
Error occurred in handler for 'AWAIT_MAIN_PROMISE': MessagePort is terminating
[PERFORMANCE] tried to end event with no start time: opening renderer window
Error occurred in handler for 'PULL_REQUEST_FETCH_ALL': TypeError: Object has been destroyed
    at <embedded>:1:112351
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async electron/js2c/browser_init.js:189:542
state:  checking
state:  unavailable
(node:252) Electron: Loading non-context-aware native module in renderer: '/app/extra/gitkraken/resources/app.asar.unpacked/node_modules/@axosoft/nodegit/build/Release/nodegit-fedora-28.node'. This is deprecated, see https://github.com/electron/electron/issues/18397.
(node:252) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:252) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(node:2) UnhandledPromiseRejectionWarning: #<Object>
(node:2) 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: 2)
(node:252) DeprecationWarning: Instantiation of DiffOptions is deprecated and will be removed in an upcoming version
(node:252) DeprecationWarning: Use NodeGit.Credential.TYPE.[object Object] instead of NodeGit.Cred.TYPE.[object Object]
(node:252) DeprecationWarning: Use NodeGit.Credential.sshKeyNew instead of NodeGit.Cred.sshKeyNew
Lctrs commented 3 years ago

Hmmm I think you should report this upstream (ie. To Axosoft)

othbert commented 3 years ago

I'll ping them a message with a link to this issue, but guessing they won't really push it much :S I tried the rpm package and all worked flawlessly, so I'll stick with that in the meantime.

othbert commented 3 years ago

Unfortunately I had stuff to get on with and couldn't spend time testing their proposed fix, which was to rename the /usr/share/fonts and/or ~/.local/share/fonts directories as Some fonts may Gitkraken crash when accessing the Preferences panel.

I switched to the rpm package and that worked just fine. Only came back to this now, downgraded the flatpak back to 8.0.0 and tried the folder renaming but it made no difference.

However, the issue is gone for me in both 8.0.1 and 8.1.0, so I'll close this issue off now and cross my fingers it doesn't pop back up at some point :) Thanks!

othbert commented 2 years ago

This issue is back for me in 8.2.1 along with not being able to use the workspaces tool. Shame, I guess it's just something strange with my machine setup, so I'll switch to the rpm again for now. For what it's worth: renaming the font directories as suggested before makes no difference.