chimera-linux / cports

Chimera ports collection
BSD 2-Clause "Simplified" License
158 stars 89 forks source link

Firefox crash in ppc64le, “channel error”, “breakpoint trap” #2327

Open AlbertoGP opened 4 days ago

AlbertoGP commented 4 days ago

This seems to happen with specific web pages, but they do not use XML so I do not think it’s related to #2133 “repeateable tab crash”. In this case the page uses WebGL (through ThreeJS) and Javascript, I assume that’s the cause because this happened after loading a new version of that page which is a web application I’m developing for a customer. It does work in Gnome Web, and starting Firefox with a new profile does work fine, even after loading that suspect web application.

This is what I get now when starting Firefox from the console, and starting it from Gnome crashes immediately too:

~$ firefox
Exiting due to channel error.
Trace/breakpoint trap
~$ lldb firefox
(lldb) target create "firefox"
Current executable set to '/usr/bin/firefox' (powerpc64le).
(lldb) run
Process 5499 launched: '/usr/bin/firefox' (powerpc64le)
Process 5499 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5499 stopped and restarted: thread 3 received signal: SIGCHLD
Process 5499 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5499 stopped
* thread #1, name = 'firefox', stop reason = exec
    frame #0: 0x00003fffefae87e8 libc.so`_dlstart
libc.so`_dlstart:
->  0x3fffefae87e8 <+0>:  addis  2, 12, 2
    0x3fffefae87ec <+4>:  addi   2, 2, -1680
    0x3fffefae87f0 <+8>:  lwz    4, 40(12)
    0x3fffefae87f4 <+12>: add    4, 4, 12
(lldb) bt
* thread #1, name = 'firefox', stop reason = exec
  * frame #0: 0x00003fffefae87e8 libc.so`_dlstart
(lldb)

Next I tried to remove the suspect tab from Firefox’s session storage (sessionstore-backups/previous.js) so that it starts again, but I do not find that URL there.

I’m going throug the files modified recently (find . -mtime -1) inside the profile diretory (.mozilla/firefox/<profile>).

datareporting/* looks like something I would not want to have anyway so I deleted those, and the crash looked slightly different the first time, then it was the same:

~$ firefox
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown (t=4.80142) Trace/breakpoint trap
~$ firefox
Exiting due to channel error.
Trace/breakpoint trap
~$

*What has worked at the end is removing all of `/sessionstore-backups/recovery.`** Firefox starts fine and recovers a previous session. The suspect web application works perfectly fine, and so do any other tabs I’ve looked at. Maybe it’s not specific web content: I had this happen before and it got solved by a Firefox update from apk, this time it happened after the latest update but not immediately (that is, not at the next launch after the update) if I remember correctly.

nekopsykose commented 4 days ago

This is what I get now when starting Firefox from the console, and starting it from Gnome crashes immediately too:

this is just the debugger pausing on an exec call right in init where it spawns a new process, and nowhere near the crash (the lldb stuff)

AlbertoGP commented 4 days ago

I see, thanks. For the next time, is there some simple way in which I can produce a more useful report?

nekopsykose commented 4 days ago

probably setting ulimit -c unlimited and getting a coredump, assuming one is produced