| Summary: | Gideon crashes when saving h-files | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | Dominik Kuhlen <dkuhlen> |
| Component: | general | Assignee: | KDevelop Developers <kdevelop-devel> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | harry |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
Can you please configure (and rebuild/reinstall) KDevelop with "--enable-debug" and send a new backtrace? Sorry, hope this shows more information
[New Thread 1024 (LWP 29404)]
[New Thread 2049 (LWP 29406)]
0x415c59f9 in __wait4 () from /lib/libc.so.6
#0 0x415c59f9 in __wait4 () from /lib/libc.so.6
#1 0x4163d0e4 in __DTOR_END__ () from /lib/libc.so.6
#2 0x41475d76 in waitpid (pid=29409, stat_loc=0x0, options=0)
at wrapsyscall.c:173
#3 0x4093aa64 in KCrash::defaultCrashHandler ()
from /opt/kde-3.0.5a/lib/libkdecore.so.4
#4 0x41473c30 in pthread_sighandler (signo=11, ctx=
{gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh
= 0, edi = 16, esi = 3221220496, ebp = 3221220364, esp = 3221220364, ebx =
1077530780, edx = 3221220496, ecx = 138414208, eax = 80, trapno = 14, err = 4,
eip = 1090376754, cs = 35, __csh = 0, eflags = 66179, esp_at_signal =
3221220364, ss = 43, __ssh = 0, fpstate = 0xbfffe990, oldmask = 2147483648, cr2
= 80})
at signals.c:97
#5 <signal handler called>
#6 0x40fdd432 in QString::QString () from /opt/qt/lib/libqt-mt.so.3
#7 0x4037b5f3 in ParsedItem::declaredInFile (this=0x10) at parseditem.h:200
#8 0x40365afe in ClassStore::removeWithReferences (this=0x812b4e8,
fileName=@0xbfffed5c) at classstore.cpp:488
#9 0x41ba8659 in CppSupportPart::maybeParse (this=0x82ad788, fileName=
{static null = {static null = <same as static member of an already seen
type>, d = 0x80ace60, static shared_null = 0x80ace60}, d = 0xbfffed5c, static
shared_null = 0x80ace60}, store=0x812b4e8, parser=0x81e8a38)
at cppsupportpart.cpp:1027
#10 0x41ba4329 in CppSupportPart::savedFile (this=0x82ad788,
fileName=@0x83f4510) at cppsupportpart.cpp:482
#11 0x41ba9b0f in CppSupportPart::qt_invoke (this=0x82ad788, _id=5,
_o=0xbfffee24) at cppsupportpart.moc:153
#12 0x40d022f8 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#13 0x40d02659 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#14 0x08094c42 in KDevPartController::savedFile (this=0x8157738,
t0=@0xbfffeedc) at kdevpartcontroller.moc:90
#15 0x08073607 in PartController::slotUploadFinished (this=0x8157738)
at partcontroller.cpp:290
#16 0x080751d9 in PartController::qt_invoke (this=0x8157738, _id=15,
_o=0xbfffefa8) at partcontroller.moc:126
#17 0x40d022f8 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#18 0x40d0213e in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#19 0x41ea907b in KateDocument::fileNameChanged ()
from /opt/kde-3.0.5a/lib/libkatepart.so
#20 0x41eb0b8f in KateDocument::saveFile ()
from /opt/kde-3.0.5a/lib/libkatepart.so
#21 0x403d02d1 in KParts::ReadWritePart::save ()
from /opt/kde-3.0.5a/lib/libkparts.so.2
#22 0x403d064c in KParts::ReadWritePart::saveAs ()
from /opt/kde-3.0.5a/lib/libkparts.so.2
#23 0x41ed1e7f in KateView::save () from /opt/kde-3.0.5a/lib/libkatepart.so
#24 0x41ec9ccf in KateView::qt_invoke ()
from /opt/kde-3.0.5a/lib/libkatepart.so
#25 0x40d02254 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#26 0x40d0213e in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#27 0x40711cc8 in KAction::activated () from /opt/kde-3.0.5a/lib/libkdeui.so.4
#28 0x407077ce in KAction::slotActivated ()
from /opt/kde-3.0.5a/lib/libkdeui.so.4
#29 0x40711ecb in KAction::qt_invoke () from /opt/kde-3.0.5a/lib/libkdeui.so.4
#30 0x40d022f8 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#31 0x40d0213e in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#32 0x4105577f in QButton::clicked () from /opt/qt/lib/libqt-mt.so.3
#33 0x40d96180 in QButton::mouseReleaseEvent () from /opt/qt/lib/libqt-mt.so.3
#34 0x40d3de87 in QWidget::event () from /opt/qt/lib/libqt-mt.so.3
#35 0x40c96d7f in QApplication::internalNotify ()
from /opt/qt/lib/libqt-mt.so.3
#36 0x40c96739 in QApplication::notify () from /opt/qt/lib/libqt-mt.so.3
#37 0x408c5315 in KApplication::notify ()
from /opt/kde-3.0.5a/lib/libkdecore.so.4
#38 0x40c387bf in QETWidget::translateMouseEvent ()
from /opt/qt/lib/libqt-mt.so.3
#39 0x40c36547 in QApplication::x11ProcessEvent ()
from /opt/qt/lib/libqt-mt.so.3
#40 0x40c4bae8 in QEventLoop::processEvents () from /opt/qt/lib/libqt-mt.so.3
#41 0x40cadd2e in QEventLoop::enterLoop () from /opt/qt/lib/libqt-mt.so.3
#42 0x40cadc7a in QEventLoop::exec () from /opt/qt/lib/libqt-mt.so.3
#43 0x40c96fb1 in QApplication::exec () from /opt/qt/lib/libqt-mt.so.3
#44 0x080686c4 in main (argc=1, argv=0xbffffba4) at main.cpp:79
#45 0x4153c91d in __libc_start_main (main=0x8068170 <main>, argc=1,
ubp_av=0xbffffba4, init=0x806357c <_init>, fini=0x80995dc <_fini>,
rtld_fini=0x4000b9bc <_dl_fini>, stack_end=0xbffffb9c)
at ../sysdeps/generic/libc-start.c:129
There are two possible "crashpoints": the one above (in qstring) and this one:
I compiled QT with debug support and started gideon with gdb
heres the interesting output:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 26492)]
0x4036a083 in QMapIterator<QString, ParsedClass *>::inc (this=0xbfffe9c4) at
/opt/qt/include/qmap.h:171
171 while ( tmp->left )
(gdb) display tmp
1: tmp = (QMapNodeBase *) 0x10
(gdb) up
#1 0x4036bfa3 in QMapIterator<QString, ParsedClass *>::operator++
(this=0xbfffe9c4)
at /opt/qt/include/qmap.h:143
143 inc();
(gdb) up
#2 0x4036632e in ClassStore::removeWithReferences (this=0x812f160,
fileName=@0xbfffea8c) at classstore.cpp:490
490 }
(gdb) up
#3 0x41e34639 in CppSupportPart::maybeParse (this=0x821ee20,
fileName=Internal: global symbol `_7QString.null' found in tools/qstring.cpp
psymtab but not in symtab.
_7QString.null may be an inlined function, or may be a template function
(if a template, try specifying an instantiation: _7QString.null<type>).
) at cppsupportpart.cpp:1027
1027 store->removeWithReferences( fileName );
(gdb) up
#4 0x41e30309 in CppSupportPart::savedFile (this=0x821ee20,
fileName=@0x85901a0) at cppsupportpart.cpp:482
482 maybeParse( fileName, classStore( ), m_pParser );
(gdb) bt
#0 0x4036a083 in QMapIterator<QString, ParsedClass *>::inc (this=0xbfffe9c4)
at /opt/qt/include/qmap.h:171
#1 0x4036bfa3 in QMapIterator<QString, ParsedClass *>::operator++
(this=0xbfffe9c4)
at /opt/qt/include/qmap.h:143
#2 0x4036632e in ClassStore::removeWithReferences (this=0x812f160,
fileName=@0xbfffea8c) at classstore.cpp:490
#3 0x41e34639 in CppSupportPart::maybeParse (this=0x821ee20, fileName=
{static null = {static null = <same as static member of an already seen
type>, d = 0x80adce8, static shared_null = 0x80adce8}, d = 0xbfffea8c, static
shared_null = 0x80adce8}, store=0x812f160, parser=0x8220180)
at cppsupportpart.cpp:1027
#4 0x41e30309 in CppSupportPart::savedFile (this=0x821ee20,
fileName=@0x85901a0) at cppsupportpart.cpp:482
#5 0x41e35aef in CppSupportPart::qt_invoke (this=0x821ee20, _id=5,
_o=0xbfffeb60) at cppsupportpart.moc:153
#6 0x40dc9daa in QObject::activate_signal (this=0x815c020, clist=0x81599c8,
o=0xbfffeb60)
at kernel/qobject.cpp:2232
#7 0x40dca3d9 in QObject::activate_signal (this=0x815c020, signal=5, param=
{static null = {static null = <same as static member of an already seen
type>, d = 0x80adce8, static shared_null = 0x80adce8}, d = 0xbfffebb8, static
shared_null = 0x80adce8}) at kernel/qobject.cpp:2279
#8 0x08095a92 in KDevPartController::savedFile (this=0x815c020,
t0=@0xbfffec1c) at kdevpartcontroller.moc:90
#9 0x0807430f in PartController::slotUploadFinished (this=0x815c020) at
partcontroller.cpp:320
#10 0x08075e75 in PartController::qt_invoke (this=0x815c020, _id=15,
_o=0xbfffed04) at partcontroller.moc:126
#11 0x40dc9daa in QObject::activate_signal (this=0x849a010, clist=0x8542fa0,
o=0xbfffed04)
at kernel/qobject.cpp:2232
#12 0x40dc99ed in QObject::activate_signal (this=0x849a010, signal=20) at
kernel/qobject.cpp:2186
#13 0x4217507b in KateDocument::fileNameChanged () from
/opt/kde-3.0.5a/lib/libkatepart.so
#14 0x4217cb8f in KateDocument::saveFile () from
/opt/kde-3.0.5a/lib/libkatepart.so
#15 0x403d22d1 in KParts::ReadWritePart::save () from
/opt/kde-3.0.5a/lib/libkparts.so.2
#16 0x403d264c in KParts::ReadWritePart::saveAs () from
/opt/kde-3.0.5a/lib/libkparts.so.2
#17 0x4219de7f in KateView::save () from /opt/kde-3.0.5a/lib/libkatepart.so
#18 0x42195ccf in KateView::qt_invoke () from
/opt/kde-3.0.5a/lib/libkatepart.so
#19 0x40dc9c5e in QObject::activate_signal (this=0x846c398, clist=0x8527a78,
o=0xbffff044)
at kernel/qobject.cpp:2212
#20 0x40dc99ed in QObject::activate_signal (this=0x846c398, signal=2) at
kernel/qobject.cpp:2186
#21 0x40713cc8 in KAction::activated () from /opt/kde-3.0.5a/lib/libkdeui.so.4
#22 0x407097ce in KAction::slotActivated () from
/opt/kde-3.0.5a/lib/libkdeui.so.4
#23 0x40713ecb in KAction::qt_invoke () from /opt/kde-3.0.5a/lib/libkdeui.so.4
#24 0x40dc9daa in QObject::activate_signal (this=0x8574df0, clist=0x85754a8,
o=0xbffff174)
at kernel/qobject.cpp:2232
#25 0x40dc99ed in QObject::activate_signal (this=0x8574df0, signal=4) at
kernel/qobject.cpp:2186
#26 0x411a2104 in QButton::clicked (this=0x8574df0) at
.moc/debug-shared-mt/moc_qbutton.cpp:152
#27 0x40e70750 in QButton::mouseReleaseEvent (this=0x8574df0, e=0xbffff5b4) at
widgets/qbutton.cpp:808
#28 0x40e0df52 in QWidget::event (this=0x8574df0, e=0xbffff5b4) at
kernel/qwidget.cpp:4334
#29 0x40d45c44 in QApplication::internalNotify (this=0xbffffa84,
receiver=0x8574df0, e=0xbffff5b4)
at kernel/qapplication.cpp:2350
#30 0x40d450e8 in QApplication::notify (this=0xbffffa84, receiver=0x8574df0,
e=0xbffff5b4)
at kernel/qapplication.cpp:2159
#31 0x408c7315 in KApplication::notify () from
/opt/kde-3.0.5a/lib/libkdecore.so.4
#32 0x4118b60b in QApplication::sendSpontaneousEvent (receiver=0x8574df0,
event=0xbffff5b4)
at .moc/debug-shared-mt/../../kernel/qapplication.h:481
#33 0x40cd1b69 in QETWidget::translateMouseEvent (this=0x8574df0,
event=0xbffff91c)
at kernel/qapplication_x11.cpp:4217
#34 0x40ccf170 in QApplication::x11ProcessEvent (this=0xbffffa84,
event=0xbffff91c)
at kernel/qapplication_x11.cpp:3395
#35 0x40cec178 in QEventLoop::processEvents (this=0x80e1f70, flags=4) at
kernel/qeventloop_x11.cpp:169
#36 0x40d633ec in QEventLoop::enterLoop (this=0x80e1f70) at
kernel/qeventloop.cpp:191
#37 0x40d63318 in QEventLoop::exec (this=0x80e1f70) at
kernel/qeventloop.cpp:138
#38 0x40d45ed8 in QApplication::exec (this=0xbffffa84) at
kernel/qapplication.cpp:2471
#39 0x08069024 in main (argc=1, argv=0xbffffbf4) at main.cpp:81
#40 0x417d691d in __libc_start_main (main=0x8068ad0 <main>, argc=1,
ubp_av=0xbffffbf4, init=0x8063dbc <_init>,
fini=0x809a42c <_fini>, rtld_fini=0x4000b9bc <_dl_fini>,
stack_end=0xbffffbec)
at ../sysdeps/generic/libc-start.c:129
This line is suspicious:
1: tmp = (QMapNodeBase *) 0x10
This should not happen, probably a "rampaging" pointer, that
overwrites memory locations.
I can't reproduce this bug on HEAD. Filename is correct, saves properly. Assuming fixed. |
Version: 3.0alpha3 (using KDE KDE 3.0.5) Installed from: Compiled From Sources Compiler: gcc 2.95.3 OS: Linux If file was opened via "Classes" or "File Groups" the filename in the gideon title has two "/" instead of one (I'm not sure whether this is a problem or not). Trying to save a modified header file results in this: [New Thread 1024 (LWP 20158)] [New Thread 2049 (LWP 20161)] 0x415b79f9 in __wait4 () from /lib/libc.so.6 #0 0x415b79f9 in __wait4 () from /lib/libc.so.6 #1 0x4162f0e4 in __DTOR_END__ () from /lib/libc.so.6 #2 0x41467d76 in waitpid (pid=20178, stat_loc=0x0, options=0) at wrapsyscall.c:173 #3 0x4092ca64 in KCrash::defaultCrashHandler () from /opt/kde-3.0.5a/lib/libkdecore.so.4 #4 0x41465c30 in pthread_sighandler (signo=11, ctx= {gs = 0, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 0, edi = 135392480, esi = 138503144, ebp = 3221220540, esp = 3221220540, ebx = 1077474876, edx = 3221220624, ecx = 3221220628, eax = 0, trapno = 14, err = 6, eip = 1090319417, cs = 35, __csh = 0, eflags = 66054, esp_at_signal = 3221220540, ss = 43, __ssh = 0, fpstate = 0xbfffea40, oldmask = 2147483648, cr2 = 0}) at signals.c:97 #5 <signal handler called> #6 0x40fcf439 in QString::QString () from /opt/qt/lib/libqt-mt.so.3 #7 0x4034b49f in ClassStore::removeWithReferences () from /opt/kde-3.0.5a/lib/libkdevelop.so.1 #8 0x41b329eb in CppSupportPart::maybeParse () from /opt/kde/lib/kde3/libkdevcppsupport.so #9 0x41b2c8c9 in CppSupportPart::savedFile () from /opt/kde/lib/kde3/libkdevcppsupport.so #10 0x41b33fcd in CppSupportPart::qt_invoke () from /opt/kde/lib/kde3/libkdevcppsupport.so #11 0x40cf42f8 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3 #12 0x40cf4659 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3 #13 0x08086e2a in KDevPartController::savedFile () #14 0x0806c4dc in PartController::slotUploadFinished () #15 0x0806db4d in PartController::qt_invoke () #16 0x40cf42f8 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3 #17 0x40cf413e in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3 #18 0x41e1607b in KateDocument::fileNameChanged () from /opt/kde-3.0.5a/lib/libkatepart.so #19 0x41e1db8f in KateDocument::saveFile () from /opt/kde-3.0.5a/lib/libkatepart.so #20 0x403c22d1 in KParts::ReadWritePart::save () from /opt/kde-3.0.5a/lib/libkparts.so.2 #21 0x403c264c in KParts::ReadWritePart::saveAs () from /opt/kde-3.0.5a/lib/libkparts.so.2 #22 0x41e3ee7f in KateView::save () from /opt/kde-3.0.5a/lib/libkatepart.so #23 0x41e36ccf in KateView::qt_invoke () from /opt/kde-3.0.5a/lib/libkatepart.so #24 0x40cf4254 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3 #25 0x40cf413e in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3 #26 0x40703cc8 in KAction::activated () from /opt/kde-3.0.5a/lib/libkdeui.so.4 #27 0x406f97ce in KAction::slotActivated () from /opt/kde-3.0.5a/lib/libkdeui.so.4 #28 0x40703ecb in KAction::qt_invoke () from /opt/kde-3.0.5a/lib/libkdeui.so.4 #29 0x40cf42f8 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3 #30 0x40cf413e in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3 #31 0x4104777f in QButton::clicked () from /opt/qt/lib/libqt-mt.so.3 #32 0x40d88180 in QButton::mouseReleaseEvent () from /opt/qt/lib/libqt-mt.so.3 #33 0x40d2fe87 in QWidget::event () from /opt/qt/lib/libqt-mt.so.3 #34 0x40c88d7f in QApplication::internalNotify () from /opt/qt/lib/libqt-mt.so.3 #35 0x40c88739 in QApplication::notify () from /opt/qt/lib/libqt-mt.so.3 #36 0x408b7315 in KApplication::notify () from /opt/kde-3.0.5a/lib/libkdecore.so.4 #37 0x40c2a7bf in QETWidget::translateMouseEvent () from /opt/qt/lib/libqt-mt.so.3 #38 0x40c28547 in QApplication::x11ProcessEvent () from /opt/qt/lib/libqt-mt.so.3 #39 0x40c3dae8 in QEventLoop::processEvents () from /opt/qt/lib/libqt-mt.so.3 #40 0x40c9fd2e in QEventLoop::enterLoop () from /opt/qt/lib/libqt-mt.so.3 #41 0x40c9fc7a in QEventLoop::exec () from /opt/qt/lib/libqt-mt.so.3 #42 0x40c88fb1 in QApplication::exec () from /opt/qt/lib/libqt-mt.so.3 #43 0x08064429 in main () #44 0x4152e91d in __libc_start_main (main=0x8063fd4 <main>, argc=7, ubp_av=0xbffffbf4, init=0x805fb80 <_init>, fini=0x808ab9c <_fini>, rtld_fini=0x4000b9bc <_dl_fini>, stack_end=0xbffffbec) at ../sysdeps/generic/libc-start.c:129 Opening via menu "File/Open" does not have these problems. (double "/" and crash)