Bug 276406 - Closing network manager config window before dismissing policykit prompt results in crash
Summary: Closing network manager config window before dismissing policykit prompt resu...
Status: RESOLVED FIXED
Alias: None
Product: Network Management
Classification: Miscellaneous
Component: Control Module (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Will Stephenson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-24 19:41 UTC by Kai Uwe Broulik
Modified: 2011-09-20 15:09 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kai Uwe Broulik 2011-06-24 19:41:13 UTC
Application: kcmshell4 ()
KDE Platform Version: 4.6.4 (4.6.4)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-8-generic x86_64
Distribution: Ubuntu 11.04

-- Information about the crash:
I was editing a system connection (Auto eth0) to change it from DHCP to manual IP. When clicking OK, a policy kit dialog appeared “Authentication required to change system settings”. I closed the network manager settings anway. Then I entered my password and the control module crashed. Also the settings were not saved.
I need to dismiss the password prompt first to have my settings set and then close the dialog.

The crash can be reproduced every time.

-- Backtrace:
Application: KDE-Kontrollmodul (kcmshell4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f611e99b780 (LWP 3661))]

Thread 4 (Thread 0x7f6115fa1700 (LWP 3662)):
#0  0x000000301e84269f in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x000000301e843122 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x000000301e843639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x0000003019786446 in QEventDispatcherGlib::processEvents (this=0x1b76f20, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x000000301975a882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x000000301975aabc in QEventLoop::exec (this=0x7f6115fa0dd0, flags=...) at kernel/qeventloop.cpp:201
#6  0x0000003019671924 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x000000301973cc2f in QInotifyFileSystemWatcherEngine::run (this=0x175bee0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x0000003019674175 in QThreadPrivate::start (arg=0x175bee0) at thread/qthread_unix.cpp:320
#9  0x000000301fe06d8c in start_thread (arg=0x7f6115fa1700) at pthread_create.c:304
#10 0x000000301f6e604d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f6115705700 (LWP 3663)):
#0  0x000000301e86b5e9 in g_thread_self () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x000000301e843629 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x0000003019786446 in QEventDispatcherGlib::processEvents (this=0x1cf31d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#3  0x000000301975a882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#4  0x000000301975aabc in QEventLoop::exec (this=0x7f6115704dd0, flags=...) at kernel/qeventloop.cpp:201
#5  0x0000003019671924 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#6  0x000000301973cc2f in QInotifyFileSystemWatcherEngine::run (this=0x1cc7ae0) at io/qfilesystemwatcher_inotify.cpp:248
#7  0x0000003019674175 in QThreadPrivate::start (arg=0x1cc7ae0) at thread/qthread_unix.cpp:320
#8  0x000000301fe06d8c in start_thread (arg=0x7f6115705700) at pthread_create.c:304
#9  0x000000301f6e604d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f6114cfc700 (LWP 3664)):
#0  0x000000301f6d8f03 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x000000301e843104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x000000301e8439f2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00000032d92b4c44 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x000000301e86a3e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x000000301fe06d8c in start_thread (arg=0x7f6114cfc700) at pthread_create.c:304
#6  0x000000301f6e604d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f611e99b780 (LWP 3661)):
[KCrash Handler]
#6  0x000000301b544caa in QTreeWidget::clear (this=<value optimized out>) at itemviews/qtreewidget.cpp:3270
#7  0x00007f611856dffd in ManageConnectionWidget::restoreConnections (this=0x19425d0) at /home/kaiuwe/Projekte/networkmanagement/settings/config/manageconnectionwidget.cpp:294
#8  0x00007f611856ece5 in ManageConnectionWidget::updateServiceAndUi (this=0x19425d0, id=<value optimized out>, scope=<value optimized out>) at /home/kaiuwe/Projekte/networkmanagement/settings/config/manageconnectionwidget.cpp:1051
#9  0x00007f611856ed9c in ManageConnectionWidget::updateServiceAndUi (this=0x19425d0, con=0x1b21460) at /home/kaiuwe/Projekte/networkmanagement/settings/config/manageconnectionwidget.cpp:1036
#10 0x00007f61185701ea in ManageConnectionWidget::editGotSecrets (this=0x19425d0, valid=<value optimized out>, errorMessage=<value optimized out>) at /home/kaiuwe/Projekte/networkmanagement/settings/config/manageconnectionwidget.cpp:733
#11 0x00007f6118570715 in ManageConnectionWidget::editClicked (this=0x19425d0) at /home/kaiuwe/Projekte/networkmanagement/settings/config/manageconnectionwidget.cpp:676
#12 0x00007f611856a7cc in ManageConnectionWidget::qt_metacall (this=0x19425d0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff269ea1a0) at /home/kaiuwe/Projekte/networkmanagement/build/settings/config/moc_manageconnectionwidget.cpp:101
#13 0x00000030197705f8 in QMetaObject::activate (sender=0x1996610, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff269ea1a0) at kernel/qobject.cpp:3287
#14 0x000000301b62f252 in QAbstractButton::clicked (this=<value optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#15 0x000000301b37883e in QAbstractButtonPrivate::emitClicked (this=0x1996650) at widgets/qabstractbutton.cpp:546
#16 0x000000301b379dbb in QAbstractButtonPrivate::click (this=0x1996650) at widgets/qabstractbutton.cpp:539
#17 0x000000301b37a02c in QAbstractButton::mouseReleaseEvent (this=0x1996610, e=0x7fff269eaae0) at widgets/qabstractbutton.cpp:1121
#18 0x000000301b00acb8 in QWidget::event (this=0x1996610, event=0x7fff269eaae0) at kernel/qwidget.cpp:8259
#19 0x000000301afb99e4 in QApplicationPrivate::notify_helper (this=0x169f070, receiver=0x1996610, e=0x7fff269eaae0) at kernel/qapplication.cpp:4462
#20 0x000000301afbedb3 in QApplication::notify (this=<value optimized out>, receiver=0x1996610, e=0x7fff269eaae0) at kernel/qapplication.cpp:4023
#21 0x0000003b4c23c716 in KApplication::notify (this=0x7fff269eb7d0, receiver=0x1996610, event=0x7fff269eaae0) at ../../kdeui/kernel/kapplication.cpp:311
#22 0x000000301975b49c in QCoreApplication::notifyInternal (this=0x7fff269eb7d0, receiver=0x1996610, event=0x7fff269eaae0) at kernel/qcoreapplication.cpp:731
#23 0x000000301afbaa0d in sendEvent (receiver=0x1996610, event=0x7fff269eaae0, alienWidget=0x1996610, nativeWidget=0x1748780, buttonDown=0x301ba9a218, lastMouseReceiver=..., spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#24 QApplicationPrivate::sendMouseEvent (receiver=0x1996610, event=0x7fff269eaae0, alienWidget=0x1996610, nativeWidget=0x1748780, buttonDown=0x301ba9a218, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3122
#25 0x000000301b03a600 in QETWidget::translateMouseEvent (this=0x1748780, event=<value optimized out>) at kernel/qapplication_x11.cpp:4556
#26 0x000000301b03904a in QApplication::x11ProcessEvent (this=0x7fff269eb7d0, event=0x7fff269eb430) at kernel/qapplication_x11.cpp:3678
#27 0x000000301b061162 in x11EventSourceDispatch (s=0x169db10, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#28 0x000000301e842bcd in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x000000301e8433a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x000000301e843639 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00000030197863ef in QEventDispatcherGlib::processEvents (this=0x1656490, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#32 0x000000301b060dfe in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x000000301975a882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#34 0x000000301975aabc in QEventLoop::exec (this=0x7fff269eb730, flags=...) at kernel/qeventloop.cpp:201
#35 0x000000301b4788e6 in QDialog::exec (this=0x1748780) at dialogs/qdialog.cpp:552
#36 0x0000003b4c8076ac in kdemain (_argc=<value optimized out>, _argv=<value optimized out>) at ../../kcmshell/main.cpp:287
#37 0x000000301f61eeff in __libc_start_main (main=0x400740 <main(int, char**)>, argc=5, ubp_av=0x7fff269ebf68, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff269ebf58) at libc-start.c:226
#38 0x0000000000400669 in _start ()

Reported using DrKonqi
Comment 1 Lamarque V. Souza 2011-06-25 04:09:39 UTC
It is almost impossible to solve this problem without refactoring one very sensible part of Plasma NM, risking to add new bugs. Since it does not happen in nm09 branch I suggest you to upgrade to that branch when it is stable.
Comment 2 Lamarque V. Souza 2011-07-08 23:30:53 UTC
Git commit 0d6d7cb34971f247097131e2aa8caac303bd3639 by Lamarque V. Souza.
Committed on 09/07/2011 at 01:30.
Pushed by lvsouza into branch 'master'.

I think this is not actually needed.

BUG: 276406

M  +0    -44   backends/NetworkManager/nmdbussettingsconnectionprovider.cpp     
M  +0    -3    libs/ui/connectioneditor.cpp     

http://commits.kde.org/networkmanagement/0d6d7cb34971f247097131e2aa8caac303bd3639