On Fri, 04 May 2012 10:20:28 -0500 "David C. Rankin" <drankinatty@...> wrote: > Tim, Darrell, All, > > tdelibs is the package that causes the kwrite/kate/etc.. crash when > built on gcc 47. The backtrace is good this time and points to: > > at (i=<optimized out>, this=<optimized out>) > at /opt/tqt3/include/ntqstring.h:641 641 { return i < > d->len ? d->unicode[i] : TQChar::null; } > > (full backtrace below) > > This last night/this morning I build gcc 4.6 and gcc 4.7 packages > from 5/3 GIT sources. The test was as follows (removing ksycoca > between each): > > (1) I installed the gcc 4.6 packages -- no crash occurred. > (2) installed tqt3 built on gcc 4.7 -- no crash occurred. > (3) uninstalled tqt3, reinstalled tqt3 built on gcc 4.6 > (4) installed tdelibs built on gcc 4.7 -- kwrite CRASH > > ** Note: tdelibs built on gcc 4.7 is 9.64 MIB larger than when built > on gcc 4.6 > > A summary of the test is in the following chart: > > tqt3-46 tdelibs-46 tdebase-46 tqt3-47 tdelibs-47 > tdebase-47 > > tqt3-46 -- OK OK ++ CRASH no test > > tdelibs-46 OK -- OK OK ++ no test > > tdebase-46 OK OK -- OK CRASH ++ > > FULL BACKTRACE: > > at (i=<optimized out>, this=<optimized out>) > at /opt/tqt3/include/ntqstring.h:641 641 { return i < > d->len ? d->unicode[i] : TQChar::null; } (gdb) bt > #0 at (i=<optimized out>, this=<optimized out>) at > /opt/tqt3/include/ntqstring.h:641 > #1 operator[] (this=<optimized out>, i=<optimized out>) at > /opt/tqt3/include/ntqstring.h:642 > #2 width (tabWidth=<optimized out>, italic=<optimized out>, > bold=<optimized out>, col=<optimized out>, text=..., this=<optimized > out>) at /build/src/tdelibs/kate/part/katefont.h:67 > #3 width (tabWidth=<optimized out>, col=<optimized out>, text=..., > fs=..., this=<optimized out>) > at /build/src/tdelibs/kate/part/kateattribute.h:55 > #4 KateRenderer::textWidth (this=0x22fc280, textLine=..., > startcol=0, maxwidth=817, needWrap=0x7fff8df70e98, > endX=0x7fff8df70e8c) > at /build/src/tdelibs/kate/part/katerenderer.cpp:797 #5 > 0x00007fe5ae37f674 in KateViewInternal::range > (this=this@entry=0x23fa0c0, realLine=realLine@entry=0, > previous=previous@entry=0x0) > at /build/src/tdelibs/kate/part/kateviewinternal.cpp:1331 #6 > 0x00007fe5ae380b32 in KateViewInternal::range > (this=this@entry=0x23fa0c0, realLine=0, viewLine=viewLine@entry=1) > at /build/src/tdelibs/kate/part/kateviewinternal.cpp:1418 #7 > 0x00007fe5ae3824c9 in KateViewInternal::viewLineOffset > (this=this@entry=0x23fa0c0, virtualCursor=..., offset=0, > keepX=keepX@entry=false) > at /build/src/tdelibs/kate/part/kateviewinternal.cpp:1578 #8 > 0x00007fe5ae385d25 in KateViewInternal::makeVisible > (this=this@entry=0x23fa0c0, c=..., endCol=117, > force=force@entry=false, center=center@entry=false, > calledExternally=calledExternally@entry=false) > at /build/src/tdelibs/kate/part/kateviewinternal.cpp:781 #9 > 0x00007fe5ae386352 in KateViewInternal::updateCursor > (this=this@entry=0x23fa0c0, newCursor=..., force=force@entry=true, > center=center@entry=false, > calledExternally=calledExternally@entry=false) > at /build/src/tdelibs/kate/part/kateviewinternal.cpp:2204 #10 > 0x00007fe5ae38a4c0 in KateViewInternal::editEnd (this=0x23fa0c0, > editTagLineStart=0, editTagLineEnd=<optimized out>, > tagFrom=<optimized out>) > at /build/src/tdelibs/kate/part/kateviewinternal.cpp:3385 #11 > 0x00007fe5ae326ef0 in KateDocument::editEnd (this=0x232f2c0) > at /build/src/tdelibs/kate/part/katedocument.cpp:1032 #12 > 0x00007fe5ae320f5b in KateDocument::paste (this=0x232f2c0, > view=0x24352e0) at /build/src/tdelibs/kate/part/katedocument.cpp:3249 > #13 0x00007fe5ae358a53 in KateView::paste (this=0x24352e0) > at /build/src/tdelibs/kate/part/kateview.cpp:1597 #14 > 0x00007fe5ae388102 in KateViewInternal::mouseReleaseEvent > (this=0x23fa0c0, e=0x7fff8df71920) > at /build/src/tdelibs/kate/part/kateviewinternal.cpp:2965 #15 > 0x00007fe5b424b0b3 in TQWidget::event (this=0x23fa0c0, > e=0x7fff8df71920) at kernel/qwidget.cpp:4725 #16 0x00007fe5b41b5f9d > in TQApplication::internalNotify (this=0x7fff8df71ff0, > receiver=0x23fa0c0, e=0x7fff8df71920) at kernel/qapplication.cpp:2638 > #17 0x00007fe5b41b5627 in TQApplication::notify (this=0x7fff8df71ff0, > receiver=0x23fa0c0, e=0x7fff8df71920) at kernel/qapplication.cpp:2424 > #18 0x00007fe5b5177894 in KApplication::notify (this=0x7fff8df71ff0, > receiver=0x23fa0c0, > event=0x7fff8df71920) > at /build/src/tdelibs/tdecore/kapplication.cpp:583 #19 > 0x00007fe5b4148e59 in TQApplication::sendSpontaneousEvent > (receiver=0x23fa0c0, event=0x7fff8df71920) at > kernel/ntqapplication.h:526 #20 0x00007fe5b4142735 in > TQETWidget::translateMouseEvent (this=0x23fa0c0, > event=0x7fff8df71ce0) at kernel/qapplication_x11.cpp:4380 #21 > 0x00007fe5b414005d in TQApplication::x11ProcessEvent > (this=0x7fff8df71ff0, event=0x7fff8df71ce0) at > kernel/qapplication_x11.cpp:3557 #22 0x00007fe5b415b2c8 in > TQEventLoop::processEvents (this=0x2272f90, flags=4) at > kernel/qeventloop_x11.cpp:195 #23 0x00007fe5b41c9118 in > TQEventLoop::enterLoop (this=0x2272f90) at kernel/qeventloop.cpp:201 > #24 0x00007fe5b41c8fe9 in TQEventLoop::exec (this=0x2272f90) at > kernel/qeventloop.cpp:148 #25 0x00007fe5b41b60cd in > TQApplication::exec (this=0x7fff8df71ff0) at > kernel/qapplication.cpp:2761 #26 0x00007fe5b84f1448 in kdemain > (argc=1, argv=0x7fff8df72688) > at /build/src/tdebase/kate/app/kwritemain.cpp:692 #27 > 0x00000000004007a4 in main (argc=1, argv=0x7fff8df72688) > at /build/src/build/kate/app/kwrite_tdeinit_executable.cpp:2 (gdb) > > I think this should help isolate where the crash is coming from. I > will need to punt to the experts. This backtrace seems to point to > the crash in kate/part, but I don't understand why it is blowing up > in tqt3. That's where you experts will have to figure it out. If it's an infinite loop your backtraces will be at random places in the loop. I think it would be a good idea to do 2 consecutive backtraces and check if they are the same; and if they are, do a 3rd backtrace with the same binary ;) > > Let me know if you want additional tests. I have my box set up for > it now, so all you have to do it tell me what to run. Let's get this > bug squashed and R14 will be the best and most up-to-date release > ever! >