nepomukservicestub crashed with SIGSEGV in Soprano::Plugin::pluginName()

Bug #517962 reported by RussianNeuroMancer
98
This bug affects 18 people
Affects Status Importance Assigned to Milestone
KDE Base
Fix Released
High
kdebase-runtime (Ubuntu)
Fix Released
Medium
Jonathan Thomas
Lucid
Fix Released
Medium
Jonathan Thomas

Bug Description

##SRU information added by Jonathan Thomas##
Impact: Causes the nepomukstorage nepomukservicestub to often crash on login. It affects 12 people, which is kind of a lot for a Kubuntu bug. (Multiply affected users by 4 to get what it would be like for a bug affecting Ubuntu) Fixing this bug will improve the reliability of the Nepomuk service.

The problem: Upstream had forgotten to initialize some member variables in the Nepomuk::Repository::Repository constructor. Due to this, if anything requested the use of the nepomuk storage service before the soprano backend was ready, a crash due to accessing uninitialized variables resulted.

Addressed by: Upstream committed a patch to the stable 4.4 branch that initializes the offending member variables.

Patch: http://websvn.kde.org/?revision=1123884&view=revision

Testcase: None available. It was much easier to see when apport was on, as this is a background service, but we were never able to get anything solid on how to reproduce.

Regression potential: Zero. It never hurts to initialize variables in the class constructor, especially when you know that they may be accessed before they are initialized elsewhere in the code.
###############################

Binary package hint: kdebase-runtime

I just try toi enable Nepomuki and after few second get crash.

ProblemType: Crash
Architecture: amd64
Date: Sat Feb 6 16:59:26 2010
DistroRelease: Ubuntu 10.04
ExecutablePath: /usr/bin/nepomukservicestub
InstallationMedia: Error: [Errno 13] Отказано в доступе: '/var/log/installer/media-info'
NonfreeKernelModules: nvidia
Package: kdebase-runtime 4:4.3.98-0ubuntu1
ProcCmdline: /usr/bin/nepomukservicestub nepomukstorage
ProcEnviron:
 LANG=ru_RU.UTF-8
 SHELL=/bin/bash
 LANGUAGE=
ProcVersionSignature: Ubuntu 2.6.32-12.16-generic
SegvAnalysis:
 Segfault happened at: 0x7f0b2216e434 <_ZNK7Soprano6Plugin10pluginNameEv+4>: mov 0x8(%rsi),%rcx
 PC (0x7f0b2216e434) ok
 source "0x8(%rsi)" (0x00000008) not located in a known VMA region (needed readable region)!
 destination "%rcx" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: kdebase-runtime
StacktraceTop:
 Soprano::Plugin::pluginName() const ()
 ?? () from /usr/lib/kde4/nepomukstorage.so
 ?? () from /usr/lib/kde4/nepomukstorage.so
 ?? () from /usr/lib/kde4/nepomukstorage.so
 ?? () from /usr/lib/libQtDBus.so.4
Title: nepomukservicestub crashed with SIGSEGV in Soprano::Plugin::pluginName()
Uname: Linux 2.6.32-12-generic x86_64
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
XsessionErrors:
 (process:2221): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (exe:9200): Gdk-WARNING **: XID collision, trouble ahead
 (exe:9200): Gdk-WARNING **: XID collision, trouble ahead
 (exe:9200): Gdk-WARNING **: XID collision, trouble ahead
 (exe:9200): Gdk-WARNING **: XID collision, trouble ahead

Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 Soprano::Plugin::pluginName (this=0x0) at ../../soprano/plugin.cpp:47
 Nepomuk::Repository::usedSopranoBackend (
 Nepomuk::Storage::usedSopranoBackend (
 Nepomuk::Storage::qt_metacall (this=0x1b22340,
 QDBusConnectionPrivate::deliverCall (

Changed in kdebase-runtime (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
visibility: private → public
Changed in kdebase-runtime (Ubuntu):
status: New → Triaged
Changed in kdebase:
status: Unknown → Confirmed
Revision history for this message
RussianNeuroMancer (russianneuromancer) wrote :
Changed in kdebase-runtime (Ubuntu):
status: Triaged → Fix Committed
Changed in kdebase-runtime (Ubuntu):
status: Fix Committed → Fix Released
Changed in kdebase:
status: Confirmed → Fix Released
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Not fixed. Still happening in 4.4.2.

Changed in kdebase-runtime (Ubuntu):
status: Fix Released → Triaged
Changed in kdebase:
status: Fix Released → Confirmed
Changed in kdebase:
status: Confirmed → Fix Released
description: updated
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Fix committed upstream for KDE 4.4.4. Will make an SRU for Lucid.

Changed in kdebase-runtime (Ubuntu Lucid):
importance: Undecided → Medium
assignee: nobody → Jonathan Thomas (echidnaman)
Changed in kdebase-runtime (Ubuntu):
assignee: nobody → Jonathan Thomas (echidnaman)
description: updated
description: updated
Revision history for this message
Jonathan Thomas (echidnaman) wrote :
description: updated
Revision history for this message
John Dong (jdong) wrote :

ACK from SRU team.

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

Fix committed for KDE 4.4.4, so marking the non-Lucid task as fix committed.
I've uploaded my SRU to lucid-proposed, awaiting approval from the archive admin.

Changed in kdebase-runtime (Ubuntu Lucid):
status: New → In Progress
Changed in kdebase-runtime (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted kdebase-runtime into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in kdebase-runtime (Ubuntu Lucid):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

To those who were experiencing this bug:
If you would like to test this, please follow the instructions posted in comment #11 and then edit /etc/default/apport and change enabled=0 to enabled=1. Please reboot and run with apport enabled for a week or so. During that week please report all nepomuk bugs. If we don't get any dupes of this particular nepomuk crash, then we can call this fix verified and push it out to everyone via lucid-updates. Thanks.

Revision history for this message
Jonathan Thomas (echidnaman) wrote :

I have been running with the setup in my above comment since I posted the bug, and I have seen neither this crash nor any regressions in nepomuk functionality.

Martin Pitt (pitti)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package kdebase-runtime - 4:4.4.2-0ubuntu4.1

---------------
kdebase-runtime (4:4.4.2-0ubuntu4.1) lucid-proposed; urgency=low

  * Add kubuntu_92_nepomukstorage_init_member_vars.diff from upstream. This
    patch initializes member variables that may be accessed before they are
    initialized in the code. (LP: #517962)
 -- Jonathan Thomas <email address hidden> Fri, 07 May 2010 16:23:35 -0400

Changed in kdebase-runtime (Ubuntu Lucid):
status: Fix Committed → Fix Released
Changed in kdebase-runtime (Ubuntu):
status: Fix Committed → Fix Released
Changed in kdebase:
status: Fix Released → Confirmed
Changed in kdebase:
status: Confirmed → Fix Released
Revision history for this message
Klaus Layer (klaus-layer) wrote :

This bug still occurs daily in KDE 4.4.5 on Lucid. How can it be fixed?

Changed in kdebase:
importance: Unknown → High
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.