trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: April 2012

Re: [trinity-devel] FULL-DEBUG [was Re: [trinity-devel] Re: New kwrite crashes with yesterdays builds of tdelibs/tdebase]

From: /dev/ammo42 <mickeytintincolle@...>
Date: Fri, 27 Apr 2012 20:24:26 +0200
On Fri, 27 Apr 2012 13:04:17 -0500
"David C. Rankin" <drankinatty@...> wrote:

> On 04/26/2012 11:37 AM, /dev/ammo42 wrote:
> > On Thu, 26 Apr 2012 11:26:08 -0500
> > "David C. Rankin" <drankinatty@...> wrote:
> > 
> >> On 04/26/2012 11:13 AM, David C. Rankin wrote:
> >>> On 04/26/2012 08:01 AM, David C. Rankin wrote:
> >>>> I'll open a bug report shortly :)
> >>>
> >>> Good Lord! Debug Packages are HUGE!!!
> >>>
> >>> Nearly 600M of debugging symbols included in tqt3, tqtinterface,
> >>> tdelibs, tdebase. It looks like with will have to do this again on
> >>> x86_64, the i686 backtrace seems to stop early. However, it does
> >>> have line numbers for everything it caught:
> >>>
> >>> (gdb) bt
> >>> #0 0xb610a959 in TQFontMetrics::charWidth (this=0x8fa3800,
> >>> str=..., pos=79) at kernel/qfont_x11.cpp:705
> >>> #1 0xb541a46b in width (tabWidth=8, italic=false, bold=false,
> >>> col=79, text=..., this=0x8fa37f0)
> >>> at /build/src/tdelibs/kate/part/katefont.h:76
> >>> #2 width (tabWidth=8, col=79, text=..., fs=..., this=<optimized
> >>> out>) at /build/src/tdelibs/kate/part/kateattribute.h:55
> >>> #3 KateRenderer::textWidth (this=0x933d3e8, textLine=...,
> >>> startcol=0, maxwidth=695,
> >>> needWrap=0xbf8e73a8, endX=0xbf8e739c) at
> >>> /build/src/tdelibs/kate/part/katerenderer.cpp:797
> >>> #4 0xb53f7d97 in KateViewInternal::range (this=0x9322170,
> >>> realLine=0, previous=0x0)
> >>> at /build/src/tdelibs/kate/part/kateviewinternal.cpp:1331
> >>> #5 0xb53f91ae in KateViewInternal::range (this=0x9322170,
> >>> realLine=0, viewLine=1)
> >>> at /build/src/tdelibs/kate/part/kateviewinternal.cpp:1418 #6
> >>> 0x09322170 in ?? () Backtrace stopped: previous frame inner to
> >>> this frame (corrupt stack?)
> >>>
> >>> I have opened a bug report and added this information to it:
> >>>
> >>> http://bugs.trinitydesktop.org/show_bug.cgi?id=979
> >>> "select buffer paste in kate/kwrite causing line wrap causes crash
> >>> (X, qt3)"
> >>>
> >>> Do you want me to begin a debug build on x86_64 as well? I can't
> >>> tell if this is enough of a backtrace to provide you with the
> >>> needed info. Let me know what else you need. Thanks!
> >>>
> >>
> >> Tim,
> >>
> >>    This is much worse than we thought. It effects EVERYTHING! Even
> >> simply trying to view a text file in konqueror file management
> >> (kate preview) will lock konqueror. Here is that backtrace too:
> >>
> >> (gdb) bt
> >> #0  0xb777f416 in __kernel_vsyscall ()
> >> #1  0xb65154ed in ___newselect_nocancel () from /lib/libc.so.6
> >> #2  0xb7466f56 in KIO::SlaveBase::dispatchLoop (this=0xbfae15b8)
> >>      at /build/src/tdelibs/kio/kio/slavebase.cpp:286
> >> #3  0xb7770fa6 in kdemain (argc=4, argv=0xbfae15b8) at 
> >> /build/src/tdelibs/kioslave/file/file.cc:128
> >> #4  0x080503c1 in launch (argc=4, _name=0x8bc09b4 "kio_file",
> >> args=0xbfae1784 "\300\216\367\266",
> >>      cwd=0x0, envc=0, envs=0x8bc0a2a "", reset_env=false, tty=0x0, 
> >> avoid_loops=false,
> >>      startup_id_str=0xfffffdfe <Address 0xfffffdfe out of bounds>,
> >>      startup_id_str@entry=0x4 <Address 0x4 out of bounds>) at 
> >> /build/src/tdelibs/kinit/kinit.cpp:673
> >> #5  0x0805148c in handle_launcher_request (sock=<optimized out>,
> >> sock@entry=-1) at /build/src/tdelibs/kinit/kinit.cpp:1240
> >> #6  0x08051a0a in handle_requests (waitForPid=waitForPid@entry=0)
> >>      at /build/src/tdelibs/kinit/kinit.cpp:1443
> >> #7  0x0804d775 in main (argc=5, argv=0xbfae1d54, envp=0xbfae1d6c)
> >>      at /build/src/tdelibs/kinit/kinit.cpp:1908
> >>
> >>    Bummer... Think about what other tests I can do that might
> >> disclose exactly what it going south...
> > 
> > In my glibc-2.11 binary the objdump output tells me that
> > ___newselect_nocancel() always does a syscall (you can recognise
> > them by the "int $0x80" instruction), so you should be able to
> > retrieve the parameters with strace.
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > trinity-devel-unsubscribe@... For additional
> > commands, e-mail: trinity-devel-help@...
> > Read list messages on the web archive:
> > http://trinity-devel.pearsoncomputing.net/ Please remember not to
> > top-post:
> > http://trinity.pearsoncomputing.net/mailing_lists/#top-posting
> > 
> > 
> 
> OK dev/ammo42,
> 
>   I'll try strace once I figure out how. Tim, in the mean time, I
> have rebuilt all the x86_64 packages and I have captured a full debug
> of the issue with gdb. Here is it:
> 
> #0  KateViewInternal::range (this=this@entry=0xfa2480,
> realLine=realLine@entry=0, previous=previous@entry=0x0) at
> /build/src/tdelibs/kate/part/kateviewinternal.cpp:1353
> #1  0x00007f02d150bb32 in KateViewInternal::range
> (this=this@entry=0xfa2480, realLine=0,
>     viewLine=viewLine@entry=1) at
> /build/src/tdelibs/kate/part/kateviewinternal.cpp:1418
> #2  0x00007f02d150d4c9 in KateViewInternal::viewLineOffset
> (this=this@entry=0xfa2480, virtualCursor=...,
>     offset=0, keepX=keepX@entry=false) at
> /build/src/tdelibs/kate/part/kateviewinternal.cpp:1578
> #3  0x00007f02d1510d25 in KateViewInternal::makeVisible
> (this=this@entry=0xfa2480, c=..., endCol=95,
>     force=force@entry=false, center=center@entry=false,
> calledExternally=calledExternally@entry=false)
>     at /build/src/tdelibs/kate/part/kateviewinternal.cpp:781
> #4  0x00007f02d1511352 in KateViewInternal::updateCursor
> (this=this@entry=0xfa2480, newCursor=...,
>     force=force@entry=true, center=center@entry=false,
> calledExternally=calledExternally@entry=false)
>     at /build/src/tdelibs/kate/part/kateviewinternal.cpp:2204
> #5  0x00007f02d15154c0 in KateViewInternal::editEnd (this=0xfa2480,
> editTagLineStart=0,
>     editTagLineEnd=<optimized out>, tagFrom=<optimized out>)
>     at /build/src/tdelibs/kate/part/kateviewinternal.cpp:3385
> #6  0x00007f02d14b1ef0 in KateDocument::editEnd (this=0x1509200)
>     at /build/src/tdelibs/kate/part/katedocument.cpp:1032
> #7  0x00007f02d14abf5b in KateDocument::paste (this=0x1509200,
> view=0x1585290) at /build/src/tdelibs/kate/part/katedocument.cpp:3249
> #8  0x00007f02d14e3a53 in KateView::paste (this=0x1585290) at
> /build/src/tdelibs/kate/part/kateview.cpp:1597
> #9  0x00007f02d1513102 in KateViewInternal::mouseReleaseEvent
> (this=0xfa2480, e=0x7fff3a72d260)
>     at /build/src/tdelibs/kate/part/kateviewinternal.cpp:2965
> #10 0x00007f02d984c343 in TQWidget::event (this=0xfa2480,
> e=0x7fff3a72d260) at kernel/qwidget.cpp:4725
> #11 0x00007f02d97b6559 in TQApplication::internalNotify
> (this=0x7fff3a72db00, receiver=0xfa2480,
>     e=0x7fff3a72d260) at kernel/qapplication.cpp:2638
> #12 0x00007f02d97b5be3 in TQApplication::notify (this=0x7fff3a72db00,
> receiver=0xfa2480, e=0x7fff3a72d260)
>     at kernel/qapplication.cpp:2424
> #13 0x00007f02da10d8c4 in KApplication::notify (this=0x7fff3a72db00,
> receiver=0xfa2480, event=0x7fff3a72d260)
>     at /build/src/tdelibs/tdecore/kapplication.cpp:583
> #14 0x00007f02d97486b3 in TQApplication::sendSpontaneousEvent
> (receiver=0xfa2480, event=0x7fff3a72d260)
>     at kernel/ntqapplication.h:526
> #15 0x00007f02d9741f53 in TQETWidget::translateMouseEvent
> (this=0xfa2480, event=0x7fff3a72d770)
>     at kernel/qapplication_x11.cpp:4380
> #16 0x00007f02d973f871 in TQApplication::x11ProcessEvent
> (this=0x7fff3a72db00, event=0x7fff3a72d770)
>     at kernel/qapplication_x11.cpp:3557
> #17 0x00007f02d975ac44 in TQEventLoop::processEvents (this=0xd2d3a0,
> flags=4) at kernel/qeventloop_x11.cpp:195
> #18 0x00007f02d97c9818 in TQEventLoop::enterLoop (this=0xd2d3a0) at
> kernel/qeventloop.cpp:201
> #19 0x00007f02d97c96e9 in TQEventLoop::exec (this=0xd2d3a0) at
> kernel/qeventloop.cpp:148
> #20 0x00007f02d97b6689 in TQApplication::exec (this=0x7fff3a72db00) at
> kernel/qapplication.cpp:2761
> #21 0x00007f02d2b8ccf6 in kdemain (argc=2, argv=0xcd1af0) at
> /build/src/tdebase/kate/app/katemain.cpp:253
> #22 0x00007f02d2d92860 in tdeinitmain (argc=2, argv=0xcd1af0)
>     at /build/src/build/kate/app/kate_tdeinit_module.cpp:3
> #23 0x00000000004094ee in launch (argc=argc@entry=2, _name=<optimized
> out>, _name@entry=0xcd6598 "kate",
>     args=<optimized out>, args@entry=0xcd659d "--use",
> cwd=cwd@entry=0x0, envc=envc@entry=1,
>     envs=<optimized out>, envs@entry=0xcd65ab "DISPLAY=:0",
> reset_env=false, tty=tty@entry=0x0,
>     avoid_loops=false,
>     startup_id_str=startup_id_str@entry=0xcd65be
> "valkyrie;1335549542;176850;1767_TIME104698303")
>     at /build/src/tdelibs/kinit/kinit.cpp:673
> #24 0x000000000040a5ee in handle_launcher_request (sock=9) at
> /build/src/tdelibs/kinit/kinit.cpp:1240
> #25 0x000000000040abda in handle_requests
> (waitForPid=waitForPid@entry=0)
> at /build/src/tdelibs/kinit/kinit.cpp:1443 #26 0x0000000000406b26 in
> main (argc=5, argv=0x7fff0000000b, envp=0x7fff3a72ed98)
> at /build/src/tdelibs/kinit/kinit.cpp:1908
> 
>   If you have a command line you would like me to run with strace,
> I'll take it, otherwise, I'll report back with what I come up with. I
> hope this helps!
I suggested strace to retrieve the arguments of select(). In the new
backtrace the program didn't lock in a syscall, so there is less
interest in stracing it.