Bug 367542

Summary: One of threads in Plasmashell falls into infinite loop.
Product: [Frameworks and Libraries] frameworks-baloo Reporter: David Timber <mieabby>
Component: generalAssignee: Pinak Ahuja <pinak.ahuja>
Status: RESOLVED DUPLICATE    
Severity: normal CC: aspotashev, bhush94, christoph, plasma-bugs
Priority: NOR    
Version: 5.24.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description David Timber 2016-08-19 02:14:26 UTC
One of the threads in Plasmashell hogs one system CPU 100%. I'm guessing it's looping inside some QString method. I'll report this bug to Qt as well.
I do not know how to reproduce this bug. It's kinda there without me knowing.
Looking at the stack trace, it seems to be the similar bug to 366319, which I reported a time ago.


Reproducible: Sometimes




  Id   Target Id         Frame 
  40   Thread 0x7fe6ea01a900 (LWP 15037) 0x00007fe6f750cb1d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  39   Thread 0x7fe4257fa700 (LWP 31430) pthread_cond_timedwait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  38   Thread 0x7fe459d7f700 (LWP 29727) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  37   Thread 0x7fe45aba5700 (LWP 29723) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  36   Thread 0x7fe462515700 (LWP 29721) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  35   Thread 0x7fe4635ef700 (LWP 29714) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  34   Thread 0x7fe45bfff700 (LWP 29557) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  33   Thread 0x7fe46e594700 (LWP 29555) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  32   Thread 0x7fe46f7b5700 (LWP 16823) 0x00007fe6f750cb1d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  31   Thread 0x7fe4789b0700 (LWP 16821) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  30   Thread 0x7fe47a585700 (LWP 16784) 0x00007fe6f750cb1d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  29   Thread 0x7fe5d23e2700 (LWP 16783) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  28   Thread 0x7fe5d190b700 (LWP 16742) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  27   Thread 0x7fe5d37fe700 (LWP 16361) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  26   Thread 0x7fe5d3fff700 (LWP 16360) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  25   Thread 0x7fe5f0ff9700 (LWP 16359) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  24   Thread 0x7fe5f17fa700 (LWP 16358) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  23   Thread 0x7fe5f1ffb700 (LWP 16357) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  22   Thread 0x7fe5f27fc700 (LWP 16356) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  21   Thread 0x7fe5f2ffd700 (LWP 16355) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  20   Thread 0x7fe5f37fe700 (LWP 16354) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  19   Thread 0x7fe5f3fff700 (LWP 16353) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  18   Thread 0x7fe6109e8700 (LWP 16352) 0x00007fe61cc0a594 in QConcatenable<QByteArray>::appendTo (out=<synthetic pointer>, ba=<synthetic pointer>)
    at /usr/include/qt5/QtCore/qstringbuilder.h:348
  17   Thread 0x7fe6111e9700 (LWP 16351) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  16   Thread 0x7fe6119ea700 (LWP 16350) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  15   Thread 0x7fe6121eb700 (LWP 16349) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  14   Thread 0x7fe6129ec700 (LWP 16348) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  13   Thread 0x7fe6131ed700 (LWP 16347) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  12   Thread 0x7fe6139ee700 (LWP 16346) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  11   Thread 0x7fe61fdf5700 (LWP 16337) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  10   Thread 0x7fe61f182700 (LWP 16255) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  9    Thread 0x7fe6260bd700 (LWP 15690) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  8    Thread 0x7fe6269fe700 (LWP 15688) 0x00007fe6f750cb1d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  7    Thread 0x7fe634afe700 (LWP 15687) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6    Thread 0x7fe64224e700 (LWP 15674) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  5    Thread 0x7fe6cd379700 (LWP 15596) pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7fe6cf279700 (LWP 15595) 0x00007fe6f750cb1d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7fe6dcd19700 (LWP 15161) 0x00007fe6f750cb1d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
  2    Thread 0x7fe6de556700 (LWP 15057) 0x00007fe6f750cb1d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
* 1    Thread 0x7fe6dfd96700 (LWP 15056) 0x00007fe6f750cb1d in poll ()
    at ../sysdeps/unix/syscall-template.S:84
