Bug 55214

Summary: Add files for a second time
Product: [Applications] kdevelop Reporter: Amilcar do Carmo Lucas <a.lucas>
Component: Build tools: AutomakeAssignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: crash CC: haroldo.santos, iferca_1976
Priority: NOR    
Version: 3.0.0a4   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Amilcar do Carmo Lucas 2003-02-26 13:39:51 UTC
Version:            (using KDE KDE 3.1)
Compiler:          gcc 2.95.3 
OS:          Linux

Goto automake manager, select a target in one of your subprojects.
Select add existing files...
On the dialog box, if you type *.cpp ; *.h in the filters section that doesn't get evaluated.
But if you select *.cpp from the pull down menu that works fine.
Then you can click "Add all"
But because you also want the header files you'll select *.h from the pull down menu.
Next click "add all" to also add the .h files, KABUMMMMM, that's when the SEGFAULT happends.

Here's the backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 32534)]
0x405adf25 in KFileIconView::nextItem () from /opt/kde3/lib/libkio.so.4
(gdb) backtrace
#0  0x405adf25 in KFileIconView::nextItem () from /opt/kde3/lib/libkio.so.4
#1  0x405ab14d in KFileView::items () from /opt/kde3/lib/libkio.so.4
#2  0x41f38845 in AddExistingFilesDialog::importItems (this=0xbfffe838) at addexistingfilesdlg.cpp:138
#3  0x41f39bcf in AddExistingFilesDialog::slotAddAll (this=0xbfffe838) at addexistingfilesdlg.cpp:342
#4  0x41f3a679 in AddExistingFilesDialog::qt_invoke (this=0xbfffe838, _id=52, _o=0xbfffe188) at addexistingfilesdlg.moc:96
#5  0x40c79b74 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3
#6  0x40c79aae in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3
#7  0x40eda24c in QButton::clicked () from /usr/lib/qt3/lib/libqt-mt.so.3
#8  0x40cdf604 in QButton::mouseReleaseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3
#9  0x40ca3a66 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#10 0x40c2e8da in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3
#11 0x40c2e14e in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#12 0x408dce6b in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#13 0x40bdca7b in QETWidget::translateMouseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3
#14 0x40bdacd9 in QApplication::x11ProcessEvent () from /usr/lib/qt3/lib/libqt-mt.so.3
#15 0x40bead3a in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
#16 0x40c3ec80 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#17 0x40c2eac6 in QApplication::enter_loop () from /usr/lib/qt3/lib/libqt-mt.so.3
#18 0x40d98f29 in QDialog::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#19 0x41f1406f in AutoProjectWidget::slotAddExistingFile (this=0x84506b8) at autoprojectwidget.cpp:900
#20 0x41f19119 in AutoProjectWidget::qt_invoke (this=0x84506b8, _id=59, _o=0xbfffea08) at autoprojectwidget.moc:153
#21 0x40c79b74 in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3
#22 0x40c79aae in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3
#23 0x40eda24c in QButton::clicked () from /usr/lib/qt3/lib/libqt-mt.so.3
#24 0x40cdf604 in QButton::mouseReleaseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3
#25 0x40ca3a66 in QWidget::event () from /usr/lib/qt3/lib/libqt-mt.so.3
#26 0x40c2e8da in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3
#27 0x40c2e14e in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3
#28 0x408dce6b in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4
#29 0x40bdca7b in QETWidget::translateMouseEvent () from /usr/lib/qt3/lib/libqt-mt.so.3
#30 0x40bdacd9 in QApplication::x11ProcessEvent () from /usr/lib/qt3/lib/libqt-mt.so.3
#31 0x40bead3a in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
#32 0x40c3ec80 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3
#33 0x40c3ebc7 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#34 0x40c2ea56 in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3
#35 0x08068de3 in main (argc=1, argv=0xbffff234) at main.cpp:78
#36 0x4123a9ed in __libc_start_main () from /lib/libc.so.6
Comment 1 Caleb Tennis 2003-02-28 21:12:23 UTC
I can't seem to recreate this with the current cvs.  Does it still crash for you? 
Comment 2 Amilcar do Carmo Lucas 2003-03-12 11:27:01 UTC
Sorry. Dumb old me. Of couse the pull down menu did't work !!!! I had no file groups defined!!! 
 
I went to Project Options > File groups and added a *.cpp and a *.h group. 
Then it worked And I could recreate the CRASH. 
This was with KDevelop 3.0 from today's CVS 
 
I think the bug has something to do with importing the subdirectory named CVS twice (the 
autoproject part should ignore this subdirectories, because they don't contain any usefull info, after alll 
the isn't any source code in them ;) ). 
 
Hope this helps. 
Amilcar 
 
Comment 3 Amilcar do Carmo Lucas 2003-05-20 17:30:19 UTC
I was able to reproduce this today. 
This time it didn't crash when I pressed "Add all" for the second time, but when I 
pressed OK in the end 
Comment 4 Amilcar do Carmo Lucas 2003-05-23 13:24:37 UTC
OK, I've tracked it down! 
 
The  importView pointer is invalid when the function 
AddExistingFilesDialog::importItems() 
is called for the second time. 
 
But I have no clue what makes this pointer become invalid between the first and 
second invocation of AddExistingFilesDialog::importItems()    :( 
 
I gess it has something to do with the file filter, but I'm not sure. 
  
Comment 5 Amilcar do Carmo Lucas 2004-03-05 14:55:13 UTC
*** Bug 76828 has been marked as a duplicate of this bug. ***
Comment 6 Daniel Franke 2005-01-27 19:30:05 UTC
Seems to be fixed in kdevelop-3.1.91 (recent CVS)
 * automake manager -> add existing files to target
 * select filter *.cpp 
 * add all
 * select filter *.h
 * add all
 * ok
Files are added, everything's fine.
Comment 7 Amilcar do Carmo Lucas 2005-01-27 19:39:28 UTC
I've tested this two weeks ago and it did not work.
I'll test it again and if it works, i'll close it.
Comment 8 Andreas Roth 2005-06-03 18:58:55 UTC
In Version 3.2.1 this case does not occur anymore, since you cannot add files twice. you get an warning that the file is already part of the projects. 
So maybe close this case?
Comment 9 Amilcar do Carmo Lucas 2005-06-13 14:33:11 UTC
Well the problem was not the same files twice. The problem was to add diferent files, first select .cc files in the filter than .h in the filter.

It'll retest this once I get my local svn to work again.
Comment 10 Megan Webb 2006-12-07 21:46:15 UTC
I think my fix for a problem on the fileselectorwidget fixed this. I was able to reproduce this before that fix, but now cannot.

That fix was to the 3.4 branch, revision 611365

Please reopen this bug if the problem returns or persists.

Comment 11 Megan Webb 2006-12-07 21:46:58 UTC
*** Bug 138498 has been marked as a duplicate of this bug. ***