Summary: | Crash on GlobalModelContainer destruction | ||
---|---|---|---|
Product: | [Unmaintained] nepomuk | Reporter: | Ivan Čukić <ivan.cukic> |
Component: | libnepomukcore | Assignee: | Nepomuk Bugs Coordination <nepomuk-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | fraph24, germano.massullo, me, nexor, sven.burmeister |
Priority: | NOR | ||
Version: | git master | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Proposed fix
New crash information added by DrKonqi |
Description
Ivan Čukić
2012-08-17 09:52:22 UTC
Created attachment 75293 [details]
Proposed fix
Does this fix it? I postulate a race between deleteLater and the QObject auto-deletion is causing the connection to be deleted twice.
*** Bug 311882 has been marked as a duplicate of this bug. *** Created attachment 76016 [details]
New crash information added by DrKonqi
nepomukservicestub (0.1.0) on KDE Platform 4.9.95 using Qt 4.8.4
- What I was doing when the application crashed:
I was using KMail
- Unusual behavior I noticed:
virtuoso-t process is using my cpu at 50% for many time.
Fedora 18 x86_64 + KDE 4.10rc1
-- Backtrace (Reduced):
#6 Soprano::Client::ClientConnection::isConnected (this=0x0) at /usr/src/debug/soprano-2.8.0/client/clientconnection.cpp:775
#7 0x00000033724185a2 in Soprano::Client::ClientModel::~ClientModel (this=0x203bb00, __in_chrg=<optimized out>) at /usr/src/debug/soprano-2.8.0/client/clientmodel.cpp:53
#8 0x0000003372418709 in Soprano::Client::ClientModel::~ClientModel (this=0x203bb00, __in_chrg=<optimized out>) at /usr/src/debug/soprano-2.8.0/client/clientmodel.cpp:58
#9 0x00000033820567be in ~GlobalModelContainer (this=0x203a260, __in_chrg=<optimized out>) at /usr/src/debug/nepomuk-core-4.9.95/libnepomukcore/resource/nepomukmainmodel.cpp:63
#10 destroy () at /usr/src/debug/nepomuk-core-4.9.95/libnepomukcore/resource/nepomukmainmodel.cpp:125
*** Bug 312198 has been marked as a duplicate of this bug. *** (In reply to comment #1) > Created attachment 75293 [details] > Proposed fix > > Does this fix it? I postulate a race between deleteLater and the QObject > auto-deletion is causing the connection to be deleted twice. With the new changes in Soprano, d->connection is no longer a pointer, so one cannot delete it. Also, I've removed this GlobalModelContainer, and made the NepomukMainModel act as a normal QObject, instead of a singleton. The MainModel now has the ResourceManager as a parent. This all is for RC2. I hope that fixes it. Lets see. *** Bug 312201 has been marked as a duplicate of this bug. *** *** Bug 312622 has been marked as a duplicate of this bug. *** I'm marking this as FIXED. I haven't gotten any bug reports about it since RC2, which fixed the issue. |