Bug 316969 - crashed always when importing a bookmark file
Summary: crashed always when importing a bookmark file
Status: RESOLVED WORKSFORME
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: 1.13 (KDE Applications 15.12)
Platform: Compiled Sources All
: NOR crash
Target Milestone: ---
Assignee: marble-bugs
URL:
Keywords:
: 323002 331312 373750 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-03-18 14:09 UTC by kdieter
Modified: 2021-01-03 04:34 UTC (History)
9 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (8.97 KB, text/plain)
2017-03-26 11:26 UTC, Mike Somov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description kdieter 2013-03-18 14:09:59 UTC
I created at a other PC per MARBLE export a smal bookmark file (less than 20 entries). When trying to import it, then MARBLE hangs a short moment and will be aborted.

Reproducible: Always

Steps to Reproduce:
1. I tried also a very simple kml bookmark file, same result
2.
3.
Actual Results:  
it makes no sense to try it again, MARBLE crashes every time

Expected Results:  
no crash

error message
Comment 1 kdieter 2013-03-24 12:47:21 UTC
I tried to import a bookmark file into the LINUX Version 1.3xxx of MARBLE. MARBLE does not crash, but it does not work. After the first bookmark is imported MARBLE outputs a faulty message that the bookmark is already stored, even when the bookmarks are different.
Comment 2 Dennis Nienhüser 2013-04-03 18:42:10 UTC
Confirmed for Linux, master, backtrace:

ASSERT: "rowCount == start" in file /home/dennis/marble/src/src/lib/kdescendantsproxymodel.cpp, line 563

Program received signal SIGABRT, Aborted.
0xb7fdf1b2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) bt
#0  0xb7fdf1b2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1  0xb5e981df in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb5e9b825 in __GI_abort () at abort.c:91
#3  0xb6d6d74c in qt_message_output(QtMsgType, char const*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#4  0xb6d6db59 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#5  0xb6d6dc78 in qFatal(char const*, ...) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#6  0xb6d6dd05 in qt_assert(char const*, char const*, int) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#7  0xb7bc8bb1 in KDescendantsProxyModelPrivate::sourceRowsAboutToBeInserted (this=0x82955f0, parent=..., start=11, end=11)
    at /home/dennis/marble/src/src/lib/kdescendantsproxymodel.cpp:563
#8  0xb6ea3ef6 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#9  0xb6ef37b5 in QAbstractItemModel::rowsAboutToBeInserted(QModelIndex const&, int, int) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#10 0xb6e82548 in QAbstractItemModel::beginInsertRows(QModelIndex const&, int, int) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#11 0xb7bc6ab8 in Marble::GeoDataTreeModel::addFeature (this=0x8211280, parent=0x97a5900, feature=0x9a0e688)
    at /home/dennis/marble/src/src/lib/GeoDataTreeModel.cpp:580
#12 0xb7cd9565 in Marble::BookmarkManager::addBookmark (this=0x82112b8, container=0x97a5900, placemark=...)
    at /home/dennis/marble/src/src/lib/BookmarkManager.cpp:130
#13 0xb7ce11b3 in Marble::BookmarkManagerDialog::importBookmarks (this=this@entry=0x8f20db0)
    at /home/dennis/marble/src/src/lib/BookmarkManagerDialog.cpp:497
#14 0xb7ce14a0 in Marble::BookmarkManagerDialog::qt_static_metacall (_o=0x8f20db0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfffd188)
    at /home/dennis/marble/build/src/lib/BookmarkManagerDialog.moc:68
#15 0xb6ea3ef6 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#16 0xb6a9401d in QAbstractButton::clicked(bool) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#17 0xb679a6dd in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#18 0xb679af2b in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#19 0xb679b1e6 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
Comment 3 Thibaut Gridel 2013-08-06 20:54:24 UTC
*** Bug 323002 has been marked as a duplicate of this bug. ***
Comment 4 Vladislav Vorobiev 2015-09-03 09:47:00 UTC
It's still crash.
Comment 5 Dennis Nienhüser 2015-09-05 11:56:16 UTC
*** Bug 352208 has been marked as a duplicate of this bug. ***
Comment 6 topas 2016-07-31 20:24:48 UTC
Found a workaround:

