Bug in kdevelop 2.1rc2 for KDE3.0

Thomas Huld thomas.huld at jrc.it
Thu Mar 21 08:02:38 GMT 2002


I think I have found a bug in kdevelop 2.1rc2, which causes a crash
when trying to add an existing file to the project.
 
The crash will happen every time, if the project is opened automatically
when calling kdevelop, or if it is opened using the "open recent".
However,
if kdevelop starts without loading a project (such as after a crash)
and the project is then opened with "open" followed by the selection of
the project file in the file selection dialog, the crash does *not*
occur
when trying to add and existing file.
 
If the project is first opened automatically when calling kdevelop and
then opened again using "open" it will also not crash when trying to add
a file.
 
I can also avoid the crash by starting a kdevelop session with automatic
loading of the last project and then performing some other "open file"
operation, such as File->open and opening a source file. If I then try
to add an existing file, it will work OK.
 
This seems to indicate that the crash only happens if a successful
"open file" has not yet been made. Even selecting a directory in the
open file dialog and then pressing cancel will prevent the crash later.


The crash occurs at line 82 of caddexistingfiledlg.cpp:

	destination_edit->fileDialog()->setMode(KFile::Directory);

in the constructor for CAddExistingFileDlg.

I haven't pursued the matter further since I didn't compile kdelibs
with debugging information, but it does look a bit like a kdelibs bug.


Anyway, the backtrace is:




n QObject::connect(QObject const*, char const*, QObject const*, char
const*) () from /usr/local/qt3/lib/libqt-mt.so.3
#1  0x406625be in KDirListerCache::listDir(KDirLister*, KURL const&,
bool, bool) () from /opt/kde3/lib/libkio.so.4
#2  0x4066d25d in KDirLister::openURL(KURL const&, bool, bool) () from
/opt/kde3/lib/libkio.so.4
#3  0x406bab90 in KDirOperator::connectView(KFileView*) () from
/opt/kde3/lib/libkio.so.4
#4  0x406bad45 in KDirOperator::setView(KFileView*) () from
/opt/kde3/lib/libkio.so.4
#5  0x406ba523 in KDirOperator::setView(KFile::FileView) () from
/opt/kde3/lib/libkio.so.4
#6  0x406bacd6 in KDirOperator::setMode(KFile::Mode) () from
/opt/kde3/lib/libkio.so.4
#7  0x406b49da in KFileDialog::setMode(KFile::Mode) () from
/opt/kde3/lib/libkio.so.4
#8  0x08173ddb in CAddExistingFileDlg::CAddExistingFileDlg(QWidget*,
char const*, CProject*) (this=0x8263818, parent=0x8276050,
name=0x81f19aa "test", p_prj=0x8407a98) at caddexistingfiledlg.cpp:82
#9  0x08133bf2 in CKDevelop::slotProjectAddExistingFiles()
(this=0x8276050) at ckdevelop_project.cpp:342
#10 0x08193150 in CKDevelop::qt_invoke(int, QUObject*) (this=0x8276050,
_id=162, _o=0xbfffeb60) at ckdevelop.moc.cpp:1008
#11 0x40e51adb in QObject::activate_signal(QConnectionList*, QUObject*)
() from /usr/local/qt3/lib/libqt-mt.so.3
#12 0x41165817 in QSignal::signal(QVariant const&) () from
/usr/local/qt3/lib/libqt-mt.so.3
#13 0x40e6b797 in QSignal::activate() () from
/usr/local/qt3/lib/libqt-mt.so.3
#14 0x40f54340 in QPopupMenu::mouseReleaseEvent(QMouseEvent*) () from
/usr/local/qt3/lib/libqt-mt.so.3
#15 0x40e8af2c in QWidget::event(QEvent*) () from
/usr/local/qt3/lib/libqt-mt.so.3
#16 0x40df7e45 in QApplication::internalNotify(QObject*, QEvent*) ()
from /usr/local/qt3/lib/libqt-mt.so.3
#17 0x40df740e in QApplication::notify(QObject*, QEvent*) () from
/usr/local/qt3/lib/libqt-mt.so.3
#18 0x40a1cbba in KApplication::notify(QObject*, QEvent*) () from
/opt/kde3/lib/libkdecore.so.4
#19 0x40d995d7 in QETWidget::translateMouseEvent(_XEvent const*) () from
/usr/local/qt3/lib/libqt-mt.so.3
#20 0x40d9682f in QApplication::x11ProcessEvent(_XEvent*) () from
/usr/local/qt3/lib/libqt-mt.so.3
#21 0x40d95d85 in QApplication::processNextEvent(bool) () from
/usr/local/qt3/lib/libqt-mt.so.3
#22 0x40df971d in QApplication::enter_loop() () from
/usr/local/qt3/lib/libqt-mt.so.3
#23 0x40d95c88 in QApplication::exec() () from
/usr/local/qt3/lib/libqt-mt.so.3
#24 0x080f5b64 in main (argc=1, argv=0xbffff454) at main.cpp:207
#25 0x41641280 in __libc_start_main () from /lib/libc.so.6
(gdb) 



The version of kdevelop2.1rc2 is the one for KDE 3.0. It was compiled
with
gcc-3.0.4  (So was the rest of KDE and Qt, of course). My system is 
an AMD Athlon Thunderbird machine running Mandrake Linux 8.2rc2.
The KDE version is 3.0rc2. The Qt version is the one that came with
KDE3.0rc2
(qt-copy), which is (I think) pretty much Qt 3.0.2.

Hope this helps somehow. Once you know how to avoid this bug, it is not
really a showstopper, but nevertheless...


Thomas
-- 
--------------------------------------------------
Thomas Huld
Joint Research Centre of the European Commission
T.P. 450
I-21023 Ispra
Italy
phone: +39 0332785273
e-mail: Thomas.Huld at jrc.it
--------------------------------------------------

-
to unsubscribe from this list send an email to kdevelop-request at kdevelop.org with the following body:
unsubscribe »your-email-address«



More information about the KDevelop mailing list