Open juanitotc opened 7 years ago
Couldn't reproduce on that URL. However I have seen freezes with pages with the Google recaptcha, likely a bug in the JS engine.
Hmm - strange that the freeze happens without fail for me on that URL with CorePure64.
I see it happening on more and more sites.
Is there anything I can do to try and get an error message?
Probably nothing, but if you do "top -p $(pidof fifth)" and press H to show threads, you'll see which thread is using cpu.
Oh, you can also attach gdb to it at that point, and ask what it's running (if the build has symbols).
gdb fifth $(pidof fifth) thread apply all bt
..and as a workaround, you can try to disable JS for the site, or for the tab before going there.
From top I get:
8185 tc 20 0 2143.4m 75.2m 0.0 0.5 0:00.49 S fifth
8186 tc 20 0 2143.4m 75.2m 0.0 0.5 0:00.00 S - fifth commander 8187 tc 20 0 2143.4m 75.2m 0.0 0.5 0:00.00 S
- WebCore: IconDa
8189 tc 20 0 2143.4m 75.2m 0.0 0.5 0:00.00 S - JSC::Marking 8190 tc 20 0 2143.4m 75.2m 0.0 0.5 0:00.00 S
- JSC::Marking
8191 tc 20 0 2143.4m 75.2m 0.0 0.5 0:00.00 S - JSC::Marking 8192 tc 20 0 2143.4m 75.2m 0.0 0.5 0:00.00 S
- fifth
..and from gdb without symbols:
(gdb) thread apply all bt
Thread 7 (LWP 8192):
Thread 6 (LWP 8191):
Thread 5 (LWP 8190):
Thread 4 (LWP 8189):
Thread 3 (LWP 8187):
Thread 2 (LWP 8186):
Thread 1 (LWP 8185):
Hm, those traces don't look like frozen, no cpu usage loop. Could be something else then, but not due to JS.
I'm away for the next ten days or so - I'll look at compiling fifth with debugging symbols when I get back.
Looking at the trace again, we crashed, and the crash happened inside malloc. This then lead to a deadlock due to printf calling malloc. Should be fixed now, though naturally it won't help the original crash.
I got the debug build built, but now fifth will not freeze with the URL at the top.
However, it does crash on this page with:
$ fifth libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: profile 'Photoshop ICC profile': 'RGB ': RGB color space not permitted on grayscale PNG ASSERTION FAILED: m_isValid == valid() html/HTMLFormControlElement.cpp(468) : bool WebCore::HTMLFormControlElement::isValidFormControlElement() const 1 0x10d7ec1 2 0x75c0b0 3 0x75bf12 4 0x123a70a 5 0x19f26be Crashing with signal Segmentation fault, 11 LEAK: 4908 RenderObject LEAK: 2 XMLHttpRequest LEAK: 51 JSLazyEventListener LEAK: 10460 WebCoreNode LEAK: 1 SubresourceLoader LEAK: 184 CachedResource LEAK: 23 Frame LEAK: 6 Page
This seems more likely due to asserts than the original problem though?
Got it:
(gdb) thread apply all bt
Thread 7 (LWP 6650):
sleepDuration=...) at Heap.cpp:89
this=0x4b84a30 <bmalloc::PerProcess<bmalloc::Heap>::s_memory+9296>) at AsyncTask.h:131
asyncTask=0x4b84a30 <bmalloc::PerProcess<bmalloc::Heap>::s_memory+9296>) at AsyncTask.h:121
Thread 6 (LWP 6378):
Thread 5 (LWP 6377):
Thread 4 (LWP 6376):
Thread 3 (LWP 6371):
at loader/icon/IconDatabase.cpp:956
Thread 2 (LWP 6370):
Thread 1 (LWP 6369):
I'm afraid this trace looks like normal operation :(
That's what I thought, but fifth is definitely frozen - I left it an hour to double-check and the only way to get out of it was "killall -9".
Are any more commits to fifth/webkitfltk pending? If not I'll build stripped versions of fifth for the repos.
No changes pending right now.
When accessing some URL, fifth will freeze either at:
No error messages are given and the only way to exit is "killall -9 fifth"
As an example, try:
https://unix.stackexchange.com/questions/101272/tar-list-files-only