flathub / com.jagex.RuneScape

https://flathub.org/apps/details/com.jagex.RuneScape
20 stars 12 forks source link

Random Crashing #17

Closed Garbee closed 6 years ago

Garbee commented 6 years ago

I'm trying to run this flatpak on a system running Elementary OS (Ubuntu 16.04 based.) When I try to launch from the application launcher, it quickly shows itself then dies. Running from the terminal I can see that it dies since it can't find /lib/libcurl.so.4 which the launcher requires to run further.

What is weird is, it runs fine on another system using the same OS. This issue occurs regardless of whether the game is installed to the user account or the system.

Terminal output ``` jonathan@jonathan-K55A  ~   ✔  07:49:05 ↳ flatpak run com.jagex.RuneScape /app/extra/runescape: /lib/libcurl.so.4: no version information available (required by /app/extra/runescape) /home/jonathan/Jagex/launcher/rs2client: /lib/libcurl.so.4: no version information available (required by /home/jonathan/Jagex/launcher/rs2client) ```

Please let me know if there is anything else I can do to help figure this out. I'm new to flatpaks so not sure what the debug process is.

Thank you.

Limero commented 6 years ago

The libcurl thing is displayed even on systems where it works, so that's not the issue. Does other Flatpak applications work? Do you build manually or install from Flathub?

Garbee commented 6 years ago

Installed from flathub. And many other flatpak's still work perfectly. The issue is only with this one program on that system.

Limero commented 6 years ago

I just created a virtual machine with ElementaryOS and I can confirm that it does not work there. My terminal output also gives an error related to pantheon-filechooser-module.

Steps to reproduce

  1. Install ElementaryOS
  2. Enable PPA: sudo apt install software-properties-common
  3. Install flatpak/enable flathub: https://flatpak.org/setup/Ubuntu/
  4. Install RuneScape: flatpak install flathub com.jagex.RuneScape
  5. Run RuneScape: flatpak run com.jagex.RuneScape
My terminal output ``` /app/extra/runescape: /lib/libcurl.so.4: no version information available (required by /app/extra/runescape) Gtk-Message: Failed to load module "pantheon-filechooser-module" /home/david/Jagex/launcher/rs2client: /lib/libcurl.so.4: no version information available (required by /home/david/Jagex/launcher/rs2client) ```
TingPing commented 6 years ago

That output is harmless at least. Gtk modules are optional.

Limero commented 6 years ago

After more testing, it doesn't work on Xubuntu 18.04 either (flatpak version 0.11.6). It does however work on a fresh install of Arch Linux (flatpak version 0.11.7). Maybe there is something wrong with flatpak from the PPA?

Update: Nope. Same issue on Fedora 28 (flatpak version 0.11.3).

Garbee commented 6 years ago

Yea, the pantheon-filechooser-module is a well known terminal output. I just have it setup in my shell profile to not use that module at all so I never see it.

The thing is it works on Elementary on my desktop. So it doesn't seem to simply be a "Broken on Elementary" type issue. It looks to me like the flatpaks aren't consistently deployed.

