https://bugs.kde.org/show_bug.cgi?id=394352
--- Comment #3 from Fabio <ctrlal...@gmail.com> ---
I debugged this issue a bit.
There's a workaround, just disabling "Input auto-resize" from the "Format" menu
avoids the crash when closing the chat window.

The crash is due to KopeteRichTextWidget triggering a size recalc on the
chatview of the window that has just been closed; this leads to a call to
ChatMessagePart::keepScrolledDown() to ensure the view is scrolled down to the
last message. Here's the backtrace up to the method emitting the signal:

#0  ChatMessagePart::keepScrolledDown (this=0xd76ba0) at
/home/fabio/prj/kopete/kopete/chatwindow/chatmessagepart.cpp:650
#1  0x00007fffd81c4324 in ChatView::slotRecalculateSize (this=0x10bda20,
difference=0) at /home/fabio/prj/kopete/kopete/chatwindow/chatview.cpp:488
#2  0x00007fffd81bf0ab in ChatView::qt_static_metacall (_o=0x10bda20,
_c=QMetaObject::InvokeMetaMethod, _id=25, _a=0x7fffffffbf30)
    at
/home/fabio/prj/kopete/buid/kopete/chatwindow/kopete_chatwindow_autogen/EWIEGA46WW/moc_chatview.cpp:275
#3  0x00007ffff55d4845 in ?? () from /usr/lib64/libQt5Core.so.5
#4  0x00007fffd81641b4 in KopeteRichTextWidget::documentSizeUpdated
(this=0xf474c0, _t1=0)
    at
/home/fabio/prj/kopete/buid/kopete/chatwindow/kopetechatwindow_shared_autogen/EWIEGA46WW/moc_kopeterichtextwidget.cpp:250
#5  0x00007fffd817c093 in KopeteRichTextWidget::slotDocumentSizeUpdated
(this=0xf474c0) at
/home/fabio/prj/kopete/kopete/chatwindow/kopeterichtextwidget.cpp:152
#6  0x00007fffd8163e6d in KopeteRichTextWidget::qt_static_metacall
(_o=0xf474c0, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x7fffffffc070)
    at
/home/fabio/prj/kopete/buid/kopete/chatwindow/kopetechatwindow_shared_autogen/EWIEGA46WW/moc_kopeterichtextwidget.cpp:163
#7  0x00007ffff55d4845 in ?? () from /usr/lib64/libQt5Core.so.5
#8  0x00007ffff55d4845 in ?? () from /usr/lib64/libQt5Core.so.5
#9  0x00007ffff6294a83 in QWidgetTextControl::qt_metacall(QMetaObject::Call,
int, void**) () from /usr/lib64/libQt5Widgets.so.5
#10 0x00007ffff55d455d in ?? () from /usr/lib64/libQt5Core.so.5
#11 0x00007ffff5aa8a1c in QTextDocumentPrivate::finishEdit() () from
/usr/lib64/libQt5Gui.so.5
#12 0x00007ffff6292401 in ?? () from /usr/lib64/libQt5Widgets.so.5
#13 0x00007ffff628a32a in QWidgetTextControl::processEvent(QEvent*, QPointF
const&, QWidget*) () from /usr/lib64/libQt5Widgets.so.5
#14 0x00007ffff626e219 in QTextEdit::inputMethodEvent(QInputMethodEvent*) ()
from /usr/lib64/libQt5Widgets.so.5
#15 0x00007ffff60fdace in QWidget::event(QEvent*) () from
/usr/lib64/libQt5Widgets.so.5
#16 0x00007ffff61a204e in QFrame::event(QEvent*) () from
/usr/lib64/libQt5Widgets.so.5
#17 0x00007fffd817dd27 in KopeteRichTextWidget::event (this=0xf474c0,
event=0x7fffffffc6d0) at
/home/fabio/prj/kopete/kopete/chatwindow/kopeterichtextwidget.cpp:463
#18 0x00007ffff60c126f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib64/libQt5Widgets.so.5
#19 0x00007ffff55a034a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib64/libQt5Core.so.5
#20 0x00007ffff372051f in ?? () from /usr/lib64/libQt5WaylandClient.so.5
#21 0x00007ffff60c4f6d in QApplication::setActiveWindow(QWidget*) () from
/usr/lib64/libQt5Widgets.so.5
#22 0x00007ffff60e69e7 in QWidgetPrivate::deactivateWidgetCleanup() () from
/usr/lib64/libQt5Widgets.so.5
#23 0x00007ffff60f2be5 in QWidgetPrivate::hide_sys() () from
/usr/lib64/libQt5Widgets.so.5
#24 0x00007ffff60f9470 in QWidgetPrivate::hide_helper() () from
/usr/lib64/libQt5Widgets.so.5
#25 0x00007ffff60fd868 in QWidgetPrivate::setVisible(bool) () from
/usr/lib64/libQt5Widgets.so.5
#26 0x00007ffff60f98b2 in
QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from
/usr/lib64/libQt5Widgets.so.5
#27 0x00007ffff6118267 in ?? () from /usr/lib64/libQt5Widgets.so.5
#28 0x00007ffff60c126f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib64/libQt5Widgets.so.5
#29 0x00007ffff55a034a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib64/libQt5Core.so.5
#30 0x00007ffff5980a57 in
QGuiApplicationPrivate::processCloseEvent(QWindowSystemInterfacePrivate::CloseEvent*)
() from /usr/lib64/libQt5Gui.so.5
#31 0x00007ffff595b9d5 in bool
QWindowSystemInterfacePrivate::handleWindowSystemEvent<QWindowSystemInterface::SynchronousDelivery>(QWindowSystemInterfacePrivate::WindowSystemEvent*)
()
   from /usr/lib64/libQt5Gui.so.5
