trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: May 2012

kwrite crash - it is tdelibs! (tqt3-46, tdelibs-47, tdebase-46 => crash)

From: "David C. Rankin" <drankinatty@...>
Date: Fri, 04 May 2012 10:20:28 -0500
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!

-- 
David C. Rankin, J.D.,P.E.