On Fri, 04 May 2012 10:20:28 -0500
"David C. Rankin" <drankinatty(a)suddenlinkmail.com> 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!