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 a window #2611

Closed DarthGandalf closed 7 months ago

DarthGandalf commented 7 months ago

Gentoo Linux amd64 5cbbeabcfd2321e42767063d617b71ae14b3b8c7 Qt 5.12

  1. Click "Connect to" on the toolbar
  2. In the window opened choose any server, even the default selection is fine
  3. Click Advanced button to the right of server name
  4. You should see another window opened with details of the server
  5. Click X to close it
Thread 1 "kvirc" received signal SIGSEGV, Segmentation fault.                                                                                                                                                                                                                     
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                                                                                                                     
244     /mnt/portagetmp/portage/dev-qt/qtcore-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/corelib/kernel/qtimer.cpp: Нет такого файла или каталога.                                                                                                                         
(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  0x00007fffb19afd41 in ScriptEditorWidget::~ScriptEditorWidget (this=0x55555c7dcde0, __in_chrg=<optimized out>) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/modules/editor/ScriptEditorImplementation.cpp:141                                            
No locals.                                                                                                                                                                                                                                                                        
#2  0x00007fffb19afdf9 in ScriptEditorWidget::~ScriptEditorWidget (this=0x55555c7dcde0, __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=0x55555c7dd120) 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=0x55555c7dd0b0, __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 = 0x55555c7dd120                                                                                                                                                                                                                                                        
        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  0x00007fffb19b18e9 in ScriptEditorImplementation::~ScriptEditorImplementation (this=0x55555c7dd0b0, __in_chrg=<optimized out>) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/modules/editor/ScriptEditorImplementation.cpp:788
No locals.
#6  0x00007fffb129b19a in IrcServerDetailsWidget::~IrcServerDetailsWidget (this=0x55555a4eb2c0, __in_chrg=<optimized out>) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/modules/options/OptionsWidget_servers.cpp:1028
No locals.
#7  0x00007fffb12a2ebc in IrcServerDetailsWidget::~IrcServerDetailsWidget (this=0x55555a4eb2c0, __in_chrg=<optimized out>) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/modules/options/OptionsWidget_servers.cpp:1025
No locals.
#8  OptionsWidget_servers::detailsClicked (this=0x55555c66ed80) at /mnt/portagetmp/portage/net-irc/kvirc-9999/work/kvirc-9999/src/modules/options/OptionsWidget_servers.cpp:2195
        retCode = <optimized out>
#9  0x00007ffff60c6c8c in doActivate<false> (sender=0x55555c6b0d00, signal_index=9, argv=0x7fffffffc630) 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 = 0x55555c66ed80
        td = <optimized out>
        receiverInSameThread = <optimized out>
        senderData = {previous = 0x0, receiver = 0x55555c66ed80, sender = 0x55555c6b0d00, signal = 9}
        c = 0x55555c6b13c0
        connections = {d = 0x55555c6b04d0}
        list = <optimized out>
        inSenderThread = true
        highestConnectionId = 4
        signalVector = 0x55555c6b1420
        currentThreadId = 0x7ffff4e0e800
        sp = <optimized out>
        signal_spy_set = 0x0
        empty_argv = {0x0}
        senderDeleted = false
#10 0x00007ffff60c0897 in QMetaObject::activate (sender=sender@entry=0x55555c6b0d00, m=m@entry=0x7ffff7296240 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fffffffc630)
    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>
#11 0x00007ffff6e5b182 in QAbstractButton::clicked (this=this@entry=0x55555c6b0d00, _t1=<optimized out>) at .moc/moc_qabstractbutton.cpp:308
        _a = {0x0, 0x7fffffffc62c}
#12 0x00007ffff6e5b3da in QAbstractButtonPrivate::emitClicked (this=0x55555c6b0dc0) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qabstractbutton.cpp:416
        q = 0x55555c6b0d00
        guard = <optimized out>
#13 0x00007ffff6e5cf97 in QAbstractButtonPrivate::click (this=0x55555c6b0dc0) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qabstractbutton.cpp:409
        q = <optimized out>
        changeState = <optimized out>
        guard = <optimized out>
#14 0x00007ffff6e5d1c3 in QAbstractButton::mouseReleaseEvent (this=0x55555c6b0d00, e=0x7fffffffcbe0) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qabstractbutton.cpp:1045
        d = 0x55555c6b0dc0
#15 0x00007ffff6da6fa8 in QWidget::event (this=0x55555c6b0d00, event=0x7fffffffcbe0) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:9045
        d = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#16 0x00007ffff6d631ee in QApplicationPrivate::notify_helper (this=this@entry=0x5555559cc3e0, receiver=receiver@entry=0x55555c6b0d00, e=e@entry=0x7fffffffcbe0)
    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
#17 0x00007ffff6d6b8f2 in QApplication::notify (this=<optimized out>, receiver=0x55555c6b0d00, e=0x7fffffffcbe0) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:3084
        me = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x7ffff69d91f8 <vtable for QMouseEvent+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 = 3, posted = 0, spont = 1, m_accept = 1, reserved = 8191}, modState = {i = 0}, ts = 4783790}, l = {xp = 42, yp = 21}, w = {xp = 475, yp = 374}, s = {xp = 1115, yp = 623}, 
          b = Qt::LeftButton, mouseState = {i = 0}, caps = 0, velocity = {v = {0, 0}}}
        w = 0x55555c6b0d00
        mouse = 0x7fffffffcbe0
        eventAccepted = <optimized out>
        relpos = {xp = 42, yp = 21}
        pw = <optimized out>
        d = 0x5555559cc3e0
        res = false
