Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
AppImage file segfaults #579
I just tried installing Cutter on Ubuntu 18.04 (x64) from the AppImage file, and got a segfault:
Here's the stacktrace from GDB:
The libQt5Gui.so.5 library is provided by the system package:
I don't think I have any KDE stuff installed; I'm trying to run this on the GNOME desktop. Let me know if you need any more info to help diagnose. Thanks!
Confirmed that I see the same crash on a fresh download of 1.6 AppImage:
Ok, so operating on the thesis that there must be some weird library installed on my machine that's screwing things up I tried Cutter on a second Ubuntu 18.04 machine I have here (over SSH X forwarding) and whilst I haven't done anything meaningful with it, it doesn't crash on startup. I figured this must be something to do with which libraries are installed on the two systems (they're both pretty standard Ubuntu 18.04 with essentially everything installed from packages), so extracted the AppImage and ran ldd on both. Pretty huge difference. Here's what I get on the working system:
And here's what I get on the broken system:
The big thing that leaps out at me is that the working system lists
Going through the same process of
So it looks like this is caused by the AppImage version using some system libraries and the system radare2 install, rather than the ones included in the AppImage. I unfortunately don't know enough about how AppImage works to know if there's a way to make it set library loading paths, etc, correctly on its own. However re-installing those packages (
I'll leave it to you guys to decide how to proceed on this. If resolving the packaging isn't deemed worth it, it's probably at least worth putting a note next to the download link advising users to remove these packages or somehow isolate Cutter from the system packages.
I got something similar. Downloaded Cutter 1.7 and tried running it on Ubuntu 16.04.5 (latest version). I got the warning:
So it appears that the version detection in radare2 failed. This was followed by a segfault when I clicked
I didn't have the radare2 Ubuntu package installed, but I turns out I had built it from source a while back and installed that in my PATH. Removed that, and now things appear to work better.
I want to add some context. I extracted the Appimage and when running the Cutter binary and opening its core file I get the below:
#0 0x00007ff982622d3b in Py_InitModule4_64 () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
x7ff982622d3b <Py_InitModule4_64+43> cmp QWORD PTR [rax+0x10],0x0
(gdb) p $rax
Hi @j4m3z0r, I tried again myself and I believe the issue is that
Hey, sorry; didn't realize this was waiting on me. My understanding was that ldd did symbol resolution the same way as the loader, but anyway, here's the output of that command:
Grepping out ENOENT from that gives us the following, which shows that it's loading system libraries:
So I'm pretty sure the issue is related to LD_LIBRARY_PATH. I didn't realize it, but I set an LD_LIBRARY_PATH in my .bashrc (it was there to get the CUDA libraries to work). If I either set it to the AppImage extracted path like this:
or unset LD_LIBRARY PATH, like this:
Then Cutter loads up just fine. Googling around, I see that there are some other AppImage-based packages for other software that also have issues with LD_LIBRARY_PATH, so you can probably make the case that this isn't your bug. On the other hand, LD_LIBRARY_PATH for libraries like CUDA that aren't managed by the OS packaging system is pretty common practice.
At any rate, my sense is that at a minimum this should probably be documented. It probably also wouldn't be too hard to have a wrapper script for the AppImage that unsets LD_LIBRARY_PATH.