Bug 294482

Summary: kdeinit crashes at login
Product: [Unmaintained] kdelibs Reporter: Andreas Schallenberg <Andreas.Schallenberg>
Component: kdedAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: cfeck, lamarque, zingel
Priority: NOR Keywords: triaged
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Valgrind output, part A
Valgrind output, part B

Description Andreas Schallenberg 2012-02-20 09:52:19 UTC
Application: kded4 ($Id$)
KDE Platform Version: 4.6.5 (4.6.5) "release 7"
Qt Version: 4.7.1
Operating System: Linux 2.6.37.6-0.11-desktop x86_64
Distribution: "openSUSE 11.4 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

Sometimes when loggin into the system the kdeinit crashes. This happens with a chance of (guessed) 50%.

The crash can be reproduced some of the time.

-- Backtrace:
Application: KDE-Dienst (kdeinit4), signal: Aborted
[Current thread is 1 (Thread 0x7fba5a972760 (LWP 2737))]

Thread 2 (Thread 0x7fba3e21e700 (LWP 2740)):
#0  0x00007fba5808599e in __lll_lock_wait_private () from /lib64/libc.so.6
#1  0x00007fba5801ef2e in _L_lock_9927 () from /lib64/libc.so.6
#2  0x00007fba5801d2d1 in free () from /lib64/libc.so.6
#3  0x00007fba4bab6ab1 in ?? () from /usr/lib64/tls/libnvidia-tls.so.290.10
#4  0x00007fba54edbe08 in ?? () from /lib64/libglib-2.0.so.0
#5  0x00007fba59660cba in QEventDispatcherGlib::~QEventDispatcherGlib() () from /usr/lib64/libQtCore.so.4
#6  0x00007fba59660e09 in QEventDispatcherGlib::~QEventDispatcherGlib() () from /usr/lib64/libQtCore.so.4
#7  0x00007fba5954bda4 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fba5954ca66 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fba4ca972da in ?? () from /usr/X11R6/lib64/libGL.so.1
#10 0x00007fba592bda3f in start_thread () from /lib64/libpthread.so.0
#11 0x00007fba5807871d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fba5a972760 (LWP 2737)):
[KCrash Handler]
#6  0x00007fba57fd7ab5 in raise () from /lib64/libc.so.6
#7  0x00007fba57fd8fb6 in abort () from /lib64/libc.so.6
#8  0x00007fba58012dd3 in __libc_message () from /lib64/libc.so.6
#9  0x00007fba580183b6 in malloc_printerr () from /lib64/libc.so.6
#10 0x00007fba5801d2dc in free () from /lib64/libc.so.6
#11 0x00007fba4bab6ab1 in ?? () from /usr/lib64/tls/libnvidia-tls.so.290.10
#12 0x00007fba59a0c027 in ~KCatalogPrivate (this=0x8c6520, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.5/kdecore/localization/kcatalog.cpp:74
#13 KCatalog::~KCatalog (this=0x8c6520, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.5/kdecore/localization/kcatalog.cpp:146
#14 0x00007fba59a0c059 in KCatalog::~KCatalog (this=0x8c6520, __in_chrg=<value optimized out>) at /usr/src/debug/kdelibs-4.6.5/kdecore/localization/kcatalog.cpp:147
#15 0x00007fba59b5b632 in node_destruct (this=<value optimized out>, data=0x8d1c30) at /usr/include/QtCore/qlist.h:418
#16 QList<KCatalog>::free (this=<value optimized out>, data=0x8d1c30) at /usr/include/QtCore/qlist.h:742
#17 0x00007fba59ad8317 in operator= (this=0x7719e0) at /usr/include/QtCore/qlist.h:430
#18 KLocalePrivate::updateCatalogs (this=0x7719e0) at /usr/src/debug/kdelibs-4.6.5/kdecore/localization/klocale_kde.cpp:848
#19 0x00007fba59a72753 in KLocalePrivate::insertCatalog (this=0x7719e0, catalog=...) at /usr/src/debug/kdelibs-4.6.5/kdecore/localization/klocale_kde.cpp:815
#20 0x00007fba59a98e59 in KComponentDataPrivate (this=0x7fff8e90f660, name=..., catalog=<value optimized out>, registerAsMain=KComponentData::RegisterAsMainComponent) at /usr/src/debug/kdelibs-4.6.5/kdecore/kernel/kcomponentdata_p.h:43
#21 KComponentData::KComponentData (this=0x7fff8e90f660, name=..., catalog=<value optimized out>, registerAsMain=KComponentData::RegisterAsMainComponent) at /usr/src/debug/kdelibs-4.6.5/kdecore/kernel/kcomponentdata.cpp:76
#22 0x00007fba59b08538 in KPluginFactory::KPluginFactory (this=0x8961b0, componentName=0x7fba3bdab7ca "ModemManagerbackend", catalogName=<value optimized out>, parent=<value optimized out>) at /usr/src/debug/kdelibs-4.6.5/kdecore/util/kpluginfactory.cpp:40
#23 0x00007fba3bd93249 in ModemManagerBackendFactory::ModemManagerBackendFactory (this=0x8961b0, componentName=<value optimized out>, catalogName=<value optimized out>, parent=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.6.5/solid/modemmanager-0.4/module.cpp:26
#24 0x00007fba3bd933e8 in qt_plugin_instance () at /usr/src/debug/kdebase-workspace-4.6.5/solid/modemmanager-0.4/module.cpp:27
#25 0x00007fba59b07450 in KPluginLoader::factory (this=0x7fff8e90f830) at /usr/src/debug/kdelibs-4.6.5/kdecore/util/kpluginloader.cpp:201
#26 0x00007fba3c8ab00f in createInstance<QObject> (this=0x8c02a0, description=..., serviceName=<value optimized out>, backendClassName=0x7fba3c8c25b0 "Solid::Control::Ifaces::ModemManager") at /usr/include/kservice.h:555
#27 createInstance<QObject> (this=0x8c02a0, description=..., serviceName=<value optimized out>, backendClassName=0x7fba3c8c25b0 "Solid::Control::Ifaces::ModemManager") at /usr/include/kservice.h:534
#28 Solid::Control::ManagerBasePrivate::loadBackend (this=0x8c02a0, description=..., serviceName=<value optimized out>, backendClassName=0x7fba3c8c25b0 "Solid::Control::Ifaces::ModemManager") at /usr/src/debug/kdebase-workspace-4.6.5/libs/solid/control/managerbase.cpp:54
#29 0x00007fba3c8b89aa in Solid::Control::ModemManagerPrivate::ModemManagerPrivate (this=0x8c0290) at /usr/src/debug/kdebase-workspace-4.6.5/libs/solid/control/modemmanager.cpp:41
#30 0x00007fba3c8b8a6e in operator-> () at /usr/src/debug/kdebase-workspace-4.6.5/libs/solid/control/modemmanager.cpp:35
#31 operator Solid::Control::ModemManagerPrivate* () at /usr/src/debug/kdebase-workspace-4.6.5/libs/solid/control/modemmanager.cpp:35
#32 Solid::Control::ModemManager::notifier () at /usr/src/debug/kdebase-workspace-4.6.5/libs/solid/control/modemmanager.cpp:135
#33 0x00007fba3cf98662 in NetworkInterfaceMonitor::NetworkInterfaceMonitor (this=0x8c6690, connectionList=<value optimized out>, activatableList=<value optimized out>, parent=<value optimized out>) at /usr/src/debug/networkmanagement-0.9.2.65git.1321935457/libs/service/networkinterfacemonitor.cpp:71
#34 0x00007fba3d1c3bb7 in ?? () from /usr/lib64/kde4/kded_networkmanagement.so
#35 0x00007fba3d1c3d77 in QObject* KPluginFactory::createInstance<NetworkManagementService, QObject>(QWidget*, QObject*, QList<QVariant> const&) () from /usr/lib64/kde4/kded_networkmanagement.so
#36 0x00007fba59ad35b2 in KPluginFactory::create (this=0x8ab9b0, iface=0x7fba59b85760 "KDEDModule", parentWidget=0x0, parent=0x7021e0, args=..., keyword=<value optimized out>) at /usr/src/debug/kdelibs-4.6.5/kdecore/util/kpluginfactory.cpp:203
#37 0x00007fba47d25f3f in create<KDEDModule> (this=0x7021e0, s=<value optimized out>, onDemand=<value optimized out>) at /usr/src/debug/kdelibs-4.6.5/kdecore/util/kpluginfactory.h:503
#38 Kded::loadModule (this=0x7021e0, s=<value optimized out>, onDemand=<value optimized out>) at /usr/src/debug/kdelibs-4.6.5/kded/kded.cpp:410
#39 0x00007fba47d2701d in Kded::initModules (this=0x7021e0) at /usr/src/debug/kdelibs-4.6.5/kded/kded.cpp:269
#40 0x00007fba47d29b81 in KDEDApplication::newInstance (this=<value optimized out>) at /usr/src/debug/kdelibs-4.6.5/kded/kded.cpp:847
#41 0x00007fba5a369f54 in KUniqueApplicationAdaptor::newInstance (this=0x77afb0, asn_id=<value optimized out>, args=...) at /usr/src/debug/kdelibs-4.6.5/kdeui/kernel/kuniqueapplication.cpp:439
#42 0x00007fba5a369ff2 in KUniqueApplicationAdaptor::qt_metacall (this=0x77afb0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff8e910660) at /usr/src/debug/kdelibs-4.6.5/build/kdeui/kuniqueapplication_p.moc:81
#43 0x00007fba56489b68 in ?? () from /usr/lib64/libQtDBus.so.4
#44 0x00007fba5648a46e in ?? () from /usr/lib64/libQtDBus.so.4
#45 0x00007fba5648ac9e in ?? () from /usr/lib64/libQtDBus.so.4
#46 0x00007fba5648aed8 in ?? () from /usr/lib64/libQtDBus.so.4
#47 0x00007fba59649a4a in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#48 0x00007fba587e73c6 in QApplication::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#49 0x00007fba587e4d14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#50 0x00007fba587ed22a in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#51 0x00007fba5a2db316 in KApplication::notify (this=0x7fff8e911490, receiver=0x7fff8e911490, event=0x7caf00) at /usr/src/debug/kdelibs-4.6.5/kdeui/kernel/kapplication.cpp:311
#52 0x00007fba59635bdc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#53 0x00007fba596393d5 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQtCore.so.4
#54 0x00007fba59660763 in ?? () from /usr/lib64/libQtCore.so.4
#55 0x00007fba54edfbd3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#56 0x00007fba54ee03b0 in ?? () from /lib64/libglib-2.0.so.0
#57 0x00007fba54ee0650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#58 0x00007fba596608ff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#59 0x00007fba58889d8e in ?? () from /usr/lib64/libQtGui.so.4
#60 0x00007fba59635032 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#61 0x00007fba59635245 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#62 0x00007fba5963968b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#63 0x00007fba47d256d7 in kdemain (argc=1, argv=0x6b6860) at /usr/src/debug/kdelibs-4.6.5/kded/kded.cpp:925
#64 0x00000000004075c9 in launch (argc=1, _name=0x40b4db "kded4", args=<value optimized out>, cwd=0x0, envc=<value optimized out>, envs=<value optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x40b357 "0") at /usr/src/debug/kdelibs-4.6.5/kinit/kinit.cpp:734
#65 0x0000000000409dee in main (argc=4, argv=0x7fff8e9124f8, envp=0x7fff8e912520) at /usr/src/debug/kdelibs-4.6.5/kinit/kinit.cpp:1849

