Bug 235280 - nepomukservicestub crashed with SIGSEGV [Soprano::Error::ErrorCache::clearError(), Soprano::Error::ErrorCache::setError(), Soprano::Client::ClientModel::addStatement()]
Summary: nepomukservicestub crashed with SIGSEGV [Soprano::Error::ErrorCache::clearErr...
Status: RESOLVED FIXED
Alias: None
Product: nepomuk
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Sebastian Trueg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-24 17:30 UTC by Jonathan Thomas
Modified: 2010-05-03 11:38 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 Jonathan Thomas 2010-04-24 17:30:55 UTC
Version:            (using KDE 4.4.2)
OS:                Linux
Installed from:    Ubuntu Packages

Originally reported at https://launchpad.net/bugs/566116

Unfortunately no useful information about the circumstances of the crash were reported, so it likely crashed while the user wasn't using Nepomuk (and was using something else)

A full threaded stacktrace can be found here: http://launchpadlibrarian.net/44715819/ThreadStacktrace.txt

Here's the relevant thread's backtrace:

#0  QHash<QThread*, Soprano::Error::Error>::duplicateNode (node=0x89c93155, 
    newNode=0x93a69008) at /usr/include/qt4/QtCore/qhash.h:224
No locals.
#1  0x005a3526 in QHashData::detach_helper2 (this=0xae5ec8, 
    node_duplicate=0xeda960 <QHash<QThread*, Soprano::Error::Error>::duplicateNode(QHashData::Node*, void*)>, 
    node_delete=0xeda9b0 <QHash<QThread*, Soprano::Error::Error>::deleteNode2(QHashData::Node*)>, nodeSize=20, nodeAlign=4) at tools/qhash.cpp:239
	dup = (QHashData::Node *) 0x93a69008
	nextNode = (QHashData::Node **) 0x944d5008
	oldNode = (QHashData::Node *) 0x89c93155
	i = 0
#2  0x00ed9b9b in Soprano::Error::ErrorCache::clearError (this=0x909a3e8)
    at /usr/include/qt4/QtCore/qhash.h:581
	locker = {{mtx = 0x8fa19dd, val = 150608349}}
#3  0x00eda1c3 in Soprano::Error::ErrorCache::setError (this=0x909a3e8, 
    error=@0xb60aa8c4) at ../../soprano/error.cpp:229
No locals.
#4  0x00afc0cd in Soprano::Client::ClientModel::addStatement (this=0x909a3e0, 
    statement=@0xb60aa9dc) at ../../client/clientmodel.cpp:65
	c = Soprano::Error::ErrorNone
#5  0x00dd234e in Nepomuk::MainModel::addStatement (this=0x8cf5238, 
    statement=@0xb60aa9dc) at ../../../nepomuk/core/nepomukmainmodel.cpp:253
	c = <value optimized out>
#6  0x00eea05b in Soprano::FilterModel::addStatement (this=0x8cf1bd0, 
    statement=@0xb60aa9dc) at ../../soprano/filtermodel.cpp:92
	c = <value optimized out>
#7  0x00dce8b4 in Nepomuk::ResourceFilterModel::addStatement (this=0x8cf1bd0, 
    statement=@0xb60aaa64) at ../../../nepomuk/core/resourcefiltermodel.cpp:71
	s = {_vptr.Statement = 0xf7fe00, d = {d = 0x90cc310}}
#8  0x042e9d06 in Strigi::NepomukIndexWriter::addValue (this=0x8ce0758, 
    idx=0xb60aaf78, field=0x8dfa2e8, value=2)
    at ../../../nepomuk/strigibackend/nepomukindexwriter.cpp:516
	rfd = <value optimized out>
#9  0x03b45e9e in Strigi::AnalysisResult::addValue (this=0xb60aaf78, 
    field=0x8dfa2e8, value=2)
    at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:352
No locals.
#10 0x03b892ce in ID3EndAnalyzer::analyze (this=0x8e34fd8, 
    indexable=@0xb60aaf78, in=0x8db6010)
    at /build/buildd/strigi-0.7.2/src/streamanalyzer/endanalyzers/id3endanalyzer.cpp:542
	found_title = true
	found_year = true
	found_tag = true
	albumUri = {static npos = 4294967295, 
  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x906cb4c ":nlcmj"}}
	albumArtNum = 0 '\0'
	buf = 0xb45fe496 "��nread = <value optimized out>
	bitrateindex = 11
	found_artist = true
	found_album = true
	found_genre = true
	samplerateindex = <value optimized out>
	insize = <value optimized out>
	found_track = true
