Bug 57902 - crash when closing a document (FreeBSD, Solaris)
Summary: crash when closing a document (FreeBSD, Solaris)
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 3.0.0a4
Platform: Compiled Sources Solaris
: NOR crash
Target Milestone: ---
Assignee: KDevelop Developers
URL:
Keywords:
: 74385 74936 75066 76164 76641 77765 80364 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-04-30 16:13 UTC by Daniel Franke
Modified: 2004-09-13 23:28 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Franke 2003-04-30 16:13:40 UTC
Version:           3.0.0a4 (using KDE KDE 3.1.1)
Installed from:    Compiled From Sources
Compiler:          gcc-3.2.2 
OS:          Solaris

After creating new project and changing anything in text (some whitespaces) and using 
	File->Close 
without saving, kdevelop crahes when discarding changes by pressing button "Discard".
Comment 1 Daniel Franke 2003-04-30 17:08:31 UTC
Adding the following info: try to close any file any time ... 
Open a project, open a file and close it again without editing anything -> crash 
Comment 2 Jens Dagerbo 2003-04-30 17:35:31 UTC
is it the same backtrace as http://bugs.kde.org/show_bug.cgi?id=57594 and 
http://bugs.kde.org/show_bug.cgi?id=57841 ? 
Comment 3 Amilcar do Carmo Lucas 2003-05-22 16:11:25 UTC
I can not reproduce it here. 
Can you do a cvs update, and see if the problem presists? 
If it does please specify you QT version. 
  
Comment 4 Daniel Franke 2003-07-04 15:26:58 UTC
I updated to current CVS 030704, full debug build, run in gdb: 
Action: add some characters to file, right-click file-tab -> close 
 
[last messages in gdb]: 
kdevelop (cpp support): updating sourceinfo 
kdevelop (class view): MethodListAction::refresh 
kdevelop (class view): MethodListAction::refresh 
kdevelop (class view): MethodListAction::refresh 
kdevelop (class view): MethodListAction::refresh 
kdevelop (cpp support): ProblemReporter::reparse() 
kdevelop (cpp support): ---> file added 
kdevelop (cpp support): CppSupportPart::customEvent() 
kdevelop (cpp support): ----------> file 
/home/franke/devel/sibsim/src/quantitative-phenotype/quantitative-phenotype.cpp 
parsed 
kdevelop (cpp support): CppCodeCompletion::computeRecoveryPoints 
kdevelop (cpp support): found 1 recovery points 
kparts: ReadWritePart::setModified( true) 
kdevelop (core): MainWindowIDEAl::slotNewStatus() 
kdevelop (cpp support): ProblemReporter::reparse() 
kdevelop (cpp support): ---> file added 
kdevelop (cpp support): CppSupportPart::customEvent() 
kdevelop (cpp support): ----------> file 
/home/franke/devel/sibsim/src/quantitative-phenotype/quantitative-phenotype.cpp 
parsed 
kdevelop (cpp support): CppCodeCompletion::computeRecoveryPoints 
kdevelop (cpp support): found 1 recovery points 
kparts: ReadWritePart::setModified( false) 
kdevelop (core): MainWindowIDEAl::slotNewStatus() 
gideon: BookmarksPart::marksChanged() 
gideon: found a MarkInterface 
gideon: No bookmarks in  - Deleting 
 
Program received signal SIGSEGV, Segmentation fault. 
0x807f0 in _ZN8QPtrListI12HistoryEntryE10deleteItemEPv ( 
    this=<incomplete type>, d=0xcc9120) at /usr/local/qt3/include/qshared.h:50 
50          bool deref()        { return !--count; } 
 
 
[backtrace] 
(gdb) bt 
#0  0x807f0 in _ZN8QPtrListI12HistoryEntryE10deleteItemEPv ( 
    this=<incomplete type>, d=0xcc9120) at /usr/local/qt3/include/qshared.h:50 
