Bug 78788 - Crash when opening project
Summary: Crash when opening project
Status: RESOLVED WORKSFORME
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 3.0.2
Platform: Slackware Linux
: NOR crash
Target Milestone: ---
Assignee: KDevelop Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-31 07:18 UTC by reebydobalina
Modified: 2004-03-31 17:15 UTC (History)
0 users

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 reebydobalina 2004-03-31 07:18:50 UTC
Version:           3.0.2 (using KDE KDE 3.2.1)
Installed from:    Slackware Packages
Compiler:          gcc 3.3.3 
OS:          Linux

KDevelop crashes when opening a project or trying to create a new project. I have disabled ALL plugins and it still crashes.  I have tried changing the editor to the qt editor and it still crashes.

I am using Slackware-current: Qt 3.3.1, KDE 3.2.1, KDevelop 3.0.2

I recompiled kdevelop from source using --enable-debug=full flag and ran gdb on it, and below is as far as I got -> it crashes after the cpp BackgroundParser QThread is started.



kdevelop (core): dcop emitting project opened

Breakpoint 3, MainWindow::slotReactToProjectOpened() (this=0x81489f8) at mainwindow.cpp:1250
1250        for (; it.current(); ++it) {
(gdb) break mainwindow.moc:187
Breakpoint 4 at 0x806aeb7: file mainwindow.moc, line 187.
(gdb) disable 3
(gdb) c
Continuing.

Breakpoint 4, MainWindow::qt_invoke(int, QUObject*) (this=0x81489f8, _id=162, _o=0xbffff1f0)
    at mainwindow.moc:187
187         return TRUE;
(gdb) step
188     }
(gdb) step
0x4112c336 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
(gdb) step
Single stepping until exit from function _ZN7QObject15activate_signalEP15QConnectionListP8QUObject,
which has no line number information.
FileCreatePart::qt_invoke(int, QUObject*) (this=0x824b1d0, _id=2, _o=0xbffff1f0)
    at filecreate_part.moc:104
104         switch ( _id - staticMetaObject()->slotOffset() ) {
(gdb) next
105         case 0: slotProjectOpened(); break;
(gdb) next
115         return TRUE;
(gdb) next
116     }
(gdb) next
0x4112c336 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/qt/lib/libqt-mt.so.3
(gdb) step
Single stepping until exit from function _ZN7QObject15activate_signalEP15QConnectionListP8QUObject,
which has no line number information.
CppSupportPart::qt_invoke(int, QUObject*) (this=0x8263100, _id=4, _o=0xbffff1f0)
    at cppsupportpart.moc:201
201         switch ( _id - staticMetaObject()->slotOffset() ) {
(gdb) next
204         case 2: projectOpened(); break;
(gdb) step
CppSupportPart::projectOpened() (this=0x8263100) at cppsupportpart.cpp:370
370         kdDebug( 9007 ) << "projectOpened( )" << endl;
(gdb) next
kdevelop (cpp support): projectOpened( )
372         m_backgroundParser = new BackgroundParser( this, &m_eventConsumed );
(gdb) step
BackgroundParser (this=0x843f2f0, part=0x8263100, consumed=0x826316c) at backgroundparser.cpp:185
185     {
(gdb) next
186         m_fileList = new SynchronizedFileList();
(gdb) next
187         m_driver = new KDevDriver( m_cppSupport );
(gdb) next
188         m_driver->setSourceProvider( new KDevSourceProvider(m_cppSupport) );
(gdb) next
190         QString conf_file_name = m_cppSupport->specialHeaderName();
(gdb) next
191         if( QFile::exists(conf_file_name) )
(gdb) next
192             m_driver->parseFile( conf_file_name, true );
(gdb) next
195     }
(gdb) next
CppSupportPart::projectOpened() (this=0x8263100) at cppsupportpart.cpp:373
373         m_backgroundParser->start();
(gdb) step

Program received signal SIG32, Real-time event 32.
0x4196c2e1 in sigpending () from /lib/libc.so.6
(gdb) bt
#0  0x4196c2e1 in sigpending () from /lib/libc.so.6
#1  0x4196c3a7 in sigsuspend () from /lib/libc.so.6
#2  0x41801258 in pthread_getconcurrency () from /lib/libpthread.so.0
#3  0x41800ac5 in pthread_create () from /lib/libpthread.so.0
#4  0x410c4908 in QThread::start(QThread::Priority) () from /usr/lib/qt/lib/libqt-mt.so.3
#5  0x410c4a48 in QThread::start() () from /usr/lib/qt/lib/libqt-mt.so.3
#6  0x00000007 in ?? ()
#7  0x40e1e9ec in kde_malloc_is_used () from /opt/kde/lib/libkdecore.so.4
#8  0x082dbb28 in ?? ()
#9  0x410c4a20 in QThread::start(QThread::Priority) () from /usr/lib/qt/lib/libqt-mt.so.3
Previous frame inner to this frame (corrupt stack?)
Comment 1 reebydobalina 2004-03-31 17:15:24 UTC
Never mind, after learning a bit more about using gdb with a threaded program, I figured out that the crash was because of a seg fault in the KDE Style I was using:

Program received signal SIGSEGV, Segmentation fault.
0x42042d44 in slickerstyle::drawComplexControl(QStyle::ComplexControl, QPainter*, QWidget const*, QRect const&, QColorGroup const&, unsigned, unsigned, unsigned, QStyleOption const&) const ()
   from /opt/kde/lib/kde3/plugins/styles/slicker.so