AppImage/AppImageKit

AppImage hangs on startup when using fuse

nickjmeyer opened this issue · 6 comments

I have a custom built aarch64 AppImage that won't launch using fuse. The problem seems to persist even with a minimal program:
Here's the contents of the program appimage_test:

#include <iostream>
int main()
{
  std::cout << "Success!\n";
  return 0;
}

If I simply run

$ ./appimage_test

then the program will hang and requires a SIGKILL.

Upon killing it with pkill -9 appimage_test, I get the following:

/tmp/.mount_appimaglNoJB/AppRun: 10: exec: ./kits/appimages/tests/appimage_test: Transport endpoint is not connected

Not sure if that failure is real or not given it was killed with SIGKILL.

However, when running it under strace, it seems to hang on executing the binary:

$ strace ./appimage_test
...
execve("./kits/appimages/tests/appimage_test", ["./kits/appimages/tests/appimage_"...], 0x5573a97bb8 /* 30 vars */

(Happy to provide more output from the strace if its helpful)

As manual work arounds, both of the following work as expected:

  1. Running by forcing extraction first via the env variable.
$ APPIMAGE_EXTRACT_AND_RUN=1 ./appimage_test
Success!
  1. Mounting the image and executing AppRun manually.
$ ./appimage_test --appimage-mount
/tmp/.mount_appimadpHoPp
$ cd /tmp/.mount_appimadpHoPp/
$ ./AppRun
Success!

Version of installed libfuse2:

nmeyer@jnano:~$ sudo apt list --installed | grep -i libfuse2
libfuse2/bionic,now 2.9.7-1ubuntu1 arm64 [installed]

Any suggestions for debugging this?

Does this also happen when you are trying to run a precompiled aarch64 AppImage, e.g., https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-aarch64.AppImage?

It seems to have a different issue:

$ ./appimagetool-aarch64.AppImage
fuse: failed to exec fusermount: Permission denied

Cannot mount AppImage, please check your FUSE setup.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information
open dir error: No such file or directory

I tried my own tool again afterwards and interestingly enough it ran the first time just fine, but then hung the second time:

$ ./appimage_test.aarch64
Success!
$ ./appimage_test.aarch64
^C^C^C^C

I tried the one you sent multiple times and it seems to always dump out the same error. Based on the error, it seems to suggest something is wrong with the FUSE setup which could make sense given extract and run works just fine.

What does which fusermount and which fusermount3 say?

Here's the output:

$ which fusermount
/bin/fusermount
$ which fusermount3

So only 2 is installed.

Here's 2's version

$ fusermount --version
fusermount version: 2.9.7