-
-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gittyup (Debian, xfce (X11, not Wayland), flatpak) now won't show GUI #783
Comments
FIXED...? I was beat and ready to give up, then I thought I would give Gittyup one last shot. I cloned the repository and compiled from source, AND IT WORKED. I get a GUI, and I don't get "Indexer Crashed". Gittyup works perfectly. I compiled from master, not from the most recent development branch. With that said, the following is a script that "works for me" on my up-to-date Debian system. I figure it should work for Ubuntu and similar, based on apt. =============================================== sudo apt install build-essential libgl1-mesa-dev rm -rf Gittyup git checkout master git submodule init cd dep/openssl/openssl/ cd ../../.. =============================================== This was after I tried the following (which failed): flatpak uninstall com.github.Murmele.Gittyup Then, I start the AppImage version of Gittyup and create a new project at ~/python/step4, and I get the same "Indexer Crashed" error. Then I "flatpak install com.github.Murmele.Gittyup" and run the flatpak version, and still, no gui. I really didn't want to reinstall my system from scratch, only for something unknown to change, and have Gittyup stop working again. |
Can you build the flatpak package using the DEBUG flag for gittyup?
Can you try a |
I've created a flatpak build on my Debian box with the -DCMAKE_BUILD_TYPE=Debug flag in the manifest. It still does not open a GUI window. It crashes at exactly the same point in the strace logs. Comments:I noticed that the com.github.Murmele.Gittyup.yaml in the 1.4 source tree is for version 1.3, so I fixed that. I was not sure what environment I should be using to create this build, but maybe that is abstracted away by the flatpak-builder process. I have an idea about a compiler option I want to try. |
Did you get a more readable stacktrace? |
@johnny-mayo did you try running |
I finally got back to this issue and figured it out...well, because another flatpak app was touching The TL;DR of it is that something in flatpak is trying to do something in the nouveau driver Solutions:
A little more on that fifth option. It disables hardware rendering for the specified flatpak (base) user@erying:~$ flatpak info --show-permissions com.github.Murmele.Gittyup [Session Bus Policy] [Environment] ...so, it sets the LIBGL_ALWAYS_SOFTWARE as a default env var for the app, flatpak run com.github.Murmele.Gittyup ...and it just runs...without hardware acceleration. Since Gittyup is not something that benefits from GPU acceleration, this works for me, I would suggest adding the following line to the "finish-args:" section of: --env=LIBGL_ALWAYS_SOFTWARE=1 Notes: I did not try (but will if someone gives reason to): As an aside, I would really like some input on #789 Anyway, the dmesg logs, as promised: [22474.995230] BUG: kernel NULL pointer dereference, address: 0000000000000000 Thank you, johnny-mayo |
Yes, adding --env=LIBGL_ALWAYS_SOFTWARE=1 to the finish-args: section of https://github.com/Murmele/Gittyup/blob/master/com.github.Murmele.Gittyup.yml produces a Gittyup flatpak bundle file that, when installed, properly sets the environment variable and allows the Gittyup flatpak to produce a GUI when run with a normal "flatpak run com.github.Murmele.Gittyup" by the user without having to do anything special because hardware video acceleration is disabled by the environment variable, and the the software emulation works just fine. I hope to do the pull request tomorrow. In the attached issue783.zip file are all the scripts and Dockerfile needed to create an archlinux:latest docker image (like in the github CI) with everything installed that is necessary to build Gittyup.flatpak. Start with README Toodles, johnny-mayo |
But switching to Software Rendering is not the solution. It works for a lot of other distributions and it makes the software slower |
I agree, completely. My solution is a hacky kluge work-around. The problem is not with Gittyup. This used to work, then stopped, with the same 1.4 version of Gittyup. It also affects Anki flatpak in exactly the same way, according to strace logs, which is the reason I came back to this problem. The factors involved, I think, are the video driver, video driver version, and flatpak (with its video shared objects and other support stuff) and possibly other library version issues in the system. My few google searches gave me the impression this is not something of a priority on flatpak's side. They seem to point to something (anything?) else in the system and close the situation. "Not my problem" syndrome. I don't have the resources to investigate this non-Gittyup problem further. I would like Gittyup to work for more people. Thank you, johnny-mayo P.S. I might not be able to do the pull request until tomorrow, if you still want to go this direction. |
This seems to me like it's most likely a nouveau problem. Until recently, nouveau was so unstable and unfinished that even 2d desktop usage was problematic. You being on Debian Stable suggests that you are still using a nouveau version that is in such a state. From the dmesg you shared, it looks like this is a kernel bug and should be fixed there. Most likely it has already been fixed a while ago and Debian Stable is just missing said fix. |
Thank you very much for the input. From my limited googling, I got the impression that even the proprietary Nvidia binary blobs were causing issues with flatpak, but I had no idea that Nouveau was in such a sad state of affairs on Debian stable. Maybe I should try out the open source Nvidia option?...they seem to be acting like it is important to put energies into its development. Both the compiled from source and the AppImage versions of Gittyup work just fine with Debian stable Nouveau. It seems to be more of a "flatpak thing" with Nouveau (and/or the kernel, you say?), which is ironic, considering one of the goals of flatpak is to be able to run apps on any Linux based OS, but instead the app runs anywhere but on flatpak. Again, the same problem affects the Anki flatpak, with the same "workaround" solution. I am curious, though, since my assumptions may have been incorrect...how does Gittyup benefit from hardware acceleration? Whatever the root cause(s) might be, the decision must be made as to whether it is better to completely avoid the possibility of the issue (at a performance cost?), or if it is better to try to make sure the users become aware of this workaround or be told they need a different video driver if they have problems with the flatpak version, or to not use the flatpak version. I suppose a deciding factor would be the frequency of occurrence, if that information is available. In that respect, I have no input. I'm here to help. I'm out of resources, though. Thank you, johnny-mayo |
I would think that on a normal system, performance would be similar. It just renders stuff on the CPU instead of the GPU, which takes processing power away from something like a compiler running alongside Gittyup. I think the main issue is likely just feeling wasteful rendering on the CPU, when there is a GPU available for the task, and also it feeling like we are fixing an issue in the wrong place. |
|
After using it for a month or so, Gittyup (Debian, xfce (X11, not Wayland), flatpak) now seems to start, but does not show the graphical window.
If I start it with the command line with "flatpak run -v --branch=stable --arch=x86_64 --command=gittyup com.github.Murmele.Gittyup", the process starts, shows some messages/errors/warnings, and hangs.
One message is: 'Failed to load module "xapp-gtk3-module"', which, after a lot of googling, is something to do with flatpak, but not something that would keep a flatpak app from running. The next message (which further tells me that the last message was not a terminal error) is "Qt: Session management error", which is an ignorable message that can be eliminated by "unset SESSION_MANAGER" before starting the app. Not that it matters, but "sudo apt install xapp" and sudo apt install xapp-gtk3-module" do not find anything by those names in apt, but that was the extent to which I unnecessarily(?) tried to fix that problem.
If I follow the instructions here: https://docs.flatpak.org/en/latest/debugging.html, and run Gittyup in gdb, I get:
(gdb) run
Starting program: /app/bin/gittyup
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff27786c0 (LWP 24)]
[New Thread 0x7ffff1f776c0 (LWP 25)]
Gtk-Message: 14:49:16.097: Failed to load module "xapp-gtk3-module"
Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
[New Thread 0x7fffebfff6c0 (LWP 26)]
[New Thread 0x7fffeaa786c0 (LWP 27)]
[New Thread 0x7fffea2776c0 (LWP 28)]
[New Thread 0x7fffe9a766c0 (LWP 29)]
[New Thread 0x7fffe92756c0 (LWP 30)]
[Thread 0x7ffff65e3880 (LWP 21) exited]
...then, after a 10 seconds or so:
[Thread 0x7fffe92756c0 (LWP 30) exited]
[Thread 0x7fffe9a766c0 (LWP 29) exited]
[Thread 0x7fffea2776c0 (LWP 28) exited]
[Thread 0x7fffeaa786c0 (LWP 27) exited]
...then there is nothing more in the logs, and no gui.
If I start it from xfce, I see this process tree: xfce4-panel─┬─bwrap───bwrap───gittyup───3*[{gittyup}]
When I used strace with "strace flatpak run -v --branch=stable --arch=x86_64 --command=gittyup com.github.Murmele.Gittyup |& tee gittyup.strace.log" and grepped through the output file, I saw that it was referencing many config files, so I tried uninstalling all flatpak apps, deleting ~/.var/app/com.github.Murmele.Gittyup, apt uninstalling flatpak, and reinstalling everything from scratch, and I see that it is no longer referencing the .git/gittyup files in my project directories (which, yes, I tried deleting previously), but still, no gui.
I even tried "sudo chmod u+s /usr/bin/bwrap" for giggles, but no dice.
The only file in the ~/.local/share/flatpak/ tree is config, which contains:
[core]
repo_version=1
mode=bare-user-only
min-free-space-size=500MB
The Appimage version of Gittyup works just fine. I wonder if it has anything to do with the environment or config file differences between the Appimage and the flatpak versions.
I have VSCodium installed in flatpak, and it works just fine. If I "strace flatpak run com.vscodium.codium |& tee vscodium" and use meld to diff the output with that of Gittyup, I see that it does the same miniconda3 bwrap stuff, but, besides the architectural differences, I don't see anything that stands out.
Everything was working fine, until I did an update on apt and flatpak (and maybe a "sudo shutdown -r now" while everything was running), so I tried installing and fully updating in a Debian VM, and it works fine. In the VM, however, I do not have miniconda installed, for one.
In the VM, where the Gittyup flatpak runs just fine (from xfce or terminal), grep returns no mention of "xapp-gtk3-module", but there is the "Qt: Session management error" line, followed by the screenshot I have included.
Regarding the apt and flatpak updates, here is what was updated in apt at that time:
Start-Date: 2024-06-17 14:55:31
Commandline: apt upgrade -y
Requested-By: user (1000)
Upgrade: containerd.io:amd64 (1.6.32-1, 1.6.33-1), docker-compose-plugin:amd64 (2.27.0-1debian.12bookworm, 2.27.1-1debian.12bookworm), docker-ce-cli:amd64 (5:26.1.3-1debian.12bookworm, 5:26.1.4-1debian.12bookworm), gstreamer1.0-gl:amd64 (1.22.0-3+deb12u1, 1.22.0-3+deb12u2), libarchive13:amd64 (3.6.2-1, 3.6.2-1+deb12u1), libavdevice59:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1), libgstreamer-gl1.0-0:amd64 (1.22.0-3+deb12u1, 1.22.0-3+deb12u2), ffmpeg:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1), libarchive-tools:amd64 (3.6.2-1, 3.6.2-1+deb12u1), gstreamer1.0-alsa:amd64 (1.22.0-3+deb12u1, 1.22.0-3+deb12u2), gir1.2-gst-plugins-base-1.0:amd64 (1.22.0-3+deb12u1, 1.22.0-3+deb12u2), libpostproc56:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1), docker-buildx-plugin:amd64 (0.14.0-1debian.12bookworm, 0.14.1-1debian.12bookworm), docker-ce:amd64 (5:26.1.3-1debian.12bookworm, 5:26.1.4-1debian.12bookworm), libndp0:amd64 (1.8-1, 1.8-1+deb12u1), gstreamer1.0-x:amd64 (1.22.0-3+deb12u1, 1.22.0-3+deb12u2), libavcodec59:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1), gstreamer1.0-plugins-base:amd64 (1.22.0-3+deb12u1, 1.22.0-3+deb12u2), docker-ce-rootless-extras:amd64 (5:26.1.3-1debian.12bookworm, 5:26.1.4-1debian.12bookworm), python3-pil.imagetk:amd64 (9.4.0-1.1+b1, 9.4.0-1.1+deb12u1), libavutil57:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1), libswscale6:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1), python3-pil:amd64 (9.4.0-1.1+b1, 9.4.0-1.1+deb12u1), libswresample4:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1), libavformat59:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1), libgstreamer-plugins-base1.0-0:amd64 (1.22.0-3+deb12u1, 1.22.0-3+deb12u2), firefox-esr:amd64 (115.11.0esr-1deb12u1, 115.12.0esr-1deb12u1), libavfilter8:amd64 (7:5.1.4-0+deb12u1, 7:5.1.5-0+deb12u1)
End-Date: 2024-06-17 14:55:53
I'm not sure how to see what versions of Gittyup dependencies were in flatpak before I did the flatpak app update. I think the versions of the dependencies are what the Gittyup flatpak app says it needs, though, and the Gittyup flatpak version hasn't changed in some time...should not the dependency versions installed in flatpak remain the same?
I have to point out that I've installed updating apt and flatpak apps in the VM works fine, and with xfce, so I don't think it is a version problem. In my hardware box with the problem, I've unintstalled and wiped out every config file I could find and resinstalled from scratch, which did not fix the problem, so I don't think it was a config file corruption problem. I do not have a standardized Debian config, as I install tools when I find them as solutions to problems I have, so it would be near impossible to recreate the environment I have.
For me, I'm fine with running the Appimage version. Maybe this is really a flatpak issue.
For the purposes of helping the community, I'm willing to try suggestions to resolve this issue.
gittyup.strace.log
The text was updated successfully, but these errors were encountered: