Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-38733

QtScript crash after QTJSC::JSGlobalData::storeVPtrs(), when built with gcc-4.9.0

    XMLWordPrintable

Details

    • Bug
    • Resolution: Moved
    • Not Evaluated
    • None
    • 4.8.6
    • Qt Script
    • None
    • Reported on both fedora 21 and gentoo linux systems when using gcc-4.9.0

    Description

      Distributions are experiencing various qt/kde related crashes (plasma-desktop in particular) since recent adoption of gcc-4.9.0 compiler.

      Backtraces are fairly similar, and end up down in QTJSC::JSGlobalData::storeVPtrs() ... (backtrace appended)

      See also downstream bugs:
      https://bugs.kde.org/show_bug.cgi?id=333987
      https://bugzilla.redhat.com/show_bug.cgi?id=1091482

      In fedora, we tried some naive workarounds, including building with options:
      -fno-delete-null-pointer-checks
      -fno-tree-vrp
      which didn't seem to help.

      have not yet ruled out this may be a compiler bug.

      – Backtrace:
      Application: Plasma Desktop Shell (plasma-desktop), signal: Segmentation fault
      Using host libthread_db library "/lib64/libthread_db.so.1".
      81 T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
      [Current thread is 1 (Thread 0x7f7c4e239880 (LWP 1481))]

      Thread 2 (Thread 0x7f7c21ee0700 (LWP 1486)):
      #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
      #1 0x00007f7c365de21a in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f7c368e1f80 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
      #2 0x00007f7c365de249 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
      #3 0x00007f7c4c804555 in start_thread (arg=0x7f7c21ee0700) at pthread_create.c:309
      #4 0x00007f7c4adc7e2d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

      Thread 1 (Thread 0x7f7c4e239880 (LWP 1481)):
      [KCrash Handler]
      #6 derefBase (this=0x0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/RefCounted.h:69
      #7 deref (this=0x0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/RefCounted.h:108
      #8 derefIfNotNull<QTJSC::Structure> (ptr=0x0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/PassRefPtr.h:42
      #9 ~NonNullPassRefPtr (this=0x7fffebb1f8a0, __in_chrg=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/PassRefPtr.h:129
      #10 QTJSC::JSGlobalData::storeVPtrs () at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalData.cpp:85
      #11 0x00007f7c3656f143 in initializeThreadingOnce () at ../3rdparty/javascriptcore/JavaScriptCore/runtime/InitializeThreading.cpp:52
      #12 QTJSC::initializeThreading () at ../3rdparty/javascriptcore/JavaScriptCore/runtime/InitializeThreading.cpp:66
      #13 0x00007f7c366222b8 in QScriptEnginePrivate::QScriptEnginePrivate (this=this@entry=0x24e1ef0) at api/qscriptengine.cpp:977
      #14 0x00007f7c3662312f in QScriptEngine::QScriptEngine (this=0x7fffebb1fc70, parent=0x0) at api/qscriptengine.cpp:1976
      #15 0x00007f7c2c82832c in WorkspaceScripting::ScriptEngine::ScriptEngine(Plasma::Corona*, QObject*) () from /lib64/libplasmagenericshell.so.4
      #16 0x00007f7c2d3ad1d3 in WorkspaceScripting::DesktopScriptEngine::DesktopScriptEngine(Plasma::Corona*, bool, QObject*) () from /usr/lib64/libkdeinit4_plasma-desktop.so
      #17 0x00007f7c2d3b8c1c in DesktopCorona::evaluateScripts(QStringList const&, bool) () from /usr/lib64/libkdeinit4_plasma-desktop.so
      #18 0x00007f7c2d3b902a in DesktopCorona::loadDefaultLayout() () from /usr/lib64/libkdeinit4_plasma-desktop.so
      #19 0x00007f7c38e5b04f in Plasma::Corona::initializeLayout (this=0x246ae90, configName=...) at /usr/src/debug/kdelibs-4.13.0/plasma/corona.cpp:185
      #20 0x00007f7c2d3db2f7 in PlasmaApp::corona(bool) () from /usr/lib64/libkdeinit4_plasma-desktop.so
      #21 0x00007f7c2d3db794 in PlasmaApp::setupDesktop() () from /usr/lib64/libkdeinit4_plasma-desktop.so
      #22 0x00007f7c2d3e0d85 in PlasmaApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.83] () from /usr/lib64/libkdeinit4_plasma-desktop.so
      #23 0x00007f7c4cbb8b51 in QObject::event (this=this@entry=0x2319310, e=e@entry=0x2463f10) at kernel/qobject.cpp:1222
      #24 0x00007f7c4cba3cbc in QCoreApplication::event (this=this@entry=0x2319310, e=e@entry=0x2463f10) at kernel/qcoreapplication.cpp:1765
      #25 0x00007f7c4bcdd323 in QApplication::event (this=0x2319310, e=0x2463f10) at kernel/qapplication.cpp:2544
      #26 0x00007f7c4bcd7fbc in QApplicationPrivate::notify_helper (this=this@entry=0x2333670, receiver=receiver@entry=0x2319310, e=e@entry=0x2463f10) at kernel/qapplication.cpp:4565
      #27 0x00007f7c4bcdea58 in QApplication::notify (this=this@entry=0x2319310, receiver=receiver@entry=0x2319310, e=e@entry=0x2463f10) at kernel/qapplication.cpp:4351
      #28 0x00007f7c4dbffc7a in KApplication::notify (this=0x2319310, receiver=0x2319310, event=0x2463f10) at /usr/src/debug/kdelibs-4.13.0/kdeui/kernel/kapplication.cpp:311
      #29 0x00007f7c4cb9f7ed in QCoreApplication::notifyInternal (this=0x2319310, receiver=receiver@entry=0x2319310, event=event@entry=0x2463f10) at kernel/qcoreapplication.cpp:953
      #30 0x00007f7c4cba2ab1 in sendEvent (event=0x2463f10, receiver=0x2319310) at kernel/qcoreapplication.h:231
      #31 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x22511d0) at kernel/qcoreapplication.cpp:1577
      #32 0x00007f7c4cba2f43 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
      #33 0x00007f7c4cbceaa3 in sendPostedEvents () at kernel/qcoreapplication.h:236
      #34 postEventSourceDispatch (s=0x2331520) at kernel/qeventdispatcher_glib.cpp:280
      #35 0x00007f7c474a69aa in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
      #36 0x00007f7c474a6cf8 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
      #37 0x00007f7c474a6dac in g_main_context_iteration () from /lib64/libglib-2.0.so.0
      #38 0x00007f7c4cbcebed in QEventDispatcherGlib::processEvents (this=0x2331de0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
      #39 0x00007f7c4bd7b556 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
      #40 0x00007f7c4cb9e321 in QEventLoop::processEvents (this=this@entry=0x7fffebb20610, flags=...) at kernel/qeventloop.cpp:149
      #41 0x00007f7c4cb9e685 in QEventLoop::exec (this=this@entry=0x7fffebb20610, flags=...) at kernel/qeventloop.cpp:204
      #42 0x00007f7c4cba3d77 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
      #43 0x00007f7c2d3c1612 in kdemain () from /usr/lib64/libkdeinit4_plasma-desktop.so
      #44 0x000000000040822b in launch (argc=argc@entry=1, _name=_name@entry=0x22d9368 "/usr/bin/plasma-desktop", args=args@entry=0x22d9380 "", cwd=cwd@entry=0x0, envc=envc@entry=0, envs=<optimized out>, envs@entry=0x22d9388 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40ab25 "0") at /usr/src/debug/kdelibs-4.13.0/kinit/kinit.cpp:726
      #45 0x00000000004090c9 in handle_launcher_request (sock=8, who=<optimized out>) at /usr/src/debug/kdelibs-4.13.0/kinit/kinit.cpp:1218
      #46 0x00000000004097a7 in handle_requests (waitForPid=waitForPid@entry=0) at /usr/src/debug/kdelibs-4.13.0/kinit/kinit.cpp:1411
      #47 0x000000000040537d in main (argc=4, argv=<optimized out>, envp=0x7fffebb211f0) at /usr/src/debug/kdelibs-4.13.0/kinit/kinit.cpp:1899

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            laknoll Lars Knoll
            rdieter Rex Dieter
            Votes:
            5 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes