Bug 292950

Summary: Soprano::Server::ServerCore::~ServerCore() crash
Product: nepomuk Reporter: silvano.jorge
Component: generalAssignee: Sebastian Trueg <sebastian>
Status: RESOLVED FIXED    
Severity: crash CC: ale.porta.87, barnendu.goswami, biby, blackmetalowiec, bugz57, celticdiardan, hougelangley1987, kingleo, me, mihail, pacho.todo.poderoso, philktst, rhino1138, richard.virden, roejames12, simon.king, titibanjekistan
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In: 4.10.2
Attachments: Crash report

Description silvano.jorge 2012-01-31 10:40:19 UTC
Created attachment 68366 [details]
Crash report

Version:           unspecified (using KDE 4.6.5) 
OS:                Linux

About a third times I boot it crash, I don't know why. Recently I have installed Debian over Ubuntu and with the previous os it happened nearly always. I have nearly the same configuration but I don't know what is the problem.

Reproducible: Sometimes

Steps to Reproduce:
Just a shutdown process.


Expected Results:  
Although it's annoying to find a crash window while the pc is going off it's not the worst thing as obviously I am not working then.
Comment 1 Vishesh Handa 2012-05-26 01:43:17 UTC
Developer Notes. Look into -
Soprano::Server::ServerCore::~ServerCore()
Comment 2 Vishesh Handa 2012-05-26 02:08:06 UTC
*** Bug 298608 has been marked as a duplicate of this bug. ***
Comment 3 Vishesh Handa 2012-05-26 02:08:10 UTC
*** Bug 298217 has been marked as a duplicate of this bug. ***
Comment 4 Vishesh Handa 2012-05-26 02:08:26 UTC
*** Bug 298151 has been marked as a duplicate of this bug. ***
Comment 5 Vishesh Handa 2012-05-26 02:08:37 UTC
*** Bug 295213 has been marked as a duplicate of this bug. ***
Comment 6 Vishesh Handa 2012-05-26 02:08:52 UTC
*** Bug 295021 has been marked as a duplicate of this bug. ***
Comment 7 Vishesh Handa 2012-05-26 02:09:53 UTC
*** Bug 294449 has been marked as a duplicate of this bug. ***
Comment 8 Vishesh Handa 2012-05-26 02:15:15 UTC
*** Bug 300110 has been marked as a duplicate of this bug. ***
Comment 9 Vishesh Handa 2012-05-26 02:16:18 UTC
*** Bug 296406 has been marked as a duplicate of this bug. ***
Comment 10 Jekyll Wu 2012-07-06 17:14:50 UTC
*** Bug 294326 has been marked as a duplicate of this bug. ***
Comment 11 Jekyll Wu 2012-07-06 17:16:50 UTC
*** Bug 292752 has been marked as a duplicate of this bug. ***
Comment 12 Jekyll Wu 2012-07-06 17:18:57 UTC
*** Bug 294913 has been marked as a duplicate of this bug. ***
Comment 13 Jekyll Wu 2012-07-06 18:12:54 UTC
*** Bug 289498 has been marked as a duplicate of this bug. ***
Comment 14 Jekyll Wu 2012-07-06 18:14:10 UTC
*** Bug 289434 has been marked as a duplicate of this bug. ***
Comment 15 Jekyll Wu 2012-07-06 18:14:51 UTC
*** Bug 289020 has been marked as a duplicate of this bug. ***
Comment 16 Vishesh Handa 2012-07-10 20:50:13 UTC
*** Bug 294269 has been marked as a duplicate of this bug. ***
Comment 17 Vishesh Handa 2012-07-10 21:01:57 UTC
*** Bug 296039 has been marked as a duplicate of this bug. ***
Comment 18 Jekyll Wu 2012-09-17 11:08:24 UTC
*** Bug 306920 has been marked as a duplicate of this bug. ***
Comment 19 Simeon Bird 2013-03-08 15:46:15 UTC
Git commit 5e87d833095cfddfb93268a501090d8c4abc58d3 by Simeon Bird.
Committed on 17/02/2013 at 18:49.
Pushed by sbird into branch 'KDE/4.10'.

Fix bug 292950 by deleting QCoreApplication only after
Storage->ServerCore.

The bug occurs because Storage->ServerCore may persist after
QCoreApplication is gone. If the socket receives a remote disconnected
message from virtuoso (which it might because this is shutdown and
virtuoso is being killed) it tries to translate it, but can't because
the translators went with QCoreApplication. Thus the crash.

This was made much less likely by Vishesh already with cea2870f04eec
but we can do better.

For most services connect QCoreApplication::quit() to the service
destroyed() signal.
For the storage service, disconnect that slot from the service and
reconnect it to
ServerCore::destroyed() (so that the application is only quit after the
ServerCore destructor runs). We do this in the service dtor, which is
allowed because the
dtor runs before destroyed() is emitted (I checked this).
FIXED-IN: 4.10.2
REVIEW: 108997

M  +9    -2    services/storage/storage.cpp
M  +5    -2    servicestub/servicecontrol.cpp

http://commits.kde.org/nepomuk-core/5e87d833095cfddfb93268a501090d8c4abc58d3
Comment 20 Vishesh Handa 2013-10-15 08:31:30 UTC
*** Bug 326025 has been marked as a duplicate of this bug. ***