Bug 493372 - Crash with vector OSM - Marble::VisiblePlacemark::symbolRect
Summary: Crash with vector OSM - Marble::VisiblePlacemark::symbolRect
Status: REPORTED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian unstable Linux
: NOR crash
Target Milestone: ---
Assignee: marble-bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-19 16:58 UTC by Alex Dănilă
Modified: 2024-11-23 15:35 UTC (History)
0 users

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 Alex Dănilă 2024-09-19 16:58:04 UTC
Browsing with Vector OSM will many times lead to crashes. It seems like browsing faster (frequent mouse actions with triggering map downloads).

Crash stack:
Application: Globe Virtuel Marble (marble), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f49eb5d001f in QPixmap::size() const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#5  0x00007f49ecd51fec in Marble::VisiblePlacemark::symbolRect (this=this@entry=0x55621ef15a30) at ./src/lib/marble/VisiblePlacemark.cpp:167
#6  0x00007f49ecd5417b in Marble::PlacemarkLayout::hasPlacemarkAt (this=0x55620dcb1ae8, pos=...) at ./src/lib/marble/PlacemarkLayout.cpp:550
#7  0x00007f49ecc6942d in Marble::PlacemarkLayer::hasPlacemarkAt (this=<optimized out>, pos=...) at ./src/lib/marble/layers/PlacemarkLayer.cpp:212
#8  0x00007f49ecc9f07e in Marble::MarbleMap::hasFeatureAt (this=0x55620dcdaa90, position=...) at ./src/lib/marble/MarbleMap.cpp:477
#9  0x00007f49ecce8232 in Marble::MarbleDefaultInputHandler::adjustCursorShape (this=this@entry=0x55620df1b6d0, mousePosition=..., mouseDirection=...) at ./src/lib/marble/MarbleInputHandler.cpp:670
#10 0x00007f49ecce971a in Marble::MarbleDefaultInputHandler::handleMouseEvent (this=0x55620df1b6d0, event=0x7fff03aabcb0) at ./src/lib/marble/MarbleInputHandler.cpp:894
#11 0x00007f49eb0de0f3 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55620dcd5110, event=event@entry=0x7fff03aabcb0) at kernel/qcoreapplication.cpp:1190
#12 0x00007f49ebd63082 in QApplicationPrivate::notify_helper (this=this@entry=0x55620d727ea0, receiver=receiver@entry=0x55620dcd5110, e=e@entry=0x7fff03aabcb0) at kernel/qapplication.cpp:3634
#13 0x00007f49ebd6b3ba in QApplication::notify (this=<optimized out>, receiver=0x55620dcd5110, e=0x7fff03aabcb0) at kernel/qapplication.cpp:3084
#14 0x00007f49eb0de398 in QCoreApplication::notifyInternal2 (receiver=0x55620dcd5110, event=0x7fff03aabcb0) at kernel/qcoreapplication.cpp:1064
#15 0x00007f49eb0de5a2 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
#16 0x00007f49ebd69442 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55620dcd5110, event=event@entry=0x7fff03aabcb0, alienWidget=<optimized out>, nativeWidget=0x55620dcdece0, buttonDown=buttonDown@entry=0x7f49ec2c39d0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2622
#17 0x00007f49ebdbfd7a in QWidgetWindow::handleMouseEvent (this=this@entry=0x55620eb9e1f0, event=event@entry=0x7fff03aabf80) at kernel/qwidgetwindow.cpp:684
#18 0x00007f49ebdc328f in QWidgetWindow::event (this=0x55620eb9e1f0, event=0x7fff03aabf80) at kernel/qwidgetwindow.cpp:300
#19 0x00007f49ebd63092 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55620eb9e1f0, e=0x7fff03aabf80) at kernel/qapplication.cpp:3640
#20 0x00007f49eb0de398 in QCoreApplication::notifyInternal2 (receiver=0x55620eb9e1f0, event=0x7fff03aabf80) at kernel/qcoreapplication.cpp:1064
#21 0x00007f49eb544c63 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007f49eb5166fc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#23 0x00007f49ce2c596e in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#24 0x00007f49e970c7df in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f49e970ea17 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f49e970f180 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007f49eb13b1ed in QEventDispatcherGlib::processEvents (this=0x55620d860750, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#28 0x00007f49eb0dcd02 in QEventLoop::exec (this=this@entry=0x7fff03aac320, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#29 0x00007f49eb0e5722 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#30 0x00005561fd12409a in main (argc=<optimized out>, argv=<optimized out>) at ./src/apps/marble-kde/kdemain.cpp:441
[Inferior 1 (process 15680) detached]




STEPS TO REPRODUCE
1. Switch Marble vector OSM.
2. Start browsing fast, triggering new map region downloads.


OBSERVED RESULT
Crash.

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Operating System: Debian GNU/Linux 12
KDE Plasma Version: 5.27.11
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13
Kernel Version: 6.10.9-amd64 (64-bit)
Graphics Platform: offscreen
Processors: 8 × Intel® Core™ i7-4702MQ CPU @ 2.20GHz
Memory: 15.3 Gio of RAM
Graphics Processor: Mesa Intel® HD Graphics 4600

ADDITIONAL INFORMATION
Comment 1 Alex Dănilă 2024-11-23 15:35:32 UTC
More complete stack from today:

Application: Globe Virtuel Marble (marble), signal: Segmentation fault

[KCrash Handler]
#4  QSize::QSize (this=<optimized out>, w=<error reading variable: Cannot access memory at address 0x670075006c0058>, h=<error reading variable: Cannot access memory at address 0x670075006c005c>) at ../../include/QtCore/../../src/corelib/tools/qsize.h:125
#5  QPixmap::size (this=this@entry=0x55e85bbc7028) at image/qpixmap.cpp:539
#6  0x00007f746655ee8c in Marble::VisiblePlacemark::symbolRect (this=this@entry=0x55e85bbc6f90) at ./src/lib/marble/VisiblePlacemark.cpp:167
#7  0x00007f7466560fa3 in Marble::PlacemarkLayout::hasPlacemarkAt (this=0x55e852074ca8, pos=...) at ./src/lib/marble/PlacemarkLayout.cpp:550
#8  0x00007f746646f6ad in Marble::PlacemarkLayer::hasPlacemarkAt (this=<optimized out>, pos=...) at ./src/lib/marble/layers/PlacemarkLayer.cpp:212
#9  0x00007f74664a91be in Marble::MarbleMap::hasFeatureAt (this=0x55e851fb6e10, position=...) at ./src/lib/marble/MarbleMap.cpp:477
#10 0x00007f74664f3406 in Marble::MarbleDefaultInputHandler::adjustCursorShape (this=this@entry=0x55e852371100, mousePosition=..., mouseDirection=...) at ./src/lib/marble/MarbleInputHandler.cpp:670
#11 0x00007f74664f4a32 in Marble::MarbleDefaultInputHandler::handleMouseEvent (this=0x55e852371100, event=0x7ffe1d43bce0) at ./src/lib/marble/MarbleInputHandler.cpp:894
#12 0x00007f74646dda33 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55e85209a080, event=event@entry=0x7ffe1d43bce0) at kernel/qcoreapplication.cpp:1190
#13 0x00007f7465363042 in QApplicationPrivate::notify_helper (this=this@entry=0x55e851b62ea0, receiver=receiver@entry=0x55e85209a080, e=e@entry=0x7ffe1d43bce0) at kernel/qapplication.cpp:3634
#14 0x00007f746536b39a in QApplication::notify (this=<optimized out>, receiver=0x55e85209a080, e=0x7ffe1d43bce0) at kernel/qapplication.cpp:3084
#15 0x00007f74646ddcd8 in QCoreApplication::notifyInternal2 (receiver=0x55e85209a080, event=0x7ffe1d43bce0) at kernel/qcoreapplication.cpp:1064
#16 0x00007f74646ddee2 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
#17 0x00007f7465369402 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55e85209a080, event=event@entry=0x7ffe1d43bce0, alienWidget=<optimized out>, nativeWidget=0x55e852074e80, buttonDown=buttonDown@entry=0x7f74658c39d0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2622
#18 0x00007f74653bfffa in QWidgetWindow::handleMouseEvent (this=this@entry=0x55e8528e7750, event=event@entry=0x7ffe1d43bfb0) at kernel/qwidgetwindow.cpp:684
#19 0x00007f74653c350f in QWidgetWindow::event (this=0x55e8528e7750, event=0x7ffe1d43bfb0) at kernel/qwidgetwindow.cpp:300
#20 0x00007f7465363052 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55e8528e7750, e=0x7ffe1d43bfb0) at kernel/qapplication.cpp:3640
#21 0x00007f74646ddcd8 in QCoreApplication::notifyInternal2 (receiver=0x55e8528e7750, event=0x7ffe1d43bfb0) at kernel/qcoreapplication.cpp:1064
#22 0x00007f74646ddee2 in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1474
#23 0x00007f7464b44d23 in QGuiApplicationPrivate::processMouseEvent (e=0x7f7365d13020) at kernel/qguiapplication.cpp:2278
#24 0x00007f7464b166fc in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#25 0x00007f74476f392e in xcbSourceDispatch (source=<optimized out>) at ./src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
#26 0x00007f7462d0b81f in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007f7462d0da57 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f7462d0e1c0 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f746473abed in QEventDispatcherGlib::processEvents (this=0x55e851c9b3f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#30 0x00007f74646dc642 in QEventLoop::exec (this=this@entry=0x7ffe1d43c350, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#31 0x00007f74646e5062 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#32 0x00007f7464b38330 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1863
#33 0x00007f7465362fc9 in QApplication::exec () at kernel/qapplication.cpp:2832
#34 0x000055e83b22718a in main (argc=<optimized out>, argv=<optimized out>) at ./src/apps/marble-kde/kdemain.cpp:441
[Inferior 1 (process 58996) detached]