kvirc / KVIrc

The KVIrc IRC Client
http://www.kvirc.net/
GNU General Public License v2.0
240 stars 75 forks source link

Crash on closing multiline editor #2609

Closed DarthGandalf closed 6 months ago

DarthGandalf commented 7 months ago

Version 5cbbeabcfd2321e42767063d617b71ae14b3b8c7

Gentoo linux amd64

Simply press Alt-Enter to open multiline editor, then again to close it. It crashes.

(gdb) bt full                                                                                                                                                                                                                                                                     
#0  QTimer::stop (this=0x65006c00750064) at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qtimer.cpp:244                                                                                                                 
No locals.                                                                                                                                                                                                                                                                        
#1  0x00007fffb1888d41 in ScriptEditorWidget::~ScriptEditorWidget (this=0x55555a9dc280, __in_chrg=<optimized out>) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/modules/editor/ScriptEditorImplementation.cpp:141                                            
No locals.                                                                                                                                                                                                                                                                        
#2  0x00007fffb1888df9 in ScriptEditorWidget::~ScriptEditorWidget (this=0x55555a9dc280, __in_chrg=<optimized out>) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/modules/editor/ScriptEditorImplementation.cpp:145                                            
No locals.                                                                                                                                                                                                                                                                        
#3  0x00007ffff60be682 in QObjectPrivate::deleteChildren (this=this@entry=0x55555a9ca460) at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qobject.cpp:2137                                                              
        i = 0                                                                                                                                                                                                                                                                     
#4  0x00007ffff6da27d6 in QWidget::~QWidget (this=0x55555aa0db50, __in_chrg=<optimized out>) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:1524                                                           
        d = 0x55555a9ca460                                                                                                                                                                                                                                                        
        blocked = <optimized out>                                                                                                                                                                                                                                                 
        d = <optimized out>                                                                                                                                                                                                                                                       
        blocked = <optimized out>                                                                                                                                                                                                                                                 
        manager = <optimized out>                                                                                                                                                                                                                                                 
        it = <optimized out>                                                                                                                                                                                                                                                      
        end = <optimized out>                                                                                                                                                                                                                                                     
        i = <optimized out>                                                                                                                                                                                                                                                       
        apriv = <optimized out>                                                                                                                                                                                                                                                   
        w = <optimized out>                                                                                                                                                                                                                                                       
        window = <optimized out>                                                                                                                                                                                                                                                  
        e = <optimized out>                                                                                                                                                                                                                                                       
        repaintManager = <optimized out>                                                                                                                                                                                                                                          
        e = <optimized out>                                                                                                                                                                                                                                                       
#5  0x00007fffb188a8e9 in ScriptEditorImplementation::~ScriptEditorImplementation (this=0x55555aa0db50, __in_chrg=<optimized out>) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/modules/editor/ScriptEditorImplementation.cpp:788                            
No locals.                                                                                                                                                                                                                                                                        
#6  0x00005555556eb3c0 in KviInput::multiLineEditorButtonToggled (this=0x555559888a70, bOn=<optimized out>) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/kvirc/ui/KviInput.cpp:305                                                                           
        szTmp = {d = 0x55555aa6f330}                                                                                                                                                                                                                                              
#7  0x00007ffff60c6c8c in doActivate<false> (sender=0x5555598a4020, signal_index=3, argv=0x7fffffffcc70) at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qobject.cpp:3937                                               
        method_relative = <optimized out>                                                                                                                                                                                                                                         
        callFunction = <optimized out>                                                                                                                                                                                                                                            
        methodIndex = 0                                                                                                                                                                                                                                                           
        receiver = 0x555559888a70                                                                                                                                                                                                                                                 
        td = <optimized out>                                                                                                                                                                                                                                                      
        receiverInSameThread = <optimized out>                                                                                                                                                                                                                                    
        senderData = {previous = 0x0, receiver = 0x555559888a70, sender = 0x5555598a4020, signal = 3}                                                                                                                                                                             
        c = 0x5555598a4120                                                                                                                                                                                                                                                        
        connections = {d = 0x5555598978d0}
        list = <optimized out>
        inSenderThread = true
        highestConnectionId = 1
        signalVector = 0x5555598a4180
        currentThreadId = 0x7ffff4e0e800
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#8  0x00007ffff60c0897 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7ffff7291d40 <QShortcut::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0)
    at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qobject.cpp:3985
        signal_index = <optimized out>
