Bug 172830 - crashes at startup if marble-data is not installed
Summary: crashes at startup if marble-data is not installed
Status: RESOLVED WORKSFORME
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: marble-bugs
URL:
Keywords:
: 175791 185183 254557 263019 268093 268243 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-10-14 22:57 UTC by Tobias Doerffel
Modified: 2021-01-03 04:34 UTC (History)
13 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Doerffel 2008-10-14 22:57:36 UTC
Version:           0.10.0-beta5 (rev.: 871399) (using KDE 4.1.2)
Compiler:          GCC 4.3.2 
OS:                Linux
Installed from:    Ubuntu Packages

When compiling Digikam with Marble support (i.e. libmarble-dev installed) but marble-data is not installed, Digikam crashes at startup with

digikam(20915) Phonon::KdePlatformPlugin::createBackend: using backend:  "Xine"
Starting to load Plugins. 
Files:  "CompassFloatItem.so" 
Files:  "MapScaleFloatItem.so" 
Files:  "MarbleOverviewMap.so" 
Files:  "MarbleStarsPlugin.so" 
=== MarbleDirs: === 
Local Path: "/home/toby/.marble/data" 
Plugin Local Path: "/home/toby/.marble/plugins" 
 
Marble Data Path (Run Time) : "" 
Marble Data Path (Compile Time): "/usr/share/kde4/apps/marble/data" 
 
Marble Plugin Path (Run Time) : "" 
Marble Plugin Path (Compile Time): "/usr/lib/kde4/plugins/marble" 
 
System Path: "" 
Plugin System Path: "/usr/lib/kde4/plugins/marble" 
=================== 
"CompassFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/CompassFloatItem.so" 
QFSFileEngine::open: No file name specified
Cannot open file '', because: No file name specified
"MapScaleFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/MapScaleFloatItem.so" 
"MarbleOverviewMap.so"  -  "/usr/lib/kde4/plugins/marble/MarbleOverviewMap.so" 
QFSFileEngine::open: No file name specified
Cannot open file '', because: No file name specified
"MarbleStarsPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleStarsPlugin.so" 
QFSFileEngine::open: No file name specified
cannot open ""  for reading 
fstat error 
mmap error for input 
cannot open ""  for reading 
fstat error 
mmap error for input 
cannot open ""  for reading 
fstat error 
mmap error for input 
cannot open ""  for reading 
fstat error 
mmap error for input 
cannot open ""  for reading 
fstat error 
mmap error for input 
cannot open ""  for reading 
fstat error 
mmap error for input 
cannot open ""  for reading 
fstat error 
mmap error for input 
cannot open ""  for reading 
fstat error 
mmap error for input 
cannot open ""  for reading 
fstat error 
mmap error for input 
QFSFileEngine::open: No file name specified
QFSFileEngine::open: No file name specified
Use workaround:  0 
No recent Default Placemark Cache File available!
No Default Placemark Source File! 
No recent Default Placemark Cache File available!
No Default Placemark Source File! 
No recent Default Placemark Cache File available!
No Default Placemark Source File! 
No recent Default Placemark Cache File available!
No Default Placemark Source File! 
No recent Default Placemark Cache File available!
No Default Placemark Source File! 
loadMapTheme "earth/citylights/citylights.dgml" 
File does not exist: "" 
loadMapTheme "earth/bluemarble/bluemarble.dgml" 
File does not exist: "" 
KCrash: Application 'digikam' crashing...
sock_file=/home/..../.kde/socket-..../kdeinit4__0



(gdb) bt
#0  0xb55e35a7 in GeoSceneDocument::head () from /usr/lib/libmarblewidget.so.4
#1  0xb561a9db in MarbleModel::MarbleModel () from /usr/lib/libmarblewidget.so.4
#2  0xb56235a9 in MarbleMap::MarbleMap () from /usr/lib/libmarblewidget.so.4
#3  0xb5617770 in MarbleWidget::MarbleWidget () from /usr/lib/libmarblewidget.so.4
#4  0xb7d7dadf in Digikam::WorldMapWidget::WorldMapWidget () from /usr/lib/libdigikam.so.1
#5  0xb7d7a32f in Digikam::ImagePropertiesGPSTab::ImagePropertiesGPSTab () from /usr/lib/libdigikam.so.1
#6  0xb7d61202 in Digikam::ImagePropertiesSideBar::ImagePropertiesSideBar () from /usr/lib/libdigikam.so.1
#7  0x08099de1 in Digikam::ImagePropertiesSideBarDB::ImagePropertiesSideBarDB ()
#8  0x0822e759 in Digikam::DigikamView::DigikamView ()
#9  0x082215d9 in Digikam::DigikamApp::setupView ()
#10 0x08223443 in Digikam::DigikamApp::DigikamApp ()
#11 0x082537e4 in main ()


Hope this helps.
Comment 1 caulier.gilles 2008-10-15 08:44:19 UTC
This problem must be fixed in marble code. nothing can be done in digiKam.

Gilles Caulier
Comment 2 Dario Andres 2008-12-05 12:56:19 UTC
*** Bug 175791 has been marked as a duplicate of this bug. ***
Comment 3 Luka Renko 2009-01-09 13:51:16 UTC
I had some discussion about this in #kde-edu today with annma and pinotree.

Root cause of this crash is that debian/ubuntu separates kdeedu/marble into three packages:
- marble: standalone program
- libmarble4: marble widget
- marble-data: architecture independent data

Crash is caused by the fact that libmarble (called by digikam), does not cope with missing data. It looks like that it cannot work without at all.

We have to options to address this problem:
1. libmarble/marble is changed to cope with environment without data
   (not sure if this makes sense in practice)
2. libmarble (and indirectly marble) depend on marble-data
   (this is trivial change in debian/ubuntu packaging)

I would like to get definite answer from Marble developers in what direction to go, otherwise we will use option 2. for KDE 4.2 packages (in order to avoid crash). Option 2 anyhow looks like a safer bet, even though that this brings additional 24 MB of compressed data (might be issue for Kubuntu CD).
Comment 4 Luka Renko 2009-01-09 16:17:46 UTC
Some more ideas how to get around 24MB penalty (download) for library:

16:10 < MoDaX> there is a way to make digikam and other libmarble4 users to
               depend on -data avoiding that dependency from libmarble4
16:11 < MoDaX> I might agree to going that way
16:11 < MoDaX> if all those 23 MB (30MB+ uncompressed) is really necessary
16:12 < MoDaX> but this rises a question, what if I don't want to find locations
               in digikam
16:12 < MoDaX> this is extra
16:14 < MoDaX> 23 MB download is still big
16:14 < Lure> MoDaX: maybe marble-data should be just Suggest/Recommended package
              for digikam, and libmarble widget should be good enough to behave
              w/o data (display error message instead of widget, or empty globe
              or something
16:15 < MoDaX> Lure: that would be absolutely perfect
16:15 < pinotree> imho the library should have the minimum required
16:15 < Lure> MoDaX: we just need to understand if w/o data at all is possible to
              Marble developers
16:15 < pinotree> ie just the atlas map, no cities, etc
Comment 5 Anne-Marie Mahfouf 2009-01-09 16:28:09 UTC
tackat, can you look into this rather soon please so that Debian packages and derived get fixe, thanks!
Comment 6 Torsten Rahn 2009-01-09 21:18:56 UTC
> Root cause of this crash is that debian/ubuntu separates kdeedu/marble into
> three packages:
> - marble: standalone program
> - libmarble4: marble widget
> - marble-data: architecture independent data

Yes and we had rather discouraged this separation until Marble would reach binary compatibility.

We had also asked distributors to put a hard dependency onto the marble-data package as the source code was not entirely designed to work without portions of the data.

So in short: right now (2) is indeed the preferred option for now. 
I'll commit some patch later today that will trim the amount needed for the srtm map down a bit more and hence reduce the deb/rpm size a bit. 



Comment 7 Torsten Rahn 2009-01-10 01:42:17 UTC
Ok, I've just committed a fix which should reduce the size of the marble-data package by about 5 MB (at least it does so for the uncompressed JPGs -- but given that JPGs don't compress very well it should be about the same range). 

http://lists.kde.org/?l=kde-commits&m=123154731705347&w=2

If space is a concern you can always package Marble with the compile time option

 cmake -DTILES_AT_COMPILETIME=OFF

This will only create the tiles for the atlas map at run time (so the user would get nagged with a dialog on first startup. This would save up to 10 MB, so the marble-data package should only weigh about 13 MB then (however I'd only suggest this method if getting it onto a live cd is an issue). 

I'll look into further options to reduce size in case of usage as a library. 

Regards,

Torsten
Comment 8 Luka Renko 2009-01-11 12:33:55 UTC
Torsten, thanks for explanations. We will fix KDE 4.2RC packages so that libmarble4 package will depend on marble-data.
In my opinion, this bug could be closed as DOWNSTREAM.
Comment 9 Torsten Rahn 2009-01-11 13:41:57 UTC
We'd like to move the library part of marble (libmarble) into kdesupport at some point in the future (I guess KDE 4.3 could be a good chance to do so). 

Now what we are toying with in terms of ideas for putting libmarble on diet is this:

Move all data that is currently located in marble-data into the newly created package libmarble-data, _except_ for these mapthemes:

- Precipitation maps, Temperature maps, Moon map, Schagen map.

The latter map themes (which amount to about 4 MB) would then go into marble-data. That way we'd have

libmarble which would depend on libmarble-data.
marble which would depend on marble-data.







Comment 10 Torsten Rahn 2009-02-22 10:37:57 UTC
*** Bug 185183 has been marked as a duplicate of this bug. ***
Comment 11 Dennis Nienhüser 2010-01-16 11:45:19 UTC
There's now a wiki page for this: http://techbase.kde.org/Projects/Marble/NewMarbleMoldules
Comment 12 Dennis Nienhüser 2010-01-27 21:12:41 UTC
SVN commit 1081126 by nienhueser:

Remove exit() calls from the library part. Libraries should not force applications to terminate. Deal with no theme being loadable. While marble is not exactly useful without data, this prevents crashes and allows applications embedding a MarbleWidget to continue working even when marble is not correctly installed with regard to data files or their location.
CCBUG: 172830


 M  +12 -10    MarbleMap.cpp  
 M  +4 -5      TextureTile.cpp  
 M  +6 -5      ViewParams.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1081126
Comment 13 Bernhard Beschow 2011-08-05 23:43:39 UTC
*** Bug 268093 has been marked as a duplicate of this bug. ***
Comment 14 Bernhard Beschow 2011-08-06 00:04:56 UTC
*** Bug 263019 has been marked as a duplicate of this bug. ***
Comment 15 Bernhard Beschow 2011-08-06 00:29:35 UTC
*** Bug 268243 has been marked as a duplicate of this bug. ***
Comment 16 Bernhard Beschow 2011-08-06 00:49:36 UTC
*** Bug 254557 has been marked as a duplicate of this bug. ***
Comment 17 Rex Dieter 2015-03-01 06:17:49 UTC
Still a downstream/packaging issue, closing
Comment 18 Justin Zobel 2020-12-04 05:09:34 UTC
Thank you for the report, Tobias.

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 19 Bug Janitor Service 2020-12-19 04:34:32 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 20 Bug Janitor Service 2021-01-03 04:34:03 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!