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

tom <vdx55...@bcaoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vdx55...@bcaoo.com

--- Comment #22 from tom <vdx55...@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 watching all bug changes.

Reply via email to