Bug 204017 - REGRESSION(2.27.1): [GTK] Crash in JSC::Config::permanentlyFreeze on ppc64le while running yelp (GNOME 'Getting Started' window) in Arabic or Japanese
Summary: REGRESSION(2.27.1): [GTK] Crash in JSC::Config::permanentlyFreeze on ppc64le ...
Status: RESOLVED DUPLICATE of bug 209236
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Other Linux
: P3 Critical
Assignee: Nobody
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2019-11-08 13:10 PST by Adam Williamson
Modified: 2020-04-29 09:04 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Williamson 2019-11-08 13:10:50 PST
I'm observing an issue in some automated tests we run on Fedora. There are tests which install Fedora Workstation (GNOME edition) in non-English languages, including Arabic and Japanese. When run on ppc64le, these tests seem to encounter a crash in webkitgtk, I believe the webkitgtk-using thing that's crashing is Yelp, the GNOME help browser, which is run on login to show a 'Getting Started' window. At the time the crash occurs, the app is starting up.

The backtrace of the crash looks like this:

#0  0x00007fff83516fb8 in __libc_signal_restore_set (set=0x7fffdeeb0eb8)
    at ../sysdeps/unix/sysv/linux/internal-signals.h:84
        r4 = 140736933334712
        r7 = 140735396540304
        arg2 = 140736933334712
        r5 = 0
        r8 = -9223372036812771277
        arg3 = 0
        r0 = 174
        r3 = 0
        r6 = 8
        arg4 = 8
        arg1 = 2
        err = <optimized out>
#1  __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:48
        set = {__val = {0, 140736933334752, 140735398349880, 140735270425584, 6192, 140736933334992, 119, 124, 
            140734610430744, 140734610430688, 140734610430696, 140736933335008, 140734610430704, 140736933335040, 
            140734610430728, 140734610430736}}
        err = <optimized out>
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#2  0x00007fff834f7c0c in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x7fffdeeb10a0, sa_sigaction = 0x7fffdeeb10a0}, sa_mask = {
            __val = {140735369364736, 140735328757780, 140735330408704, 140736933335328, 140735369319400, 
              140735337422112, 140735337627392, 140736933335392, 140736933335256, 140735358045996, 140735337421648, 
              140735369515572, 0, 0, 6941304572674909440, 18446181123756130304}}, sa_flags = 0, 
          sa_restorer = 0x1415e0510}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#3  0x00007fff815a0768 in CRASH_WITH_INFO(...) () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:658
No locals.
#4  JSC::Config::permanentlyFreeze () at ../Source/JavaScriptCore/runtime/JSCConfig.cpp:78
No locals.
#5  0x00007fff817a7fe0 in JSC::VM::VM () at ../Source/JavaScriptCore/runtime/VM.cpp:478
No locals.
#6  0x00007fff817a8604 in JSC::VM::create () at ../Source/JavaScriptCore/runtime/VM.cpp:595
No locals.
#7  0x00007fff851ac918 in WebCore::commonVMSlow () at ../Source/WebCore/bindings/js/CommonVM.cpp:55
No locals.
#8  0x00007fff8593c0e4 in WebCore::commonVM () at ../Source/WebCore/bindings/js/CommonVM.h:52
No locals.
#9  WebCore::PageScriptDebugServer::PageScriptDebugServer () at ../Source/WebCore/inspector/PageScriptDebugServer.cpp:58
No locals.
#10 0x00007fff859248e0 in WebCore::InspectorController::InspectorController () at ../Source/WebCore/inspector/InspectorController.cpp:104
No locals.
#11 0x00007fff85be8fc8 in std::make_unique<WebCore::InspectorController, WebCore::Page&, WebCore::InspectorClient*&> () at /usr/include/c++/9/bits/unique_ptr.h:849
No locals.
#12 WTF::makeUnique<WebCore::InspectorController, WebCore::Page&, WebCore::InspectorClient*&> () at DerivedSources/ForwardingHeaders/wtf/StdLibExtras.h:574
No locals.
#13 WebCore::Page::Page () at ../Source/WebCore/page/Page.cpp:278
No locals.
#14 0x00007fff846b2d7c in std::make_unique<WebCore::Page, WebCore::PageConfiguration> () at /usr/include/c++/9/bits/unique_ptr.h:849
No locals.
#15 WTF::makeUnique<WebCore::Page, WebCore::PageConfiguration> () at DerivedSources/ForwardingHeaders/wtf/StdLibExtras.h:574
No locals.
#16 WebKit::WebPage::WebPage () at ../Source/WebKit/WebProcess/WebPage/WebPage.cpp:505
No locals.
#17 0x00007fff846b3ed4 in WebKit::WebPage::create () at ../Source/WebKit/WebProcess/WebPage/WebPage.cpp:365
No locals.
#18 0x00007fff84473b88 in WebKit::WebProcess::createWebPage () at ../Source/WebKit/WebProcess/WebProcess.cpp:658
No locals.
#19 0x00007fff83f908d0 in IPC::callMemberFunctionImpl<WebKit::WebProcess, void (WebKit::WebProcess::*)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&), std::tuple<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters>, 0ul, 1ul> () at ../Source/WebKit/Platform/IPC/HandleMessage.h:41
No locals.
#20 IPC::callMemberFunction<WebKit::WebProcess, void (WebKit::WebProcess::*)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&), std::tuple<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters>, std::integer_sequence<unsigned long, 0ul, 1ul> > () at ../Source/WebKit/Platform/IPC/HandleMessage.h:47
No locals.
#21 IPC::handleMessage<Messages::WebProcess::CreateWebPage, WebKit::WebProcess, void (WebKit::WebProcess::*)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&)> () at ../Source/WebKit/Platform/IPC/HandleMessage.h:120
No locals.
#22 0x00007fff83f87654 in WebKit::WebProcess::didReceiveWebProcessMessage () at DerivedSources/WebKit/WebProcessMessageReceiver.cpp:213
No locals.
#23 0x00007fff844814cc in WebKit::WebProcess::didReceiveMessage () at ../Source/WebKit/WebProcess/WebProcess.cpp:721
No locals.
#24 WebKit::WebProcess::didReceiveMessage () at ../Source/WebKit/WebProcess/WebProcess.cpp:715
No locals.
#25 0x00007fff8412351c in IPC::Connection::dispatchMessage () at ../Source/WebKit/Platform/IPC/Connection.cpp:949
No locals.
#26 0x00007fff84125090 in IPC::Connection::dispatchMessage () at ../Source/WebKit/Platform/IPC/Connection.cpp:1001
No locals.
#27 0x00007fff841266e4 in IPC::Connection::dispatchOneIncomingMessage () at ../Source/WebKit/Platform/IPC/Connection.cpp:1070
No locals.
#28 0x00007fff84126c34 in operator() () at ../Source/WebKit/Platform/IPC/Connection.cpp:926
No locals.
#29 call () at DerivedSources/ForwardingHeaders/wtf/Function.h:52
No locals.
#30 0x00007fff8187a3e8 in WTF::Function<void ()>::operator()() const () at ../Source/WTF/wtf/Function.h:79
No locals.
#31 WTF::RunLoop::performWork () at ../Source/WTF/wtf/RunLoop.cpp:140
No locals.
#32 0x00007fff818ddd18 in operator() () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:68
No locals.
#33 _FUN () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:70
No locals.
#34 0x00007fff818ddda0 in operator() () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:45
No locals.
#35 _FUN () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:46
No locals.
#36 0x00007fff8204b79c in g_main_dispatch (context=0x14149a020) at ../glib/gmain.c:3180
        dispatch = 0x7fff818ddd40 <_FUN()>
        prev_source = 0x0
        was_in_call = <optimized out>
        user_data = 0x141668960
        callback = 0x7fff818ddd00 <_FUN()>
        cb_funcs = 0x7fff82160340 <g_source_callback_funcs>
        cb_data = 0x141645d70
        need_destroy = <optimized out>
        source = 0x14160f580
        current = 0x14149a0e0
        i = 0
        __FUNCTION__ = "g_main_dispatch"