#9  0x00007ffff6d884b0 in QShortcut::activated (this=<optimized out>) at .moc/moc_qshortcut.cpp:202
No locals.
#10 0x00007ffff6d89623 in QShortcut::event (this=0x5555598a4020, e=0x7fffffffce10) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qshortcut.cpp:743
        se = 0x7fffffffce10
        d = 0x5555598a4060
#11 0x00007ffff6d631ee in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555598a4020, e=0x7fffffffce10) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:3640
        consumed = false
        filtered = false
#12 0x00007ffff6093a08 in QCoreApplication::notifyInternal2 (receiver=0x5555598a4020, event=0x7fffffffce10) at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x5555598a4020, 0x7fffffffce10, 0x7fffffffcd4f}
        d = <optimized out>
        threadData = 0x5555559cb330
        scopeLevelCounter = {threadData = 0x5555559cb330}
#13 0x00007ffff6093bfe in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qcoreapplication.cpp:1462
No locals.
#14 0x00007ffff6553f8d in QShortcutMap::dispatchEvent (this=<optimized out>, e=<optimized out>) at /mnt/portagetmp/portage/dev-qt/qtgui-5.15.12/work/qtbase-everywhere-src-5.15.12/src/gui/kernel/qshortcutmap.cpp:675
        d = <optimized out>
        curKey = <optimized out>
        current = <optimized out>
        next = <optimized out>
        i = <optimized out>
        enabledShortcuts = <optimized out>
        ambiguousShortcuts = {d = 0x7ffff6171940 <QArrayData::shared_null>}
        se = {<QEvent> = {_vptr.QEvent = 0x7ffff69d9598 <vtable for QShortcutEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff624aa80 <qt_meta_stringdata_QEvent>, data = 0x7ffff624a4c0 <qt_meta_data_QEvent>, static_metacall = 0x0, 
                relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 117, posted = 0, spont = 0, m_accept = 1, reserved = 2900}, sequence = {d = 0x5555598a4040}, ambig = false, sid = -8415}
#15 0x00007ffff65548fb in QShortcutMap::tryShortcut (this=this@entry=0x5555559cc4a8, e=e@entry=0x7fffffffced0) at /mnt/portagetmp/portage/dev-qt/qtgui-5.15.12/work/qtbase-everywhere-src-5.15.12/src/gui/kernel/qshortcutmap.cpp:343
        identicalMatches = 1
        d = <optimized out>
        previousState = <optimized out>
#16 0x00007ffff6509111 in QWindowSystemInterface::handleShortcutEvent (window=<optimized out>, timestamp=4260812684, keyCode=16777220, modifiers=..., nativeScanCode=36, nativeVirtualKey=65293, nativeModifiers=24, text=..., autorepeat=false, count=1)
    at /mnt/portagetmp/portage/dev-qt/qtgui-5.15.12/work/qtbase-everywhere-src-5.15.12/src/gui/kernel/qwindowsysteminterface.cpp:477
        shortcutMap = @0x5555559cc4a8: {d_ptr = {d = 0x5555559cbac0}}
        keyEvent = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x7ffff69d9258 <vtable for QKeyEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff624aa80 <qt_meta_stringdata_QEvent>, data = 0x7ffff624a4c0 <qt_meta_data_QEvent>, 
                  static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 51, posted = 0, spont = 0, m_accept = 0, reserved = 8191}, modState = {i = 134217728}, ts = 0}, txt = {d = 0x55555aa77840}, k = 16777220, nScanCode = 36, 
          nVirtualKey = 65293, nModifiers = 24, c = 1, autor = 0}
#17 0x00007ffff652382d in QGuiApplicationPrivate::processKeyEvent (e=0x55555aa75410) at /mnt/portagetmp/portage/dev-qt/qtgui-5.15.12/work/qtbase-everywhere-src-5.15.12/src/gui/kernel/qguiapplication.cpp:2398
        window = 0x5555562a8d30
        ev = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x5555559d9a30, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff624aa80 <qt_meta_stringdata_QEvent>, data = 0x7ffff624a4c0 <qt_meta_data_QEvent>, static_metacall = 0x0, 
                  relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x24, t = 3776, posted = 0, spont = 0, m_accept = 0, reserved = 7552}, modState = {i = 32767}, ts = 140737261486080}, txt = {d = 0x0}, k = -168727479, nScanCode = 32767, nVirtualKey = 6978, nModifiers = 0, 
          c = 29072, autor = 0}
