On 05/03/2012 01:21 PM, David C. Rankin wrote:
Ilya, All,
I just wanted to update you. I have confirmed 100% this is a gcc 4.7 issue. I rebuilt current sources on gcc 4.6 and this bug is not present. If I build with gcc 4.7, then this crash occurs. Let me know if you can confirm this in your builds. Use (1) above -- it is a 100% repeatable runtime crash.
For some reason gcc 4.7 isn't generating the same code as gcc 4.6. It may be due to some coding std. violation that isn't flagged by the compiler during build, or it may be due to a bug in gcc 4.7. Either way, it will have to be solved before builds on gcc 4.7 can be released.
(in trinity it's tdelibs, but I've used k below to avoid confusion) The issue has been isolated to kdelibs. With all packages built on gcc 4.6, there is no crash. However, if kdelibs is built on gcc 4.7, this crash occurs. The most notable difference between kdelibs built on gcc 4.6/4.7 is the package built on 4.7 is 9.64 MIB larger than the package built on 4.6. (same source) on Archlinux. Full debug was used when building the latest package and the backtrace for the the crash was: 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 <snip> (full backtrace at: http://bugs.pearsoncomputing.net/show_bug.cgi?id=979) Again, I hope you do not see this issue in openSuSE, but if you do, please confirm it either on this list or on the trinity-devel list. If you find the problem and the solution -- let us know. We will do the same for you. Thanks. A summary of the test procedure that isolated the issue is contained in the bug report and further summarized below: I built 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 ++ -- David C. Rankin, J.D.,P.E. -- To unsubscribe, e-mail: opensuse-kde3+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kde3+owner@opensuse.org