Bug 273894 - NM Kcmshell crash when saving NetworkManager config
Summary: NM Kcmshell crash when saving NetworkManager config
Status: RESOLVED FIXED
Alias: None
Product: Network Management
Classification: Miscellaneous
Component: Control Module (show other bugs)
Version: unspecified
Platform: Chakra Linux
: NOR crash
Target Milestone: ---
Assignee: Ilia Kats
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-22 21:55 UTC by Julien Humbert
Modified: 2011-05-25 15:11 UTC (History)
1 user (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 Julien Humbert 2011-05-22 21:55:09 UTC
Application: kcmshell4 ()
KDE Platform Version: 4.6.3 (4.6.3)
Qt Version: 4.7.3
Operating System: Linux 2.6.39-CHAKRA i686
Distribution: "Chakra Linux"

-- Information about the crash:
Kcmshell4 crashes everytime on a particular method to save NM settings.

- What I was doing when the application crashed:
I just tryied to save my new NM config.

- Steps to reproduce:
1. Click on NM widget
2. Select « Manage connections… »
3. Select « Wired » tab
4. Click on a connection there
5. Click on the « Edit » button
6. Choose the « IPv6 » tab
7. Select « Automatic (DHCP) »
8. Click on « Ok » button
Here's the trick that crashes the app
9. Before the kdesu dialog appears you have to click on the « ok » button from the NM connection manager
10. Enter now the root password
11. Crash !

- Custom settings of the application:
The wired connection must be a system connection and the IPv6 was not set.

I haven't tried other config option, but I can try it if you can't reproduce by this way described.

The crash can be reproduced every time.

-- Backtrace:
Application: Module de Configuration de KDE (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb58b7710 (LWP 2560))]

