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

Crash in V4 engine, jit/qv4regalloc.cpp

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.8.0
    • Fix Version/s: 5.9.1
    • Labels:
      None
    • Environment:
      Application: kwrite (17.11.70)
       (Compiled from sources)
      Qt Version: 5.8.1
      Frameworks Version: 5.38.0
      Operating System: Linux 4.11.6-fossa x86_64
      Distribution: "NAME=Gentoo"

      Description

      This is a upstream bug for a crash in V4 reported to ktexteditor, original report below,

      I hope the backtrace is useful.

       

      https://bugs.kde.org/show_bug.cgi?id=384404

       
      Application: kwrite (17.11.70)
      (Compiled from sources)
      Qt Version: 5.8.1
      Frameworks Version: 5.38.0
      Operating System: Linux 4.11.6-fossa x86_64
      Distribution: "NAME=Gentoo"

      – Information about the crash:

      • What I was doing when the application crashed:

      Open any Javascript or CSS file (Ruby scripts dont seem to trigger the crash) and type a character on the keyboard or press the ENTER key.

      NOTE: I have only tested this with JS, CSS and Ruby and HTML source files. So far, the crash only happens with JS and CSS files.

      The crash can be reproduced every time.

      -- Backtrace:
      Application: KWrite (kwrite), signal: Aborted
      Using host libthread_db library "/lib64/libthread_db.so.1".
      [Current thread is 1 (Thread 0x7fbbdd0057c0 (LWP 12136))]
      
      Thread 10 (Thread 0x7fbbab736700 (LWP 12146)):
      #0  0x00007fbbd3ff7f9f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1  0x00007fbbb7e92963 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #2  0x00007fbbb7e92887 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #3  0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #4  0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 9 (Thread 0x7fbbabf37700 (LWP 12145)):
      #0  0x00007fbbd3ff7f9f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1  0x00007fbbb7e92963 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #2  0x00007fbbb7e92887 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #3  0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #4  0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 8 (Thread 0x7fbbac738700 (LWP 12144)):
      #0  0x00007fbbd3ff7f9f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1  0x00007fbbb7e92963 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #2  0x00007fbbb7e92887 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #3  0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #4  0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 7 (Thread 0x7fbbacf39700 (LWP 12143)):
      #0  0x00007fbbd3ff7f9f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1  0x00007fbbb7e92963 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #2  0x00007fbbb7e92887 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #3  0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #4  0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 6 (Thread 0x7fbbad73a700 (LWP 12142)):
      #0  0x00007fbbd3ff7f9f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1  0x00007fbbb7e92963 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #2  0x00007fbbb7e92887 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #3  0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #4  0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 5 (Thread 0x7fbbae142700 (LWP 12141)):
      #0  0x00007fbbd3ff7f9f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1  0x00007fbbb7e92963 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #2  0x00007fbbb7e92887 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #3  0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #4  0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 4 (Thread 0x7fbbaea8a700 (LWP 12140)):
      #0  0x00007fbbd3ff7f9f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1  0x00007fbbb7e92963 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #2  0x00007fbbb7e92887 in ?? () from /usr/lib64/dri/radeonsi_dri.so
      #3  0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #4  0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 3 (Thread 0x7fbbc0a2a700 (LWP 12138)):
      #0  0x00007fbbd70cacfd in read () from /lib64/libc.so.6
      #1  0x00007fbbd060ef60 in ?? () from /usr/lib64/libglib-2.0.so.0
      #2  0x00007fbbd05cc3d2 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
      #3  0x00007fbbd05cc8d0 in ?? () from /usr/lib64/libglib-2.0.so.0
      #4  0x00007fbbd05cca3c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
      #5  0x00007fbbd803bb47 in QEventDispatcherGlib::processEvents (this=0x7fbbbc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
      #6  0x00007fbbd7fafeb8 in QEventLoop::processEvents (this=0x7fbbc0a29d80, flags=...) at kernel/qeventloop.cpp:134
      #7  0x00007fbbd7fb01ef in QEventLoop::exec (this=0x7fbbc0a29d80, flags=...) at kernel/qeventloop.cpp:212
      #8  0x00007fbbd7d51859 in QThread::exec (this=0x7fbbdd154dc0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507
      #9  0x00007fbbdd0ad0ed in QDBusConnectionManager::run (this=0x7fbbdd154dc0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
      #10 0x00007fbbd7d59e4f in QThreadPrivate::start (arg=0x7fbbdd154dc0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:368
      #11 0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #12 0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 2 (Thread 0x7fbbc99ea700 (LWP 12137)):
      #0  0x00007fbbd70cebbd in poll () from /lib64/libc.so.6
      #1  0x00007fbbcf3878b2 in ?? () from /usr/lib64/libxcb.so.1
      #2  0x00007fbbcf3895d7 in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
      #3  0x00007fbbcbfcd985 in QXcbEventReader::run (this=0x2246670) at qxcbconnection.cpp:1346
      #4  0x00007fbbd7d59e4f in QThreadPrivate::start (arg=0x2246670) at thread/qthread_unix.cpp:368
      #5  0x00007fbbd3ff2434 in start_thread () from /lib64/libpthread.so.0
      #6  0x00007fbbd70d7b3d in clone () from /lib64/libc.so.6
      
      Thread 1 (Thread 0x7fbbdd0057c0 (LWP 12136)):
      [KCrash Handler]
      #6  0x00007fbbd7025b97 in raise () from /lib64/libc.so.6
      #7  0x00007fbbd7026ea9 in abort () from /lib64/libc.so.6
      #8  0x00007fbbd7d41712 in qt_message_fatal (context=..., message=...) at global/qlogging.cpp:1688
      #9  0x00007fbbd7d3d7f0 in QMessageLogger::fatal (this=0x7ffc3b6c36b0, msg=0x7fbbd80ab850 "ASSERT: \"%s\" in file %s, line %d") at global/qlogging.cpp:796
      #10 0x00007fbbd7d35849 in qt_assert (assertion=0x7fbbd6e00924 "index >= 0", file=0x7fbbd6e00880 "jit/qv4regalloc.cpp", line=1161) at global/qglobal.cpp:3081
      #11 0x00007fbbd6b3c10a in (anonymous namespace)::ResolutionPhase::createTemp (this=0x7ffc3b6c39b0, kind=QV4::IR::Temp::StackSlot, index=-1, type=QV4::IR::DoubleType) at jit/qv4regalloc.cpp:1161
      #12 0x00007fbbd6b3bc7b in (anonymous namespace)::ResolutionPhase::resolveEdge (this=0x7ffc3b6c39b0, predecessor=0x2b37a20, successor=0x2967ae0) at jit/qv4regalloc.cpp:1066
      #13 0x00007fbbd6b3b75b in (anonymous namespace)::ResolutionPhase::resolve (this=0x7ffc3b6c39b0) at jit/qv4regalloc.cpp:1002
      #14 0x00007fbbd6b3ac09 in (anonymous namespace)::ResolutionPhase::run (this=0x7ffc3b6c39b0) at jit/qv4regalloc.cpp:859
      #15 0x00007fbbd6b3d337 in QV4::JIT::RegisterAllocator::run (this=0x7ffc3b6c3b50, function=0x29276d0, opt=...) at jit/qv4regalloc.cpp:1344
      #16 0x00007fbbd6b4ce27 in QV4::JIT::InstructionSelection::run (this=0x29b2260, functionIndex=14) at jit/qv4isel_masm.cpp:274
      #17 0x00007fbbd6a95ed0 in QV4::EvalInstructionSelection::compile (this=0x29b2270, generateUnitData=true) at compiler/qv4isel_p.cpp:82
      #18 0x00007fbbd6c249ca in QV4::Script::parse (this=0x7ffc3b6c4150) at jsruntime/qv4script.cpp:137
      #19 0x00007fbbd6b277e0 in QJSEngine::evaluate (this=0x29c48f0, program=..., fileName=..., lineNumber=1) at jsapi/qjsengine.cpp:451
      #20 0x00007fbbdca27409 in KateScript::load (this=0x23f4dc0) at /mnt/src/kde/src/frameworks/ktexteditor/src/script/katescript.cpp:184
      #21 0x00007fbbdca27cca in KateScript::setView (this=0x23f4dc0, view=0x2412b00) at /mnt/src/kde/src/frameworks/ktexteditor/src/script/katescript.cpp:242
      #22 0x00007fbbdca28c51 in KateIndentScript::indent (this=0x23f4dc0, view=0x2412b00, position=..., typedCharacter=..., indentWidth=2) at /mnt/src/kde/src/frameworks/ktexteditor/src/script/kateindentscript.cpp:60
      #23 0x00007fbbdcb30973 in KateAutoIndent::scriptIndent (this=0x23f9060, view=0x2412b00, position=..., typedChar=...) at /mnt/src/kde/src/frameworks/ktexteditor/src/utils/kateautoindent.cpp:278
      #24 0x00007fbbdcb31844 in KateAutoIndent::userTypedChar (this=0x23f9060, view=0x2412b00, position=..., typedChar=...) at /mnt/src/kde/src/frameworks/ktexteditor/src/utils/kateautoindent.cpp:453
      #25 0x00007fbbdc9f3592 in KTextEditor::DocumentPrivate::newLine (this=0x23d6520, v=0x2412b00) at /mnt/src/kde/src/frameworks/ktexteditor/src/document/katedocument.cpp:3111
      #26 0x00007fbbdcad5972 in KateViewInternal::doReturn (this=0x23e1560) at /mnt/src/kde/src/frameworks/ktexteditor/src/view/kateviewinternal.cpp:822
      #27 0x00007fbbdcadcc4d in KateViewInternal::keyPressEvent (this=0x23e1560, e=0x7ffc3b6c5040) at /mnt/src/kde/src/frameworks/ktexteditor/src/view/kateviewinternal.cpp:2403
      #28 0x00007fbbdcadc5b3 in KateViewInternal::eventFilter (this=0x23e1560, obj=0x23e1560, e=0x7ffc3b6c5040) at /mnt/src/kde/src/frameworks/ktexteditor/src/view/kateviewinternal.cpp:2312
      #29 0x00007fbbd7fb3c37 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0x23e1560, event=0x7ffc3b6c5040) at kernel/qcoreapplication.cpp:1086
      #30 0x00007fbbd8b27c39 in QApplicationPrivate::notify_helper (this=0x22241e0, receiver=0x23e1560, e=0x7ffc3b6c5040) at kernel/qapplication.cpp:3741
      #31 0x00007fbbd8b2502e in QApplication::notify (this=0x7ffc3b6c55e0, receiver=0x23e1560, e=0x7ffc3b6c5040) at kernel/qapplication.cpp:3127
      #32 0x00007fbbd7fb383f in QCoreApplication::notifyInternal2 (receiver=0x23e1560, event=0x7ffc3b6c5040) at kernel/qcoreapplication.cpp:975
      #33 0x00007fbbd8b2aad4 in QCoreApplication::sendSpontaneousEvent (receiver=0x23e1560, event=0x7ffc3b6c5040) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
      #34 0x00007fbbd8baeb7a in QWidgetWindow::handleKeyEvent (this=0x26a4e20, event=0x7ffc3b6c5040) at kernel/qwidgetwindow.cpp:656
      #35 0x00007fbbd8bad1a7 in QWidgetWindow::event (this=0x26a4e20, event=0x7ffc3b6c5040) at kernel/qwidgetwindow.cpp:232
      #36 0x00007fbbd8b27c62 in QApplicationPrivate::notify_helper (this=0x22241e0, receiver=0x26a4e20, e=0x7ffc3b6c5040) at kernel/qapplication.cpp:3745
      #37 0x00007fbbd8b24ece in QApplication::notify (this=0x7ffc3b6c55e0, receiver=0x26a4e20, e=0x7ffc3b6c5040) at kernel/qapplication.cpp:3105
      #38 0x00007fbbd7fb383f in QCoreApplication::notifyInternal2 (receiver=0x26a4e20, event=0x7ffc3b6c5040) at kernel/qcoreapplication.cpp:975
      #39 0x00007fbbd843e67e in QCoreApplication::sendSpontaneousEvent (receiver=0x26a4e20, event=0x7ffc3b6c5040) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
      #40 0x00007fbbd843726a in QGuiApplicationPrivate::processKeyEvent (e=0x28a83b0) at kernel/qguiapplication.cpp:2044
      #41 0x00007fbbd8435d67 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x28a83b0) at kernel/qguiapplication.cpp:1721
      #42 0x00007fbbd8415cc5 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:710
      #43 0x00007fbbcc04a8fc in userEventSourceDispatch (source=0x2286fa0) at qeventdispatcher_glib.cpp:76
      #44 0x00007fbbd05cc6b4 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
      #45 0x00007fbbd05cc990 in ?? () from /usr/lib64/libglib-2.0.so.0
      #46 0x00007fbbd05cca3c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
      #47 0x00007fbbd803bb18 in QEventDispatcherGlib::processEvents (this=0x228eca0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
      #48 0x00007fbbcc04ab2c in QPAEventDispatcherGlib::processEvents (this=0x228eca0, flags=...) at qeventdispatcher_glib.cpp:121
      #49 0x00007fbbd7fafeb8 in QEventLoop::processEvents (this=0x7ffc3b6c5410, flags=...) at kernel/qeventloop.cpp:134
      #50 0x00007fbbd7fb01ef in QEventLoop::exec (this=0x7ffc3b6c5410, flags=...) at kernel/qeventloop.cpp:212
      #51 0x00007fbbd7fb4035 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1248
      #52 0x00007fbbd8435b66 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1661
      #53 0x00007fbbd8b24875 in QApplication::exec () at kernel/qapplication.cpp:2921
      #54 0x000000000040d681 in main (argc=1, argv=0x7ffc3b6c5738) at /mnt/src/kde/src/kde/applications/kate/kwrite/main.cpp:294
       

        Attachments

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

          Activity

            People

            • Assignee:
              erikv Erik Verbruggen
              Reporter:
              cullmann Christoph Cullmann
            • Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes