Bug 262743 - Agentserver sometimes is defunctional after startup
Summary: Agentserver sometimes is defunctional after startup
Status: VERIFIED FIXED
Alias: None
Product: KDE PIM Mobile
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Windows CE Microsoft Windows CE
: NOR critical
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-10 11:48 UTC by Andre Heinecke
Modified: 2011-02-15 16:36 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andre Heinecke 2011-01-10 11:48:02 UTC
Tested with a Version from 07.01.2010 (build with qt-4.7)

Right after startup the akonadi agent server might become unresponsive (not even killable) and hangs around with 1 Thread. (Not even killable is a big problem because it blocks deinstallation without manual interaction
This leads to Folders not shown.

After removing akonadi from autostart, restarting the device and then starting akonadi again (by starting kmail-mobile) there were 15+ maildirressources shown and the agent server was running with 40 threads.

After removing the configuration, restarting and starting kmail again the agent server was again hanging around with 1 thread.

After removing the configuration, restarting and starting akonadictl directly the agent server looked fine with 4 threads but i still could not see any folders in KMail-Mobile although one Maildir account was shown in the accounts flap.
Comment 1 Andre Heinecke 2011-01-10 12:16:33 UTC
We've first seen this problem on the morning of 07.01 on one device.
On another device the same version with no deleted configuration/data did not have the problem. 
The first device could be fixed by replacing akonadi_agent_server with a reldebug build.
Comment 2 Andre Heinecke 2011-01-10 12:41:09 UTC
I've replaced the binary with a reldebug build on my phone, restarted (with akonadictl) and deleted everything, still no sucess.

After that i've restartain again started again (with akonadictl) this time without deleting the configuration and i have a usable setup now, local folders are shown.
Comment 3 Bernhard E. Reiter 2011-01-10 13:26:03 UTC
FWIW: I could remove 20110105-0628 without problems.
Comment 4 Andre Heinecke 2011-01-10 15:06:42 UTC
Moved this up to critical since i can not find a reliable workaround and it blocks further testing.

Some additional info:
Test setup to reprodce is always -> Restart device -> Remove all config -> start (with akonadictl or kmail or direclty does not matter)

Backtrace: (Apologies for the gaps and the bad formating but this comes from Visual Studio and is the completes i could get)
   1.
       
   2.
      >       akonadi_agent_server.exe!Akonadi__ControlAdaptor::metaObject(void) Zeile: 80, Byteoffsets: 0x04 C++
   3.
              0x79721960     
   4.
              akonadi_agent_server.exe!Akonadi__ControlAdaptor::Akonadi__ControlAdaptor(Akonadi::AgentBase* parent = 0x00000001) Zeile: 29, Byteoffsets: 0x40 C++
   5.
              akonadi_agent_server.exe!Akonadi::AgentBasePrivate::init(void) Zeile: 202, Byteoffsets: 0x1f8   C++
   6.
              akonadi_agent_server.exe!Akonadi::AgentBase::AgentBase(QString& id = {...}) Zeile: 485, Byteoffsets: 0x98       C++
   7.
              akonadi_agent_server.exe!Akonadi::KorgacAgent::KorgacAgent(QString& id = {...}) Zeile: 31, Byteoffsets: 0x20    C++
   8.
              akonadi_agent_server.exe!Akonadi::AgentFactory<Akonadi::KorgacAgent>::createInstance(QString& identifier = {...}) Zeile: 90, Byteoffsets: 0x34  C++
   9.
              akonadi_agent_server.exe!Akonadi::AgentFactoryBase::qt_metacall(QMetaObject::Call _c = 1, int _id = 7354904, void** _a = 0x0000003b) Zeile: 74, Byteoffsets: 0x4c       C++
  10.
              0x790bb00c     
  11.
              0x790bcda0     
  12.
              0x790bc52c     
  13.
              akonadi_agent_server.exe!Akonadi::AgentThread::run(void) Zeile: 48, Byteoffsets: 0xdc   C++
  14.
              0x78ff6d5c     
  15.
              0x03f6781c

----------------------------

Debugoutput:

Der Thread 0xc9f83152 hat mit Code 0 (0x0) geendet.
Akonadi control process not found - aborting. 
If you started akonadi_agent_server manually, try 'akonadictl start' instead. 
void __cdecl Akonadi::AgentServer::startAgent(const class QString &,const class QString &,const class QString &) "akonadi_korgac_agent" "akonadi_korgac_agent" "korgac" 
void __cdecl Akonadi::AgentServer::startAgent(const class QString &,const class QString &,const class QString &) "akonadi_newmailnotifier_agent" "akonadi_newmailnotifier_agent" "newmailnotifieragent" 
Der Thread 0xe9716fce hat mit Code 0 (0x0) geendet.
Der Thread 0xc972004a hat mit Code 0 (0x0) geendet.
Der Thread 0xa97637ee hat mit Code 0 (0x0) geendet.
Der Thread 0xc975652a hat mit Code 0 (0x0) geendet.
Data Abort: Thread=89b1b9e8 Proc=80462280 'akonadi_agent_server.exe'
AKY=00400001 PC=002c0c40(akonadi_agent_server.exe+0x002b0c40) RA=79721960(qtdbus4.dll+0x00021960) BVA=2e000053 FSR=00000001
Unhandled exception at 0x002c0c40 in akonadi_agent_server.exe: 0x80000002: Datatype misalignment.
Das Programm "[0xAA4606AE] akonadi_agent_server.exe" wurde mit Code 1067 (0x42b) beendet.

---------------------------------

After the same procedure with the deleted korgac desktop file it did not crash but there were no mail folders shown in Kmail, although the local maildir account was shown under accounts but not as online.
Comment 5 Andre Heinecke 2011-01-11 16:43:16 UTC
What i have also tested was to comment out all agents except for maildir. This changed the behavior in the way that no agent was loaded in the beginning.

(Starting akonadi_agent_server after that starting akonadi) 
When i then started KMail i got an error that the akonadi_contacts_ressource was not available. Then i got a message that it would load the maildir ressouce now and after that i got a DataAbort in qtcore.
Comment 6 Andreas Holzammer 2011-01-13 10:38:13 UTC
should be fixed with svn 1214159, this just removes the trigger, course is not found yet.
Comment 7 Andre Heinecke 2011-02-15 16:36:45 UTC
Cause was the duplicated instance of dlmalloc that came with aspell and was linked statically with the akonadi agent server. (which also uses dlmalloc from qtcore) 
Making aspell also use the dlmalloc from qtcore this problem was solved.