Desktop info Flatpak Version: 0.11.6 flatpak list output (most are system vs user here since this was my initial testing before learning about the user option: ``` org.musicbrainz.Picard/x86_64/stable user,current org.freedesktop.Platform.GL.nvidia-340-106/x86_64/1.4 user,runtime org.freedesktop.Platform.ffmpeg/x86_64/1.6 user,runtime org.freedesktop.Platform/x86_64/1.6 user,runtime org.gtk.Gtk3theme.elementary/x86_64/3.22 user,runtime com.github.alecaddd.sequeler/x86_64/stable system,current com.github.bajoja.indicator-kdeconnect/x86_64/stable system,current com.jagex.RuneScape/x86_64/stable system,current com.obsproject.Studio/x86_64/stable system,current com.valvesoftware.Steam/x86_64/stable system,current io.github.mmstick.FontFinder/x86_64/stable system,current org.gimp.GIMP/x86_64/stable system,current org.gnome.Epiphany/x86_64/master system,current org.megaglest.MegaGlest/x86_64/stable system,current org.videolan.VLC/x86_64/stable system,current org.freedesktop.Platform.Compat32/x86_64/1.6 system,runtime org.freedesktop.Platform.GL.nvidia-340-106/i386/1.4 system,runtime org.freedesktop.Platform.GL.nvidia-340-106/x86_64/1.4 system,runtime org.freedesktop.Platform.GL32.nvidia-340-106/x86_64/1.4 system,runtime org.freedesktop.Platform.ffmpeg/i386/1.6 system,runtime org.freedesktop.Platform.ffmpeg/x86_64/1.6 system,runtime org.freedesktop.Platform/i386/1.6 system,runtime org.freedesktop.Platform/x86_64/1.6 system,runtime org.freedesktop.Sdk/x86_64/1.6 system,runtime org.gnome.Platform/x86_64/3.24 system,runtime org.gnome.Platform/x86_64/3.26 system,runtime org.gnome.Platform/x86_64/3.28 system,runtime org.gnome.Platform/x86_64/master system,runtime org.gtk.Gtk3theme.elementary/i386/3.22 system,runtime org.gtk.Gtk3theme.elementary/x86_64/3.22 system,runtime org.kde.Platform/x86_64/5.9 system,runtime ```
Laptop info Flatpak version: 0.11.6 List output: ``` com.github.alecaddd.sequeler/x86_64/stable user,current com.github.bajoja.indicator-kdeconnect/x86_64/stable user,current com.jagex.RuneScape/x86_64/stable user,current com.obsproject.Studio/x86_64/stable user,current com.valvesoftware.Steam/x86_64/stable user,current org.audacityteam.Audacity/x86_64/stable user,current org.gimp.GIMP/x86_64/stable user,current org.gnome.Epiphany/x86_64/master user,current org.inkscape.Inkscape/x86_64/stable user,current org.kde.kdenlive/x86_64/stable user,current org.libretro.RetroArch/x86_64/stable user,current org.megaglest.MegaGlest/x86_64/stable user,current org.musicbrainz.Picard/x86_64/stable user,current org.videolan.VLC/x86_64/stable user,current org.wesnoth.Wesnoth/x86_64/stable user,current org.freedesktop.Platform.Compat32/x86_64/1.6 user,runtime org.freedesktop.Platform.VAAPI.Intel/x86_64/1.6 user,runtime org.freedesktop.Platform.ffmpeg/x86_64/1.6 user,runtime org.freedesktop.Platform/x86_64/1.6 user,runtime org.gnome.Platform/x86_64/3.24 user,runtime org.gnome.Platform/x86_64/3.26 user,runtime org.gnome.Platform/x86_64/3.28 user,runtime org.gnome.Platform/x86_64/master user,runtime org.gtk.Gtk3theme.elementary/x86_64/3.22 user,runtime org.kde.Platform/x86_64/5.10 user,runtime org.kde.Platform/x86_64/5.9 user,runtime ```
Garbee commented 6 years ago

Are there any build instructions available for people to run the process locally? I've been trying for a few hours to get this to build to try and get the curl library in (borrowing from the Spotify setup.) However, every attempt has failed. It seems to get up to the runescape task and bails out. Yet appears like it is building all fine and successfully.

Even with a clean untouched clone flatpak-builder --force-clean $HOME/flatbuilds/runescape com.jagex.RuneScape.json from the clone directory doesn't build something that downloads the debian and extracts the contents. This is confirmed by looking into the .flatpack-builder/downloads directory and not seeing runescape.deb listed in any of the cache folders as expected.


I suspect the source of failure may in fact be not having curl. About 11 days ago a commit was made to update the hash and version of the debian. Since Jagex doesn't give us changelogs (ugh) I can only guess that possibly they made it fail if curl isn't found. Even if this isn't it, I'd feel much better having curl present so the error (which clearly states it is a requirement) isn't there. Even if adding curl doesn't solve the problem, it's still a good step to take.

Limero commented 6 years ago

The curl error has been there since the beginning, it's probably not the cause. The .deb is downloaded at runtime, not at build, because we are not allowed to redistribute it.

It was a while ago I last built it manually, but my instructions are:

flatpak-builder --force-clean --repo=repo runescape com.jagex.RuneScape.json
flatpak --user remote-add runescape-local --no-gpg-verify repo
flatpak --user install runescape-local com.jagex.RuneScape

And then each time you edit the manifest

flatpak --user update com.jagex.RuneScape && flatpak run com.jagex.RuneScape
Garbee commented 6 years ago

Awesome, those commands seem to be working just fine. And thanks for the info on when the runescape file is downloaded super handy.

I have libcurl.so.4 in place, but it is still complaining about not finding headers. So yes, that seems to not be the source of the issue. I did think about this just now searching around some more... GPU. The laptop is an integrated Intel GPU while the desktop is running and Nvidia GPU. Perhaps the problem lies in that difference. I'll do some more investigating this weekend and see what comes up.

Thank you for the instructions to get it running!

Limero commented 6 years ago

I just tried to run the Flatpak on Arch Linux in Virtualbox (like I did with Elementary/Ubuntu/Fedora) and it's the same error there. I then went on to just installing the client (without Flatpak) and same issue. So this is not a Flatpak related issue, it's the client itself.

You are probably correct that it's an issue related to what video drivers are used. It works on my main machine (RX 480, AMDGPU) but not in VirtualBox.

Garbee commented 6 years ago

Hmm. I installed the client as a sanity check in Elementary directly. Worked perfect on the laptop with the Intel chip. While the flatpak still failed.

Garbee commented 6 years ago

Finally with the local build I was able to run it in development mode. Here is my strace output, trying to decipher it now to see if it brings some light to what is going on.

Full output ``` sh-4.3$ strace runescape execve("/app/bin/runescape", ["runescape"], [/* 65 vars */]) = 0 brk(NULL) = 0x55ad428e2000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb8d66f3000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0600, st_size=74029, ...}) = 0 mmap(NULL, 74029, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66e0000 close(3) = 0 open("/lib/libtinfo.so.5", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \315 !8\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=173040, ...}) = 0 mmap(NULL, 2267936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb8d62a9000 mprotect(0x7fb8d62ce000, 2097152, PROT_NONE) = 0 mmap(0x7fb8d64ce000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fb8d64ce000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\r\340\0378\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=17096, ...}) = 0 mmap(NULL, 2109680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb8d60a5000 mprotect(0x7fb8d60a7000, 2097152, PROT_NONE) = 0 mmap(0x7fb8d62a7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fb8d62a7000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\3\242\0378\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1690488, ...}) = 0 mmap(NULL, 3791264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fb8d5d07000 mprotect(0x7fb8d5e9b000, 2097152, PROT_NONE) = 0 mmap(0x7fb8d609b000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x194000) = 0x7fb8d609b000 mmap(0x7fb8d60a1000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fb8d60a1000 close(3) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb8d66de000 arch_prctl(ARCH_SET_FS, 0x7fb8d66de700) = 0 mprotect(0x7fb8d609b000, 16384, PROT_READ) = 0 mprotect(0x7fb8d62a7000, 4096, PROT_READ) = 0 mprotect(0x7fb8d64ce000, 16384, PROT_READ) = 0 mprotect(0x55ad4092d000, 16384, PROT_READ) = 0 mprotect(0x7fb8d66f5000, 4096, PROT_READ) = 0 munmap(0x7fb8d66e0000, 74029) = 0 open("/dev/tty", O_RDWR|O_NONBLOCK) = 3 close(3) = 0 brk(NULL) = 0x55ad428e2000 brk(0x55ad42903000) = 0x55ad42903000 open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=368, ...}) = 0 mmap(NULL, 368, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66f2000 close(3) = 0 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=56095, ...}) = 0 read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096 read(3, "1002//\tJUS_I.B1.002//\nmodule\tJUS"..., 4096) = 4096 read(3, "ISO-IR-110//\t\tISO-8859-4//\nalias"..., 4096) = 4096 read(3, "\t\tISO-8859-14//\nalias\tISO_8859-1"..., 4096) = 4096 read(3, "IC-ES//\nalias\tEBCDICES//\t\tEBCDIC"..., 4096) = 4096 read(3, "DIC-CP-ES//\t\tIBM284//\nalias\tCSIB"..., 4096) = 4096 read(3, "//\nalias\tCSIBM864//\t\tIBM864//\nal"..., 4096) = 4096 read(3, "BM939//\nmodule\tIBM939//\t\tINTERNA"..., 4096) = 4096 read(3, "EUC-CN//\nalias\tCN-GB//\t\t\tEUC-CN/"..., 4096) = 4096 read(3, "T//\nmodule\tISO-2022-CN-EXT//\tINT"..., 4096) = 4096 read(3, "//\t\tISO_5428//\nalias\tISO_5428:19"..., 4096) = 4096 read(3, "CII-8\t1\n\n#\tfrom\t\t\tto\t\t\tmodule\t\tc"..., 4096) = 4096 brk(0x55ad42924000) = 0x55ad42924000 read(3, "\tfrom\t\t\tto\t\t\tmodule\t\tcost\nalias\t"..., 4096) = 4096 read(3, "712//\t\tINTERNAL\t\tIBM12712\t\t1\nmod"..., 4096) = 2847 read(3, "", 4096) = 0 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0 mmap(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66f1000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_TELEPHONE", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 mmap(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66f0000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_ADDRESS", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=167, ...}) = 0 mmap(NULL, 167, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66ef000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_NAME", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0 mmap(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66ee000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_PAPER", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0 mmap(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66ed000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_MESSAGES", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 close(3) = 0 open("/usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=57, ...}) = 0 mmap(NULL, 57, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66ec000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_MONETARY", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0 mmap(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66eb000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_COLLATE", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=1243766, ...}) = 0 mmap(NULL, 1243766, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d65ae000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_TIME", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=2454, ...}) = 0 mmap(NULL, 2454, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66ea000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_NUMERIC", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_NUMERIC", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0 mmap(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d66e9000 close(3) = 0 open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/en_US/LC_CTYPE", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=317872, ...}) = 0 mmap(NULL, 317872, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fb8d6560000 close(3) = 0 getuid() = 1000 getgid() = 1000 geteuid() = 1000 getegid() = 1000 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 sysinfo({uptime=81586, loads=[121024, 145024, 134848], totalram=7783809024, freeram=1979219968, sharedram=438276096, bufferram=513585152, totalswap=0, freeswap=0, procs=783, totalhigh=0, freehigh=0, mem_unit=1}) = 0 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fb8d5d3a0b0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fb8d5d3a0b0}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fb8d5d3a0b0}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, 8) = 0 uname({sysname="Linux", nodename="jonathan-K55A", ...}) = 0 stat("/home/jonathan", {st_mode=S_IFDIR|0755, st_size=100, ...}) = 0 stat(".", {st_mode=S_IFDIR|0755, st_size=100, ...}) = 0 getpid() = 5 getppid() = 3 getpgrp() = 3 rt_sigaction(SIGCHLD, {0x55ad40689710, [], SA_RESTORER|SA_RESTART, 0x7fb8d5d3a0b0}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fb8d5d3a0b0}, 8) = 0 getrlimit(RLIMIT_NPROC, {rlim_cur=28787, rlim_max=28787}) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/app/bin/runescape", O_RDONLY) = 3 ioctl(3, TCGETS, 0x7ffef0c20c80) = -1 ENOTTY (Inappropriate ioctl for device) lseek(3, 0, SEEK_CUR) = 0 read(3, "#!/bin/sh\n/app/extra/runescape-l"..., 80) = 43 lseek(3, 0, SEEK_SET) = 0 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024*1024}) = 0 fcntl(255, F_GETFD) = -1 EBADF (Bad file descriptor) dup2(3, 255) = 255 close(3) = 0 fcntl(255, F_SETFD, FD_CLOEXEC) = 0 fcntl(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fstat(255, {st_mode=S_IFREG|0755, st_size=43, ...}) = 0 lseek(255, 0, SEEK_CUR) = 0 read(255, "#!/bin/sh\n/app/extra/runescape-l"..., 43) = 43 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fb8d66de9d0) = 6 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x55ad40686550, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, 8) = 0 wait4(-1, /app/extra/runescape: /app/lib/libcurl.so.4: no version information available (required by /app/extra/runescape) /home/jonathan/Jagex/launcher/rs2client: /app/lib/libcurl.so.4: no version information available (required by /home/jonathan/Jagex/launcher/rs2client) [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 6 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {0x55ad40686550, [], SA_RESTORER, 0x7fb8d5d3a0b0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=6, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, 0x7ffef0c20450, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 read(255, "", 43) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 exit_group(0) = ? +++ exited with 0 +++ ```
Around failure ``` uname({sysname="Linux", nodename="jonathan-K55A", ...}) = 0 stat("/home/jonathan", {st_mode=S_IFDIR|0755, st_size=100, ...}) = 0 stat(".", {st_mode=S_IFDIR|0755, st_size=100, ...}) = 0 getpid() = 5 getppid() = 3 getpgrp() = 3 rt_sigaction(SIGCHLD, {0x55ad40689710, [], SA_RESTORER|SA_RESTART, 0x7fb8d5d3a0b0}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fb8d5d3a0b0}, 8) = 0 getrlimit(RLIMIT_NPROC, {rlim_cur=28787, rlim_max=28787}) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/app/bin/runescape", O_RDONLY) = 3 ioctl(3, TCGETS, 0x7ffef0c20c80) = -1 ENOTTY (Inappropriate ioctl for device) lseek(3, 0, SEEK_CUR) = 0 read(3, "#!/bin/sh\n/app/extra/runescape-l"..., 80) = 43 lseek(3, 0, SEEK_SET) = 0 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024*1024}) = 0 fcntl(255, F_GETFD) = -1 EBADF (Bad file descriptor) dup2(3, 255) = 255 close(3) = 0 fcntl(255, F_SETFD, FD_CLOEXEC) = 0 fcntl(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fstat(255, {st_mode=S_IFREG|0755, st_size=43, ...}) = 0 lseek(255, 0, SEEK_CUR) = 0 read(255, "#!/bin/sh\n/app/extra/runescape-l"..., 43) = 43 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fb8d66de9d0) = 6 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x55ad40686550, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, 8) = 0 wait4(-1, /app/extra/runescape: /app/lib/libcurl.so.4: no version information available (required by /app/extra/runescape) /home/jonathan/Jagex/launcher/rs2client: /app/lib/libcurl.so.4: no version information available (required by /home/jonathan/Jagex/launcher/rs2client) [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 6 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fb8d5d3a0b0}, {0x55ad40686550, [], SA_RESTORER, 0x7fb8d5d3a0b0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=6, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- wait4(-1, 0x7ffef0c20450, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn({mask=[]}) = 0 read(255, "", 43) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 exit_group(0) = ? +++ exited with 0 +++ ```
Strace running on host OS successfully ``` strace runescape-launcher execve("/usr/bin/runescape-launcher", ["runescape-launcher"], [/* 57 vars */]) = 0 brk(NULL) = 0x55ee89ee5000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=97258, ...}) = 0 mmap(NULL, 97258, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f08e3a12000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1868984, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f08e3a11000 mmap(NULL, 3971488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f08e343b000 mprotect(0x7f08e35fb000, 2097152, PROT_NONE) = 0 mmap(0x7f08e37fb000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c0000) = 0x7f08e37fb000 mmap(0x7f08e3801000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f08e3801000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f08e3a10000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f08e3a0f000 arch_prctl(ARCH_SET_FS, 0x7f08e3a10700) = 0 mprotect(0x7f08e37fb000, 16384, PROT_READ) = 0 mprotect(0x55ee89c63000, 8192, PROT_READ) = 0 mprotect(0x7f08e3a2a000, 4096, PROT_READ) = 0 munmap(0x7f08e3a12000, 97258) = 0 getuid() = 1000 getgid() = 1000 getpid() = 4638 rt_sigaction(SIGCHLD, {0x55ee89a57540, ~[RTMIN RT_1], SA_RESTORER, 0x7f08e34704b0}, NULL, 8) = 0 geteuid() = 1000 brk(NULL) = 0x55ee89ee5000 brk(0x55ee89f06000) = 0x55ee89f06000 getppid() = 4636 stat("/home/jonathan", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/usr/bin/runescape-launcher", O_RDONLY) = 3 fcntl(3, F_DUPFD, 10) = 10 close(3) = 0 fcntl(10, F_SETFD, FD_CLOEXEC) = 0 geteuid() = 1000 getegid() = 1000 rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGINT, {0x55ee89a57540, ~[RTMIN RT_1], SA_RESTORER, 0x7f08e34704b0}, NULL, 8) = 0 rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f08e34704b0}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], SA_RESTORER, 0x7f08e34704b0}, NULL, 8) = 0 read(10, "#!/bin/sh\n\nif [ -z $1 ]; then\n "..., 8192) = 418 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f08e3a109d0) = 4639 wait4(-1, (runescape:4639): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", (runescape:4639): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", (runescape:4639): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", (runescape:4639): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4639 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4639, si_uid=1000, si_status=0, si_utime=88, si_stime=5} --- rt_sigreturn({mask=[]}) = 4639 read(10, "", 8192) = 0 exit_group(0) = ? +++ exited with 0 +++ ```

Update:

And I realized after a bit more digging, these dumps aren't the whole story. What is crashing is the subprocess for the game that spawns. Which isn't traced unless you do the -f option on strace. But, the stack for that is massive before the crash in the flatpak and on the host system it actually causes an infinite loop that causes the game to never load. So, these strace dumps might not be too useful. :frowning:

Garbee commented 6 years ago

It looks like the gnome 3.28 library update (from 3.26) solved the running problem. Oddly though, only when pulled from flathub. If I made that change locally and rebuilt it still crashed.

Garbee commented 6 years ago

The Gnome 3.28 update triggered this to work on my system at the time. I'm going to close this out since it was very odd not starting up like that anywhere but only on certain versions of flatpak itself.

I will be pulling some of the extremely useful data @Limero provided in here into a contributing guide once I get things mapped out.