trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: May 2012

Re: [trinity-devel] kwrite crash - it is tdelibs! (tqt3-46, tdelibs-47, tdebase-46 => crash)

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