#37 g_main_context_dispatch (context=0x14149a020) at ../glib/gmain.c:3845
No locals.
#38 0x00007fff8204bc98 in g_main_context_iterate (context=0x14149a020, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3918
        max_priority = 100
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 3
        fds = 0x1415fdec0
#39 0x00007fff8204c1fc in g_main_loop_run (loop=0x1415328e0) at ../glib/gmain.c:4112
        self = <optimized out>
        __FUNCTION__ = "g_main_loop_run"
#40 0x00007fff818def44 in WTF::RunLoop::run () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:96
No locals.
#41 0x00007fff846f69d4 in WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> () at ../Source/WebKit/Shared/unix/AuxiliaryProcessMain.h:66
No locals.
#42 0x00007fff846f5d38 in WebProcessMainUnix () at ../Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:67
No locals.
#43 0x000000012fe80770 in main () at ../Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:42
No locals.

Here's the output of `info registers`:

r0             0xae                174
r1             0x7fffdeeb0e90      140736933334672
r2             0x7fff836d7100      140735398375680
r3             0x0                 0
r4             0x7fffdeeb0eb8      140736933334712
r5             0x0                 0
r6             0x8                 8
r7             0x7fff83516f90      140735396540304
r8             0x800000000280f033  9223372036896780339
r9             0x0                 0
r10            0x0                 0
r11            0x0                 0
r12            0x0                 0
r13            0x7fff7bcd83b0      140735270454192
r14            0x7fff54765ae0      140734610430688
r15            0x7fff54765ae8      140734610430696
r16            0x7fff54765af8      140734610430712
r17            0x7fff54765af0      140734610430704
r18            0x7fff54765b00      140734610430720
r19            0x7fff54765b08      140734610430728
r20            0x7fff54765b10      140734610430736
r21            0x7fff54765b18      140734610430744
r22            0x0                 0
r23            0x7fff54760010      140734610407440
r24            0x7fff81b24404      140735369331716
r25            0x1000013           16777235
r26            0x7fffdeeb1318      140736933335832
r27            0x1000011           16777233
r28            0x7fff81b49000      140735369482240
r29            0x7fffdeeb0eb8      140736933334712
r30            0x6                 6
r31            0x0                 0
pc             0x7fff83516fb8      0x7fff83516fb8 <__GI_raise+216>
msr            0x800000000280f033  9223372036896780339
cr             0x24004478          603997304
lr             0x7fff83516f28      0x7fff83516f28 <__GI_raise+72>
ctr            0x0                 0
xer            0x0                 0
fpscr          0x82020000          2181169152
vscr           0x0                 0
vrsave         0xffffffff          -1
ppr            0xc000000000000     3377699720527872
dscr           0x0                 0
tar            0x0                 0
bescr          <unavailable>
ebbhr          <unavailable>
ebbrr          <unavailable>
mmcr0          0x0                 0
mmcr2          0x0                 0
siar           0x0                 0
sdar           0x0                 0
sier           0x0                 0
orig_r3        0x2                 2
trap           0xc00               3072
Comment 1 Adam Williamson 2019-11-08 13:12:55 PST
This is on Fedora Rawhide, where the current webkit2gtk3 build is webkit2gtk3-2.27.2-2.fc32.ppc64le . The crashes seem to have started happening after webkit2gtk3-2.27.1-1.fc32 appeared; prior to that we had webkit2gtk3-2.26.1-1.fc32 and I don't think it was crashing then. So, between 2.26.1 and 2.27.1.
Comment 2 Michael Catanzaro 2020-04-29 09:04:00 PDT

*** This bug has been marked as a duplicate of bug 209236 ***