kded can't find "kded/networkstatus.desktop"

Bug #381447 reported by Tomas Pospisek
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
kde4libs (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

Binary package hint: kde4libs

1) Source package: kdelibs
2) Version of package:
kdelibs-bin:
  Installiert: 4:4.2.2-0ubuntu5
  Kandidat: 4:4.2.2-0ubuntu5
  Versions-Tabelle:
 *** 4:4.2.2-0ubuntu5 0
        500 http://ch.archive.ubuntu.com jaunty/main Packages
        100 /var/lib/dpkg/status
3+4)
kded is spamming my console with:

[...]
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
kded(8377) KServiceFactory::findServiceByDesktopPath: "findServiceByDesktopPath: kded/networkstatus.desktop not found"
[...]

and doesn't give up until I kill it.

Revision history for this message
Harald Sitter (apachelogger) wrote :

So don't start it from a console?
Or don't turn on debugging?

Unless kded eats all your CPU because it can't find that file, this is not really a bug IMHO.

Changed in kde4libs (Ubuntu):
status: New → Invalid
Revision history for this message
Tomas Pospisek (tpo-deb) wrote :

Harald Sitter wrote 1 hour ago
>
> So don't start it from a console?

1. I did not start it from the console. Some other kde program that I started from the console apparently needed kded.
2. Even if I wanted, I couldn't start kded in any other way, since as far as I can see there is no entry anywhere in any menu. Or can you find one?
3. There is no policy I know of that says that problems when running a kde application from the console should be ignored. (The "Clicki-bunti don't touch the keyboard, you are in Windows land now, where you only need and only are allowed to use one finger of those ten on your hand" policy). Or is there?

> Or don't turn on debugging?

I didn't turn debugging on. I wouldn't even know how if I wanted.

> Unless kded eats all your CPU because it can't find that file, this is not really a bug IMHO.

So what is this behaveour then? A feature? Not really or is it? Thus I'm changing the Status from "Invalid" to "New".

This behaveour fills the console with garbage while one is trying to do some useful work, you know, like editing a file in vim (dauntingly inside a console, wheee!) for example.

But check out that kded's dump. It doesn't say that it is in debug mode. It says that it can't find some file that it _needs_. So either that file should be included or it shouldn't be needed. And if it's not needed than kded should *warn* at most *1* time about the fact and not whine uncessantly about it filling the console with noise.

*t

Changed in kde4libs (Ubuntu):
status: Invalid → New
Revision history for this message
Tomas Pospisek (tpo-deb) wrote :

Check also #324995 for a different example from the wild (second hit on Google for "kded KServiceFactory::findServiceByDesktopPath").

Revision history for this message
Tomas Pospisek (tpo-deb) wrote :

as google seems to suggest, that kind of console spamming seems to be quite a common phenomenon, affecting no small number of people...

Revision history for this message
Tomas Pospisek (tpo-deb) wrote :

kded's message is also displayed very prominently in this juicy blogpost - http://marc.waeckerlin.org/computer/blog/get_rid_of_xsession-error_that_s_filling_up_the_home_directory

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Could you check to see if the file is actually there? (Should be at /usr/share/kde4/services/kded/networkstatus.desktop)

Changed in kde4libs (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
Tomas Pospisek (tpo-deb) wrote :

On Fri, 24 Jul 2009, Jonathan Thomas wrote:

> Could you check to see if the file is actually there? (Should be at
> /usr/share/kde4/services/kded/networkstatus.desktop)

It's not there:

$ ls -l /usr/share/kde4/services/kded/networkstatus.desktop
ls: cannot access /usr/share/kde4/services/kded/networkstatus.desktop: No such file or directory

Greets,
*t

Changed in kde4libs (Ubuntu):
status: Incomplete → New
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Is kdebsae-workspace-bin installed? Are you running in a KDE environment? (I suppose I should have grouped that with my first question)

Changed in kde4libs (Ubuntu):
status: New → Incomplete
Revision history for this message
Tomas Pospisek (tpo-deb) wrote :

On Fri, 24 Jul 2009, Jonathan Thomas wrote:

> Is kdebsae-workspace-bin installed? Are you running in a KDE
> environment? (I suppose I should have grouped that with my first
> question)

No, it's not installed and I run from the default Ubuntu desktop install, which is Gnome. I do only install selected KDE applications (korganizer, ksnapshot, kwallet, klipper, et al.).

$ dpkg -s kdebase-workspace-bin
Package `kdebase-workspace-bin' is not installed and no info is available.

*t

Changed in kde4libs (Ubuntu):
status: Incomplete → New
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Hmm, I wonder what is trying to use the network management module... Well, kded obviously, but what's trying to start that kded service? (Rhetoric question, don't feel obligated to answer ;-)

Revision history for this message
Harald Sitter (apachelogger) wrote :

Well, then lets take a look at it form a non-clicki-bunti POV.

kded should be started independently, since it is much more verbose than applications, for a very good reason as I tend to believe. Also kded is an own application anyway. Only for user convenience KDE applications would startup kded if it is not running already, so that clicki-bunti-users do not have to worry about it.
Should one considering this very reasonable point and still not start kded independently and let an app start kded, one should at least make sure all output gets passed to /dev/null.

To a more useful analysis of the "problem"...

_Any_, I repeat, _any_ KDE app can use the troublesome module. As a matter of fact most will do via the http kioslave (that to my knowledge tries to use the networkstatus module to access link information and thus timeout immediately if no connection is available at all), also any application that would want to have status information about the network link status would either implement access on networkstatus via a kioslave or do it in the app directly.

Meaning that the following apps will for sure use networkstatus:
* KDEPIM
* Amarok (last.fm, lyrics and whatnot)
* KTorrent
* Konqueror
* Kopete
* most Plasma applets
...

The query frequency is set by the app itself, so the more often it tries to access the status, the more often will kded report that it is not available. Also, the more apps are querying the more output you get, due to increased query volume.

All those apps are perfectly capable of living without the module (which is mostly the point of kded modules that are shipped independent from the app), still it is desirable to have the module installed, otherwise the apps will not be able to treat network loss (properly). Thus it makes sense to have this message displayed

So, to get back to your question, yes I consider this a feature, so should you, since a smoothly running system is in the interest of every non-clicki-bunti user.

What we can do about it?
* We can increase the query frequency of each app (i.e. maintain 3 billion patches)
* We can make each package depend on workspace-bin (thus forcing the better part of the KDE desktop upon every user and devalue the point of kded modules)
* We can make these warnings disappear all along and thus prevent users that actually try to find out why the apps are unable to track network status of diagnosing the problem
* We can make kded track it's own verbosity (that of course requires kded to store information when a uniquely identified message was sent, and define a maximum frequency to that, in return we get more mem usage and still didn't get rid of the warnings)

What's it gonna be?

Changed in kde4libs (Ubuntu):
status: New → Incomplete
Revision history for this message
Tomas Pospisek (tpo-deb) wrote :
Download full text (4.7 KiB)

Hello Harald, KDE maintainers and developpers,

first thanks for the factual reply.

On Sat, 8 Aug 2009, Harald Sitter wrote:

> Well, then lets take a look at it form a non-clicki-bunti POV.
>
> kded should be started independently, since it is much more verbose
> than applications, for a very good reason as I tend to believe. Also
> kded is an own application anyway. Only for user convenience KDE
> applications would startup kded if it is not running already, so that
> clicki-bunti-users do not have to worry about it.

OK

> Should one considering this very reasonable point and still not start
> kded independently and let an app start kded, one should at least make
> sure all output gets passed to /dev/null.

However that assumes that users should somehow know that this is
necessary-

> To a more useful analysis of the "problem"...
>
> _Any_, I repeat, _any_ KDE app can use the troublesome module. As a
> matter of fact most will do via the http kioslave (that to my knowledge
> tries to use the networkstatus module to access link information and
> thus timeout immediately if no connection is available at all), also any
> application that would want to have status information about the network
> link status would either implement access on networkstatus via a
> kioslave or do it in the app directly.
>
> Meaning that the following apps will for sure use networkstatus:
> * KDEPIM
> * Amarok (last.fm, lyrics and whatnot)
> * KTorrent
> * Konqueror
> * Kopete
> * most Plasma applets
> ...
>
> The query frequency is set by the app itself, so the more often it tries
> to access the status, the more often will kded report that it is not
> available. Also, the more apps are querying the more output you get, due
> to increased query volume.
>
> All those apps are perfectly capable of living without the module (which
> is mostly the point of kded modules that are shipped independent from
> the app), still it is desirable to have the module installed, otherwise
> the apps will not be able to treat network loss (properly). Thus it
> makes sense to have this message displayed
>
> So, to get back to your question, yes I consider this a feature, so
> should you, since a smoothly running system is in the interest of every
> non-clicki-bunti user.
>
> What we can do about it?
> * We can increase the query frequency of each app (i.e. maintain 3
> billion patches)
> * We can make each package depend on workspace-bin (thus forcing the
> better part of the KDE desktop upon every user and devalue the point
> of kded modules)
> * We can make these warnings disappear all along and thus prevent users
> that actually try to find out why the apps are unable to track network
> status of diagnosing the problem

Or the warnings could go to some log, such as ~/.xsession-errors or
~/.kde/tmp-$user-$host/kded.log

> * We can make kded track it's own verbosity (that of course requires
> kded to store information when a uniquely identified message was sent,
> and define a maximum frequency to that, in return we get more mem
> usage and still didn't get rid of the warnings)

I lack the knowledge the workings of kdeapp<->kded<->ksycoca<->modules
and so am wonder...

Read more...

Changed in kde4libs (Ubuntu):
status: Incomplete → New
Revision history for this message
Harald Sitter (apachelogger) wrote :

Fix committed and to be appearing in Kubuntu 10.04 (r1018439)

Changed in kde4libs (Ubuntu):
status: New → Fix Committed
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Fix released to the development version of Kubuntu 10.04.

Changed in kde4libs (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.