Bug 440546 - Segfault in Marble::GeoSceneTileDataset::tileSize when trying to download a region of Vector OSM
Summary: Segfault in Marble::GeoSceneTileDataset::tileSize when trying to download a r...
Status: RESOLVED FIXED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: marble-bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-03 08:51 UTC by zl29ah
Modified: 2023-04-22 18:18 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zl29ah 2021-08-03 08:51:53 UTC
SUMMARY
(gdb) bt
#0  Marble::GeoSceneTileDataset::tileSize (this=0x0) at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999/src/lib/marble/geodata/scene/GeoSceneTileDataset.cpp:183
#1  0x00007ffff7ccac6c in Marble::MergedLayerDecorator::tileSize (this=<optimized out>) at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999/src/lib/marble/MergedLayerDecorator.cpp:159
#2  0x00007ffff7b58347 in Marble::TextureLayer::tileSize (this=this@entry=0x5555559b5760) at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999/src/lib/marble/layers/TextureLayer.cpp:498
#3  0x00007ffff7b7ba8e in Marble::DownloadRegionPrivate::rad2PixelX (this=this@entry=0x555558cdaf40, lon=0.64133849577061264, textureLayer=textureLayer@entry=0x5555559b5760)
    at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999/src/lib/marble/DownloadRegion.cpp:50
#4  0x00007ffff7b7bd9c in Marble::DownloadRegion::region (this=0x7fffe000b3b8, textureLayer=0x5555559b5760, downloadRegion=...) at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999/src/lib/marble/DownloadRegion.cpp:104
#5  0x00007ffff7b7ec21 in Marble::DownloadRegionDialog::region (this=this@entry=0x55555742f100) at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999/src/lib/marble/DownloadRegionDialog.cpp:339
#6  0x00007ffff7b7ee87 in Marble::DownloadRegionDialog::updateTilesCount (this=0x55555742f100) at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999/src/lib/marble/DownloadRegionDialog.cpp:428
#7  0x00007ffff7b7fbf4 in Marble::DownloadRegionDialog::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999_build/src/lib/marble/marblewidget_autogen/include/moc_DownloadRegionDialog.cpp:116
#8  0x00007ffff671f6c8 in doActivate<false> (sender=0x55555793ff60, signal_index=8, argv=0x7fffffffce80) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r2/work/qtbase-everywhere-src-5.15.2/src/corelib/kernel/qobject.cpp:3898
#9  0x00007ffff671969f in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7ffff7f839e0 <Marble::TileLevelRangeWidget::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffce80)
    at /var/tmp/portage/dev-qt/qtcore-5.15.2-r2/work/qtbase-everywhere-src-5.15.2/src/corelib/kernel/qobject.cpp:3946
#10 0x00007ffff7c09ad6 in Marble::TileLevelRangeWidget::bottomLevelChanged (this=<optimized out>, _t1=<optimized out>)
    at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999_build/src/lib/marble/marblewidget_autogen/include/moc_TileLevelRangeWidget.cpp:163
#11 0x00007ffff7c09dab in Marble::TileLevelRangeWidget::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999_build/src/lib/marble/marblewidget_autogen/include/moc_TileLevelRangeWidget.cpp:88
#12 0x00007ffff671f6c8 in doActivate<false> (sender=0x555558892e50, signal_index=8, argv=0x7fffffffcfb0) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r2/work/qtbase-everywhere-src-5.15.2/src/corelib/kernel/qobject.cpp:3898
#13 0x00007ffff734b04e in QSpinBox::valueChanged(int) () from /usr/lib64/libQt5Widgets.so.5
#14 0x00007ffff7348019 in QAbstractSpinBoxPrivate::setValue(QVariant const&, EmitPolicy, bool) () from /usr/lib64/libQt5Widgets.so.5
#15 0x00007ffff7348d2d in QAbstractSpinBox::stepBy(int) () from /usr/lib64/libQt5Widgets.so.5
#16 0x00007ffff73468ff in QAbstractSpinBoxPrivate::updateState(bool, bool) () from /usr/lib64/libQt5Widgets.so.5
#17 0x00007ffff71ea2f8 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#18 0x00007ffff71aa0ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#19 0x00007ffff71b0f83 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#20 0x00007ffff66eb667 in QCoreApplication::notifyInternal2 (receiver=0x555558892e50, event=0x7fffffffd690) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r2/work/qtbase-everywhere-src-5.15.2/src/corelib/kernel/qcoreapplication.cpp:1063
#21 0x00007ffff71aff99 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib64/libQt5Widgets.so.5
#22 0x00007ffff72021ab in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5
#23 0x00007ffff72054ae in QWidgetWindow::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#24 0x00007ffff71aa0ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#25 0x00007ffff66eb667 in QCoreApplication::notifyInternal2 (receiver=0x5555566bb370, event=0x7fffffffd940) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r2/work/qtbase-everywhere-src-5.15.2/src/corelib/kernel/qcoreapplication.cpp:1063
#26 0x00007ffff6b79e28 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5
#27 0x00007ffff6b7b665 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5
#28 0x00007ffff6b5626b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#29 0x00007fffe5d4a52a in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/libQt5XcbQpa.so.5
#30 0x00007ffff51977c7 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#31 0x00007ffff5197a50 in g_main_context_iterate.isra () from /usr/lib64/libglib-2.0.so.0
#32 0x00007ffff5197adf in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#33 0x00007ffff674276d in QEventDispatcherGlib::processEvents (this=0x5555556696f0, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r2/work/qtbase-everywhere-src-5.15.2/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#34 0x00007ffff66ea493 in QEventLoop::exec (this=this@entry=0x7fffffffdce0, flags=..., flags@entry=...) at /var/tmp/portage/dev-qt/qtcore-5.15.2-r2/work/qtbase-everywhere-src-5.15.2/include/QtCore/../../src/corelib/global/qflags.h:69
#35 0x00007ffff66f23f0 in QCoreApplication::exec () at /var/tmp/portage/dev-qt/qtcore-5.15.2-r2/work/qtbase-everywhere-src-5.15.2/include/QtCore/../../src/corelib/global/qflags.h:121
#36 0x000055555556a9bf in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-apps/marble-9999/work/marble-9999/src/apps/marble-qt/qtmain.cpp:307


STEPS TO REPRODUCE
1. Choose "Vector OSM" "theme"
2. Zoom out
3. File -> Download Region
4. Click "^" on the second Tile Level Range inputbox (both are 0)
5. Segfault

SOFTWARE/OS VERSIONS
GNU/Linux; Qt version 5.15.2

ADDITIONAL INFORMATION
marble master branch
Comment 1 Torsten Rahn 2023-04-22 18:18:34 UTC
Download of Vector maps using the DownloadRegion Dialog was not supported back in 2021 and we never disabled this in the UI to prevent this crash to occur.

However the good news is that DownloadRegion of the VectorOSM map should work now since this commit:

ommit 615fd043286d4d6a7ac880879e1a79d66bd4ba4d
Author: Torsten Rahn <rahn@kde.org>
Date:   Tue Mar 7 23:11:45 2023 +0100

    DownloadRegion support for VectorTile-based themes.