Closed Bug 1708276 Opened 3 years ago Closed 3 years ago

Freeze on specific sites and interactions

Categories

(Core :: Widget: Gtk, defect, P2)

Firefox 88
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: tobias+bugzilla, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 2 obsolete files)

Attached file gdb trace when firefox is hanging (obsolete) —

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0

Steps to reproduce:

Had this issue for a few days, and tried a lot of ways to debug. I have listed in detail all the steps i took in my latest reproduction, as I am not entirely comfortable with compiling firefox or using gdb. I think this issue has to do with my specific system, but it is local to firefox, and only happens in some specific cases.

I am on Arch Linux, under Gnome Wayland (with any combination of firefox wayland options and webrender settings). Issue first appeared around a week ago

I tried mozregression to narrow down the affected versions and builds, but could not find any good build. From build 56f6da03c7e352f53fa923b30f66dfdf09a34116 and onward I got the issue described here. (For earlier builds I got the "Gah, Your tab just crashed." message).

To reproduce and get a backtrace, I did the following:

  1. Check out the firefox package from the Arch build system
  2. Add options for debug and prevent stripping (https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces#Compilation_settings)
  3. Build and install the package with makepkg
  4. Launch firefox from the command line through gdb: gdb /usr/lib/firefox/firefox
  5. run --no-daemon --verbose in the gdb prompt
  6. Navigate firefox to https://www.wikipedia.org/

Actual results:

  1. Firefox freezes, including window decoration, almost immediately, before favicon or any part of the page is loaded. After a while Gnome recognizes that the program is frozen, but hitting the "Force quit" button does not give any result.
  2. (I generated a core dump, which I can share on request)
  3. In gdb prompt, set logging file trace.log, set logging on, thread apply all bt full
  4. Close gdb by set logging off, quit

The trace.log from gdb is attached.

Other ways I have reproduced the freeze earlier:

  • Load this tweet: https://twitter.com/qrs/status/1383039053201870850
    • Previously the browser would load the page, and freeze on scrolling down, but the last few days it now freezes after some of the page has loaded.
  • Press "Compose" button in outlook.office.com

I also have a crash report from a different run, before I compiled with debug symbols: https://crash-stats.mozilla.org/report/index/255b3d10-0175-4851-9c05-8994b0210427
I could not figure out how to kill firefox in gdb in a way that would prompt me to generate a crash report.

Expected results:

Wikipedia should load as normal and the browser should be responsive

The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core

The gdb backtrace is missing debug symbols but I don't see any potential lock there anyway. Can that be caused by system setup for instance? Can you try latest nightly?
Thanks.

Blocks: wayland
Flags: needinfo?(tobias+bugzilla)
Priority: -- → P2

With latest nightly: Mozilla Firefox 90.0a1 20210428215523 20210428215523
I can still reproduce as described.
Attached is the new backtrace, which I think has the debug symbols (?)

Not sure how to further debug this. Only happens for some pages, and no other programs on my system has trouble.

Flags: needinfo?(tobias+bugzilla)

Can it be something at freetype?

Thread 1 (Thread 0x7ffff7a5a780 (LWP 229011) "firefox-bin"):
#0 0x00007ffff5d4ea04 in () at /usr/lib/libfreetype.so.6
#1 0x00007ffff5d99c20 in () at /usr/lib/libfreetype.so.6
#2 0x00007ffff5d64fce in () at /usr/lib/libfreetype.so.6
#3 0x00007ffff5d501b2 in () at /usr/lib/libfreetype.so.6
#4 0x00007ffff5d53083 in () at /usr/lib/libfreetype.so.6
#5 0x00007ffff5d536cc in FT_New_Face () at /usr/lib/libfreetype.so.6
#6 0x00007ffff11a5812 in mozilla::gfx::Factory::NewSharedFTFace(FT_LibraryRec_, char const, int) () at /home/tlaundal/Downloads/firefox/libxul.so
#7 0x00007ffff122d51c in gfxFontconfigFontEntry::CopyFontTable(unsigned int, nsTArray<unsigned char>&) () at /home/tlaundal/Downloads/firefox/libxul.so
#8 0x00007ffff1243c76 in gfxFontEntry::GetFontTable(unsigned int) () at /home/tlaundal/Downloads/firefox/libxul.so
#9 0x00007ffff122c0b6 in gfxFontconfigFontEntry::ReadCMAP(FontInfoData*) () at /home/tlaundal/Downloads/firefox/libxul.so
#10 0x00007ffff124b79e in gfxPlatformFontList::InitializeFamily(mozilla::fontlist::Family*, bool) () at /home/tlaundal/Downloads/firefox/libxul.so
#11 0x00007ffff124f20f in LoadCmapsRunnable::Run() () at /home/tlaundal/Downloads/firefox/libxul.so

You may need debug symbols for libfreetype.so.6 too.

Tried building freetype with debug symbols, and think I did it correctly.

I have no idea how to interpret these backtraces, so thanks for digging for me.

Attachment #9219016 - Attachment is obsolete: true
Attachment #9219134 - Attachment is obsolete: true

Tried to reinstall mathjax, as I saw it was mentioned in the backtrace, and this seems to have fixed the problem.

I am not sure what I am expected to do with this report now.

I see, it may be an issue with Math fonts then. Closing as worksforme then.

Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME

Thanks for the help!

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: