Bug 247483 - Excessive amounts of debug output
Summary: Excessive amounts of debug output
Status: RESOLVED FIXED
Alias: None
Product: nepomuk
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Sebastian Trueg
URL:
Keywords:
: 274050 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-08-12 10:48 UTC by Ben Cooksley
Modified: 2012-08-01 11:59 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot of KDebugDialog showing akonadi_nepomuk_contact_feeder with debug output disabled (29.38 KB, image/png)
2010-08-12 21:45 UTC, Ben Cooksley
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Cooksley 2010-08-12 10:48:11 UTC
Version:           unspecified (using Devel) 
OS:                Linux

Even with debugging output disabled using "kdebugdialog", the Nepomuk Feeder Agent "akonadi_nepomuk_contact_feeder" generates excessive quantities of output during startup, and during operation. Appears to be replicating Nepomuk debug output.

Reproducible: Always

Steps to Reproduce:
Start Akonadi with Nepomuk running, watch ~/.xsession-errors

Actual Results:  
Recieve large amounts of output. 

Excerpts:

[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] [/opt/trunk-kde/kde/bin/nepomukservicestub] Soprano::ODBC::Connection::Connection() QThread(0x8054648)
[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] [/opt/trunk-kde/kde/bin/nepomukservicestub] QObject::setParent: Cannot set parent, new parent is in a different thread
[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] virtual void Soprano::Server::LocalServer::incomingConnection(quintptr)
[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] Object::connect: No such signal QDBusAbstractInterface::DeviceRemoved(QDBusObjectPath)
[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] Object::connect: No such signal QDBusAbstractInterface::DeviceAdded(QDBusObjectPath)
[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] Object::connect: No such signal QDBusAbstractInterface::DeviceRemoved(QDBusObjectPath)
[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] device of type:  "urn:schemas-upnp-org:device:InternetGatewayDevice:1"
[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] "urn:schemas-upnp-org:device:WANConnectionDevice:1"
[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] device of type:  "urn:schemas-upnp-org:device:WANConnectionDevice:1"

Expected Results:  
No non-critical output
Comment 1 Tobias Koenig 2010-08-12 18:17:33 UTC
Hej Ben,

this output comes from libraries that are used directly or indirectly by the nepomuk_contact_feeder. You have to disable the debug areas for these libraries.
Comment 2 Ben Cooksley 2010-08-12 21:42:43 UTC
It is disabled...

ben@grace:~> kreadconfig --group akonadi_nepomuk_contact_feeder --key InfoOutput --file kdebugrc
4

Attaching screenshot of kdebugdialog as additional information.
Comment 3 Ben Cooksley 2010-08-12 21:45:19 UTC
Created attachment 50083 [details]
Screenshot of KDebugDialog showing akonadi_nepomuk_contact_feeder with debug output disabled
Comment 4 Tobias Koenig 2010-08-12 22:30:05 UTC
Hej Ben,

you have to disable the debug area of the _libraries_ (e.g. soprano or solid)!

> [/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder]
> [/opt/trunk-kde/kde/bin/nepomukservicestub]
> Soprano::ODBC::Connection::Connection() QThread(0x8054648)
soprano/nepomuk related

> [/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] Object::connect: No
> such signal QDBusAbstractInterface::DeviceRemoved(QDBusObjectPath)
> [/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] Object::connect: No
> such signal QDBusAbstractInterface::DeviceAdded(QDBusObjectPath)
> [/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] Object::connect: No
> such signal QDBusAbstractInterface::DeviceRemoved(QDBusObjectPath)
looks like something solid related

>[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] device of type: 
>"urn:schemas-upnp-org:device:InternetGatewayDevice:1"
>[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder]
>"urn:schemas-upnp-org:device:WANConnectionDevice:1"
>[/opt/trunk-kde/kde/bin/akonadi_nepomuk_contact_feeder] device of type: 
>"urn:schemas-upnp-org:device:WANConnectionDevice:1"
looks also like solid related
Comment 5 Ben Cooksley 2010-08-13 10:13:17 UTC
Reassigning to Nepomuk. Likely causes by qDebug() output in Soprano.
Comment 6 Sebastian Trueg 2011-01-06 15:28:00 UTC
This has nothing to do with Nepomuk as far as I can tell. There is only a single message from Nepomuk which is correct and written whenever a new connection to the storage service is created.

Resolving as invalid for now. Please provide more useful information (as in: more output) so we can actually decide which component is the problem.
Comment 7 Ben Cooksley 2011-01-06 22:52:16 UTC
Example of excessive output:

virtual void Soprano::Server::LocalServer::incomingConnection(quintptr) 
void Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*) New connection. New count: 1 
virtual void Soprano::Server::LocalServer::incomingConnection(quintptr) 
void Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*) New connection. New count: 2 
virtual void Soprano::Server::LocalServer::incomingConnection(quintptr) 
void Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*) New connection. New count: 3 
virtual void Soprano::Server::LocalServer::incomingConnection(quintptr) 
void Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*) New connection. New count: 4 
virtual void Soprano::Server::LocalServer::incomingConnection(quintptr) 
void Soprano::Server::ServerCorePrivate::addConnection(Soprano::Server::ServerConnection*) New connection. New count: 5
Akonadi::NepomukSearchEngine(0x82168c0) QDBusServiceWatcher(0x8216cb8)
Comment 8 Sebastian Trueg 2011-01-07 08:11:14 UTC
This is not excessive output. This is normal debugging output. If these messages spam your stderr some application creates way too many connections.
Comment 9 Ben Cooksley 2011-01-07 08:35:50 UTC
The point in this case is that this debugging output cannot be disabled, which is not optimal.

However, the application in question should be fixed. It is probably Plasma or Akonadi doing this.
Comment 10 Sebastian Trueg 2011-01-07 11:58:40 UTC
The problem is that these are messages from the Qt-only Soprano which uses qDebug(). The latter can be disabled by compiling Soprano in release mode.
I agree with you that this is not an ideal solution and a better logging system is needed. I am open to patches. ;)
Comment 11 Ben Cooksley 2011-01-08 01:44:14 UTC
Is it also disabled in RelWithDebInfo mode? If so, then it should be fine (and this can be reassigned to the component which is creating all those connections)
Comment 12 Sebastian Trueg 2011-09-26 09:36:13 UTC
*** Bug 274050 has been marked as a duplicate of this bug. ***
Comment 13 David Faure 2012-01-19 23:34:12 UTC
qDebugs can be disabled with -DQT_NO_DEBUG_OUTPUT.

Example from akonadi/CMakeLists.txt:

if (NOT CMAKE_BUILD_TYPE_TOLOWER MATCHES "debug")
   add_definitions(-DQT_NO_DEBUG_OUTPUT)
endif()

This is missing in FindQt4.cmake/UseQt4.cmake IMHO.

(I added a comment that I fixed that, in akonadi's cmakelists, but I can't find that fix anymore, I think I chickened out... real fix would be in cmake itself...)
Comment 14 Vishesh Handa 2012-08-01 11:59:49 UTC
Git commit bdc1aec70aab30b075558b98657bac55d4845963 by Vishesh Handa.
Committed on 31/07/2012 at 18:57.
Pushed by vhanda into branch '2.8'.

No qDebug output in non debug modes

Soprano should not emit debug output when compiling with Release or
RelWithDebInfo.
REVIEW: 105807

M  +8    -0    CMakeLists.txt

http://commits.kde.org/soprano/bdc1aec70aab30b075558b98657bac55d4845963