#11 0x03b699e2 in Strigi::StreamAnalyzerPrivate::analyze (this=0x8dff4a8, 
    idx=@0xb60aaf78, input=0x8db6010)
    at /build/buildd/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
	ar = <value optimized out>
	sea = (class Strigi::StreamEndAnalyzer *) 0x8e34fd8
	finished = <value optimized out>
	header = 0xb45fe008 "ID3\003"
	headersize = 27
	es = 21
#12 0x03b45edd in Strigi::AnalysisResult::index (this=0xb60aaf78, 
    file=0xb60aaf14)
    at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:233
No locals.
#13 0x041cf664 in Nepomuk::IndexScheduler::analyzeFile (this=0x8cf5a98, 
    file=@0x8efef88, analyzer=0xb60ab2fc)
    at ../../../../nepomuk/services/strigi/indexscheduler.cpp:424
	stream = {<Strigi::BufferedStream<char>> = {<Strigi::StreamBase<char>> = {<Strigi::StreamBaseBase> = {_vptr.StreamBaseBase = 0x7d7ea28, 
        m_size = 5698287, m_position = 1170, m_error = {
          static npos = 4294967295, 
          _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x47573c ""}}, 
        m_status = Strigi::Ok}, <No data fields>}, buffer = {
      start = 0xb45fe008 "ID3\003", size = 1048576, readPos = 0xb45fe49a "", 
      avail = 1024}, finishedWritingToBuffer = false}, file = 0x90cb888, 
  filepath = {static npos = 4294967295, 
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
      _M_p = 0x90e47f4 "/home/dubs/Music/09 Yo Gotti - 5 Star Chick F Gucci Mane, Nicki Minaj-MF.mp3"}}, static defaultBufferSize = 1048576}
	filePath = {static null = {<No data fields>}, static shared_null = {
    ref = {_q_value = 13889}, alloc = 0, size = 0, data = 0x79c47a, 
    clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 
    reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 53}, 
    alloc = 0, size = 0, data = 0x79c48e, clean = 0, simpletext = 0, 
    righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {
      0}}, d = 0x8effbc0, static codecForCStrings = 0x0}
	dir = {static null = {<No data fields>}, static shared_null = {ref = {
      _q_value = 13889}, alloc = 0, size = 0, data = 0x79c47a, clean = 0, 
    simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 
    reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 53}, 
    alloc = 0, size = 0, data = 0x79c48e, clean = 0, simpletext = 0, 
    righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {
      0}}, d = 0x901abf8, static codecForCStrings = 0x0}
	analysisresult = {p = 0x90c9d38}