#1  0x7e890a78 in _ZN6QGList6removeEPv () from /usr/local/qt3/lib/libqt-mt.so.3 
#2  0x7d0e6628 in _ZN11HistoryPart11partRemovedEPN6KParts4PartE ( 
    this=<incomplete type>, part=0x116c070) 
    at /usr/local/qt3/include/qptrlist.h:143 
#3  0x7d0e6918 in _ZN11HistoryPart9qt_invokeEiP8QUObject ( 
    this=<incomplete type>, _id=18268272, _o=0xffbee938) 
    at /usr/local/qt3/include/private/qucom_p.h:312 
#4  0x7e6637f4 in 
_ZN7QObject15activate_signalEP15QConnectionListP8QUObject () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#5  0x7f5c79ec in _ZN6KParts11PartManager11partRemovedEPNS_4PartE () 
   from /usr/local/kde3/lib/libkparts.so.2 
#6  0x7f5c647c in _ZN6KParts11PartManager10removePartEPNS_4PartE () 
   from /usr/local/kde3/lib/libkparts.so.2 
#7  0x4be9c in _ZN14PartController9closePartEPN6KParts4PartE ( 
    this=<incomplete type>, part=0x116c070) at partcontroller.cpp:536 
#8  0x4e51c in _ZN14PartController9qt_invokeEiP8QUObject ( 
    this=<incomplete type>, _id=18268272, _o=0xffbeebe0) 
    at partcontroller.moc:168 
#9  0x7e6638a8 in 
_ZN7QObject15activate_signalEP15QConnectionListP8QUObject () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#10 0x7e663708 in _ZN7QObject15activate_signalEi () 
---Type <return> to continue, or q <return> to quit--- 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#11 0x7f015c28 in _ZN7KAction9qt_invokeEiP8QUObject () 
   from /usr/local/kde3/lib/libkdeui.so.4 
#12 0x7e6638a8 in 
_ZN7QObject15activate_signalEP15QConnectionListP8QUObject () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#13 0x7e663708 in _ZN7QObject15activate_signalEi () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#14 0x7ede73a8 in _ZN13KAccelPrivate11eventFilterEP7QObjectP6QEvent () 
   from /usr/local/kde3/lib/libkdecore.so.4 
#15 0x7e66158c in _ZN7QObject16activate_filtersEP6QEvent () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#16 0x7e6614cc in _ZN7QObject5eventEP6QEvent () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#17 0x7e692eb4 in _ZN7QWidget5eventEP6QEvent () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#18 0x7e72caac in _ZN11QMainWindow5eventEP6QEvent () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#19 0x7e612290 in _ZN12QApplication14internalNotifyEP7QObjectP6QEvent () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#20 0x7e611c84 in _ZN12QApplication6notifyEP7QObjectP6QEvent () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#21 0x7ed6d098 in _ZN12KApplication6notifyEP7QObjectP6QEvent () 
   from /usr/local/kde3/lib/libkdecore.so.4 
#22 0x7ede4568 in _ZN18KAccelEventHandler8x11EventEP7_XEvent () 
   from /usr/local/kde3/lib/libkdecore.so.4 
#23 0x7ed723c4 in _ZN12KApplication14x11EventFilterEP7_XEvent () 
   from /usr/local/kde3/lib/libkdecore.so.4 
#24 0x7e5ae854 in _Z17qt_x11EventFilterP7_XEvent () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#25 0x7e5b8888 in _ZN12QApplication15x11ProcessEventEP7_XEvent () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#26 0x7e5cd168 in _ZN10QEventLoop13processEventsEj () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#27 0x7e624bc8 in _ZN10QEventLoop9enterLoopEv () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#28 0x7e624a98 in _ZN10QEventLoop4execEv () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#29 0x7e6124c0 in _ZN12QApplication4execEv () 
   from /usr/local/qt3/lib/libqt-mt.so.3 
#30 0x41bac in main (argc=1, argv=0xb48e8) at main.cpp:125 
 
