From kdevelop-bugs Sat Oct 28 20:53:37 2006 From: Tom Bech Date: Sat, 28 Oct 2006 20:53:37 +0000 To: kdevelop-bugs Subject: [Bug 136436] New: KDevelop 3.4 svn - crash in Message-Id: <20061028225335.136436.tom.bech () broadpark ! no> X-MARC-Message: https://marc.info/?l=kdevelop-bugs&m=118306955410666 ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. http://bugs.kde.org/show_bug.cgi?id=136436 Summary: KDevelop 3.4 svn - crash in QMake::AssignmentAST::writeBack when editing project settings Product: kdevelop Version: unspecified Platform: SuSE RPMs OS/Version: Linux Status: UNCONFIRMED Severity: crash Priority: NOR Component: general AssignedTo: kdevelop-bugs kdevelop org ReportedBy: tom.bech broadpark no Version: 3.4 (using KDE KDE 3.5.4) Installed from: SuSE RPMs Compiler: gcc 4.1.0 OS: Linux Using KDevelop 3.4 fresh from SVN as of 28.10.2006 on a KDE 3.5.4 on a Suse 10.1 box. I'm writing a small Qt4 application to, well, get to know qt4 :) I'm experiencing a lot of crashes involving QMake::AssignmentAST::writeBack() when using the qmake manager. I made the project using the new project wizard for a basic qt4 application with a gui. The crash is sometimes when adding files or creating new files, but it's easiest to reproduce by for example trying to edit project settings (e.g. right clicking on "src" and selecing "settings") - this will result in the following traceback when accepting the changes (for instance setting debug mode on tab 2): [KCrash handler] #6 0xb6a5f7d7 in QString::operator+= () from /usr/lib/qt3/lib/libqt-mt.so.3 #7 0xb5425674 in QMake::AssignmentAST::writeBack () from /opt/kde3/lib/libkdevqmakeparser.so.0 #8 0xb5424906 in QMake::AST::writeBack () from /opt/kde3/lib/libkdevqmakeparser.so.0 #9 0xb5424d8c in QMake::ProjectAST::writeBack () from /opt/kde3/lib/libkdevqmakeparser.so.0 #10 0xb5267d2a in Scope::saveToFile () from /opt/kde3/lib/kde3/libkdevtrollproject.so #11 0xb522a607 in ProjectConfigurationDlg::apply () from /opt/kde3/lib/kde3/libkdevtrollproject.so #12 0xb522a815 in ProjectConfigurationDlg::accept () from /opt/kde3/lib/kde3/libkdevtrollproject.so #13 0xb6aeb152 in QDialog::qt_invoke () from /usr/lib/qt3/lib/libqt-mt.so.3 #14 0xb52141d3 in ProjectConfigurationDlgBase::qt_invoke () from /opt/kde3/lib/kde3/libkdevtrollproject.so [snip] I've had a quick look at the function found in buildtools/lib/parsers/qmake/qmakeast.cpp but couldn't immediate spot any obvious wrong code. The crash results in losing the whole project file every time (it's apparently overwritten). Perhaps it would be a better idea to write back to a temp file and replace the project file if the writeback operation is successful? Thanks for your great work on KDevelop, by the way :)