Summary: | Kate crashes | ||
---|---|---|---|
Product: | [Applications] kate | Reporter: | Unknown <null> |
Component: | folding | Assignee: | KWrite Developers <kwrite-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | adrian.lungu89, null |
Priority: | VHI | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi broken file New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Unknown
2011-07-27 06:12:04 UTC
Created attachment 62229 [details]
New crash information added by DrKonqi
kate (3.7.40) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt 4.7.3
- What I was doing when the application crashed:
Additional backtrace. 100% repro when deleting a specific set of two lines.
-- Backtrace (Reduced):
#6 KateCodeFoldingNode::setParent (this=0x28160e0) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:289
#7 0x00007f58ea342347 in KateCodeFoldingNode::updateSelf (this=0x28160e0) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:388
#8 0x00007f58ea345455 in KateCodeFoldingTree::deleteEndNode (this=<value optimized out>, deletedNode=0x28168e0) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:506
#9 0x00007f58ea346845 in deleteNode (this=0x269c120, line=155, newColumns=<value optimized out>) at /home/adys/src/kde/kate/part/syntax/katecodefolding.h:331
#10 KateCodeFoldingTree::updateMapping (this=0x269c120, line=155, newColumns=<value optimized out>) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:1308
Turning code folding off didn't help. Created attachment 62230 [details]
New crash information added by DrKonqi
kate (3.7.40) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt 4.7.3
Different crash, by deleting characters up to the tab indentation.
- What I was doing when the application crashed:
- Unusual behavior I noticed:
- Custom settings of the application:
-- Backtrace (Reduced):
#6 KateCodeFoldingNode::removeEnd (this=0x1533750, node=0x1533f50) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:208
#7 0x00007f4c65a5204d in removeChild (this=<value optimized out>, node=0x1533f50) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:255
#8 KateCodeFoldingNode::removeChild (this=<value optimized out>, node=0x1533f50) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:248
#9 0x00007f4c65a55435 in KateCodeFoldingTree::deleteEndNode (this=<value optimized out>, deletedNode=0x1533f50) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:502
#10 0x00007f4c65a56845 in deleteNode (this=0x13ad340, line=157, newColumns=<value optimized out>) at /home/adys/src/kde/kate/part/syntax/katecodefolding.h:331
What helps us more is a valgrind trace: valgrind --tool=memcheck kate See: http://techbase.kde.org/Development/Tools/Valgrind much more useful valgrind invokation: valgrind --track-origins=yes --num-callers=25 kate (tool=memcheck is default, the other stuff I pass along is not). (In reply to comment #1) > Created an attachment (id=62229) [details] > New crash information added by DrKonqi > > kate (3.7.40) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt > 4.7.3 > > - What I was doing when the application crashed: > > Additional backtrace. 100% repro when deleting a specific set of two lines. Please attach the file and tell as what is the set of lines you are talking about so I can reproduce it too. Tanks (In reply to comment #6) > (In reply to comment #1) > > Created an attachment (id=62229) [details] [details] > > New crash information added by DrKonqi > > > > kate (3.7.40) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt > > 4.7.3 > > > > - What I was doing when the application crashed: > > > > Additional backtrace. 100% repro when deleting a specific set of two lines. > Please, attach the file and tell us what is the set of lines you were talking about so I can reproduce the bug too. Thanks! (Sorry for the misspellings from the previous comment) I couldn't reproduce the bug because I didn't have that particular file, but I could reproduce a very similar bug and fixed it. Jarome, please confirm that you can't reproduce your bug anymore, please. Hi Adrian, This is not fixed for me, although I'm not sure anything was committed to master. Is it on a special branch? Created attachment 62250 [details]
broken file
Try deleting, char by char, line 183. It crashes when reaching the tab.
if nslang == lang:
It doesn't crash under Valgrind, btw. Git commit 658f25be8f64a7adfd8c7378ad05a0aecb94d332 by Adrian Lungu. Committed on 27/07/2011 at 15:08. Pushed by lungu into branch 'master'. BUG: 278602 There was a problem in mergeChildren() method because different nodes with equals positions were interpreted as the same node => duplicates M +22 -2 part/syntax/katecodefolding.cpp http://commits.kde.org/kate/658f25be8f64a7adfd8c7378ad05a0aecb94d332 Created attachment 62251 [details]
New crash information added by DrKonqi
kate (3.7.40) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt 4.7.3
Adrian, thanks, it works better now.
There are still some issues with lines overlapping each other, I'll attach a screenshot. I also got this crash somehow.
-- Backtrace (Reduced):
#6 getDepth (this=<value optimized out>, line=133, validEndings=<value optimized out>) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:115
#7 KateCodeFoldingTree::getLineDepth (this=<value optimized out>, line=133, validEndings=<value optimized out>) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:787
#8 0x00007f028e095d73 in KateCodeFoldingTree::getLineDepth (this=0x20a53e0, line=133) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:754
#9 0x00007f028e095e68 in KateCodeFoldingTree::getLineInfo (this=0x20a53e0, info=0x7fff99d22f30, line=133) at /home/adys/src/kde/kate/part/syntax/katecodefolding.cpp:806
#10 0x00007f028e0be804 in KateIconBorder::paintBorder (this=0x22c7080, y=<value optimized out>, height=846) at /home/adys/src/kde/kate/part/view/kateviewhelpers.cpp:1081
Created attachment 62252 [details]
New crash information added by DrKonqi
kate (3.7.40) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt 4.7.3
Another crash / different backtrace. Don't know if it helps - sorry for the spam if it doesn't :)
-- Backtrace (Reduced):
#9 operator= (this=0x1ba2bf0) at ../../include/QtCore/../../src/corelib/tools/qlist.h:433
#10 operator= (this=0x1ba2bf0) at text/qtextlayout.cpp:545
#11 QTextLayout::additionalFormats (this=0x1ba2bf0) at text/qtextlayout.cpp:551
#12 0x00007fa7e19d2636 in KateRenderer::paintTextLine (this=0x171d1d0, paint=..., range=..., xStart=0, xEnd=1398, cursor=0x7fff56460c10) at /home/adys/src/kde/kate/part/render/katerenderer.cpp:538
#13 0x00007fa7e1a28532 in KateViewInternal::paintEvent (this=0x1bfa990, e=0x7fff564612e0) at /home/adys/src/kde/kate/part/view/kateviewinternal.cpp:2911
Please tell me what you were doing when it crashed, please. I can't understand too much from the backtrace. I am interested in bug from comment no 13 especially, because it's code folding related. Ok; the last crash was from a ctrl-z. Honestly, I'm just deleting lines/chars around the buggy line from earlier on and then doing ctrl+z, I can't figure out a 100% but it crashes pretty easily. Git commit 6496232a62c6fa8177d1581b11abc67eb244be8b by Adrian Lungu. Committed on 28/07/2011 at 16:07. Pushed by lungu into branch 'master'. BUG: 278602 This patch is solving the others bugs reported in this bug's comments. removeEnd() method was replaced with removeEndAscending() and removeEndDescending() (there were some node duplicates into the leafs -> solved with removeEndAscending()) M +5 -3 part/syntax/katecodefolding.h M +76 -21 part/syntax/katecodefolding.cpp http://commits.kde.org/kate/6496232a62c6fa8177d1581b11abc67eb244be8b (In reply to comment #17) > Ok; the last crash was from a ctrl-z. Honestly, I'm just deleting lines/chars > around the buggy line from earlier on and then doing ctrl+z, I can't figure out > a 100% but it crashes pretty easily. It's done :) Deleting should work for as many lines as you wish. Thank you very much for your report and your file, Jerome. It really helped me a lot. If you do find any other bugs, please let us know and we'll try to solve it. Greetings, Adrian |