1. Make shure Marble is not running.

2. Just paste your whole import file or merge your differences into /home/[yourusername]/.local/share/marble/bookmarks/bookmarks.kml

3. Start Marble. (Started without a crash on my Ubuntu 16.04)
Comment 7 Dennis Nienhüser 2017-01-03 21:23:42 UTC
*** Bug 331312 has been marked as a duplicate of this bug. ***
Comment 8 Dennis Nienhüser 2017-01-03 21:26:49 UTC
*** Bug 373750 has been marked as a duplicate of this bug. ***
Comment 9 Dennis Nienhüser 2017-01-03 21:46:47 UTC
GCI task https://codein.withgoogle.com/tasks/5107915830591488/ should take care of this issue.
Comment 10 Dennis Nienhüser 2017-01-07 12:24:45 UTC
Git commit 7bfecba79239f91b459dcdfc81a4124d21e8ba5a by Dennis Nienhüser.
Committed on 07/01/2017 at 11:46.
Pushed by nienhueser into branch 'master'.

API cleanup: Move methods to private class, rename for clarity

M  +2    -2    src/lib/marble/BookmarkManager.cpp
M  +1    -1    src/lib/marble/BookmarkManager.h
M  +24   -17   src/lib/marble/BookmarkManagerDialog.cpp
M  +0    -5    src/lib/marble/BookmarkManagerDialog.h

https://commits.kde.org/marble/7bfecba79239f91b459dcdfc81a4124d21e8ba5a
Comment 11 Dennis Nienhüser 2017-01-07 17:03:23 UTC
This one got lost somehow:

commit 251b8f280
Author: Sergey Popov <sergobot@protonmail.com>
Date:   Sat Jan 7 11:56:06 2017 +0100

    Fix importing of bookmarks
    
    Summary:
    Also cleared some comments in BookmarkManager.h
    Fixes BUG:316969
    Related Google Code-In 2016 task:
    https://codein.withgoogle.com/dashboard/task-instances/6308606150443008/
    
    Reviewers: nienhueser, rahn
    
    Subscribers: rahn, nienhueser
    
    Differential Revision: https://phabricator.kde.org/D3989
    
    BUG: 316969
    FIXED-IN: Applications/17.04
Comment 12 Dennis Nienhüser 2017-01-07 17:04:22 UTC
Backporting would be nice, but needs some changes:
- avoid return type change of BookmarkManager::addNewBookmarkFolder() in order to keep ABI. Can be done by introducing a new BookmarkManager::addBookmarkFolder()
- ideally also move importBookmarksRecursively to the private class like done in 7bfecba. The move of the second method shouldn't be done though as that involves l10n changes
Comment 13 Mike Somov 2017-03-26 11:26:03 UTC
Created attachment 104741 [details]
New crash information added by DrKonqi

keditbookmarks (4.14.13) on KDE Platform 4.14.13 using Qt 4.8.6

crashed always when importing a bookmark file

-- 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  0x00007f2bb3dd4132 in KBookmarkModel::removeBookmark (this=0x2164190, bookmark=...) at ../../../keditbookmarks/kbookmarkmodel/model.cpp:451
#10 0x00007f2bb3dcf851 in CreateCommand::undo (this=0x2ce6ca0) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:156
#11 0x00007f2bb3dd150e in DeleteCommand::redo (this=0x2c24890) at ../../../keditbookmarks/kbookmarkmodel/commands.cpp:320
Comment 14 Justin Zobel 2020-12-04 05:14:30 UTC
Thank you for the report.

As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 15 Bug Janitor Service 2020-12-19 04:34:46 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 16 Bug Janitor Service 2021-01-03 04:34:16 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!