Reported using DrKonqi
Comment 1 Christoph Feck 2012-02-20 14:17:12 UTC
From the backtrace, it is not possible to tell which kded module causes the crash, as the memory corruption could have happened anywhere.

It could be the Network Management module. To check if this is the case, try disabling that module by using System Settings > System Administration > Startup and Shutdown > Service Manager. Disable "NetworkManager" in the "Startup Services" there, and restart KDE.

If this does not help, a different module could be causing the crash, and some patience is required to isolate it by disabling one of them. For more information, see http://kdepepo.wordpress.com/2011/05/11/troubleshooting-kded4-bugs/
Comment 2 Andreas Schallenberg 2012-02-20 15:44:34 UTC
Thank you for the quick reply!

It looks like the network manager is the right direction. I disabled it and restarted KDE twice without the crash appearing.

For curiosity, I enabled and disabled the network manager and my system was froze a few seconds later (no mouse movement, xload frozen, ...). I needed to powercycle the PC.

I will observe this further and report if it is reliably gone.

By the way, this is a PC with a fixed IP so perhaps this causes trouble for NM.
Comment 3 Lamarque V. Souza 2012-02-20 16:32:44 UTC
The bug happens in kdelibs when inserting the localization catalog of ModemManager backend. Plasma NM is the only program I know that uses the ModemManager backend, that's why removing it workarounds the problem. However, the bug really seems to happen in kdelibs.
Comment 4 Lamarque V. Souza 2012-02-20 16:33:54 UTC
Or more precisely the bug seems to happen in nvidia driver :-/
Comment 5 Andreas Schallenberg 2012-02-20 16:37:31 UTC
Yes, this PC has an NVidia card and its driven by the proprietary driver v290.10.
Comment 6 Christoph Feck 2012-02-20 17:09:41 UTC
See bug 290864 for the same backtrace without NVIDIA driver. To me it simply looks like a memory corruption, and it would be useful to know if it also happens with newer version of the Plasma networkmanagement suite. In that case, a valgrind log of kded4 running would be needed.
Comment 7 Lamarque V. Souza 2012-02-20 17:23:06 UTC
#290864 happens in ktorrent and does not have Plasma NM involved according to the backtrace.
Comment 8 Andreas Schallenberg 2012-02-20 17:26:03 UTC
> (...) In that case, a valgrind log of kded4 running would be needed.

