Bug 312677 - segfault on kde startup - related to routing
Summary: segfault on kde startup - related to routing
Status: RESOLVED UPSTREAM
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kded (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-05 13:17 UTC by Martin Nicholas
Modified: 2013-01-19 22:08 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 Martin Nicholas 2013-01-05 13:17:51 UTC
A section of kde segfaults during login. This is related to the route in a second ip2 routing table:
$ ip route show table vpn
0.0.0.0/1 via 10.10.10.65 dev tap0 
prohibit default 
128.0.0.0/1 via 10.10.10.65 dev tap0 
192.168.0.0/24 dev eth0  proto kernel  scope link  metric 1 
192.168.188.0/24 dev virbr1  proto kernel  scope link  src 192.168.188.1 

The line causing the crash is "prohibit default" it seeems

Reproducible: Always

Steps to Reproduce:
1. Login in to kde.
Actual Results:  
Various elements fail to initialise properly: klipper, kmix, printer applet, kded. They are left with the default icon amongst other symptoms.

One extra symptom is that the Bug Reporter fails ;-(
The crash report is attached.


Application: KDE DÊmon (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0e02fc4780 (LWP 3485))]

Thread 4 (Thread 0x7f0dea246700 (LWP 3509)):
#0  __pthread_mutex_lock (mutex=0x7f0de4000a60) at pthread_mutex_lock.c:127
#1  0x00007f0e050f8e21 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0e050bb193 in g_main_context_release () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0e050bbd35 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f0e050bbea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0e095ebc16 in QEventDispatcherGlib::processEvents (this=0x7f0de40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f0e095bc2bf in QEventLoop::processEvents (this=this@entry=0x7f0dea245dd0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f0e095bc548 in QEventLoop::exec (this=0x7f0dea245dd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f0e094bdb10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007f0e0959c9af in QInotifyFileSystemWatcherEngine::run (this=0xa85e70) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007f0e094c0aec in QThreadPrivate::start (arg=0xa85e70) at thread/qthread_unix.cpp:338
#11 0x00007f0e05994e9a in start_thread (arg=0x7f0dea246700) at pthread_create.c:308
#12 0x00007f0e081cacbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f0de983f700 (LWP 3512)):
#0  0x00007f0e05996f69 in __pthread_mutex_lock (mutex=0x7f0de0000a60) at pthread_mutex_lock.c:92
#1  0x00007f0e050f8e21 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0e050bb623 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0e050bbcab in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f0e050bbea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0e095ebc16 in QEventDispatcherGlib::processEvents (this=0x7f0de00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f0e095bc2bf in QEventLoop::processEvents (this=this@entry=0x7f0de983edd0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f0e095bc548 in QEventLoop::exec (this=0x7f0de983edd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f0e094bdb10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007f0dee26c352 in KCupsConnection::run() () from /usr/lib/libkcupslib.so
#10 0x00007f0e094c0aec in QThreadPrivate::start (arg=0xbecda0) at thread/qthread_unix.cpp:338
#11 0x00007f0e05994e9a in start_thread (arg=0x7f0de983f700) at pthread_create.c:308
#12 0x00007f0e081cacbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f0de903e700 (LWP 3513)):
#0  0x00007f0e050b98aa in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f0e050bb597 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0e050bbcab in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0e050bbea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f0e095ebc16 in QEventDispatcherGlib::processEvents (this=0x7f0ddc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f0e095bc2bf in QEventLoop::processEvents (this=this@entry=0x7f0de903de00, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f0e095bc548 in QEventLoop::exec (this=0x7f0de903de00, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f0e094bdb10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x00007f0e094c0aec in QThreadPrivate::start (arg=0xb11650) at thread/qthread_unix.cpp:338
#9  0x00007f0e05994e9a in start_thread (arg=0x7f0de903e700) at pthread_create.c:308
#10 0x00007f0e081cacbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f0e02fc4780 (LWP 3485)):
[KCrash Handler]
#6  0x00007f0ddbdd30f0 in rtnl_route_nh_get_ifindex () from /usr/lib/x86_64-linux-gnu/libnl-route-3.so.200
#7  0x00007f0de80209cc in ?? () from /usr/lib/ntrack/modules/ntrack-libnl3_x.so
#8  0x00007f0de8020fb2 in _ntrack_arch_new () from /usr/lib/ntrack/modules/ntrack-libnl3_x.so
#9  0x00007f0de822434f in ?? () from /usr/lib/libntrack.so.0
#10 0x00007f0de8224ada in ntrack_monitor_get () from /usr/lib/libntrack.so.0
#11 0x00007f0de842cee1 in QNtrack::QNtrack() () from /usr/lib/libntrack-qt4.so.1
#12 0x00007f0de842cfd5 in QNtrack::instance() () from /usr/lib/libntrack-qt4.so.1
#13 0x00007f0de8638b6e in NtrackNetworkState::NtrackNetworkState (this=0xbd8b10, statusmodule=0xc5f5e0) at ../../../solid-networkstatus/kded/ntracknetworkstate.cpp:57
#14 0x00007f0de86365e9 in NetworkStatusModule::NetworkStatusModule (this=0xc5f5e0, parent=<optimized out>) at ../../../solid-networkstatus/kded/networkstatus.cpp:85
#15 0x00007f0de8637427 in KPluginFactory::createInstance<NetworkStatusModule, QObject> (parentWidget=<optimized out>, parent=<optimized out>, args=...) at /usr/include/kpluginfactory.h:477
#16 0x00007f0e09b18275 in KPluginFactory::create (this=0xbb9100, iface=0x7f0e09b6ec80 <qt_meta_stringdata_KDEDModule> "KDEDModule", parentWidget=0x0, parent=0x8e3a10, args=..., keyword=...) at ../../kdecore/util/kpluginfactory.cpp:203
#17 0x00007f0df60f6cd7 in create<KDEDModule> (args=..., parent=0x8e3a10, this=<optimized out>) at ../../kdecore/util/kpluginfactory.h:507
#18 Kded::loadModule (this=this@entry=0x8e3a10, s=..., onDemand=onDemand@entry=true) at ../../kded/kded.cpp:409
#19 0x00007f0df60f75bb in Kded::loadModule (this=0x8e3a10, obj=..., onDemand=<optimized out>) at ../../kded/kded.cpp:361
#20 0x00007f0df60f780a in Kded::messageFilter (message=...) at ../../kded/kded.cpp:204
#21 0x00007f0e069373dc in QDBusConnectionPrivate::handleMessage (this=0x8d91f0, amsg=...) at qdbusintegrator.cpp:557
#22 0x00007f0e06939f65 in qDBusSignalFilter (connection=<optimized out>, message=<optimized out>, data=0x8d91f0) at qdbusintegrator.cpp:546
#23 0x00007f0e03cb5bde in dbus_connection_dispatch () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#24 0x00007f0e0692db49 in q_dbus_connection_dispatch (connection=<optimized out>) at qdbus_symbols_p.h:115
#25 QDBusConnectionPrivate::doDispatch (this=0x8d91f0) at qdbusintegrator.cpp:1129
#26 0x00007f0e06931d75 in QDBusConnectionPrivate::socketRead (this=0x8d91f0, fd=5) at qdbusintegrator.cpp:1149
#27 0x00007f0e095d2f5f in QMetaObject::activate (sender=0xa85c60, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff081613c0) at kernel/qobject.cpp:3547
#28 0x00007f0e0961d79e in QSocketNotifier::activated (this=<optimized out>, _t1=5) at .moc/release-shared/moc_qsocketnotifier.cpp:103
#29 0x00007f0e095da7eb in QSocketNotifier::event (this=0xa85c60, e=0x7fff081619e0) at kernel/qsocketnotifier.cpp:317
#30 0x00007f0e08964e9c in QApplicationPrivate::notify_helper (this=this@entry=0x8e8c60, receiver=receiver@entry=0xa85c60, e=e@entry=0x7fff081619e0) at kernel/qapplication.cpp:4562
#31 0x00007f0e0896930a in QApplication::notify (this=0x7fff08161ea0, receiver=0xa85c60, e=0x7fff081619e0) at kernel/qapplication.cpp:4423
#32 0x00007f0e0a3361d6 in KApplication::notify (this=0x7fff08161ea0, receiver=0xa85c60, event=0x7fff081619e0) at ../../kdeui/kernel/kapplication.cpp:311
#33 0x00007f0e095bd56e in QCoreApplication::notifyInternal (this=0x7fff08161ea0, receiver=0xa85c60, event=0x7fff081619e0) at kernel/qcoreapplication.cpp:915
#34 0x00007f0e095eb3f8 in sendEvent (event=0x7fff081619e0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#35 socketNotifierSourceDispatch (source=0x8e8350) at kernel/qeventdispatcher_glib.cpp:110
#36 0x00007f0e050bbab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f0e050bbde8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f0e050bbea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007f0e095ebc16 in QEventDispatcherGlib::processEvents (this=0x84c7d0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#40 0x00007f0e08a09c1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00007f0e095bc2bf in QEventLoop::processEvents (this=this@entry=0x7fff08161c20, flags=...) at kernel/qeventloop.cpp:149
#42 0x00007f0e095bc548 in QEventLoop::exec (this=0x7fff08161c20, flags=...) at kernel/qeventloop.cpp:204
#43 0x00007f0e095c1708 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#44 0x00007f0df60f63f0 in kdemain (argc=1, argv=0x8b3e40) at ../../kded/kded.cpp:924
#45 0x00000000004084c6 in launch (argc=argc@entry=1, _name=_name@entry=0x40b126 "kded4", args=args@entry=0x0, cwd=cwd@entry=0x0, envc=envc@entry=0, envs=<optimized out>, envs@entry=0x0, reset_env=reset_env@entry=false, tty=tty@entry=0x0, avoid_loops=avoid_loops@entry=false, startup_id_str=startup_id_str@entry=0x40afb6 "0") at ../../kinit/kinit.cpp:738
#46 0x0000000000405a29 in main (argc=4, argv=<optimized out>, envp=0x7fff081628a0) at ../../kinit/kinit.cpp:1853
Comment 1 Martin Nicholas 2013-01-06 11:53:05 UTC
Adding "proto static" to the offending route produces a segfault further up the initialisation chain, taking out the networking widget itself.
Comment 2 Lamarque V. Souza 2013-01-07 21:43:42 UTC
The crash happens in /usr/lib64/libnl-route-3.so.200, which belongs to a non-KDE library (libnm). You should report this bugs to them. One workaround you can try is compiling kde-runtime without NTrack support. That should prevent the crash and everything should still work if you use NetworkManager or Wicd to manage your connections.