Skip to content

AppImage hangs on startup when using fuse #1326

Description

@nickjmeyer

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?

Activity

  1. probonopd commented on May 13, 2024

    @probonopd
    Member

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

  2. nickjmeyer commented on May 13, 2024

    @nickjmeyer
    Author

    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 http://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.

  3. probonopd commented on May 14, 2024

    @probonopd
    Member

    What does which fusermount and which fusermount3 say?

  4. nickjmeyer commented on May 15, 2024

    @nickjmeyer
    Author

    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
    
  5. probonopd commented on May 25, 2024

    @probonopd
    Member

    Please describe your system. Are you running on real hardware, or in some container, etc.

    Can you try to run the AppImage e.g., on a Raspberry Pi, without any containers or virtualization?

  6. nickjmeyer commented on May 30, 2024

    @nickjmeyer
    Author

    The system is a Nvidia Jetson Nano and not using any containers.

    Also pretty sure it's not running on a hypervisor. Checking /proc/cpuinfo seems to confirm that too:

    $ cat /proc/cpuinfo
    processor       : 0
    model name      : ARMv8 Processor rev 1 (v8l)
    BogoMIPS        : 38.40
    Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
    CPU implementer : 0x41
    CPU architecture: 8
    CPU variant     : 0x1
    CPU part        : 0xd07
    CPU revision    : 1
    
    processor       : 1
    model name      : ARMv8 Processor rev 1 (v8l)
    BogoMIPS        : 38.40
    Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
    CPU implementer : 0x41
    CPU architecture: 8
    CPU variant     : 0x1
    CPU part        : 0xd07
    CPU revision    : 1
    
    processor       : 2
    model name      : ARMv8 Processor rev 1 (v8l)
    BogoMIPS        : 38.40
    Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
    CPU implementer : 0x41
    CPU architecture: 8
    CPU variant     : 0x1
    CPU part        : 0xd07
    CPU revision    : 1
    
    processor       : 3
    model name      : ARMv8 Processor rev 1 (v8l)
    BogoMIPS        : 38.40
    Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
    CPU implementer : 0x41
    CPU architecture: 8
    CPU variant     : 0x1
    CPU part        : 0xd07
    CPU revision    : 1
    

    I unfortunately don't have any other ARM machines to test on. I'm happy to attach the AppImage if anyone else wants to try, but I also understand not wanting to run a random AppImage from some random person 😅

  7. probonopd commented on Nov 25, 2024

    @probonopd
    Member

    Can you please retry with the latest http://github.com/AppImage/type2-runtime/releases/tag/continuous build?
    We have changed a lot there.

    If you want to try:
    http://github.com/AppImage/appimagetool/releases/tag/continuous uses it.

    Thanks for retesting.

  8. nickjmeyer commented on Nov 30, 2024

    @nickjmeyer
    Author

    Thanks for the heads up! I'm away from my setup, but I'll test in the next week or so.

  9. nickjmeyer commented on Dec 7, 2024

    @nickjmeyer
    Author

    I still saw the issue. However, I'm going to lose access to this platform soon. So it probably makes sense to just close this issue as it seems to be an issue with this OS / platform.

  10. nejatafshar commented on Dec 20, 2024

    @nejatafshar

    I am having exactly same issue on my NVIDIA Jestson Nano (Ubuntu 18.04) when trying to run my AppImage. I am making the AppImage using appimagetool-860-aarch64.AppImage.
    @probonopd

  11. probonopd commented on Dec 20, 2024

    @probonopd
    Member

    Thanks for reporting @nejatafshar.

    http://github.com/AppImage/type2-runtime has seen some updates which are not backported to here yet. It would be interesting to know whether that version of the runtime has the same issues. Thanks!

  12. nejatafshar commented on Dec 20, 2024

    @nejatafshar

    @probonopd

    appimagetool-aarch64.AppImage runs fine on NVIDIA Jestson Nano.

    But running appimagetool-860-aarch64.AppImage in go-appimage repository gives this error:

    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 http://github.com/AppImage/AppImageKit/wiki/FUSE
    for more information
    open dir error: No such file or directory

    It would be nice if the updates are also ported to go-appimage to fix this issue.
    Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions