Bug 354091 - Krunner query causes a segfault in Baloo::Database::open in mdb_txn_commit
Summary: Krunner query causes a segfault in Baloo::Database::open in mdb_txn_commit
Status: RESOLVED DUPLICATE of bug 356298
Alias: None
Product: frameworks-baloo
Classification: Frameworks and Libraries
Component: Engine (show other bugs)
Version: 5.15.0
Platform: Debian unstable Linux
: NOR crash
Target Milestone: ---
Assignee: Pinak Ahuja
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-19 14:57 UTC by jm.ouwerkerk
Modified: 2016-09-11 19:51 UTC (History)
3 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 jm.ouwerkerk 2015-10-19 14:57:56 UTC
The bug causes Krunner to crash.

Reproducible: Always

Steps to Reproduce:
1. Fiddle with a krunner query (repeatedly change it). For example, build up a 'complex' calculation for krunner to compute.
2. <segfault> in the Krunner process


Expected Results:  
I'd expected krunner to be able to compute things, not being killed by a segfault in baloo. :)

GDB session (gdb `which krunner`):

(gdb) run
Starting program: /usr/bin/krunner 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe3d84700 (LWP 32112)]
[New Thread 0x7fffdbfff700 (LWP 32113)]
Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion
org.kde.kurifilter-ikws: ":q"
org.kde.kurifilter-ikws: Keywords Engine: Loading config...
org.kde.kurifilter-ikws: Web Shortcuts Enabled:  true
org.kde.kurifilter-ikws: Default Shortcut:  ""
org.kde.kurifilter-ikws: Keyword Delimiter:  :
Error contacting the daemon!
I/O warning : failed to load external entity "/home/prometheus/.qalculate/eurofxref-daily.xml"
I/O warning : failed to load external entity "/home/prometheus/.qalculate/eurofxref-daily.xml"
QObject::connect: No such signal KActivities::Consumer::serviceStatusChanged(KActivities::Consumer::ServiceStatus)
QObject::connect:  (receiver name: 'Activities')
[New Thread 0x7fffccd6b700 (LWP 32114)]
[New Thread 0x7fffc7fff700 (LWP 32115)]
[New Thread 0x7fffc77fe700 (LWP 32116)]
[New Thread 0x7fffc6ffd700 (LWP 32117)]
[New Thread 0x7fffc67fc700 (LWP 32118)]
[New Thread 0x7fffc5ffb700 (LWP 32119)]
[New Thread 0x7fffc57fa700 (LWP 32120)]
[New Thread 0x7fffc4ff9700 (LWP 32121)]                                                                                                                                                                                                                                        
org.kde.kurifilter-shorturi: "0"                                                                                                                                                                                                                                               
org.kde.kurifilter-shorturi: path = "0"  isLocalFullPath= false  exists= false  url=  QUrl( "0" )                                                                                                                                                                              
org.kde.kurifilter-shorturi: "0."                                                                                                                                                                                                                                              
org.kde.kurifilter-shorturi: path = "0."  isLocalFullPath= false  exists= false  url=  QUrl( "0." )                                                                                                                                                                            
org.kde.kurifilter-shorturi: "0.5"                                                                                                                                                                                                                                             
org.kde.kurifilter-shorturi: path = "0.5"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5" )                                                                                                                                                                          
session switching to "0.5"                                                                                                                                                                                                                                                     
org.kde.kurifilter-shorturi: "0.5+"                                                                                                                                                                                                                                            
org.kde.kurifilter-shorturi: path = "0.5+"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+" )                                                                                                                                                                        
session switching to "0.5+"                                                                                                                                                                                                                                                    
org.kde.kurifilter-shorturi: "0.5+s"                                                                                                                                                                                                                                           
org.kde.kurifilter-shorturi: path = "0.5+s"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+s" )                                                                                                                                                                      
session switching to "0.5+s"                                                                                                                                                                                                                                                   
org.kde.kurifilter-shorturi: "0.5+si"                                                                                                                                                                                                                                          
session switching to "0.5+si"                                                                                                                                                                                                                                                  
org.kde.kurifilter-shorturi: path = "0.5+si"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+si" )                                                                                                                                                                    
org.kde.kurifilter-shorturi: "0.5+sin"                                                                                                                                                                                                                                         
org.kde.kurifilter-shorturi: path = "0.5+sin"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin" )                                                                                                                                                                  
session switching to "0.5+sin"                                                                                                                                                                                                                                                 
org.kde.kurifilter-shorturi: "0.5+sin("                                                                                                                                                                                                                                        
org.kde.kurifilter-shorturi: path = "0.5+sin("  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(" )                                                                                                                                                                
session switching to "0.5+sin("                                                                                                                                                                                                                                                
QObject::connect: No such signal KActivities::Consumer::serviceStatusChanged(KActivities::Consumer::ServiceStatus)                                                                                                                                                             
QObject::connect:  (receiver name: 'Activities')                                                                                                                                                                                                                               
org.kde.kurifilter-shorturi: "0.5+sin(s"                                                                                                                                                                                                                                       
org.kde.kurifilter-shorturi: path = "0.5+sin(s"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(s" )                                                                                                                                                              
session switching to "0.5+sin(s"                                                                                                                                                                                                                                               
org.kde.kurifilter-shorturi: "0.5+sin(si"                                                                                                                                                                                                                                      
org.kde.kurifilter-shorturi: path = "0.5+sin(si"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(si" )                                                                                                                                                            
session switching to "0.5+sin(si"                                                                                                                                                                                                                                              
org.kde.kurifilter-shorturi: "0.5+sin(sin"                                                                                                                                                                                                                                     
org.kde.kurifilter-shorturi: path = "0.5+sin(sin"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin" )                                                                                                                                                          
session switching to "0.5+sin(sin"                                                                                                                                                                                                                                             
org.kde.kurifilter-shorturi: "0.5+sin(sin("                                                                                                                                                                                                                                    
org.kde.kurifilter-shorturi: path = "0.5+sin(sin("  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(" )                                                                                                                                                        
session switching to "0.5+sin(sin("                                                                                                                                                                                                                                            
org.kde.kurifilter-shorturi: "0.5+sin(sin(0"                                                                                                                                                                                                                                   
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0" )                                                                                                                                                      
session switching to "0.5+sin(sin(0"                                                                                                                                                                                                                                           
org.kde.kurifilter-shorturi: "0.5+sin(sin(0."                                                                                                                                                                                                                                  
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0."  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0." )                                                                                                                                                    
session switching to "0.5+sin(sin(0."
org.kde.kurifilter-shorturi: "0.5+sin(sin(0.5"
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0.5"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0.5" ) 
session switching to "0.5+sin(sin(0.5"
org.kde.kurifilter-shorturi: "0.5+sin(sin(0.5)"
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0.5)"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0.5)" ) 
session switching to "0.5+sin(sin(0.5)"
org.kde.kurifilter-shorturi: "0.5+sin(sin(0.5))"
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0.5))"  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0.5))" ) 
session switching to "0.5+sin(sin(0.5))"
QObject::connect: No such signal KActivities::Consumer::serviceStatusChanged(KActivities::Consumer::ServiceStatus)
QObject::connect:  (receiver name: 'Activities')
org.kde.kurifilter-shorturi: "0.5+sin(sin(0.5))="
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0.5))="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0.5))=" ) 
session switching to "0.5+sin(sin(0.5))="
org.kde.kurifilter-shorturi: "0.5+sin(sin(0.5)="
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0.5)="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0.5)=" ) 
session switching to "0.5+sin(sin(0.5)="
org.kde.kurifilter-shorturi: "0.5+sin(sin(0.)="
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0.)="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0.)=" ) 
session switching to "0.5+sin(sin(0.)="
org.kde.kurifilter-shorturi: "0.5+sin(sin(0)="
org.kde.kurifilter-shorturi: path = "0.5+sin(sin(0)="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin(0)=" ) 
session switching to "0.5+sin(sin(0)="
org.kde.kurifilter-shorturi: "0.5+sin(sin()="
org.kde.kurifilter-shorturi: path = "0.5+sin(sin()="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin()=" ) 
session switching to "0.5+sin(sin()="
org.kde.kurifilter-shorturi: "0.5+sin(sin)="
org.kde.kurifilter-shorturi: path = "0.5+sin(sin)="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(sin)=" ) 
session switching to "0.5+sin(sin)="
org.kde.kurifilter-shorturi: "0.5+sin(si)="
org.kde.kurifilter-shorturi: path = "0.5+sin(si)="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(si)=" ) 
session switching to "0.5+sin(si)="
org.kde.kurifilter-shorturi: "0.5+sin(s)="
org.kde.kurifilter-shorturi: path = "0.5+sin(s)="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(s)=" ) 
session switching to "0.5+sin(s)="
org.kde.kurifilter-shorturi: "0.5+sin(s0)="
org.kde.kurifilter-shorturi: path = "0.5+sin(s0)="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(s0)=" ) 
session switching to "0.5+sin(s0)="
org.kde.kurifilter-shorturi: "0.5+sin(s)="
org.kde.kurifilter-shorturi: path = "0.5+sin(s)="  isLocalFullPath= false  exists= false  url=  QUrl( "0.5+sin(s)=" ) 
session switching to "0.5+sin(s)="

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffccd6b700 (LWP 32114)]
0x00007fffcff5b25a in mdb_txn_commit () from /usr/lib/x86_64-linux-gnu/liblmdb.so.0
(gdb) bt
#0  0x00007fffcff5b25a in mdb_txn_commit () from /usr/lib/x86_64-linux-gnu/liblmdb.so.0
#1  0x00007fffcff5b278 in mdb_txn_commit () from /usr/lib/x86_64-linux-gnu/liblmdb.so.0
#2  0x00007fffcff5b278 in mdb_txn_commit () from /usr/lib/x86_64-linux-gnu/liblmdb.so.0
#3  0x00007fffcff5b278 in mdb_txn_commit () from /usr/lib/x86_64-linux-gnu/liblmdb.so.0
#4  0x00007fffcff5b278 in mdb_txn_commit () from /usr/lib/x86_64-linux-gnu/liblmdb.so.0
#5  0x00007fffd016f496 in Baloo::Database::open(Baloo::Database::OpenMode) () from /usr/lib/x86_64-linux-gnu/libKF5BalooEngine.so.5
#6  0x00007fffd05c9208 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Baloo.so.5
#7  0x00007fffd05bae39 in Baloo::Query::exec() () from /usr/lib/x86_64-linux-gnu/libKF5Baloo.so.5
#8  0x00007fffd07daf3f in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/krunner_baloosearchrunner.so
#9  0x00007fffd07db8b3 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/krunner_baloosearchrunner.so
#10 0x00007fffd946e010 in Plasma::AbstractRunner::performMatch(Plasma::RunnerContext&) () from /usr/lib/x86_64-linux-gnu/libKF5Runner.so.5
#11 0x00007fffd92518a0 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#12 0x00007fffd92504e0 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#13 0x00007fffd924ff8a in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#14 0x00007ffff4ffc25e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff2b820a4 in start_thread (arg=0x7fffccd6b700) at pthread_create.c:309
#16 0x00007ffff491c06d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb) quit
Comment 1 jm.ouwerkerk 2015-10-19 15:46:27 UTC
Baloo package (libkf5baloo5, baloo-kf5) version is at: 5.15.0+-1
Comment 2 Christoph Cullmann 2016-09-11 19:51:46 UTC

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