proot icon indicating copy to clipboard operation
proot copied to clipboard

Firefox ESR Crash on Ubuntu 22.04

Open makerandreas opened this issue 1 year ago • 5 comments

I tried to run Firefox ESR on my Ubuntu 22.04 running under PRoot on Termux 0.118.0 at Android 11. But when I try to activate it's sync function. It immediately crashed.

I try to run the browser again using firefox-esr command in Terminal (from Ubuntu container, not via Termux), and this is what I've found

[Parent 24084, Main Thread] WARNING: read-only dup failed (Permission denied); not using memfd: file /build/firefox-esr-5XoE6V/firefox-esr-102.2.0esr+build2/ipc/chromium/src/base/shared_memory_posix.cc:247
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: No GPUs detected via PCI (t=7.12724) [GFX1-]: No GPUs detected via PCI
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: No GPUs detected via PCI (t=7.12724) |[1][GFX1-]: glxtest: process failed (received signal 11) (t=7.12888) [GFX1-]: glxtest: process failed (received signal 11)
[Child 26683, Main Thread] WARNING: read-only dup failed (Permission denied); not using memfd: file /build/firefox-esr-5XoE6V/firefox-esr-102.2.0esr+build2/ipc/chromium/src/base/shared_memory_posix.cc:247
Missing chrome or resource URL: resource://gre/modules/UpdateListener.jsm
Missing chrome or resource URL: resource://gre/modules/UpdateListener.sys.mjs
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Segmentation fault.

Any solution regarding this issue?

makerandreas avatar Sep 10 '22 13:09 makerandreas

Even though I AM not Proot developer I Am also observing this behaviour. Sad reality is, that FIrefox uses shared memory more and more and very probably it call some shared memory functions which are not The part of The Proot. Complete shared memory can not be build in to proot. Not because Proot developers would not have A good will to implement complete shared memory implementation. The reason is pragmatic. Chips which store data inside Android based devices could be severely corrupted if AN app would want to implement shared memory call like Linux kernel does. Android uses its own shared memory routines which differs from The Linux implemented kernel. Try to use The chromium browser instead. To avoid The similar issue like with Firefox disable Shared memory and sandbox by using The following command chromium --disable-dev-shm-usage --no-sandbox Unfortunately, Proot is not complete computer Emulator. It do not emulate BIOS and Linux kernel can not be directly executed by using Proot. It is sad, that Firefox do not allow users to disable sandbox and shared memory.

JanuszChmiel avatar Sep 12 '22 08:09 JanuszChmiel

Even though I AM not Proot developer I Am also observing this behaviour. Sad reality is, that FIrefox uses shared memory more and more and very probably it call some shared memory functions which are not The part of The Proot. Complete shared memory can not be build in to proot. Not because Proot developers would not have A good will to implement complete shared memory implementation. The reason is pragmatic. Chips which store data inside Android based devices could be severely corrupted if AN app would want to implement shared memory call like Linux kernel does. Android uses its own shared memory routines which differs from The Linux implemented kernel. Try to use The chromium browser instead. To avoid The similar issue like with Firefox disable Shared memory and sandbox by using The following command chromium --disable-dev-shm-usage --no-sandbox Unfortunately, Proot is not complete computer Emulator. It do not emulate BIOS and Linux kernel can not be directly executed by using Proot. It is sad, that Firefox do not allow users to disable sandbox and shared memory.

Alright, so sad to hear about that.

I've tried to install Chromium and it's installed succesfully. But when I try to run it, nothing happens.

Here's what I've found when I try to run Chromium via terminal: /usr/lib/chromium/chromium: error while loading shared libraries: libx264.so.163: cannot enable executable stack as shared object requires: Permission denied

Any solution?

makerandreas avatar Sep 13 '22 15:09 makerandreas

Dear MR makerandreas, unfortunately, Chromium latest available release available on Debian Pulseie repository can not be executed even with such command line options. Sad programmers reality. I have even observed dangerous messages such as mashed stack, process is unusable. So I have rather pressed CTRL+c to terminate such unstable process of Chromium. Chromium is more depend on regular functioning Linux distribution than several months ago. Chromium could not start udev monitor. And this has caused so big system instability. I Am afraid, that also .so library from Pelia for shared memory will not help. Because it emulate only several functions. So my most realistic suggestion is to switch to older Debian release than Pulseie and we must hope, that its repo will not contain so new versions of WEB browser. Unfortunately for us, Firefox developers have also incorporated some new shared memory calling. Even my favourite Seamonkey has stop working. So as I can observe, Proot and Linux distributions will lack support of The most wanted apps such as WEB browsers are.

JanuszChmiel avatar Sep 13 '22 20:09 JanuszChmiel

Dear MR makerandreas, unfortunately, Chromium latest available release available on Debian Pulseie repository can not be executed even with such command line options. Sad programmers reality. I have even observed dangerous messages such as mashed stack, process is unusable. So I have rather pressed CTRL+c to terminate such unstable process of Chromium. Chromium is more depend on regular functioning Linux distribution than several months ago. Chromium could not start udev monitor. And this has caused so big system instability. I Am afraid, that also .so library from Pelia for shared memory will not help. Because it emulate only several functions. So my most realistic suggestion is to switch to older Debian release than Pulseie and we must hope, that its repo will not contain so new versions of WEB browser. Unfortunately for us, Firefox developers have also incorporated some new shared memory calling. Even my favourite Seamonkey has stop working. So as I can observe, Proot and Linux distributions will lack support of The most wanted apps such as WEB browsers are.

Alright, so, is there any alternative web browser that can run on PRoot and Linux besides Firefox and Chromium?

makerandreas avatar Sep 15 '22 14:09 makerandreas

I have found very useful work around for Firefox. Read this other project issue. https://github.com/wahasa/Alpine/issues/1 There are tips for solwing Chromium crash and also for Firefox. But for Chromium crash. I have found dangerous message stack mashed or similar message and some sub Threads have been terminated. But may be, that you will not see those messages on your terminal, because I Am using Orca and at-spi accessibility libraries with The Chromium, so may be, that this is The problem of intensive interprocess communication. If I can give a good advice to you. Use Seamonkey, it do not use shared memory so much.

I will try Arch Linux if they have build newer functioning Seamonkey. For now, I Am using The older one and it actually work without causing severe system instability. Here is older but fully functioning AArch64 Bit Seamonkey compiled release.

https://github.com/codeandcreate/seamonkey-debian-arm64/releases/download/2.53.8-2/seamonkey-2.53.8.en-US.linux-aarch64.tar.bz2

There is also newer Seamonkey release, but you have to try to find out, how to extract The archive so it will work. https://archlinuxarm.org/packages/aarch64/seamonkey

And direct download link of The tarbal archive is here. http://mirror.archlinuxarm.org/aarch64/community/seamonkey-2.53.15-1-aarch64.pkg.tar.xz

JanuszChmiel avatar Mar 19 '23 14:03 JanuszChmiel