That would require a /usr/bin/kdeinit4 file that is compiled differently, right?
Comment 9 Christoph Feck 2012-02-22 13:18:30 UTC
No, valgrind does not require any recompilation. Just kill existing "kded4" process, and start it via valgrind.
Comment 10 Andreas Schallenberg 2012-02-22 16:10:28 UTC
Well, is that of any help? When it crashes, it does so at login (when it is started by kdeinit). Kded is restarted right afterwards. I could kill that new instance and start a new one with valgrind and then logout. But would that help you in any way?
Comment 11 Lamarque V. Souza 2012-02-22 16:35:16 UTC
I think a better test is checking if it does not crash when using another driver (nouveau or vesa). It does not crash then it's very likely the problem is in the proprietary nvidia driver or incompatibility between it and xorg.
Comment 12 zingel 2012-02-23 06:31:59 UTC
I have an identically problem using the proprietary nvidia driver. I only have this problem when i have connected an external monitor at the laptop. When it crashes, there is much HD activity. If I restart plasma, after it crashes, it will crash again, until the HD activity goes down. Bit it only crashes at login, it never crashed after a while.
Comment 13 Andreas Schallenberg 2012-02-23 07:42:07 UTC
I had no time to test this with another driver yet but I also use a non-trivial monitor solution. Its two monitors with one turned by 90 degrees.
Comment 14 Andreas Schallenberg 2012-02-23 16:46:09 UTC
I did a test:

