Bug 209654

Summary: Crash canceling the creation of a new project (CMakeManager::initializeProject, CMakeManager::parse)
Product: [Applications] kdevelop Reporter: Jonathan Thomas <echidnaman>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED WORKSFORME    
Severity: crash    
Priority: NOR    
Version: 3.9.95   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jonathan Thomas 2009-10-06 19:10:24 UTC
Version:           3.9.95 (using KDE 4.3.1)
OS:                Linux
Installed from:    Ubuntu Packages

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

To reproduce:
Project -> New from template -> Qt4 CMake GUI application -> Version control (none) -> next ->"Configure a build directory" -> Cancel
KDevelop should now crash.

The original backtrace at http://launchpadlibrarian.net/33035625/ThreadStacktrace.txt was damaged in that most of the backtrace from the first thread was missing.

I managed to get a backtrace where the first thread has all the symbols present except for the QtCore ones. In between the two it should be fairly complete, though:

.
Thread 5 (process 18546):
#0  0x00855422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x005fc981 in select () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0x00351af5 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#3  0x00282e22 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#4  0x0903e80e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#5  0x006037ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
.
Thread 4 (process 18545):
#0  0x00855422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x09043142 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2  0x006107e4 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#3  0x00283ddf in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
No symbol table info available.
#4  0x01a7b715 in KDevelop::DUChainPrivate::CleanupThread::run (
    this=0x94c3810) at ../../language/duchain/duchain.cpp:280
No locals.
#5  0x00282e22 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#6  0x0903e80e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#7  0x006037ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
.
Thread 3 (process 18544):
#0  0x00855422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x005f5ba6 in poll () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0x017da53b in g_poll () from /lib/libglib-2.0.so.0
No symbol table info available.
#3  0x017cd55b in ?? () from /lib/libglib-2.0.so.0
No symbol table info available.
#4  0x017cd853 in g_main_context_iteration () from /lib/libglib-2.0.so.0
No symbol table info available.
#5  0x0039e01c in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
No symbol table info available.
#6  0x06bb3ad5 in ?? () from /usr/lib/libQtGui.so.4
No symbol table info available.
#7  0x00371c69 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
No symbol table info available.
#8  0x003720ba in QEventLoop::exec () from /usr/lib/libQtCore.so.4
No symbol table info available.
#9  0x0037452f in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
No symbol table info available.
#10 0x06b12dc7 in QApplicationPrivate::QApplicationPrivate ()
   from /usr/lib/libQtGui.so.4
No symbol table info available.
#11 0x0804f3b3 in main (argc=1, argv=0xbf8fd114) at ../../app/main.cpp:181
	aboutData = {d = 0x92917d8}
	app = {<> = {<No data fields>}, static staticMetaObject = {d = {
      superdata = 0x7374f48, stringdata = 0x12188c0 "KApplication", 
      data = 0x1218a60, extradata = 0x0}}, static loadedByKdeinit = false, 
  static KApp = 0xbf8fcc04, d = 0x92c6860}
	count = 0
	__PRETTY_FUNCTION__ = "int main(int, char**)"
	description = "The KDevelop Integrated Development Environment"
	options = {d = 0x9298518}
	args = (KCmdLineArgs *) 0x9298738
	core = (class KDevelop::Core *) 0x931f620
	projectNames = {<QList<QString>> = {{p = {static shared_null = {
          ref = {_q_value = 8959}, alloc = 0, begin = 0, end = 0, 
          sharable = 1, array = {0x0}}, d = 0x8053344}, 
      d = 0x8053344}}, <No data fields>}
.
Thread 2 (process 18571):
#0  0x00855422 in __kernel_vsyscall ()
No symbol table info available.
#1  0x09042e15 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2  0x0061078d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#3  0x00283e57 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
No symbol table info available.
#4  0x01fcfb50 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9d76358, th=0x9b194f8)
    at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
	l = {{mtx = 0x9d67719, val = 165050137}}
#5  0x01fd21bc in ThreadWeaver::WorkingHardState::waitForAvailableJob (
    this=0x9d677b0, th=0x9b194f8)
    at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
No locals.
#6  0x01fce21b in ThreadWeaver::WeaverImpl::waitForAvailableJob (
    this=0x9d76358, th=0x9b194f8)
    at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
No locals.
#7  0x01fd22b2 in ThreadWeaver::WorkingHardState::applyForWork (
    this=0x9d677b0, th=0x9b194f8)
    at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
	next = (class ThreadWeaver::Job *) 0x0
#8  0x01fcfdd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9d76358, 
    th=0x9b194f8, previous=0x9d86af0)
    at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
No locals.
#9  0x01fd03de in ThreadWeaver::ThreadRunHelper::run (this=0xb20f5304, 
    parent=0x9d76358, th=0x9b194f8)
    at ../../../threadweaver/Weaver/Thread.cpp:87
	tmp = (class ThreadWeaver::Job *) 0x3
	job = <value optimized out>
#10 0x01fd09fb in ThreadWeaver::Thread::run (this=0x9b194f8)
    at ../../../threadweaver/Weaver/Thread.cpp:142
	helper = {<> = {<No data fields>}, static staticMetaObject = {d = {
      superdata = 0x4611a8, 
      stringdata = 0x1fd6ba0 "ThreadWeaver::ThreadRunHelper", 
      data = 0x1fd6cc0, extradata = 0x0}}, m_job = 0x0}
#11 0x00282e22 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#12 0x0903e80e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#13 0x006037ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
.
Thread 1 (process 18572):
#0  CMakeManager::initializeProject (this=0x9cf59d0, project=0x9d24d68, 
    baseUrl=@0x9d81a54) at /usr/include/qt4/QtCore/qbasicatomic.h:69
	initials = {first = {<QHash<QString, QStringList>> = {{d = 0x9e44d28, 
        e = 0x9e44d28}}, <No data fields>}, second = {<QList<QString>> = {{
        p = {static shared_null = {ref = {_q_value = 8959}, alloc = 0, 
            begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x9e45340}, 
        d = 0x9e45340}}, <No data fields>}}
	cfg = {d = 0x43e3000}
	group = {<KConfigBase> = {_vptr.KConfigBase = 0xb18f3d24}, d = {
    d = 0x0}}
	buildstrapContext = {m_topContext = 0x9cfa520}
	ref = {m_topContext = 0xb18f4244}
#1  0x04405112 in CMakeManager::parse (this=0x9cf59d0, item=0x9d84f40)
    at ../../../projectmanagers/cmake/cmakemanager.cpp:368
	curr = {m_topContext = 0x0}
	binDir = {static null = {<No data fields>}, static shared_null = {
    ref = {_q_value = 9960}, alloc = 0, size = 0, data = 0x8053322, 
    clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 
    reserved = 0, array = {0}}, static shared_empty = {ref = {
      _q_value = 158}, alloc = 0, size = 0, data = 0x46646e, clean = 0, 
    simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, 
    reserved = 0, array = {0}}, d = 0x836d5c, static codecForCStrings = 0x0}
	data = {projectName = {static null = {<No data fields>}, 
    static shared_null = {ref = {_q_value = 9960}, alloc = 0, size = 0, 
      data = 0x8053322, clean = 0, simpletext = 0, righttoleft = 0, 
      asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, 
    static shared_empty = {ref = {_q_value = 158}, alloc = 0, size = 0, 
      data = 0x46646e, clean = 0, simpletext = 0, righttoleft = 0, 
      asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x0, 
    static codecForCStrings = 0x0}, subdirectories = {<QList<QString>> = {{
        p = {static shared_null = {ref = {_q_value = 8959}, alloc = 0, 
            begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x0}, 
        d = 0x0}}, <No data fields>}, 
  includeDirectories = {<QList<QString>> = {{p = {static shared_null = {
            ref = {_q_value = 8959}, alloc = 0, begin = 0, end = 0, 
            sharable = 1, array = {0x0}}, d = 0x0}, 
        d = 0x0}}, <No data fields>}, definitions = {{d = 0x0, e = 0x0}}, 
  targets = {{p = {static shared_null = {ref = {_q_value = 8959}, alloc = 0, 
          begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x0}, 
      d = 0x0}}, folderDeclarations = {{d = 0x0, e = 0x0}}, 
  vm = {<QHash<QString, QStringList>> = {{d = 0x0, 
        e = 0x0}}, <No data fields>}, mm = {{d = 0x0, e = 0x0}}, 
  properties = {{d = 0x0, e = 0x0}}}
	currentBinDir = {static null = {<No data fields>}, 
  static shared_null = {ref = {_q_value = 9960}, alloc = 0, size = 0, 
    data = 0x8053322, clean = 0, simpletext = 0, righttoleft = 0, 
    asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, 
  static shared_empty = {ref = {_q_value = 158}, alloc = 0, size = 0, 
    data = 0x46646e, clean = 0, simpletext = 0, righttoleft = 0, 
    asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x5, 
  static codecForCStrings = 0x0}
	directories = {<QList<QString>> = {{p = {static shared_null = {ref = {
            _q_value = 8959}, alloc = 0, begin = 0, end = 0, sharable = 1, 
          array = {0x0}}, d = 0x9e3fd00}, d = 0x9e3fd00}}, <No data fields>}
	subroot = {<QUrl> = {d = 0x68c410}, d = 0x9}
	cmakeListsPath = {<QUrl> = {d = 0x9e48800}, d = 0x0}
	f = {{p = {static shared_null = {ref = {_q_value = 8959}, alloc = 0, 
        begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0x9e44fa8}, 
    d = 0x9e44fa8}}
	folder = (CMakeFolderItem *) 0x9d84f40
	entriesL = {<QList<QString>> = {{p = {static shared_null = {ref = {
            _q_value = 8959}, alloc = 0, begin = 0, end = 0, sharable = 1, 
          array = {0x0}}, d = 0x9e40a28}, d = 0x9e40a28}}, <No data fields>}
	entries = {q_hash = {{d = 0x9df9dc8, e = 0x9df9dc8}}}
	__PRETTY_FUNCTION__ = "virtual QList<KDevelop::ProjectFolderItem*> CMakeManager::parse(KDevelop::ProjectFolderItem*)"
	folderList = {{p = {static shared_null = {ref = {_q_value = 8959}, 
        alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, 
      d = 0x8053344}, d = 0x8053344}}
#2  0x00842dc0 in KDevelop::ImportProjectJobPrivate::import (this=0x9d555c8, 
    folder=0x9d84f40) at ../../project/importprojectjob.cpp:46
	subFolders = {{p = {static shared_null = {ref = {_q_value = 8959}, 
        alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, 
      d = 0x8053344}, d = 0x8053344}}
#3  0x008428b4 in QtConcurrent::VoidStoredMemberFunctionPointerCall1<void, KDevelop::ImportProjectJobPrivate, KDevelop::ProjectFolderItem*, KDevelop::ProjectFolderItem*>::runFunctor (this=0x9d81de0)
    at /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h:426
No locals.
#4  0x00842bde in QtConcurrent::RunFunctionTask<void>::run (this=0x9d81de0)
    at /usr/include/qt4/QtCore/qtconcurrentrunbase.h:120
No locals.
#5  0x002788d7 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#6  0x00282e22 in ?? () from /usr/lib/libQtCore.so.4
No symbol table info available.
#7  0x0903e80e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#8  0x006037ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
Comment 1 Andreas Pakulat 2009-10-06 19:52:23 UTC
I can't reproduce this here and the backtrace is completely bogus (having line/file info from qbasicatomicint for a call of CMakeManager::initializeProject). Additionally the line info from CMakeManager::parse() doesn't match current trunk. So either this has been already fixed in trunk/ or your build is broken (which probably means the packages I guess).