[opensuse-kde3] kde3 potential gcc47 compiler code interpretation problem resulting in kwrite/kate crash
Ilya, Dominique, All, I have been troubleshooting a runtime issue in kde3 when built on gcc47 that does not get caught by the compiler, but produces a crash in kwrite at runtime when lines that wrap are encountered. This problem was not discovered until 4/25. It is being worked as http://bugs.pearsoncomputing.net/show_bug.cgi?id=979 There are multiple backtraces and strace outputs included with the bug report. The crash occurs when line length in a text file causes the line to wrap within the editor window. This can be reproduced by opening kwrite and: (1) pasting 1-2 words using the select buffer until the line wraps; or (2) by opening a text file with long lines and arrowing down until the long line is encountered. This is 100% reproducible on Archlinux and effects kwrite/kate/quanta+ and text preview within konqueror file manager (anything involving katepart) On Slackware, this is limited to kwrite. Darrell Anderson reports being able to use kate without issue, but experiences the crash in kwrite and in konqueror file preview. This may not effect openSuSE, but be aware of it and test for it in your builds based on gcc 4.7. We are currently troubleshooting, this issue and if you can either confirm it in openSuSE or rule it out, that would provide another data point. Currently we have worked backwards building code from 4/25, 4/10, 4/03 and 4/1 sources. The problem remains in all builds. We have binaries from the 3/29 build that work, but no confirmation of the gcc version used in the 3/29 build. I am presently building the 3/29 sources with gcc 4.7 and if the crash occurs, that will rule out a stray patch to the code causing the issue and will implicate something going on with the compiler. I'll let you know when I confirm the 3/29 build. This is a cross-post to both factory and opensuse-kde3. So check the reply address you intend to reply to. Thanks, and I hope this doesn't affect you. If it does, the more smart people looking at it, the sooner it gets identified and fixed. -- 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
On 05/02/2012 06:43 PM, David C. Rankin wrote:
Ilya, Dominique, All,
<snip>
Currently we have worked backwards building code from 4/25, 4/10, 4/03 and 4/1 sources. The problem remains in all builds. We have binaries from the 3/29 build that work, but no confirmation of the gcc version used in the 3/29 build. I am presently building the 3/29 sources with gcc 4.7 and if the crash occurs, that will rule out a stray patch to the code causing the issue and will implicate something going on with the compiler. I'll let you know when I confirm the 3/29 build.
I have confirmed this is not a TDE/KDE patch/change bug. This appears to be a bug where gcc 4.7 does something different with the existing code resulting in runtime crashes in kwrite/kate/quanta when a line wrap occurs. I rebuilt the same code on gcc 4.7 that was working without issue before and I experience the runtime crash on Archlinux. The kwrite crash has also been confirmed on Slackware. Please let me know if the same crash occurs on opensuse. Thank you. This is being worked under http://bugs.pearsoncomputing.net/show_bug.cgi?id=979 for TDE. -- 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
On 05/02/2012 06:43 PM, David C. Rankin wrote:
Ilya, Dominique, All,
I have been troubleshooting a runtime issue in kde3 when built on gcc47 that does not get caught by the compiler, but produces a crash in kwrite at runtime when lines that wrap are encountered. This problem was not discovered until 4/25. It is being worked as http://bugs.pearsoncomputing.net/show_bug.cgi?id=979
There are multiple backtraces and strace outputs included with the bug report. The crash occurs when line length in a text file causes the line to wrap within the editor window. This can be reproduced by opening kwrite and:
(1) pasting 1-2 words using the select buffer until the line wraps; or
(2) by opening a text file with long lines and arrowing down until the long line is encountered.
This is 100% reproducible on Archlinux and effects kwrite/kate/quanta+ and text preview within konqueror file manager (anything involving katepart)
On Slackware, this is limited to kwrite. Darrell Anderson reports being able to use kate without issue, but experiences the crash in kwrite and in konqueror file preview.
This may not effect openSuSE, but be aware of it and test for it in your builds based on gcc 4.7. We are currently troubleshooting, this issue and if you can either confirm it in openSuSE or rule it out, that would provide another data point.
Currently we have worked backwards building code from 4/25, 4/10, 4/03 and 4/1 sources. The problem remains in all builds. We have binaries from the 3/29 build that work, but no confirmation of the gcc version used in the 3/29 build. I am presently building the 3/29 sources with gcc 4.7 and if the crash occurs, that will rule out a stray patch to the code causing the issue and will implicate something going on with the compiler. I'll let you know when I confirm the 3/29 build.
This is a cross-post to both factory and opensuse-kde3. So check the reply address you intend to reply to. Thanks, and I hope this doesn't affect you. If it does, the more smart people looking at it, the sooner it gets identified and fixed.
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. -- 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
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
participants (1)
-
David C. Rankin