Bug 366374

Summary: Crash on editing configured server details
Product: [Applications] konversation Reporter: Luigi Toscano <luigi.toscano>
Component: generalAssignee: Konversation Developers <konversation-devel>
Status: RESOLVED FIXED    
Severity: crash CC: hein, rdieter, shured1
Priority: NOR Keywords: regression
Version: 1.6.1   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Luigi Toscano 2016-08-03 10:52:51 UTC
Application: konversation (1.6.1)

Qt Version: 5.6.1
Frameworks Version: 5.24.0
Operating System: Linux 4.6.4-301.fc24.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
Go to "File" menu, "Server List", press "Edit" on any previously defined server.

The crash can be reproduced every time.

-- Backtrace:
Application: Konversation (konversation), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6ec3dc5940 (LWP 17301))]

Thread 3 (Thread 0x7f6eb3fff700 (LWP 17305)):
#0  0x00007f6ed178732d in poll () from /lib64/libc.so.6
#1  0x00007f6ecde2aa46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007f6ecde2ab5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007f6ed258d24b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007f6ed253c5ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007f6ed239b343 in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007f6ed239f99a in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#7  0x00007f6ed03895ca in start_thread () from /lib64/libpthread.so.0
#8  0x00007f6ed1792ead in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f6eb95c6700 (LWP 17304)):
#0  0x00007f6ed178732d in poll () from /lib64/libc.so.6
#1  0x00007f6ecde2aa46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007f6ecde2ab5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007f6ed258d24b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007f6ed253c5ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007f6ed239b343 in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007f6ed2793559 in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#7  0x00007f6ed239f99a in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#8  0x00007f6ed03895ca in start_thread () from /lib64/libpthread.so.0
#9  0x00007f6ed1792ead in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f6ec3dc5940 (LWP 17301)):
[KCrash Handler]
#6  0x0000555b000d87ae in Konversation::ServerDialog::setServerSettings(Konversation::ServerSettings const&) ()
#7  0x0000555b000db48e in Konversation::ServerGroupDialog::editServer() ()
#8  0x0000555b000db729 in Konversation::ServerGroupDialog::execAndEditServer(Konversation::ServerSettings) ()
#9  0x0000555b000e5f5e in Konversation::ServerListDialog::slotEdit() ()
#10 0x00007f6ed2565ebc in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#11 0x00007f6ed2f5ae12 in QAbstractButton::clicked(bool) () from /lib64/libQt5Widgets.so.5
#12 0x00007f6ed2f5b064 in QAbstractButtonPrivate::emitClicked() () from /lib64/libQt5Widgets.so.5
#13 0x00007f6ed2f5c247 in QAbstractButtonPrivate::click() () from /lib64/libQt5Widgets.so.5
#14 0x00007f6ed2f5c434 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#15 0x00007f6ed2ea1940 in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#16 0x00007f6ed2e5bc0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#17 0x00007f6ed2e61fa7 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#18 0x00007f6ed253d7aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#19 0x00007f6ed2e60655 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /lib64/libQt5Widgets.so.5
#20 0x00007f6ed2ebc2a6 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#21 0x00007f6ed2ebec73 in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#22 0x00007f6ed2e5bc0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#23 0x00007f6ed2e610ef in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#24 0x00007f6ed253d7aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#25 0x00007f6ed2904f83 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#26 0x00007f6ed29066d5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib64/libQt5Gui.so.5
#27 0x00007f6ed28e73cb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#28 0x00007f6ebd247600 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#29 0x00007f6ecde2a703 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#30 0x00007f6ecde2aab0 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#31 0x00007f6ecde2ab5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#32 0x00007f6ed258d22f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#33 0x00007f6ed253c5ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#34 0x00007f6ed254417c in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#35 0x0000555b0000d9b2 in main ()

Report to https://bugs.kde.org/

Reproducible: Always
Comment 1 Luigi Toscano 2016-08-03 10:53:38 UTC
There is another bug which is triggered by selecting a channel and marking "Join on Connect". The backtrace is different, but I suspect that the root cause is the same (still about the updates of the list of the servers); maybe not, in that case I will file another bug.


Application: Konversation (konversation), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fdd4bafd940 (LWP 17462))]