1) Disabled network manager from kde services to start
2) Rebooted system
3) Terminated kded4 (kill -QUIT) and restarted it with valgrind
4) Enabled network manager service
5) killed kded4 again

I'll attach the valgrind output in two parts. Part A contains output of 3) and part B from 4) on.
Comment 15 Andreas Schallenberg 2012-02-23 16:47:49 UTC
Created attachment 69040 [details]
Valgrind output, part A
Comment 16 Andreas Schallenberg 2012-02-23 16:49:38 UTC
Created attachment 69041 [details]
Valgrind output, part B
Comment 17 Andreas Schallenberg 2012-02-23 16:51:04 UTC
Part B indicates that something goes wrong at networkinterfacemonitor.cpp:70.
Comment 18 Lamarque V. Souza 2012-02-26 17:40:26 UTC
(In reply to comment #17)
> Part B indicates that something goes wrong at networkinterfacemonitor.cpp:70.

There is too many things happening in lin 70, which contains a #define macro (foreach). The valgrind log does not help that much to figure out each variable the invalid write happens on.
Comment 19 Christoph Feck 2012-05-19 02:51:17 UTC
Is this still reproducible with a newer KDE version and/or a newer KDE NetworkManagement version?
Comment 20 Christoph Feck 2012-07-04 02:09:19 UTC
If you can provide the information requested in comment #19, please add it.
Comment 21 Andrew Crouthamel 2018-09-23 02:20:13 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 22 Andreas Schallenberg 2018-09-23 11:13:48 UTC
The report is six years old by now and no comment was indicating that there was anything done along the line. This was KDE 4, I moved to KDE 5 by now. I cannot test, if it the error is still somewhere in the code. After these years of idling, we'll never know.