[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