(QT-version: 3.1.2) 
Comment 5 Amilcar do Carmo Lucas 2003-09-19 21:16:41 UTC
Can you: 
- Uninstall gideon. 
- Delete all kdev* and gideon* files and directories in your ~/.kde directory. 
- Update to the latest CVS. 
- Install it 
- retry 
 
You are the only one reporting this. So there are big chances this this will 
fix it! 
Comment 6 Daniel Franke 2003-09-23 12:05:49 UTC
 
Please imagine following setup: 
 * SUN Blade2000, Dual sparc processor, solaris 8,  
    gcc-3.2.2, kde 3.1.2 (compiler from sunfreeware.com, kde compiled from sources) 
 * standard desktop pc, single intel pentium IV, linux, 
    gcc-3.3, kde 3.1.1 (both SuSE 8.2 rpm packages) 
 * home directory mounted from a third source by NFS 
 * kdevelop CVS from 03/09/22, build once on linux, once on solaris 
 
After removing all files as suggested, I tried to open and close a file on intel based platform. 
Worked fine for me there. Then: 
  $>ssh -X my-solaris-box 
  $>gideon 
opening the same file in my home directory and closing it afterwards -> crash. Of these 
crashes I posted some backtraces earlier this month in the kdevelop mailing-list, Roberto Ragi 
asked for them. Never heard of again. 
 
Any suggestions? 
Thnx! 
 
P.S. I only recently switched from Win to linux here, so I can go on developing on linux, but 
working on solaris using remote kdm login was really fun :) 
Comment 7 Jens Dagerbo 2003-11-03 12:41:12 UTC
The way I read comment #6 it says that the reported bug is fixed, but a crash with a different backtrace was found. If this is the case, this bug should be closed and a new opened.

Closing bug, please reopen if I got it wrong. :)

(Closing as INVALID as it seems to have been fixed by removing stale binaries.)
Comment 8 Daniel Franke 2003-11-03 13:30:48 UTC
Jens,
comment #6 said:
It worked fine on linux/intel - but didn't on solaris/sparc. 
I hadn't tried since then, time was too short. 
Maybe I can give it another try soon ... 

Daniel

Comment 9 Jens Dagerbo 2003-12-16 09:26:19 UTC
It seems we didn't fix this one after all:

http://lists.kde.org/?l=kdevelop-devel&m=107106090030523&w=2
Comment 10 Daniel Franke 2004-01-12 21:04:18 UTC
CVS 04/01/12:

Program received signal SIGSEGV, Segmentation fault.
0x6d390 in _ZN7QShared5derefEv (this=0x610072)
    at /usr/local/qt3/include/qshared.h:50
50          bool deref()        { return !--count; }

(gdb) bt
#0  0x6d390 in _ZN7QShared5derefEv (this=0x610072)
    at /usr/local/qt3/include/qshared.h:50
#1  0x6bdfc in _ZN7QStringD1Ev (this=0x12bdff8)
    at /usr/local/qt3/include/qstring.h:769
#2  0x8049c in _ZN12HistoryEntryD1Ev (this=<incomplete type>)
    at /usr/local/qt3/include/qptrlist.h:119
#3  0x803e4 in _ZN8QPtrListI12HistoryEntryE10deleteItemEPv (
    this=<incomplete type>, d=0x12bdfd0)
    at /usr/local/qt3/include/qptrlist.h:119
#4  0x7e490a78 in _ZN6QGList6removeEPv () from /usr/local/qt3/lib/libqt-mt.so.3
#5  0x7ce97848 in _ZN8QPtrListI12HistoryEntryE6removeEPKS0_ (
    this=<incomplete type>, d=0x12bdfd0)
    at /usr/local/qt3/include/qptrlist.h:70
#6  0x7ce96cd4 in _ZN11HistoryPart11partRemovedEPN6KParts4PartE (
    this=<incomplete type>, part=0x1178460) at historypart.cpp:245
