Crash under win32

Andreas Pakulat apaku at gmx.de
Tue Oct 21 20:13:28 UTC 2008


Hi,

I had hoped I could blog about kdev4 on win32 again today, but
unfortunately opening a project fails currently. Its a crash deep in
duchain, from the cmake manager. The backrace is below, its not very
extensive, but at least has line information (though they seem to be off by
one). Basically it crashes inside syncFromSmart when creating the mutex
locker. At the end after the backtrace you can see the this pointer inside
::range and ::syncFromSmart. As you can see the m_smartRange and
m_smartMutex are both 0, so somethings wrong

I need some help here as I basically have no idea where to start looking.

Andreas

	kdevplatformlanguage.dll!KDevelop::DocumentRangeObject::syncFromSmart()  Zeile 60	C++
 	kdevplatformlanguage.dll!KDevelop::DocumentRangeObject::range()  Zeile 173	C++
 	kdevplatformlanguage.dll!KDevelop::DUContextDynamicData::addDeclaration(KDevelop::Declaration * newDeclaration=0x085b7130)  Zeile 368 + 0xc Bytes	C++
 	kdevplatformlanguage.dll!KDevelop::Declaration::setContext(KDevelop::DUContext * context=0x085b71c0, bool anonymous=false)  Zeile 392	C++
 	kdevplatformlanguage.dll!KDevelop::Declaration::Declaration(const KDevelop::SimpleRange & range={...}, KDevelop::DUContext * context=0x085b71c0)  Zeile 110	C++
 	kdev4cmakecommon.dll!CMakeProjectVisitor::createDefinitions(const CMakeAst * ast=0x085b4040)  Zeile 1830 + 0x57 Bytes	C++
 	kdev4cmakecommon.dll!CMakeProjectVisitor::walk(const QList<CMakeFunctionDesc> & fc={...}, int line=74)  Zeile 1800	C++
 	kdev4cmakecommon.dll!CMakeProjectVisitor::visit(const IfAst * ifast=0x0857a918)  Zeile 928 + 0x15 Bytes	C++
 	kdev4cmakecommon.dll!CMakeProjectVisitor::walk(const QList<CMakeFunctionDesc> & fc={...}, int line=67)  Zeile 1802	C++
 	kdevcmakemanager.dll!CMakeProjectManager::includeScript(const QString & file={...}, KDevelop::IProject * project=0x06736480)  Zeile 369	C++
 	kdevcmakemanager.dll!CMakeProjectManager::initializeProject(KDevelop::IProject * project=0x06736480, const KUrl & baseUrl={...})  Zeile 287 + 0x59 Bytes	C++
 	kdevcmakemanager.dll!CMakeProjectManager::import(KDevelop::IProject * project=0x06736480)  Zeile 334	C++
 	kdevplatformshell.dll!KDevelop::Project::open(const KUrl & projectFileUrl_={...})  Zeile 338 + 0xa Bytes	C++
 	kdevplatformshell.dll!KDevelop::ProjectController::openProject(const KUrl & projectFile={...})  Zeile 359 + 0x13 Bytes	C++

In ::range():
-		this	0x034283d0 {m_context=0x08348ab8 m_topContext=0x08348ab8 m_indexInTopContext=1 }	const KDevelop::DocumentRangeObject * const
+		KTextEditor::SmartRangeWatcher	{m_wantDirectChanges=true }	KTextEditor::SmartRangeWatcher
+		d_ptr	0x085aeca0 {m_range={...} m_dynamic=true }	KDevelop::DocumentRangeObjectData *
+		dd_ptr	0x03428410 {m_smartRange=0x00000000 m_smartMutex=0x00000000 m_ownsRange=DontOwn }	KDevelop::DocumentRangeObjectDynamicPrivate * const
		m_ownsData	true	bool

In ::syncFromSmart():
-		this	0x034283d0 {m_context=0x08348ab8 m_topContext=0x08348ab8 m_indexInTopContext=1 }	const KDevelop::DocumentRangeObject * const
+		KTextEditor::SmartRangeWatcher	{m_wantDirectChanges=true }	KTextEditor::SmartRangeWatcher
+		d_ptr	0x085aeca0 {m_range={...} m_dynamic=true }	KDevelop::DocumentRangeObjectData *
+		dd_ptr	0x03428410 {m_smartRange=0x00000000 m_smartMutex=0x00000000 m_ownsRange=DontOwn }	KDevelop::DocumentRangeObjectDynamicPrivate * const
		m_ownsData	true	bool
+		l	{mtx=0x034283d0 val=54690768 }	QMutexLocker

-- 
An avocado-tone refrigerator would look good on your resume.




More information about the KDevelop-devel mailing list