Summary: | crash when closing a document (FreeBSD, Solaris) | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Daniel Franke <franke.daniel> |
Component: | general | Assignee: | KDevelop Developers <kdevelop-devel> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | dako, davojan, dw, eugenydzh, igorpopov, lofi, voliyny |
Priority: | NOR | ||
Version: | 3.0.0a4 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Solaris | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Daniel Franke
2003-04-30 16:13:40 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 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 ? 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. 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) 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! 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 :) 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.) 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 It seems we didn't fix this one after all: http://lists.kde.org/?l=kdevelop-devel&m=107106090030523&w=2 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 () [...] 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)] *** Bug 74385 has been marked as a duplicate of this bug. *** *** Bug 74936 has been marked as a duplicate of this bug. *** *** Bug 75066 has been marked as a duplicate of this bug. *** *** Bug 76164 has been marked as a duplicate of this bug. *** *** Bug 76641 has been marked as a duplicate of this bug. *** Better description *** Bug 77765 has been marked as a duplicate of this bug. *** Better description Fixed in HEAD. (The History plugin is history..) ;) *** Bug 80364 has been marked as a duplicate of this bug. *** 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). |