Bug 190326

Summary: Kile crashes each time I close it
Product: [Applications] kile Reporter: jde3 <rtavenar>
Component: generalAssignee: Michel Ludwig <michel.ludwig>
Status: RESOLVED FIXED    
Severity: crash CC: andresrh2000, c0der, f_bresson, ivi610, noway, patrick_steinmueller, reduebbax, thecalbear, thomas.braun, vidakris, villard.claire
Priority: NOR    
Version: 2.0.81   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description jde3 2009-04-22 10:35:26 UTC
Version:           2.0.81 (using KDE 4.2.2)
OS:                Linux
Installed from:    Ubuntu Packages

The backtrace I get is of no use (according to the KDE crah handler) but I got this information running "valgrind kile" :

$ valgrind kile                             
==13126== Memcheck, a memory error detector.                 
==13126== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==13126== Using LibVEX rev 1884, a library for dynamic binary translation.
==13126== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.       
==13126== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework.
==13126== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.         
==13126== For more details, rerun with: -v                                        
==13126==                                                                         
kile(13126) KStatusBar::removeItem: KStatusBar::removeItem: bad item id:  302     
kile(13126) KStatusBar::removeItem: KStatusBar::removeItem: bad item id:  301     
kile(13126) KStatusBar::removeItem: KStatusBar::removeItem: bad item id:  303     
kile(13126) KStatusBar::removeItem: KStatusBar::removeItem: bad item id:  304     
KComboBox::setTrapReturnKey not supported with a non-KLineEdit.                   
Object::connect: No such signal KileWidget::ProjectView::dropped(QDropEvent*, QTreeWidgetItem*)
Object::connect:  (receiver name: 'KileDocument::Manager')                                     
==13164== Conditional jump or move depends on uninitialised value(s)                           
==13164==    at 0xA4E9BEE: login (login.c:113)                                                 
==13164==    by 0xABA1B79: KPty::login(char const*, char const*) (in /usr/lib/libkpty.so.4.2.0)
==13164==    by 0xABA47F2: KPtyProcess::setupChildProcess() (in /usr/lib/libkpty.so.4.2.0)     
==13164==    by 0xAB3DC1C: Konsole::Pty::setupChildProcess() (Pty.cpp:300)                     
==13164==    by 0x5E7AA68: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E7D4E5: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E3D5AF: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (in /usr/lib/libQtCore.so.4.5.0)                                              
==13164==    by 0x5B77B87: KProcess::start() (in /usr/lib/libkdecore.so.5.2.0)                 
==13164==    by 0xAB3E98C: Konsole::Pty::start(QString const&, QStringList const&, QStringList const&, unsigned long, bool, QString const&, QString const&) (Pty.cpp:213)                     
==13164==    by 0xAB4BCDE: Konsole::Session::run() (Session.cpp:402)                           
==13164==    by 0xAB85ED9: Konsole::Part::showShellInDir(QString const&) (Part.cpp:212)        
==13164==    by 0x8240B39: (within /usr/bin/kile)                                              
==13164==                                                                                      
==13164== Conditional jump or move depends on uninitialised value(s)                           
==13164==    at 0xA4E9BF0: login (login.c:113)                                                 
==13164==    by 0xABA1B79: KPty::login(char const*, char const*) (in /usr/lib/libkpty.so.4.2.0)
==13164==    by 0xABA47F2: KPtyProcess::setupChildProcess() (in /usr/lib/libkpty.so.4.2.0)     
==13164==    by 0xAB3DC1C: Konsole::Pty::setupChildProcess() (Pty.cpp:300)                     
==13164==    by 0x5E7AA68: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E7D4E5: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E3D5AF: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (in /usr/lib/libQtCore.so.4.5.0)                                              
==13164==    by 0x5B77B87: KProcess::start() (in /usr/lib/libkdecore.so.5.2.0)                 
==13164==    by 0xAB3E98C: Konsole::Pty::start(QString const&, QStringList const&, QStringList const&, unsigned long, bool, QString const&, QString const&) (Pty.cpp:213)                     
==13164==    by 0xAB4BCDE: Konsole::Session::run() (Session.cpp:402)                           
==13164==    by 0xAB85ED9: Konsole::Part::showShellInDir(QString const&) (Part.cpp:212)        
==13164==    by 0x8240B39: (within /usr/bin/kile)                                              
==13164==                                                                                      
==13164== Conditional jump or move depends on uninitialised value(s)                           
==13164==    at 0x402734C: rindex (mc_replace_strmem.c:139)                                    
==13164==    by 0x6136559: basename (basename.c:37)                                            
==13164==    by 0xA4E9C75: login (login.c:116)                                                 
==13164==    by 0xABA1B79: KPty::login(char const*, char const*) (in /usr/lib/libkpty.so.4.2.0)
==13164==    by 0xABA47F2: KPtyProcess::setupChildProcess() (in /usr/lib/libkpty.so.4.2.0)     
==13164==    by 0xAB3DC1C: Konsole::Pty::setupChildProcess() (Pty.cpp:300)                     
==13164==    by 0x5E7AA68: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E7D4E5: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E3D5AF: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (in /usr/lib/libQtCore.so.4.5.0)                                              
==13164==    by 0x5B77B87: KProcess::start() (in /usr/lib/libkdecore.so.5.2.0)                 
==13164==    by 0xAB3E98C: Konsole::Pty::start(QString const&, QStringList const&, QStringList const&, unsigned long, bool, QString const&, QString const&) (Pty.cpp:213)                     
==13164==    by 0xAB4BCDE: Konsole::Session::run() (Session.cpp:402)                           
==13164==                                                                                      
==13164== Conditional jump or move depends on uninitialised value(s)                           
==13164==    at 0x4027342: rindex (mc_replace_strmem.c:139)                                    
==13164==    by 0x6136559: basename (basename.c:37)                                            
==13164==    by 0xA4E9C75: login (login.c:116)                                                 
==13164==    by 0xABA1B79: KPty::login(char const*, char const*) (in /usr/lib/libkpty.so.4.2.0)
==13164==    by 0xABA47F2: KPtyProcess::setupChildProcess() (in /usr/lib/libkpty.so.4.2.0)     
==13164==    by 0xAB3DC1C: Konsole::Pty::setupChildProcess() (Pty.cpp:300)                     
==13164==    by 0x5E7AA68: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E7D4E5: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E3D5AF: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (in /usr/lib/libQtCore.so.4.5.0)                                              
==13164==    by 0x5B77B87: KProcess::start() (in /usr/lib/libkdecore.so.5.2.0)                 
==13164==    by 0xAB3E98C: Konsole::Pty::start(QString const&, QStringList const&, QStringList const&, unsigned long, bool, QString const&, QString const&) (Pty.cpp:213)                     
==13164==    by 0xAB4BCDE: Konsole::Session::run() (Session.cpp:402)                           
==13164==                                                                                      
==13164== Conditional jump or move depends on uninitialised value(s)                           
==13164==    at 0x4027837: strncpy (mc_replace_strmem.c:291)                                   
==13164==    by 0xA4E9C14: login (login.c:119)                                                 
==13164==    by 0xABA1B79: KPty::login(char const*, char const*) (in /usr/lib/libkpty.so.4.2.0)
==13164==    by 0xABA47F2: KPtyProcess::setupChildProcess() (in /usr/lib/libkpty.so.4.2.0)     
==13164==    by 0xAB3DC1C: Konsole::Pty::setupChildProcess() (Pty.cpp:300)                     
==13164==    by 0x5E7AA68: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E7D4E5: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E3D5AF: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (in /usr/lib/libQtCore.so.4.5.0)                                              
==13164==    by 0x5B77B87: KProcess::start() (in /usr/lib/libkdecore.so.5.2.0)                 
==13164==    by 0xAB3E98C: Konsole::Pty::start(QString const&, QStringList const&, QStringList const&, unsigned long, bool, QString const&, QString const&) (Pty.cpp:213)                     
==13164==    by 0xAB4BCDE: Konsole::Session::run() (Session.cpp:402)                           
==13164==    by 0xAB85ED9: Konsole::Part::showShellInDir(QString const&) (Part.cpp:212)        
==13164==                                                                                      
==13164== Conditional jump or move depends on uninitialised value(s)                           
==13164==    at 0x402784D: strncpy (mc_replace_strmem.c:291)                                   
==13164==    by 0xA4E9C14: login (login.c:119)                                                 
==13164==    by 0xABA1B79: KPty::login(char const*, char const*) (in /usr/lib/libkpty.so.4.2.0)
==13164==    by 0xABA47F2: KPtyProcess::setupChildProcess() (in /usr/lib/libkpty.so.4.2.0)     
==13164==    by 0xAB3DC1C: Konsole::Pty::setupChildProcess() (Pty.cpp:300)                     
==13164==    by 0x5E7AA68: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E7D4E5: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E3D5AF: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (in /usr/lib/libQtCore.so.4.5.0)                                              
==13164==    by 0x5B77B87: KProcess::start() (in /usr/lib/libkdecore.so.5.2.0)                 
==13164==    by 0xAB3E98C: Konsole::Pty::start(QString const&, QStringList const&, QStringList const&, unsigned long, bool, QString const&, QString const&) (Pty.cpp:213)                     
==13164==    by 0xAB4BCDE: Konsole::Session::run() (Session.cpp:402)                           
==13164==    by 0xAB85ED9: Konsole::Part::showShellInDir(QString const&) (Part.cpp:212)        
==13164==                                                                                      
==13164== Conditional jump or move depends on uninitialised value(s)                           
==13164==    at 0x4027980: strncmp (mc_replace_strmem.c:314)                                   
==13164==    by 0x61D7CB5: internal_getut_r (utmp-equal.h:31)                                  
==13164==    by 0x61D7E7D: pututline_file (utmp_file.c:423)                                    
==13164==    by 0x61D6C2F: pututline (getutent_r.c:165)                                        
==13164==    by 0xA4E9C8A: login (login.c:128)                                                 
==13164==    by 0xABA1B79: KPty::login(char const*, char const*) (in /usr/lib/libkpty.so.4.2.0)
==13164==    by 0xABA47F2: KPtyProcess::setupChildProcess() (in /usr/lib/libkpty.so.4.2.0)     
==13164==    by 0xAB3DC1C: Konsole::Pty::setupChildProcess() (Pty.cpp:300)                     
==13164==    by 0x5E7AA68: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E7D4E5: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E3D5AF: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (in /usr/lib/libQtCore.so.4.5.0)                                              
==13164==    by 0x5B77B87: KProcess::start() (in /usr/lib/libkdecore.so.5.2.0)                 
==13164==                                                                                      
==13164== Conditional jump or move depends on uninitialised value(s)                           
==13164==    at 0x4027987: strncmp (mc_replace_strmem.c:314)                                   
==13164==    by 0x61D7CB5: internal_getut_r (utmp-equal.h:31)                                  
==13164==    by 0x61D7E7D: pututline_file (utmp_file.c:423)                                    
==13164==    by 0x61D6C2F: pututline (getutent_r.c:165)                                        
==13164==    by 0xA4E9C8A: login (login.c:128)                                                 
==13164==    by 0xABA1B79: KPty::login(char const*, char const*) (in /usr/lib/libkpty.so.4.2.0)
==13164==    by 0xABA47F2: KPtyProcess::setupChildProcess() (in /usr/lib/libkpty.so.4.2.0)     
==13164==    by 0xAB3DC1C: Konsole::Pty::setupChildProcess() (Pty.cpp:300)                     
==13164==    by 0x5E7AA68: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E7D4E5: (within /usr/lib/libQtCore.so.4.5.0)                                
==13164==    by 0x5E3D5AF: QProcess::start(QString const&, QStringList const&, QFlags<QIODevice::OpenModeFlag>) (in /usr/lib/libQtCore.so.4.5.0)                                              
==13164==    by 0x5B77B87: KProcess::start() (in /usr/lib/libkdecore.so.5.2.0)                 
==13126== Conditional jump or move depends on uninitialised value(s)                           
==13126==    at 0x540CCE0: (within /usr/lib/libQtGui.so.4.5.0)                                 
==13126==    by 0x5416EC6: (within /usr/lib/libQtGui.so.4.5.0)                                 
==13126==    by 0x5334557: (within /usr/lib/libQtGui.so.4.5.0)                                 
==13126==    by 0x533463A: (within /usr/lib/libQtGui.so.4.5.0)                                 
==13126==    by 0x533FF9E: QPainter::drawEllipse(QRect const&) (in /usr/lib/libQtGui.so.4.5.0) 
==13126==    by 0x6F572D5: OxygenStyleHelper::hole(QColor const&, double, int) (qpainter.h:678)
==13126==    by 0x6F5E124: OxygenStyle::renderHole(QPainter*, QColor const&, QRect const&, bool, bool, QFlags<TileSet::Tile>) const (oxygen.cpp:2408)                                         
==13126==    by 0x6F6A28D: OxygenStyle::drawKStylePrimitive(KStyle::WidgetType, int, QStyleOption const*, QRect const&, QPalette const&, QFlags<QStyle::StateFlag>, QPainter*, QWidget const*, KStyle::Option*) const (oxygen.cpp:2127)                                                      
==13126==    by 0x4EDC583: KStyle::drawPrimitive(QStyle::PrimitiveElement, QStyleOption const*, QPainter*, QWidget const*) const (in /usr/lib/libkdeui.so.5.2.0)                              
==13126==    by 0x5527828: QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (in /usr/lib/libQtGui.so.4.5.0)                            
==13126==    by 0x4ED2F82: KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (in /usr/lib/libkdeui.so.5.2.0)                                  
==13126==    by 0x6F60741: OxygenStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygen.cpp:370)                                            
kile(13126): Skipped writing shortcut for action  "unnamed-0x696dc38" ( "large" )!             
kile(13126): Skipped writing shortcut for action  "unnamed-0x697b278" ( "right <" )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x6a971d0" ( "right >" )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x70192c8" ( "left ." )!            
kile(13126): Skipped writing shortcut for action  "unnamed-0x70253f8" ( "right [" )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x70585b0" ( "right )" )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x70a23d0" ( "right }" )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x71afd20" ( "right ]" )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x71df9a0" ( "left )" )!            
kile(13126): Skipped writing shortcut for action  "unnamed-0x720fca0" ( "Large" )!             
kile(13126): Skipped writing shortcut for action  "unnamed-0x7258868" ( "left <" )!            
kile(13126): Skipped writing shortcut for action  "unnamed-0x7a9eb60" ( "right ." )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x7b2f7a0" ( "right (" )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x7b5c170" ( "right {" )!           
kile(13126): Skipped writing shortcut for action  "unnamed-0x7df6db8" ( "left >" )!            
kile(13126): Skipped writing shortcut for action  "unnamed-0xa02e6f0" ( "tiny" )!              
kile(13126): Skipped writing shortcut for action  "unnamed-0xa09b6b8" ( "left [" )!            
kile(13126): Skipped writing shortcut for action  "unnamed-0xa09d5e8" ( "left {" )!            
kile(13126): Skipped writing shortcut for action  "unnamed-0xa772cf8" ( "scriptsize" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa773c80" ( "footnotesize" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa7778d0" ( "LARGE" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa7b16e0" ( "left (" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa8cc440" ( "small" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa8cd3d8" ( "normalsize" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa8d0040" ( "huge" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa8d0f20" ( "Huge" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa90be78" ( "left ]" )!
kile(13126): Skipped writing shortcut for action  "unnamed-0xa90ccf8" ( "left }" )!
==13126==
==13126== Invalid read of size 4
==13126==    at 0x542AC12: (within /usr/lib/libQtGui.so.4.5.0)
==13126==    by 0x5423C45: (within /usr/lib/libQtGui.so.4.5.0)
==13126==    by 0x52570F5: QWidgetPrivate::deleteExtra() (in /usr/lib/libQtGui.so.4.5.0)
==13126==    by 0x52578D4: QWidgetPrivate::~QWidgetPrivate() (in /usr/lib/libQtGui.so.4.5.0)
==13126==    by 0x568BAA9: (within /usr/lib/libQtGui.so.4.5.0)
==13126==    by 0x5EB52E0: QObject::~QObject() (in /usr/lib/libQtCore.so.4.5.0)
==13126==    by 0x525C8DE: QWidget::~QWidget() (in /usr/lib/libQtGui.so.4.5.0)
==13126==    by 0x5680BFC: QMenu::~QMenu() (in /usr/lib/libQtGui.so.4.5.0)
==13126==    by 0x4FAACBE: KMenu::~KMenu() (in /usr/lib/libkdeui.so.5.2.0)
==13126==    by 0x4DECBD9: KSelectAction::~KSelectAction() (in /usr/lib/libkdeui.so.5.2.0)
==13126==    by 0x81B4767: (within /usr/bin/kile)
==13126==    by 0x5EACE3E: QObjectPrivate::deleteChildren() (in /usr/lib/libQtCore.so.4.5.0)
==13126==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
KCrash: Application 'kile' crashing...
sock_file=/home/rtavenar/.kde/socket-taxmax/kdeinit4__0
==13126==
==13126== ERROR SUMMARY: 3 errors from 2 contexts (suppressed: 227 from 4)
==13126== malloc/free: in use at exit: 2,402,033 bytes in 22,731 blocks.
==13126== malloc/free: 865,245 allocs, 842,514 frees, 202,733,182 bytes allocated.
==13126== For counts of detected errors, rerun with: -v
==13126== Use --track-origins=yes to see where uninitialised values come from
==13126== searching for pointers to 22,731 not-freed blocks.
==13126== checked 31,545,412 bytes.
==13126==
==13126== LEAK SUMMARY:
==13126==    definitely lost: 14,163 bytes in 467 blocks.
==13126==      possibly lost: 42,465 bytes in 1,476 blocks.
==13126==    still reachable: 2,345,405 bytes in 20,788 blocks.
==13126==         suppressed: 0 bytes in 0 blocks.
==13126== Rerun with --leak-check=full to see details of leaked memory.

Hope this helps...

NB: I am running KUbuntu 9.04 RC1
Comment 1 Thomas Braun 2009-04-22 23:19:02 UTC
Are you using the ubuntu package or a self compiled version of trunk?
Maybe you can also try a current trunk version in case you have the former.
Comment 2 jde3 2009-04-23 12:31:42 UTC
I am using the Ubuntu package, as I prefer to have a quite homogeneous system. I was just reporting the bug so that it could be fixed, even if, indeed, it might have already been fixed on the trunk version of the svn...
Comment 3 Thomas Braun 2009-04-25 00:09:36 UTC
SVN commit 958882 by tbraun:

hopefully fix at least one of the bugs ...
The m_stop action in the manager might not always be a valid pointer, therefore check before dereferencing it.

CCBUG: 190483
CCBUG: 190326


 M  +1 -1      kile.cpp  
 M  +11 -3     kiletoolmanager.cpp  
 M  +3 -0      kiletoolmanager.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=958882
Comment 4 li tai fang 2009-05-02 08:59:15 UTC
... if anyone would be kind enough to tell me what I'm supposed to do with the files in that link? 
http://websvn.kde.org/?view=rev&revision=958882

Thanks
Comment 5 Thomas Braun 2009-05-03 17:16:51 UTC
SVN commit 962946 by tbraun:

Don't use this as parent as it crashes then on ubuntu jaunty.
I verified this on kubuntu using QT 4.5.
With debian lenny and qt 4.4.3 it does not crash.

Any explanations why this fix works are very appreciated ;)

BUG: 190326
CCBUG: 190483
CCMAIL: 357016@bugs.launchpad.net


 M  +4 -4      kile.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=962946
Comment 6 Dario Andres 2009-05-30 15:47:58 UTC
*** Bug 194616 has been marked as a duplicate of this bug. ***
Comment 7 ivi610 2009-06-01 17:39:25 UTC
i have the same bug on kubuntu jaunty kde 4.2.2
Comment 8 Dario Andres 2009-06-27 03:50:56 UTC
*** Bug 198022 has been marked as a duplicate of this bug. ***
Comment 9 Dario Andres 2009-07-09 19:14:14 UTC
*** Bug 199577 has been marked as a duplicate of this bug. ***
Comment 10 Pino Toscano 2009-07-20 10:17:26 UTC
*** Bug 200825 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2009-07-22 23:16:49 UTC
*** Bug 201156 has been marked as a duplicate of this bug. ***
Comment 12 Dario Andres 2009-07-24 02:55:45 UTC
*** Bug 201254 has been marked as a duplicate of this bug. ***
Comment 13 Dario Andres 2009-08-23 01:12:05 UTC
*** Bug 204718 has been marked as a duplicate of this bug. ***
Comment 14 Dario Andres 2009-08-25 16:37:52 UTC
*** Bug 205043 has been marked as a duplicate of this bug. ***
Comment 15 Dario Andres 2009-08-26 19:43:13 UTC
*** Bug 205216 has been marked as a duplicate of this bug. ***