Thread 4 (Thread 0x7fdd3974f700 (LWP 17468)):
#0  0x00007fdd580c6f79 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fdd5a0d7ff8 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQt5Core.so.5
#2  0x00007fdd5a0d492d in QThreadPoolThread::run() () from /lib64/libQt5Core.so.5
#3  0x00007fdd5a0d799a in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#4  0x00007fdd580c15ca in start_thread () from /lib64/libpthread.so.0
#5  0x00007fdd594caead in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fdd3bdf8700 (LWP 17466)):
#0  0x00007fdd594bf32d in poll () from /lib64/libc.so.6
#1  0x00007fdd55b62a46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fdd55b62b5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fdd5a2c524b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007fdd5a2745ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007fdd5a0d3343 in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007fdd5a0d799a in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#7  0x00007fdd580c15ca in start_thread () from /lib64/libpthread.so.0
#8  0x00007fdd594caead in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fdd412fe700 (LWP 17465)):
#0  0x00007fdd594bf32d in poll () from /lib64/libc.so.6
#1  0x00007fdd55b62a46 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007fdd55b62b5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007fdd5a2c524b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007fdd5a2745ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007fdd5a0d3343 in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007fdd5a4cb559 in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#7  0x00007fdd5a0d799a in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#8  0x00007fdd580c15ca in start_thread () from /lib64/libpthread.so.0
#9  0x00007fdd594caead in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fdd4bafd940 (LWP 17462)):
[KCrash Handler]
#6  0x00005605309cff30 in Konversation::ServerListDialog::updateServerList() ()
#7  0x0000560530ab7e55 in Konversation::ServerListDialog::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#8  0x00007fdd5a29db92 in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#9  0x0000560530aaf5b2 in Application::serverGroupsChanged(QExplicitlySharedDataPointer<Konversation::ServerGroupSettings>) ()
#10 0x0000560530ab823c in Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#11 0x00007fdd5a29db92 in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#12 0x0000560530ab3a85 in ViewContainer::autoJoinToggled(QExplicitlySharedDataPointer<Konversation::ServerGroupSettings>) ()
#13 0x00005605309eb18d in ViewContainer::toggleAutoJoin() ()
#14 0x0000560530abe157 in ViewContainer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#15 0x00007fdd5a29db92 in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#16 0x00007fdd5ab8a672 in QAction::triggered(bool) () from /lib64/libQt5Widgets.so.5
#17 0x00007fdd5ab8d292 in QAction::activate(QAction::ActionEvent) () from /lib64/libQt5Widgets.so.5
#18 0x00007fdd5ad1831a in QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () from /lib64/libQt5Widgets.so.5
#19 0x00007fdd5ad1e53c in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () from /lib64/libQt5Widgets.so.5
#20 0x00007fdd5ad22726 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#21 0x00007fdd5abd9940 in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#22 0x00007fdd5ad231cb in QMenu::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#23 0x00007fdd5ab93c0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#24 0x00007fdd5ab99fa7 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#25 0x00007fdd5a2757aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#26 0x00007fdd5ab98655 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /lib64/libQt5Widgets.so.5
#27 0x00007fdd5abf48f8 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#28 0x00007fdd5abf6c73 in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#29 0x00007fdd5ab93c0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#30 0x00007fdd5ab990ef in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#31 0x00007fdd5a2757aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#32 0x00007fdd5a63cf83 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#33 0x00007fdd5a63e6d5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib64/libQt5Gui.so.5
#34 0x00007fdd5a61f3cb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#35 0x00007fdd44f7f600 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#36 0x00007fdd55b62703 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#37 0x00007fdd55b62ab0 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#38 0x00007fdd55b62b5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#39 0x00007fdd5a2c522f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#40 0x00007fdd5a2745ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#41 0x00007fdd5ad1d336 in QMenu::exec(QPoint const&, QAction*) () from /lib64/libQt5Widgets.so.5
#42 0x00005605309f477c in ViewContainer::showViewContextMenu(QWidget*, QPoint const&) ()
#43 0x0000560530abe54a in ViewContainer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#44 0x00007fdd5a29db92 in QMetaObject::activate(QObject*, int, int, void**) () from /lib64/libQt5Core.so.5
#45 0x0000560530ab3c67 in ViewTree::showViewContextMenu(QWidget*, QPoint const&) const ()
#46 0x0000560530a19f71 in ViewTree::contextMenuEvent(QContextMenuEvent*) ()
#47 0x00007fdd5abd9940 in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#48 0x00007fdd5acdb9ce in QFrame::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#49 0x00007fdd5ae06523 in QAbstractItemView::viewportEvent(QEvent*) () from /lib64/libQt5Widgets.so.5
#50 0x00007fdd5ae444ec in QTreeView::viewportEvent(QEvent*) () from /lib64/libQt5Widgets.so.5
#51 0x00007fdd5a275592 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#52 0x00007fdd5ab93be5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#53 0x00007fdd5ab9a158 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#54 0x00007fdd5a2757aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#55 0x00007fdd5abf4404 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#56 0x00007fdd5abf6c73 in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#57 0x00007fdd5ab93c0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#58 0x00007fdd5ab990ef in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#59 0x00007fdd5a2757aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#60 0x00007fdd5a63cf83 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#61 0x00007fdd5a63e6d5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib64/libQt5Gui.so.5
#62 0x00007fdd5a61f3cb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#63 0x00007fdd44f7f600 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#64 0x00007fdd55b62703 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#65 0x00007fdd55b62ab0 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#66 0x00007fdd55b62b5c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#67 0x00007fdd5a2c522f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#68 0x00007fdd5a2745ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#69 0x00007fdd5a27c17c in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#70 0x00005605308f89b2 in main ()
Comment 2 Eike Hein 2016-08-03 15:04:18 UTC
I can't reproduce either of these crashes.
Comment 3 Luigi Toscano 2016-08-03 15:37:01 UTC
Consistently reproduced on a fresh profile, but I was not precise: it is:
Go to "File" menu, "Server List", select a server and expand it (for example, expand "Freenode"), then select one of the servers ("chat.freenode.net:8001", not sure it's the upstream default or Fedora's one), and then  press "Edit".
Comment 4 Eike Hein 2016-08-03 15:40:27 UTC
Tried both, no crash ...
Comment 5 Eike Hein 2016-08-03 18:45:32 UTC
*** Bug 366370 has been marked as a duplicate of this bug. ***
Comment 6 Eike Hein 2016-08-03 18:48:26 UTC
Git commit 4fa92f7e55dea6354a7dbeae1ddf62c4357912e2 by Eike Hein.
Committed on 03/08/2016 at 18:46.
Pushed by hein into branch '1.6'.

Fix copy constructor not setting m_bypassProxy.

This caused crashes all over the place because now operator== fails.

This will need a 1.6.2 hotfix release.
CCMAIL:anselmolsm@gmail.com

M  +1    -0    src/irc/serversettings.cpp

http://commits.kde.org/konversation/4fa92f7e55dea6354a7dbeae1ddf62c4357912e2