#7  0x7ce96f4c in _ZN11HistoryPart9qt_invokeEiP8QUObject (
    this=<incomplete type>, _id=2, _o=0xffbee850) at historypart.moc:110
#8  0x7e2637f4 in _ZN7QObject15activate_signalEP15QConnectionListP8QUObject ()
   from /usr/local/qt3/lib/libqt-mt.so.3
#9  0x7f327e08 in _ZN6KParts11PartManager11partRemovedEPNS_4PartE ()
   from /usr/local/kde3/lib/libkparts.so.2
#10 0x7f326898 in _ZN6KParts11PartManager10removePartEPNS_4PartE ()
   from /usr/local/kde3/lib/libkparts.so.2
#11 0x49478 in _ZN14PartController9closePartEPN6KParts4PartE (
    this=<incomplete type>, part=0x1178460) at partcontroller.cpp:625
#12 0x493b4 in _ZN14PartController15closeActivePartEv (this=<incomplete type>)
    at partcontroller.cpp:595
#13 0x49d00 in _ZN14PartController15slotCloseWindowEv (this=<incomplete type>)
    at partcontroller.cpp:718
#14 0x4c770 in _ZN14PartController9qt_invokeEiP8QUObject (
    this=<incomplete type>, _id=14, _o=0xffbeebf0) at partcontroller.moc:201
#15 0x7e2638a8 in _ZN7QObject15activate_signalEP15QConnectionListP8QUObject ()
[...]
Comment 11 Daniel Franke 2004-01-13 16:26:36 UTC
I had a closer look at historypart.cpp. In HistoryPart::HistoryPart, 
autoDelete of HistoryPart::m_history is enabled:
--
m_history.setAutoDelete(true);
--

Diabling this, the crash described above disappears. 
It seems as if 'part' is deleted twice in:
--
void HistoryPart::partRemoved(KParts::Part *part)
{
  QPtrListIterator<HistoryEntry> it(m_history);

   for ( ; it.current(); ++it)
     if (it.current()->m_part == part)
       m_history.remove(it.current()); // crash here, if autoDelete() == true

  updateActions();
}

I can't get all the implications of disabling autoDelete, maybe anyone could explain this detail? 

[btw, I' using qt-x11-free-3.1.2 (solaris)]
Comment 12 Jens Dagerbo 2004-02-06 23:56:24 UTC
*** Bug 74385 has been marked as a duplicate of this bug. ***
Comment 13 Jens Dagerbo 2004-02-11 12:53:35 UTC
*** Bug 74936 has been marked as a duplicate of this bug. ***
Comment 14 Jens Dagerbo 2004-02-12 14:14:24 UTC
*** Bug 75066 has been marked as a duplicate of this bug. ***
Comment 15 Jens Dagerbo 2004-02-26 08:40:19 UTC
*** Bug 76164 has been marked as a duplicate of this bug. ***
Comment 16 Jens Dagerbo 2004-03-03 12:08:35 UTC
*** Bug 76641 has been marked as a duplicate of this bug. ***
Comment 17 Amilcar do Carmo Lucas 2004-03-03 12:12:44 UTC
Better description
Comment 18 Jens Dagerbo 2004-03-16 15:20:50 UTC
*** Bug 77765 has been marked as a duplicate of this bug. ***
Comment 19 Jens Dagerbo 2004-03-22 05:07:24 UTC
Better description
Comment 20 Jens Dagerbo 2004-04-20 10:41:19 UTC
Fixed in HEAD. (The History plugin is history..) ;)
Comment 21 Jens Dagerbo 2004-04-26 11:22:34 UTC
*** Bug 80364 has been marked as a duplicate of this bug. ***
Comment 22 Lonnie VanZandt 2004-09-13 23:28:21 UTC
Hmm, kdevelop 3.1.0 (using KDE 3.3.0) on FreeBSD 5.2.1 built from the cvsup'd /usr/ports has a remarkedly similar crash on the close of any file. No History plugin exists (as noted in Commet #20 above).