#18 0x00007ffff6093a08 in QCoreApplication::notifyInternal2 (receiver=0x55555c6b0d00, event=0x7fffffffcbe0) 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 = {0x55555c6b0d00, 0x7fffffffcbe0, 0x7fffffffc9cf}
        d = <optimized out>
        threadData = 0x5555559cb330
        scopeLevelCounter = {threadData = 0x5555559cb330}
#19 0x00007ffff6093c0e in QCoreApplication::sendSpontaneousEvent (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:1474
No locals.
#20 0x00007ffff6d69bf4 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55555c6b0d00, event=event@entry=0x7fffffffcbe0, alienWidget=<optimized out>, nativeWidget=0x555556a9b7f0, buttonDown=buttonDown@entry=0x7ffff72bf9d0 <qt_button_down>, 
    lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:2622
        receiverGuard = <optimized out>
        nativeGuard = <optimized out>
        alienGuard = <optimized out>
        activePopupWidget = <optimized out>
        graphicsWidget = false
        widgetUnderMouse = <optimized out>
        wasLeaveAfterRelease = <optimized out>
        result = true
#21 0x00007ffff6dc0553 in QWidgetWindow::handleMouseEvent (this=this@entry=0x55555c769030, event=event@entry=0x7fffffffceb0) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidgetwindow.cpp:684
        translated = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x7ffff69d91f8 <vtable for QMouseEvent+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 = 3, posted = 0, spont = 1, m_accept = 1, reserved = 8191}, modState = {i = 0}, ts = 4783790}, l = {xp = 42, yp = 21}, w = {xp = 475, yp = 374}, s = {xp = 1115, yp = 623}, 
          b = Qt::LeftButton, mouseState = {i = 0}, caps = 0, velocity = {v = {0, 0}}}
        contextMenuTrigger = QEvent::MouseButtonPress
        widget = <optimized out>
        mapped = {xp = 42, yp = 21}
        initialPress = <optimized out>
        receiver = 0x55555c6b0d00
#22 0x00007ffff6dc396f in QWidgetWindow::event (this=0x55555c769030, event=0x7fffffffceb0) at /mnt/portagetmp/portage/dev-qt/qtwidgets-5.15.12/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidgetwindow.cpp:300
No locals.
#23 0x00007ffff6d631ee in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555c769030, e=0x7fffffffceb0) 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
#24 0x00007ffff6093a08 in QCoreApplication::notifyInternal2 (receiver=0x55555c769030, event=0x7fffffffceb0) 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 = {0x55555c769030, 0x7fffffffceb0, 0x7fffffffcd4f}
        d = <optimized out>
        threadData = 0x5555559cb330
        scopeLevelCounter = {threadData = 0x5555559cb330}
#25 0x00007ffff6093c0e in QCoreApplication::sendSpontaneousEvent (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:1474
No locals.
#26 0x00007ffff652737b in QGuiApplicationPrivate::processMouseEvent (e=0x55555c7919d0) at /mnt/portagetmp/portage/dev-qt/qtgui-5.15.12/work/qtbase-everywhere-src-5.15.12/src/gui/kernel/qguiapplication.cpp:2285
        type = QEvent::MouseButtonRelease
        button = Qt::LeftButton
        window = 0x55555c769030
        positionChanged = <optimized out>
        mouseMove = <optimized out>
        mousePress = <optimized out>
        localPoint = {xp = 475, yp = 374}
        globalPoint = {xp = 1115, yp = 623}
--Type <RET> for more, q to quit, c to continue without paging--
        doubleClick = <optimized out>
        ev = {<QInputEvent> = {<QEvent> = {_vptr.QEvent = 0x7ffff69d91f8 <vtable for QMouseEvent+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 = 3, posted = 0, spont = 1, m_accept = 1, reserved = 0}, modState = {i = 0}, ts = 4783790}, l = {xp = 475, yp = 374}, w = {xp = 475, yp = 374}, s = {xp = 1115, yp = 623}, 
          b = Qt::LeftButton, mouseState = {i = 0}, caps = 0, velocity = {v = {0, 0}}}
#27 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 = 0x55555c7919d0
        nevents = 1
#28 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}
#29 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 = 0x555555a9dbf0
        current = 0x5555562f72c0
        i = 1
        __func__ = "g_main_dispatch"
#30 0x00007ffff4f13ee7 in g_main_context_dispatch_unlocked (context=0x7fffec000ec0) at ../glib-2.78.3/glib/gmain.c:4284
No locals.
#31 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 = 16
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = 7
        fds = 0x555556268700
        begin_time_nsec = 0
#32 0x00007ffff4f1450c in g_main_context_iteration (context=0x7fffec000ec0, may_block=1) at ../glib-2.78.3/glib/gmain.c:4414
        retval = <optimized out>
#33 0x00007ffff60e55c6 in QEventDispatcherGlib::processEvents (this=0x555555aa2660, 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 = 0x555555aa2c20
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#34 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 = 0x555556330990
        threadData = <optimized out>
        locker = {val = 93824996913848}
        ref = <optimized out>
        app = <optimized out>
#35 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 = 0x555556330990}, 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>
#36 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.
#37 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.
#38 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>}
--Type <RET> for more, q to quit, c to continue without paging--
        iRetVal = <optimized out>
(gdb)
ctrlaltca commented 7 months ago

It looks like #2609 crash at src/modules/editor/ScriptEditorImplementation.cpp:141 due to trying to stop a timer that was never initialized. Fix is in #2610