Thread 4 (Thread 0xaee75b70 (LWP 2561)):
#0  0xb5cc5d61 in clock_gettime () from /lib/librt.so.1
#1  0xb6e00438 in ?? () from /usr/lib/libQtCore.so.4
#2  0xb6ecd802 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb6ecc042 in ?? () from /usr/lib/libQtCore.so.4
#4  0xb6ecc0dd in ?? () from /usr/lib/libQtCore.so.4
#5  0xb5c2cc5e in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#6  0xb5c2db13 in ?? () from /usr/lib/libglib-2.0.so.0
#7  0xb5c2e1e4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#8  0xb6ecc887 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#9  0xb6e9e409 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0xb6e9e6aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0xb6da7343 in QThread::exec() () from /usr/lib/libQtCore.so.4
#12 0xb6e7fbcb in ?? () from /usr/lib/libQtCore.so.4
#13 0xb6da9e12 in ?? () from /usr/lib/libQtCore.so.4
#14 0xb6d35e10 in start_thread () from /lib/libpthread.so.0
#15 0xb616397e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xae4ffb70 (LWP 2562)):
#0  0xb6d381c0 in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0xb5c2d5c4 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#2  0xb5c2df30 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb5c2e1e4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb6ecc887 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0xb6e9e409 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0xb6e9e6aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0xb6da7343 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0xb6e7fbcb in ?? () from /usr/lib/libQtCore.so.4
#9  0xb6da9e12 in ?? () from /usr/lib/libQtCore.so.4
#10 0xb6d35e10 in start_thread () from /lib/libpthread.so.0
#11 0xb616397e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xadbfeb70 (LWP 2563)):
#0  0xb6d39661 in pthread_mutex_unlock () from /lib/libpthread.so.0
#1  0xb5c2dd74 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0xb5c2e5f3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#3  0xadcb5f14 in ?? () from /usr/lib/libgio-2.0.so.0
#4  0xb5c56d9f in ?? () from /usr/lib/libglib-2.0.so.0
#5  0xb6d35e10 in start_thread () from /lib/libpthread.so.0
#6  0xb616397e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb58b7710 (LWP 2560)):
[KCrash Handler]
#7  0xb01523db in ?? () from /usr/lib/libknm_nm.so
#8  0xb014bf87 in NMDBusSettingsConnectionProvider::updateConnection(QString const&, Knm::Connection*) () from /usr/lib/libknm_nm.so
#9  0xb019cc22 in ?? () from /usr/lib/kde4/kcm_networkmanagement.so
#10 0xb019d0d2 in ?? () from /usr/lib/kde4/kcm_networkmanagement.so
#11 0xb0196524 in ?? () from /usr/lib/kde4/kcm_networkmanagement.so
#12 0xb6ea58ca in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#13 0xb6eb577f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#14 0xb6ad2e19 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4
#15 0xb67e1609 in ?? () from /usr/lib/libQtGui.so.4
#16 0xb67e2ec4 in ?? () from /usr/lib/libQtGui.so.4
#17 0xb67e317e in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#18 0xb645491a in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#19 0xb67e21be in QAbstractButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#20 0xb6882182 in QPushButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#21 0xb63fb8f4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#22 0xb6400f39 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#23 0xb75704ca in KApplication::notify (this=0xbff2997c, receiver=0x8a50c30, event=0xbff29198) at /home/phil/desktop-testing/kdelibs/src/kdelibs-4.6.3/kdeui/kernel/kapplication.cpp:311
#24 0xb6e9f24b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#25 0xb63fc867 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#26 0xb6485adc in ?? () from /usr/lib/libQtGui.so.4
#27 0xb648465f in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#28 0xb64ae042 in ?? () from /usr/lib/libQtGui.so.4
#29 0xb5c2d752 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0xb5c2df30 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0xb5c2e1e4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0xb6ecc84c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0xb64adc55 in ?? () from /usr/lib/libQtGui.so.4
#34 0xb6e9e409 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#35 0xb6e9e6aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0xb69011e3 in QDialog::exec() () from /usr/lib/libQtGui.so.4
#37 0xb5455b54 in kdemain (_argc=5, _argv=0x88b49a8) at /home/phil/desktop-testing/kdebase-runtime/src/kdebase-runtime-4.6.3/kcmshell/main.cpp:287
#38 0x0804dfb7 in launch (argc=5, _name=0x890299c "kcmshell4", args=<value optimized out>, cwd=0x0, envc=1, envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x8051f96 "0") at /home/phil/desktop-testing/kdelibs/src/kdelibs-4.6.3/kinit/kinit.cpp:734
#39 0x0804ea82 in handle_launcher_request (sock=8, who=<value optimized out>) at /home/phil/desktop-testing/kdelibs/src/kdelibs-4.6.3/kinit/kinit.cpp:1226
#40 0x0804f0d5 in handle_requests (waitForPid=0) at /home/phil/desktop-testing/kdelibs/src/kdelibs-4.6.3/kinit/kinit.cpp:1419
#41 0x0804fe11 in main (argc=8, argv=0x19, envp=0x8aa00b8) at /home/phil/desktop-testing/kdelibs/src/kdelibs-4.6.3/kinit/kinit.cpp:1907

Reported using DrKonqi
Comment 1 Ilia Kats 2011-05-25 15:11:56 UTC
Git commit 1561e795c3eb4b359f65b4b08f3b58d35c9963f6 by Ilia Kats.
Committed on 25/05/2011 at 14:34.
Pushed by iliakats into branch 'master'.

Prevent crashes when closing kcmshell too fast after closing the connection
editor. Hacky, but seems to be the best option so far.

BUG: 273894
(cherry picked from commit 9c4d7b49b691b6ba67b4cca0981bdabc847b675d)

M  +9    -0    settings/config/manageconnectionwidget.cpp     

http://commits.kde.org/networkmanagement/1561e795c3eb4b359f65b4b08f3b58d35c9963f6
Comment 2 Ilia Kats 2011-05-25 15:11:56 UTC
Git commit 9c4d7b49b691b6ba67b4cca0981bdabc847b675d by Ilia Kats.
Committed on 25/05/2011 at 14:34.
Pushed by iliakats into branch 'nm09'.

Prevent crashes when closing kcmshell too fast after closing the connection
editor. Hacky, but seems to be the best option so far.

BUG: 273894

M  +9    -0    settings/config/manageconnectionwidget.cpp     

http://commits.kde.org/networkmanagement/9c4d7b49b691b6ba67b4cca0981bdabc847b675d