[Switching to thread 18 (Thread 0x7fe6109e8700 (LWP 16352))]
#0  0x00007fe61cc0a594 in QConcatenable<QByteArray>::appendTo (out=<synthetic pointer>, 
    ba=<synthetic pointer>) at /usr/include/qt5/QtCore/qstringbuilder.h:348
348	            *out++ = *a++;
#0  0x00007fe61cc0a594 in QConcatenable<QByteArray>::appendTo (out=<synthetic pointer>, 
    ba=<synthetic pointer>) at /usr/include/qt5/QtCore/qstringbuilder.h:348
        a = 0x7fe435c24b68 "ate.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/updat"...
#1  QConcatenable<QStringBuilder<QStringBuilder<QByteArray, char>, QByteArray> >::appendTo<char> (out=<synthetic pointer>, p=...) at /usr/include/qt5/QtCore/qstringbuilder.h:366
No locals.
#2  QStringBuilder<QStringBuilder<QByteArray, char>, QByteArray>::convertTo<QByteArray> (
    this=<optimized out>) at /usr/include/qt5/QtCore/qstringbuilder.h:112
        len = 61115777
        d = 0x7fe5e71091c3 "ate.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/updat"...
        start = 0x7fe5e40ef678 "update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/update.mar/libnss3.so/up"...
#3  QStringBuilder<QStringBuilder<QByteArray, char>, QByteArray>::operator QByteArray (
    this=<optimized out>) at /usr/include/qt5/QtCore/qstringbuilder.h:125
No locals.
#4  Baloo::DocumentUrlDB::get (this=this@entry=0x7fe6109e77f0, 
    docId=docId@entry=69245743373810944)
    at /usr/src/debug/baloo-5.24.0/src/engine/documenturldb.cpp:155
        p = {parentId = 69245331056950528, name = {d = 0x7fe5e40013d0}}
        idFilenameDb = {m_txn = 0x7fe5e40eb7c0, m_dbi = 8}
        path = {parentId = 69245700424137984, name = {d = 0x7fe5e40108c0}}
        ret = {d = 0x7fe432c0b010}
        id = <optimized out>
#5  0x00007fe61cc24ff1 in Baloo::Transaction::documentUrl (this=this@entry=0x7fe6109e78a0, 
    id=69245743373810944) at /usr/src/debug/baloo-5.24.0/src/engine/transaction.cpp:104
        docUrlDb = {m_txn = 0x7fe5e40eb7c0, m_idFilenameDbi = 8, m_idTreeDbi = 7}
#6  0x00007fe61d081173 in Baloo::SearchStore::exec (this=this@entry=0x7fe6109e7990, 
    term=..., offset=<optimized out>, limit=<optimized out>, sortResults=<optimized out>)
    at /usr/src/debug/baloo-5.24.0/src/lib/searchstore.cpp:107
        id = <optimized out>
        filePath = {static null = {<No data fields>}, d = 0x7fe5e402b6d8}
        i = 0
        resultIds = {d = 0x7fe5e4005920}
        compFunc = {__tr = @0x7fe6109e78a0}
        results = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, 
            {p = {static shared_null = {ref = {atomic = {
                      _q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, 
                          _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, 
                  array = {0x0}}, d = 0x7fe6f8370120 <QListData::shared_null>}, 
              d = 0x7fe6f8370120 <QListData::shared_null>}}, <No data fields>}
        tr = {m_dbis = @0x7fe61ce39030, m_txn = 0x7fe5e40eb7c0, m_env = 0x7fe5f8003730, 
          m_writeTrans = 0x0}
        it = {d = 0x7fe5e4011c90}
#7  0x00007fe61d06f40f in Baloo::Query::exec (this=this@entry=0x7fe6109e7a50)
    at /usr/src/debug/baloo-5.24.0/src/lib/query.cpp:210
        term = {d = 0x7fe5e40051b0}
        searchStore = {
          m_db = 0x7fe61ce39020 <(anonymous namespace)::Q_QGS_s_db::innerFunction()::holder>, m_prefixes = {{d = 0x7fe5e40eb750, e = 0x7fe5e40eb750}}}
        result = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {
              p = {static shared_null = {ref = {atomic = {
                      _q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, 
                          _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, 
                  array = {0x0}}, d = 0x7fe5e4005560}, 
              d = 0x7fe5e4005560}}, <No data fields>}
#8  0x00007fe61d2c37e0 in SearchRunner::match (this=this@entry=0x564fdcf31b90, context=..., 
    type=..., category=...)
    at /usr/src/debug/plasma-workspace-5.7.3/runners/baloo/baloosearchrunner.cpp:99
        categories = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {
                          static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, 
                  alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x564fdcf34b60}, 
              d = 0x564fdcf34b60}}, <No data fields>}
        query = {d = 0x7fe5e40ec020}
        it = {d = 0x7fe6f8370120 <QListData::shared_null>}
        matches = {<QListSpecialMethods<Plasma::QueryMatch>> = {<No data fields>}, {p = {
              static shared_null = {ref = {atomic = {
                    _q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, 
                        _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, 
                array = {0x0}}, d = 0x7fe6f8370120 <QListData::shared_null>}, 
            d = 0x7fe6f8370120 <QListData::shared_null>}}
        mimeDb = {d = 0x7fe5e402b610}
        relevance = <optimized out>
#9  0x00007fe61d2c47f9 in SearchRunner::match (this=0x564fdcf31b90, context=...)
    at /usr/src/debug/plasma-workspace-5.7.3/runners/baloo/baloosearchrunner.cpp:168
        text = {static null = {<No data fields>}, d = 0x564fde205940}
        matches = {<QListSpecialMethods<Plasma::QueryMatch>> = {<No data fields>}, {p = {
              static shared_null = {ref = {atomic = {
                    _q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, 
                        _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, 
                array = {0x0}}, d = 0x7fe5e402b680}, d = 0x7fe5e402b680}}
#10 0x00007fe638542068 in Plasma::AbstractRunner::performMatch (this=0x564fdcf31b90, 
    localContext=...) at /usr/src/debug/krunner-5.24.0/src/abstractrunner.cpp:131
        time = {mds = 38916068}
        runtime = <optimized out>
        slowed = <optimized out>
#11 0x00007fe637ca0427 in ThreadWeaver::Executor::run (this=<optimized out>, job=..., 
    thread=<optimized out>) at /usr/src/debug/threadweaver-5.24.0/src/executor.cpp:52
No locals.
#12 0x00007fe637c9f060 in ThreadWeaver::Job::execute (this=<optimized out>, self=..., 
    th=0x564fdcee3cc0) at /usr/src/debug/threadweaver-5.24.0/src/job.cpp:83
No locals.
#13 0x00007fe637c9e7c0 in ThreadWeaver::Thread::run (this=0x564fdcee3cc0)
    at /usr/src/debug/threadweaver-5.24.0/src/thread.cpp:114
        wasBusy = true
#14 0x00007fe6f811700c in QThreadPrivate::start (arg=0x564fdcee3cc0)
    at thread/qthread_unix.cpp:341
        __clframe = {__cancel_routine = 0x7fe6f81161c0 <QThreadPrivate::finish(void*)>, 
          __cancel_arg = 0x564fdcee3cc0, __do_it = 1, __cancel_type = <optimized out>}
        thr = 0x564fdcee3cc0
        data = 0x564fdcef2f50
#15 0x00007fe6f686a61a in start_thread (arg=0x7fe6109e8700) at pthread_create.c:334
        __res = <optimized out>
        pd = 0x7fe6109e8700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140626098030336, 826749333446829647, 
                140736515912639, 140626098030336, 8388608, 0, -813720932489910705, 
                -813786840084928945}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 
              0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
#16 0x00007fe6f751859d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
No locals.
quit
Comment 1 David Edmundson 2016-08-28 01:10:20 UTC
#7 0x00007fe61d06f40f in Baloo::Query::exec (this=this@entry=0x7fe6109e7a50)
Comment 2 Christoph Cullmann 2016-09-11 21:11:29 UTC

*** This bug has been marked as a duplicate of bug 354705 ***