[Akonadi] [Bug 392092] akonadi_control crash on first start

tom bugzilla_noreply at kde.org
Thu Jun 13 18:32:58 BST 2019


https://bugs.kde.org/show_bug.cgi?id=392092

tom <vdx55878 at bcaoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vdx55878 at bcaoo.com

--- Comment #22 from tom <vdx55878 at bcaoo.com> ---
Same here with gentoo amd64, akonadi version 5.10.3
I was able to get a konsole output that tells the log file name when I start
kmail for the first time after reboot:

Cannot rename log file '/home/tom/.local/share/akonadi/akonadi_control.error'
to '/home/tom/.local/share/akonadi/akonadi_control.error.old': Cannot create
/home/tom/.local/share/akonadi/akonadi_control.error.old for output 
 KCrash: Application 'akonadi_control' crashing... 
 KCrash: Attempting to start /usr/lib64/libexec/drkonqi from kdeinit 
 sock_file=/var/run/user/1000/kdeinit5__0 
 Nouveau openGL driver detected. Qt WebEngine will disable usage of the GPU. 
 Note: you can set the QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND 
 environment variable before running this application, but this is 
 not recommended since this usually causes applications to crash as 
 Nouveau openGL drivers don't support multithreaded rendering 
 QDBusConnection: name 'org.kde.kwalletd5' had owner '' but we thought it was
':1.60'

Created an additional patch to get some more debug information:

--- a/src/shared/akdebug.cpp.a       2019-03-03 23:03:57.000000000 +0100 
 +++ b/src/shared/akdebug.cpp 2019-06-11 18:57:00.375941258 +0200 
 @@ -200,6 +200,8 @@ void akInit(const QString &appName) 
      const auto errorLogFile = DebugPrivate::errorLogFileName(name); 
      QFileInfo infoOld(errorLogFile + QLatin1String(".old")); 
      if (infoOld.exists()) { 
 +       qCritical("Old log file '%s' exists.
deleting...",qUtf8Printable(infoOld.fileName())); 
          QFile fileOld(infoOld.absoluteFilePath()); 
 +       qCritical("Old log file (complete) '%s' exists.
deleting...",qUtf8Printable(fileOld.fileName())); 
          const bool success = fileOld.remove(); 
          if (!success) { 
 @@ -207,6 +208,8 @@ void akInit(const QString &appName) 
                  qUtf8Printable(fileOld.fileName()), 
                  qUtf8Printable(fileOld.errorString())); 
          } 
 +    } else { 
 +       qCritical("Old log file '%s' does not
exist",qUtf8Printable(infoOld.fileName())); 
      } 

      QFileInfo info(errorLogFile); 
 @@ -219,7 +222,11 @@ void akInit(const QString &appName) 
                     qUtf8Printable(file.fileName()), 
                     qUtf8Printable(oldName), 
                     qUtf8Printable(file.errorString())); 
 +        } else { 
 +         qCritical("log file '%s' renamed",qUtf8Printable(file.fileName())); 
          } 
 +    } else { 
 +       qCritical("no log file to rename."); 
      } 

      QtMessageHandler origHandler = qInstallMessageHandler(akMessageHandler);


which results in this output when akonadi crashes:

Old log file 'akonadi_control.error.old' exists. deleting... 
 Old log file (complete)
'/home/tom/.local/share/akonadi/akonadi_control.error.old' exists. deleting... 
 Cannot rename log file '/home/tom/.local/share/akonadi/akonadi_control.error'
to '/home/tom/.local/share/akonadi/akonadi_control.error.old': Cannot create
/home/tom/.local/share/akonadi/akonadi_control.error.old for output 
 KCrash: Application 'akonadi_control' crashing... 
 KCrash: Attempting to start /usr/lib64/libexec/drkonqi from kdeinit 
 sock_file=/var/run/user/1000/kdeinit5__0 
 Nouveau openGL driver detected. Qt WebEngine will disable usage of the GPU. 
 Note: you can set the QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND 
 environment variable before running this application, but this is 
 not recommended since this usually causes applications to crash as 
 Nouveau openGL drivers don't support multithreaded rendering 
 QDBusConnection: name 'org.kde.kwalletd5' had owner '' but we thought it was
':1.53'

the log files are in my home folder and there are no access restrictions for my
user for the folder or the files. I can rename or delete the files manually
without error messages.
It looks to me like the deletion of the .old file is not done even if
fileOld.remove() returns success, or if there is some kind of race condition
(this is all wild guess).

Also reported here:
https://forums.gentoo.org/viewtopic-t-1092660.html

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Kdepim-bugs mailing list