On 05/04/2012 10:20 AM, David C. Rankin 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. > > 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! > What is tdelibs built with in the cmake files? Dominique - the one working with the factory branch of opensuse suggested the "compile spits a dozen warnings out which are not raised or ignored by the coders team". That is a point that's well taken. The question posed was: Does that code build with -Werror? Warnings are not there to be annoying.. there are signs to be taken serious. We will need to look at this and see if we have indications -- David C. Rankin, J.D.,P.E.