#18 0x00007ffff6505bdb in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at /mnt/portagetmp/portage/dev-qt/qtgui-5.15.12/work/qtbase-everywhere-src-5.15.12/src/gui/kernel/qwindowsysteminterface.cpp:1169
        event = 0x55555aa75410
        nevents = 1
#19 0x00007ffff27a401a in xcbSourceDispatch (source=<optimized out>) at /mnt/portagetmp/portage/dev-qt/qtgui-5.15.12/work/qtbase-everywhere-src-5.15.12/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
        xcbEventSource = <optimized out>
        flags = {i = 36}
#20 0x00007ffff4f10d32 in g_main_dispatch (context=context@entry=0x7fffec000ec0) at ../glib-2.78.3/glib/gmain.c:3476
        dispatch = 0x7ffff27a4000 <xcbSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        begin_time_nsec = 0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = <optimized out>
        cb_data = <optimized out>
        need_destroy = <optimized out>
        source = 0x555555aa8bc0
        current = 0x55555623cd20
        i = 1
        __func__ = "g_main_dispatch"
#21 0x00007ffff4f13ee7 in g_main_context_dispatch_unlocked (context=0x7fffec000ec0) at ../glib-2.78.3/glib/gmain.c:4284
No locals.
#22 g_main_context_iterate_unlocked (context=context@entry=0x7fffec000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.78.3/glib/gmain.c:4349
        max_priority = 2147483647
        timeout = 418
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 7
        fds = 0x55555642a3f0
        begin_time_nsec = 0
#23 0x00007ffff4f1450c in g_main_context_iteration (context=0x7fffec000ec0, may_block=1) at ../glib-2.78.3/glib/gmain.c:4414
        retval = <optimized out>
#24 0x00007ffff60e55c6 in QEventDispatcherGlib::processEvents (this=0x555555aa9ed0, flags=...) at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qeventdispatcher_glib.cpp:423
        d = 0x555555aaa490
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#25 0x00007ffff609242b in QEventLoop::exec (this=this@entry=0x7fffffffd210, flags=..., flags@entry=...) at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x5555563483f0
        threadData = <optimized out>
        locker = {val = 93824996913848}
--Type <RET> for more, q to quit, c to continue without paging--
        ref = <optimized out>
        app = <optimized out>
#26 0x00007ffff609a72d in QCoreApplication::exec () at /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/include/QtCore/../../src/corelib/global/qflags.h:121
        threadData = 0x5555559cb330
        eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff636a8e8 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff624dc40 <qt_meta_stringdata_QObject>, data = 0x7ffff624db20 <qt_meta_data_QObject>, 
                static_metacall = 0x7ffff60c5070 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x5555563483f0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, 
                stringdata = 0x7ffff6250be0 <qt_meta_stringdata_Qt>, data = 0x7ffff624dd60 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {
                direct = 0x7ffff63621a0 <QObject::staticMetaObject>}, stringdata = 0x7ffff6249e00 <qt_meta_stringdata_QEventLoop>, data = 0x7ffff6249da0 <qt_meta_data_QEventLoop>, 
              static_metacall = 0x7ffff6092140 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#27 0x00007ffff651bb8c in QGuiApplication::exec () at /mnt/portagetmp/portage/dev-qt/qtgui-5.15.12/work/qtbase-everywhere-src-5.15.12/src/gui/kernel/qguiapplication.cpp:1870
No locals.
#28 0x00007ffff6d63165 in QApplication::exec () at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:2832
No locals.
#29 0x000055555569dbd9 in main (argc=<optimized out>, argv=0x7fffffffd4a8) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/kvirc/kernel/KviMain.cpp:459
        a = {argc = 1, argv = 0x7fffffffd4a8, configFile = 0x0, createFile = false, bForceNewSession = false, bShowPopup = false, bExecuteCommandAndClose = false, szExecCommand = {d = 0x7ffff6171940 <QArrayData::shared_null>}, szExecRemoteCommand = {
            d = 0x7ffff6171940 <QArrayData::shared_null>}}
        iRetCode = 0
        pAboutData = <optimized out>
        pTheApp = 0x5555559cc310
        szRemoteCommand = {d = 0x7ffff6171940 <QArrayData::shared_null>}
        iRetVal = <optimized out>
ctrlaltca commented 6 months ago

Fixed in #2610