[Kde-pim] I need help at konadi_maildispatcher_agent

Andras Mantia amantia at kde.org
Tue Jan 10 20:02:25 GMT 2012


guy-kde wrote:

>  I am debugging the akonadi_maildispatcher_agent using cgdb.
> 
>  I found a problem by following what is running at
>    kdepimlibs/akonadi/specialcollectionshelperjobs.cpp
> 
>  363│   // Sync the resource.
>  364│   {
>  365│     ResourceSynchronizationJob *syncJob = new
>  ResourceSynchronizationJob( agent, q );
>  366│     QObject::connect( syncJob, SIGNAL(result(KJob*)), q,
>  SLOT(resourceSyncResult(KJob*)) );
>  367│     syncJob->start(); // non-Akonadi
>  368│   }
>  369│   kDebug() << "GUY-Ende";
>  370│ }
>  371│
>  372│ void DefaultResourceJobPrivate::resourceSyncResult( KJob *job )
>  373│ {
>  374│   if ( job->error() ) {
> 
>  I can observe that the connect at line 366 is well done, but after
>  start() the process never
>  go to DefaultResourceJobPrivate::resourceSyncResult( KJob *job )
>  The output from kDebug at line 369 is done, after that, nothing more.
>  The process is at
>    #5  0xb7316d46 in QEventDispatcherGlib::processEvents
>  (this=0x80eb580, flags=...)
> 
>  Can anybody give me a tip why?

In theory result() is emitted even in case of errors, so you should get into 
the slot. The documentation says, it is "Emitted when the job is finished 
(except when killed with KJob::Quietly).". I doubt it is killed that way.
The only thing remains then is that the result() is not emitted as
1) the job is not started by the scheduler
2) the job waits for some data so it is "blocked"

You should put breakpoints or debug output into the 
ResourceSynchronizationJob code and see what is going on.

Andras
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list