#14 0x041d0893 in Nepomuk::IndexScheduler::updateDir (this=0x8cf5a98, 
    dir=@0x8e38e1c, analyzer=0xb60ab2fc, flags={i = 3})
    at ../../../../nepomuk/services/strigi/indexscheduler.cpp:386
	_container_ = {c = {{p = {static shared_null = {ref = {
            _q_value = 1304}, alloc = 0, begin = 0, end = 0, sharable = 1, 
          array = {0x0}}, d = 0x8efeb70}, d = 0x8efeb70}}, brk = 0, i = {
    i = 0x8efef88}, e = {i = 0x8eff0c0}}
	dirInfo = {d_ptr = {d = 0x8e565d0}}
	subFolders = {<QList<QString>> = {{p = {static shared_null = {ref = {
            _q_value = 1304}, alloc = 0, begin = 0, end = 0, sharable = 1, 
          array = {0x0}}, d = 0x8ef3230}, d = 0x8ef3230}}, <No data fields>}
	filesToDelete = {<QList<QString>> = {{p = {static shared_null = {
          ref = {_q_value = 1304}, alloc = 0, begin = 0, end = 0, 
          sharable = 1, array = {0x0}}, d = 0x8f0f3f0}, 
      d = 0x8f0f3f0}}, <No data fields>}
	dirUrl = {<QUrl> = {d = 0x8ec7c00}, d = 0x0}
	dirRes = {_vptr.Resource = 0xe19b40, m_data = 0x8e61918, 
  d = 0xb60ab0c8}
	filesToIndex = {{p = {static shared_null = {ref = {_q_value = 1304}, 
        alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, 
      d = 0x8efeb70}, d = 0x8efeb70}}
	dirIt = {_vptr.QDirIterator = 0x799430, d = {d = 0xb4f03f98}}
	__PRETTY_FUNCTION__ = "bool Nepomuk::IndexScheduler::updateDir(const QString&, Strigi::StreamAnalyzer*, QFlags<Nepomuk::IndexScheduler::UpdateDirFlag>)"
	recursive = true
	filesInStore = {{d = 0xb4f016c0, e = 0xb4f016c0}}
#15 0x041d0ad5 in Nepomuk::IndexScheduler::updateDir (this=0x8cf5a98, 
    dir=@0xb60ab2e8, analyzer=0xb60ab2fc, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
)
    at ../../../../nepomuk/services/strigi/indexscheduler.cpp:393
	_container_ = {c = {<QList<QString>> = {{p = {static shared_null = {
            ref = {_q_value = 1304}, alloc = 0, begin = 0, end = 0, 
            sharable = 1, array = {0x0}}, d = 0x8e38e00}, 
        d = 0x8e38e00}}, <No data fields>}, brk = 0, i = {i = 0x8e38e1c}, 
  e = {i = 0x8e38e48}}
	dirInfo = {d_ptr = {d = 0x8e160c0}}
	subFolders = {<QList<QString>> = {{p = {static shared_null = {ref = {
            _q_value = 1304}, alloc = 0, begin = 0, end = 0, sharable = 1, 
          array = {0x0}}, d = 0x8e38e00}, d = 0x8e38e00}}, <No data fields>}
	filesToDelete = {<QList<QString>> = {{p = {static shared_null = {
          ref = {_q_value = 1304}, alloc = 0, begin = 0, end = 0, 
          sharable = 1, array = {0x0}}, d = 0x8e37730}, 
      d = 0x8e37730}}, <No data fields>}
	dirUrl = {<QUrl> = {d = 0x8e1bb70}, d = 0x0}
	dirRes = {_vptr.Resource = 0xe19b40, m_data = 0x8da93f0, 
  d = 0xb60ab238}
	filesToIndex = {{p = {static shared_null = {ref = {_q_value = 1304}, 
        alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, 
      d = 0x8e385f0}, d = 0x8e385f0}}
	dirIt = {_vptr.QDirIterator = 0x799430, d = {d = 0x8e19418}}
	__PRETTY_FUNCTION__ = "bool Nepomuk::IndexScheduler::updateDir(const QString&, Strigi::StreamAnalyzer*, QFlags<Nepomuk::IndexScheduler::UpdateDirFlag>)"
	recursive = true
	filesInStore = {{d = 0x8e351a0, e = 0x8e351a0}}
#16 0x041d266b in Nepomuk::IndexScheduler::run (this=0x8cf5a98)
    at ../../../../nepomuk/services/strigi/indexscheduler.cpp:288
	dir = {first = {static null = {<No data fields>}, 
    static shared_null = {ref = {_q_value = 13889}, alloc = 0, size = 0, 
      data = 0x79c47a, clean = 0, simpletext = 0, righttoleft = 0, 
      asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, 
    static shared_empty = {ref = {_q_value = 53}, alloc = 0, size = 0, 
      data = 0x79c48e, clean = 0, simpletext = 0, righttoleft = 0, 
      asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, 
    d = 0x8d365a8, static codecForCStrings = 0x0}, second = {i = 3}}
	analyzer = {p = 0x8dff4a8}
#17 0x0058532e in QThreadPrivate::start (arg=0x8cf5a98)
    at thread/qthread_unix.cpp:248
	data = (QThreadData *) 0x8cf5c08
#18 0x0011596e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#19 0x0086aa0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Comment 1 Sebastian Trueg 2010-04-24 20:37:59 UTC
Should be fixed with Soprano 2.4.3. Please test.
Comment 2 Nicolas L. 2010-05-03 11:38:40 UTC
please ask your distribution to update Soprano, and reopen if the bug is still valid after that