#32 0x00007ffff0e4094d in ?? () from /usr/lib64/libffi.so.7
#33 0x00007ffff0e3ff48 in ?? () from /usr/lib64/libffi.so.7
#34 0x00007ffff368deb2 in ?? () from /usr/lib64/libwayland-client.so.0
#35 0x00007ffff368a91a in ?? () from /usr/lib64/libwayland-client.so.0
#36 0x00007ffff368be6c in wl_display_dispatch_queue_pending () from
/usr/lib64/libwayland-client.so.0
#37 0x00007ffff370d0c3 in QtWaylandClient::QWaylandDisplay::flushRequests() ()
from /usr/lib64/libQt5WaylandClient.so.5
#38 0x00007ffff55d4845 in ?? () from /usr/lib64/libQt5Core.so.5
#39 0x00007ffff55d7a6f in QSocketNotifier::activated(QSocketDescriptor,
QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () from
/usr/lib64/libQt5Core.so.5
#40 0x00007ffff55d816b in QSocketNotifier::event(QEvent*) () from
/usr/lib64/libQt5Core.so.5
#41 0x00007ffff60c126f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib64/libQt5Widgets.so.5
#42 0x00007ffff55a034a in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib64/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--c
#43 0x00007ffff55f4d25 in ?? () from /usr/lib64/libQt5Core.so.5
#44 0x00007ffff13d472b in g_main_context_dispatch () from
/usr/lib64/libglib-2.0.so.0
#45 0x00007ffff13d49a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#46 0x00007ffff13d4a4f in g_main_context_iteration () from
/usr/lib64/libglib-2.0.so.0
#47 0x00007ffff55f41ff in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/libQt5Core.so.5
#48 0x00007ffff559ee8b in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/libQt5Core.so.5
#49 0x00007ffff55a6aac in QCoreApplication::exec() () from
/usr/lib64/libQt5Core.so.5
#50 0x000000000041d3c2 in main (argc=1, argv=0x7fffffffdd48) at
/home/fabio/prj/kopete/kopete/main.cpp:121


ChatMessagePart::keepScrolledDown will run a singleshot timer calling the
ChatMessagePart::slotScrollView() slot that crashes Kopete because that object
instance has already been deleted.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to