Summary: | Tried to drag the links into a folder [qDeleteAll<QList<TreeItem*> >, ~TreeItem, TreeItem::deleteChildren, KBookmarkModel::removeBookmark] | ||
---|---|---|---|
Product: | [Applications] keditbookmarks | Reporter: | darkiiiiii |
Component: | general | Assignee: | David Faure <faure> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, bugskdeorg, daramatu, darkiiiiii, faure, fjperezor, joshua.mdza, k, kdebugs.anon134, kevin.clevenger, kivech.brach, kruno0407, mmodem00, nick, pourtouteslesclasses, richard.llom, sg.computer, sgies1963, web |
Priority: | NOR | ||
Version First Reported In: | 4.10.1 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kde-baseapps/e1dfe34c61ea4eae30b3392c953a99ed948bbc55 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi Sample bookmarks.xml which triggers the crash. |
Description
darkiiiiii
2010-12-01 18:42:59 UTC
Created attachment 53947 [details]
New crash information added by DrKonqi
keditbookmarks (4.5.1 (KDE 4.5.1)) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0
- What I was doing when the application crashed:
Some thing, was dragging several items into a folder on bookmark editor. I think it has to do with the amount of items maybe? because if I dragged a couple or so it didn't crash.
-- Backtrace (Reduced):
#7 end (this=0x1, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qlist.h:98
#8 end (this=0x1, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qlist.h:258
#9 qDeleteAll<QList<TreeItem*> > (this=0x1, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:330
#10 TreeItem::~TreeItem (this=0x1, __in_chrg=<value optimized out>) at ../../../../apps/keditbookmarks/kbookmarkmodel/treeitem.cpp:29
#11 0x0066b81e in TreeItem::deleteChildren (this=0x9720d08, first=1, last=1) at ../../../../apps/keditbookmarks/kbookmarkmodel/treeitem.cpp:80
[Comment from a bug triager] From bug 261642: -- Information about the crash: I was sorting my bookmarks and bookmark folders and when I dropped the icon in the desired position it just suddenly crashed *** Bug 261642 has been marked as a duplicate of this bug. *** Created attachment 59245 [details]
New crash information added by DrKonqi
keditbookmarks (4.6.2 (4.6.2)) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2
- What I was doing when the application crashed:
When dragging multiple links into a different folder this crash happened.
However, when dragging the same links one by one, there is no problem whatsoever.
-- Backtrace (Reduced):
#6 end (this=0x900000001, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qlist.h:98
#7 end (this=0x900000001, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qlist.h:258
#8 qDeleteAll<QList<TreeItem*> > (this=0x900000001, __in_chrg=<value optimized out>) at /usr/include/qt4/QtCore/qalgorithms.h:330
#9 TreeItem::~TreeItem (this=0x900000001, __in_chrg=<value optimized out>) at ../../../keditbookmarks/kbookmarkmodel/treeitem.cpp:29
#10 0x00007f7be2af3431 in TreeItem::deleteChildren (this=0x2069ac0, first=<value optimized out>, last=<value optimized out>) at ../../../keditbookmarks/kbookmarkmodel/treeitem.cpp:80
Created attachment 64849 [details]
New crash information added by DrKonqi
keditbookmarks (4.7.2 (4.7.2)) on KDE Platform 4.7.2 (4.7.2) using Qt 4.7.4
- What I was doing when the application crashed:
* Select two or more bookmarks or folders and moving them from one folder to another. Crashes 100% of the time doing this.
* Moving a single object (bookmark or folder) is fine.
* Moving multiple objects within a folder (reordering) is fine.
* Moving a single folder that contains many bookmarks/subfolders is fine.
-- Backtrace (Reduced):
#6 0x00000031f0a12190 in end (this=0x1523d98) at /usr/include/qt4/QtCore/qlist.h:98
#7 end (this=0x1523d98) at /usr/include/qt4/QtCore/qlist.h:258
#8 qDeleteAll<QList<TreeItem*> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
#9 TreeItem::~TreeItem (this=0x1523d98, __in_chrg=<optimized out>) at ../../../keditbookmarks/kbookmarkmodel/treeitem.cpp:29
#10 0x00000031f0a12279 in TreeItem::deleteChildren (this=0x186bfe0, first=<optimized out>, last=<optimized out>) at ../../../keditbookmarks/kbookmarkmodel/treeitem.cpp:80
*** Bug 281978 has been marked as a duplicate of this bug. *** *** Bug 280293 has been marked as a duplicate of this bug. *** *** Bug 273307 has been marked as a duplicate of this bug. *** Created attachment 74734 [details]
New crash information added by DrKonqi
keditbookmarks (4.9.2) on KDE Platform 4.9.2 using Qt 4.8.3
- What I was doing when the application crashed:
Moving bookmarks in the bookmark manager
-- Backtrace (Reduced):
#6 end (this=0x800000002) at /usr/include/QtCore/qlist.h:102
#7 end (this=0x800000002) at /usr/include/QtCore/qlist.h:271
#8 qDeleteAll<QList<TreeItem*> > (c=...) at /usr/include/QtCore/qalgorithms.h:330
#9 TreeItem::~TreeItem (this=0x800000002, __in_chrg=<optimized out>) at /usr/src/debug/kde-baseapps-4.9.2/keditbookmarks/kbookmarkmodel/treeitem.cpp:29
#10 0x0000003528812438 in TreeItem::deleteChildren (this=0x1dd6b90, first=<optimized out>, last=<optimized out>) at /usr/src/debug/kde-baseapps-4.9.2/keditbookmarks/kbookmarkmodel/treeitem.cpp:80
*** Bug 308823 has been marked as a duplicate of this bug. *** *** Bug 309168 has been marked as a duplicate of this bug. *** Created attachment 76542 [details]
New crash information added by DrKonqi
keditbookmarks (4.9.5) on KDE Platform 4.9.5 using Qt 4.8.4
- What I was doing when the application crashed:
Moving bookmarks in the bookmark manager. Is this *still* an issue?
-- Backtrace (Reduced):
#5 0x0000003946e1241e in TreeItem::deleteChildren(int, int) () from /lib64/libkbookmarkmodel_private.so.4
#6 0x0000003946e10b8d in KBookmarkModel::removeBookmark(KBookmark) () from /lib64/libkbookmarkmodel_private.so.4
#7 0x0000003946e0be5b in CreateCommand::undo() () from /lib64/libkbookmarkmodel_private.so.4
#8 0x0000003946e0e96a in DeleteCommand::redo() () from /lib64/libkbookmarkmodel_private.so.4
#9 0x0000003618015840 in QUndoCommand::redo() () from /lib64/libQtGui.so.4
*** Bug 317005 has been marked as a duplicate of this bug. *** Jekyll Wu suggested to me "bug 308823 is already marked as duplicate of bug 258505, so you should follow the suggestion of drkonqi (it should have) and add your crash information onto bug 258505 instead of bug 308823.", so here it is. This problem (not a crash) is reproducible every time. The network connection was and is working properly at the time of the malfunction. KDE version 4.10.1 "release 545" Distro is openSUSE 12.3 (x86_64) OS is Linux 3.7.10-1.1-desktop x86_64 - What I was doing when the application malfunctioned: 1) opened keditbookmarks 2) immediately did Folder > Recursive Sort 3) keditbookmarks immediately crashed 4) drkonqi started 5) clicked "Report Bug" button 6) Dialog "Welcome to the Reporting Assistant" appeared. Clicked the button labeled "Next". 7) Dialog "What do you know about the crash?" appeared. Clicked the radio button labeled "Yes". Changed drop-down menu to "Every time". 8) Checked box for option item "What i was doing when the application "Bookmark Editor" crashed". Clicked button labeled "Next". 9) Dialog "Fetching the Backtrace (Automatic Crash Information)" appeared. Backtrace loaded Clicked the button labeled "Next". 10) Dialog "Login into the KDE Bugtracking System" appeared. My account detailes automatically filled in. Clicked the button labeled "Login". 11) Dialog "Look for Possible Duplicate Reports" appeared. clicked line item "308823 [Duplicate report] Crash on recursive sort". Clicked button labeled "Open selected report". 12) New dialog window "loading information about report 308823" appeared. Dialog box labeled "Nested duplicate detected" appeared. clicked button labeled "No, let me read the report I selected". 13) New window titled "Bug Description", "Showing bug 308823" appeared. clicked button "Suggest this crash is related". 14) New dialog titled :Related Bug Report Appeared". Clicked radio button labeled "Completely sure: attach my information to this report". Clicked button labeled "Continue". 15) Returned to window labeled "Look for Possible Duplicate Reports". Clicked the button labeled "Next". 16) Window labeled "Enter the Details about the Crash" appeared. Entered the following into the text window: "- What I was doing when the application crashed: 1) opened keditbookmarks 2) immediately did Folder > Recursive Sort 3) keditbookmarks immediately crashed keditbookmarks frequently crashes during recursive sorting of bookmark folders in any location. The crash can be reproduced every time. My entire system was installed using official openSUSE packages from openSUSE repositories." 17) Clicked the button labeled "Next". 18) Window labeled "Preview the Report" appeared. Clicked the button labeled "Next". 19) Window labeled "Sending Crash Report" appeared. Busy indicator begins rotating, and continues to rotate indefinitely. drkonqi is not frozen nor crashed - the busy indicator just rotates indefinitely, and the crash report never finishes getting sent. My entire system was installed using official openSUSE packages from openSUSE repositories. Hello, this bug seems strongly related to bug 28703. I would suggest to set a block/depends flag, "See also" or even as dup. And the kewords reproducible would be appropiate for both bugs. @Jekyll Wu can you do this? I also added a Valgrind trace to bug 28703, would be nice if a dev could take a look at this. (In reply to comment #15) > Hello, > this bug seems strongly related to bug 28703. I would suggest to set a > block/depends flag, "See also" or even as dup. And the kewords reproducible > would be appropiate for both bugs. > @Jekyll Wu can you do this? > > I also added a Valgrind trace to bug 28703, would be nice if a dev could > take a look at this. You mean bug 287038 I guess. I let the others decide if this is a duplicate or a dependency on the other report, though. These crashes seem to be about "dragging multiple links together", which is what I fixed in bug 287038. If the crashes still happen in 4.10.4, please reopen. Created attachment 81068 [details]
New crash information added by DrKonqi
keditbookmarks (4.10.2) on KDE Platform 4.10.2 using Qt 4.8.4
- What I was doing when the application crashed:
After importing bookmarks from a HTML-File (bookmarks from Firefox) I added the sorting option in the quickaccess toolbar. Then I tried to use the sorting option. After pressing the button the bookmark organizer failed with an error and I have to close the app.
-- Backtrace (Reduced):
#6 0x00007f341cb3152e in QListData::remove(int, int) () from /lib64/libQtCore.so.4
#7 0x00007f341e4126c5 in TreeItem::deleteChildren(int, int) () from /lib64/libkbookmarkmodel_private.so.4
#8 0x00007f341e410d7d in KBookmarkModel::removeBookmark(KBookmark) () from /lib64/libkbookmarkmodel_private.so.4
#9 0x00007f341e40c04b in CreateCommand::undo() () from /lib64/libkbookmarkmodel_private.so.4
#10 0x00007f341e40eb5a in DeleteCommand::redo() () from /lib64/libkbookmarkmodel_private.so.4
Created attachment 85406 [details]
New crash information added by DrKonqi
keditbookmarks (4.12.2) on KDE Platform 4.12.2 using Qt 4.8.6
- What I was doing when the application crashed:
Dragging folder in keditbookmarks, making it segfault.
-- Backtrace (Reduced):
#7 begin (this=0x0) at /usr/include/qt4/QtCore/qlist.h:267
#8 TreeItem::deleteChildren (this=0x0, first=-1, last=-1) at ../../../keditbookmarks/kbookmarkmodel/treeitem.cpp:76
#9 0x00007f6f4ad96162 in KBookmarkModel::removeBookmark (this=0x16f7080, bookmark=...) at ../../../keditbookmarks/kbookmarkmodel/model.cpp:451
#10 0x00007f6f4ad91851 in CreateCommand::undo (this=0x1b2f7b0) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:156
#11 0x00007f6f4ad9352e in DeleteCommand::redo (this=0x1d362e0) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:320
Created attachment 85868 [details]
New crash information added by DrKonqi
keditbookmarks (4.11.5) on KDE Platform 4.11.5 using Qt 4.8.4
- What I was doing when the application crashed:
Trying to move many bookmarks into a single folder.
-- Backtrace (Reduced):
#7 begin (this=0x0) at /usr/include/qt4/QtCore/qlist.h:267
#8 TreeItem::deleteChildren (this=0x0, first=-1, last=-1) at ../../../keditbookmarks/kbookmarkmodel/treeitem.cpp:76
#9 0x00007fb1bef20162 in KBookmarkModel::removeBookmark (this=0x1214340, bookmark=...) at ../../../keditbookmarks/kbookmarkmodel/model.cpp:451
#10 0x00007fb1bef1b851 in CreateCommand::undo (this=0x17f7360) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:156
#11 0x00007fb1bef1d52e in DeleteCommand::redo (this=0x17d7bc0) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:320
*** Bug 331850 has been marked as a duplicate of this bug. *** *** Bug 333101 has been marked as a duplicate of this bug. *** *** Bug 333100 has been marked as a duplicate of this bug. *** *** Bug 292496 has been marked as a duplicate of this bug. *** Removing hystericalnightmare@yahoo.com from CC list per abuse report. *** Bug 334605 has been marked as a duplicate of this bug. *** *** Bug 337156 has been marked as a duplicate of this bug. *** *** Bug 338219 has been marked as a duplicate of this bug. *** Application: keditbookmarks (4.14.2) KDE Platform Version: 4.14.2 Qt Version: 4.8.6 Operating System: Linux 3.16.0-4-amd64 x86_64 Distribution: Debian GNU/Linux 8.0 (jessie) -- Information about the crash: Crash still happening in KDE 4.14.2 - What I was doing when the application crashed: Dragged two folders into another folder. Had done this a number of times already in this session without problem. The move succeded (verified after restart), but immediately I get a crash and the same backtrace implicating TreeItem::deleteChildren KBookmarkModel::removeBookmark -- Backtrace: Application: Bookmark Editor (keditbookmarks), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [KCrash Handler] #6 end (this=0x64006500727520) at /usr/include/qt4/QtCore/qlist.h:102 #7 end (this=0x64006500727520) at /usr/include/qt4/QtCore/qlist.h:271 #8 qDeleteAll<QList<TreeItem*> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330 #9 TreeItem::~TreeItem (this=0x64006500727520, __in_chrg=<optimized out>) at ../../../keditbookmarks/kbookmarkmodel/treeitem.cpp:29 #10 0x00007f2cb9b86430 in TreeItem::deleteChildren (this=0x22ee920, first=<optimized out>, last=<optimized out>) at ../../../keditbookmarks/kbookmarkmodel/treeitem.cpp:80 #11 0x00007f2cb9b83c92 in KBookmarkModel::removeBookmark (this=0x2057900, bookmark=...) at ../../../keditbookmarks/kbookmarkmodel/model.cpp:451 #12 0x00007f2cb9b7ee01 in CreateCommand::undo (this=0x2233170) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:156 #13 0x00007f2cb9b80d21 in DeleteCommand::redo (this=0x318d8c0) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:320 #14 0x00007f2cb7a52160 in QUndoCommand::redo (this=0x32a05b0) at util/qundostack.cpp:208 #15 0x00007f2cb9b80fea in DeleteCommand::redo (this=0x3ecb2d0) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:311 #16 0x00007f2cb7a52160 in QUndoCommand::redo (this=0x47907b0) at util/qundostack.cpp:208 #17 0x00007f2cb9b80fea in DeleteCommand::redo (this=0x42ada80) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:311 #18 0x00007f2cb7a52160 in QUndoCommand::redo (this=0x4758e50) at util/qundostack.cpp:208 #19 0x00007f2cb7a53b53 in QUndoStack::push (this=0x20a75d8, cmd=cmd@entry=0x4758e50) at util/qundostack.cpp:583 #20 0x00007f2cb9b7eb3e in CommandHistory::addCommand (this=0x20a87b0, cmd=0x4758e50) at ../../../keditbookmarks/kbookmarkmodel/commandhistory.cpp:107 #21 0x00007f2cb9b852f7 in KBookmarkModel::dropMimeData (this=0x2057900, data=0x7f2cba12f620 <main_arena>, action=1655349136, row=1655349168, column=1, parent=...) at ../../../keditbookmarks/kbookmarkmodel/model.cpp:381 #22 0x00007f2cb78fffc1 in QAbstractItemView::dropEvent (this=0x20074d0, event=0x7fff62aaa690) at itemviews/qabstractitemview.cpp:2006 Further comment just to note this has happened again during a further session of bookmark reorganisation. This time I was dragging a folder to new siblings at the same parent level. The change was not preserved on crash (don't think it was last time either, my mistake there). I'll see if I can capture it once more under debug. Created attachment 98245 [details]
Sample bookmarks.xml which triggers the crash.
Sorry it took me a while to trigger this again but I now have a way of reproducing it every time.
Run "kbookmarkeditor kde-bug-258505-bookmarks.xml"
Right-click in the right pane on the "Cyclone V" folder
Select "Recursive sort"
Observe that kbookmarkeditor immediately crashes.
I believe that this is the same bug despite my using "sort" instead of a manual drag and drop. It just has many fewer steps between the QApplication::notify for the user event and the final sequence of undo/redo calls. Specifically, both fail in the same way in the same place in the "end" handler of a recursive tree delete.
Nice testcase, I made it into a unittest and I found the two bugs (the null pointer in comments 19 & 20, and the crash in deleteChildren). First one fixed, second fix coming up. Git commit e1dfe34c61ea4eae30b3392c953a99ed948bbc55 by David Faure. Committed on 05/08/2016 at 20:59. Pushed by dfaure into branch 'master'. keditbookmarks: fix two bugs due to delayed-init in treeitem. This led to asserts and/or crashes during drag-n-drop or sorting. With thanks to Nick Leverton for the reproducible testcase (turned into a unittest). M +8 -2 keditbookmarks/kbookmarkmodel/commands.cpp M +8 -1 keditbookmarks/kbookmarkmodel/model.cpp M +48 -0 keditbookmarks/kbookmarkmodel/tests/kbookmarkmodeltest.cpp A +414 -0 keditbookmarks/kbookmarkmodel/tests/kde-bug-258505-bookmarks.xml M +8 -0 keditbookmarks/kbookmarkmodel/treeitem.cpp http://commits.kde.org/kde-baseapps/e1dfe34c61ea4eae30b3392c953a99ed948bbc55 |