[Kde-pim] Re: process akonadi_mixedmaildir_resource crashes

Kevin Krammer kevin.krammer at gmx.at
Thu Jul 21 19:39:17 BST 2011


Hi Guy,

On Thursday, 2011-07-21, Guy Maurel wrote:
> Hello Kevin!
> 
> On Wednesday, July 20, 2011 07:14:22 PM Kevin Krammer wrote:
> > Hi Guy,
> > 
> > On Wednesday, 2011-07-20, Guy Maurel wrote:
> > > Hello!
> > > 
> > > At the end of the kmail-migration, the process
> > > akonadi_mixedmaildir_resource crashes.
> > > 
> > > This occurs in the method:
> > >    SpecialCollectionsRequestJobPrivate::resourceScanResult( KJob *job )
> > 
> > Where in the mixed maildir resource is this called?
> > I can't remember adding that.
> 
>   if ( qobject_cast<DefaultResourceJob*>( job ) ) {
>     // This is the default resource.
>     if ( resourceId != mSpecialCollections->d->defaultResourceId() ) {
>       kError(0) << "Resource id's don't match: " << resourceId
>                 << mSpecialCollections->d->defaultResourceId();
>       Q_ASSERT( false );
>     }

Still can't find it anywhere in the resource's code.  Doesn't seem to be in 
any of the base classes either.
Can you attach a backtrace of the resource at the time of the crash?
I am quite curious how the resource could reach that code, it doesn't seem to 
be technically possible.

> > > The problem is (I think) that the variable:
> > >   mDefaultResourceId
> > > 
> > > defined in specialcollections_p.h, has no setter-method.
> > 
> > Which means it has its default construction value, in the case of a
> > QString an empty QString object.
> 
> Yes. I found no code to change the value.

It is written to in SpecialCollectionsPrivate::defaultResourceId(), read from 
a config object (in case of mails filled from config file 
specialmailcollectionsrc)

> Should not the new value be told from some DBus-message?
> Coming from the migration? Is such a message sent?

I doubt it. The last time I worked on this part it was just reading from the 
config file, which the migrator is writing to. Secured by a "D-Bus lock" 
(exclusive registration of a specific D-Bus service name).

> This occurs at the end of the migration, as kmail-migrator is doing a "take
> over". Bye

"Take over" means the migrator is setting the mixed maildir resource's id in 
the specialmailcollectionsrc file, replacing the usual maildir resource id 
there.

I am still puzzled why and how the resource would query that, as far as I know 
only the maildispatcher agent and KMail are doing that.

I'll try to have a look at this myself during the weekend, but if you could 
attach a backtrace at the time of crash that would certainly be helpful.

There should be a KDE crash dialog, the second tab should give you access to 
the backtrace (or attach gdb to the processes).

Cheers,
Kevin

-- 
Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20110721/0ca178a2/attachment.sig>
-------------- next part --------------
_______________________________________________
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