[Marble-bugs] [marble] [Bug 321489] New: RoutingWidget may cause crash due to dangling pointer

Bernhard Beschow bbeschow at cs.tu-berlin.de
Sat Jun 22 11:01:57 UTC 2013


https://bugs.kde.org/show_bug.cgi?id=321489

            Bug ID: 321489
           Summary: RoutingWidget may cause crash due to dangling pointer
    Classification: Unclassified
           Product: marble
           Version: unspecified
          Platform: Archlinux Packages
                OS: Linux
            Status: UNCONFIRMED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: marble-bugs at kde.org
          Reporter: bbeschow at cs.tu-berlin.de

Application: marble (1.5.1 (stable version))
KDE Platform Version: 4.10.4
Qt Version: 4.8.4
Operating System: Linux 3.9.6-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
Reproducible: Always


Steps to Reproduce:
1) Create a new RoutingInputWidget (Routing->Add Via)
2) Select "From Map" from the RoutingInputWidget's drop down menu
3) Rempove the RoutingInputWidget
4) Create another RoutingInputWidget (Routing->Add Via)
5) Again select "From Map" from the RoutingInputWidget's drop down menu


Actual Results:
Marble crashes


Expected Results:
Marble shouldn't crash

-- Backtrace:
Application: Marble – Virtueller Globus (marble), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8e6aa61780 (LWP 19799))]

Thread 9 (Thread 0x7f8e52891700 (LWP 19800)):
#0  0x00007f8e66676caf in pthread_mutex_lock () from /usr/lib/libpthread.so.0
#1  0x00007f8e60d25151 in g_mutex_lock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f8e60ce5749 in g_main_context_prepare () from
/usr/lib/libglib-2.0.so.0
#3  0x00007f8e60ce5fb3 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0x00007f8e60ce619c in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#5  0x00007f8e68b158f6 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#6  0x00007f8e68ae796f in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#7  0x00007f8e68ae7c65 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#8  0x00007f8e689e667f in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x00007f8e68ac9113 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f8e689e8d1f in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007f8e66674dd2 in start_thread () from /usr/lib/libpthread.so.0
#12 0x00007f8e673b8cdd in clone () from /usr/lib/libc.so.6

Thread 8 (Thread 0x7f8e4a96a700 (LWP 19801)):
#0  0x00007f8e673b008d in poll () from /usr/lib/libc.so.6
#1  0x00007f8e60ce6094 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f8e60ce619c in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#3  0x00007f8e68b158f6 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#4  0x00007f8e68ae796f in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#5  0x00007f8e68ae7c65 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#6  0x00007f8e689e667f in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f8e68ac9113 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f8e689e8d1f in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f8e66674dd2 in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f8e673b8cdd in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7f8e3d08f700 (LWP 19810)):
#0  0x00007f8e66678c61 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
#1  0x00007f8e689e91d4 in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/libQtCore.so.4
#2  0x00007f8e689dc915 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f8e689e8d1f in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f8e66674dd2 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f8e673b8cdd in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f8e3e091700 (LWP 19812)):
#0  0x00007f8e66678c61 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
#1  0x00007f8e689e91d4 in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/libQtCore.so.4
#2  0x00007f8e689dc915 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f8e689e8d1f in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f8e66674dd2 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f8e673b8cdd in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f8e3e892700 (LWP 19813)):
#0  0x00007f8e66678c61 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
#1  0x00007f8e689e91d4 in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/libQtCore.so.4
#2  0x00007f8e689dc915 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f8e689e8d1f in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f8e66674dd2 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f8e673b8cdd in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f8e3f093700 (LWP 19912)):
#0  0x00007fffffb6eb17 in ?? ()
#1  0x00000000019f92d0 in ?? ()
#2  0x000000020114ece0 in ?? ()
#3  0x00007f8e20002860 in ?? ()
#4  0x00007f8e3f092ca8 in ?? ()
#5  0x00007f8e3f092c40 in ?? ()
#6  0x000000007fffffff in ?? ()
#7  0x00007f8e3f092cb0 in ?? ()
#8  0x00007f8e673ca26d in clock_gettime () from /usr/lib/libc.so.6
#9  0x00007f8e68a3d497 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f8e68b16e35 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007f8e68b156ac in ?? () from /usr/lib/libQtCore.so.4
#12 0x00007f8e68b15755 in ?? () from /usr/lib/libQtCore.so.4
#13 0x00007f8e60ce573d in g_main_context_prepare () from
/usr/lib/libglib-2.0.so.0
#14 0x00007f8e60ce5fb3 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007f8e60ce619c in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#16 0x00007f8e68b158f6 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#17 0x00007f8e68ae796f in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#18 0x00007f8e68ae7c65 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#19 0x00007f8e689e667f in QThread::exec() () from /usr/lib/libQtCore.so.4
#20 0x00007f8e689e8d1f in ?? () from /usr/lib/libQtCore.so.4
#21 0x00007f8e66674dd2 in start_thread () from /usr/lib/libpthread.so.0
#22 0x00007f8e673b8cdd in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f8e26da3700 (LWP 19914)):
#0  0x00007f8e66678c61 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
#1  0x00007f8e689e91d4 in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/libQtCore.so.4
#2  0x00007f8e689dc915 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f8e689e8d1f in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f8e66674dd2 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f8e673b8cdd in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f8e25b9b700 (LWP 19916)):
#0  0x00007f8e66678c61 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/usr/lib/libpthread.so.0
#1  0x00007f8e689e91d4 in QWaitCondition::wait(QMutex*, unsigned long) () from
/usr/lib/libQtCore.so.4
#2  0x00007f8e689dc915 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f8e689e8d1f in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f8e66674dd2 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f8e673b8cdd in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f8e6aa61780 (LWP 19799)):
[KCrash Handler]
#5  0x00007f8e6a03e5d4 in Marble::RoutingInputWidget::abortMapInputRequest
(this=0x2ae6190) at
/home/shentey/Projekte/marble/src/src/lib/routing/RoutingInputWidget.cpp:386
#6  0x00007f8e6a040fa5 in Marble::RoutingWidget::pointSelectionCanceled
(this=<optimized out>) at
/home/shentey/Projekte/marble/src/src/lib/routing/RoutingWidget.cpp:490
#7  0x00007f8e6a040fc1 in Marble::RoutingWidget::requestMapPosition
(this=0x1718530, widget=0x2b63790, enabled=<optimized out>) at
/home/shentey/Projekte/marble/src/src/lib/routing/RoutingWidget.cpp:460
#8  0x00007f8e68afc8ec in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) () from /usr/lib/libQtCore.so.4
#9  0x00007f8e6a03e830 in Marble::RoutingInputWidget::mapInputModeEnabled
(this=this at entry=0x2b63790, _t1=_t1 at entry=0x2b63790, _t2=true) at
/home/shentey/Projekte/marble/build/src/lib/RoutingInputWidget.moc:193
#10 0x00007f8e6a03e84c in Marble::RoutingInputWidget::setMapInputModeEnabled
(this=this at entry=0x2b63790, enabled=<optimized out>) at
/home/shentey/Projekte/marble/src/src/lib/routing/RoutingInputWidget.cpp:356
#11 0x00007f8e6a040190 in Marble::RoutingInputWidget::qt_static_metacall
(_o=0x2b63790, _c=<optimized out>, _id=13, _a=0x7fffffa825d0) at
/home/shentey/Projekte/marble/build/src/lib/RoutingInputWidget.moc:111
#12 0x00007f8e68afc8ec in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) () from /usr/lib/libQtCore.so.4
#13 0x00007f8e67e87f52 in QAction::triggered(bool) () from
/usr/lib/libQtGui.so.4
#14 0x00007f8e67e89923 in QAction::activate(QAction::ActionEvent) () from
/usr/lib/libQtGui.so.4
#15 0x00007f8e682b2139 in ?? () from /usr/lib/libQtGui.so.4
#16 0x00007f8e682b6669 in ?? () from /usr/lib/libQtGui.so.4
#17 0x00007f8e67edd46e in QWidget::event(QEvent*) () from
/usr/lib/libQtGui.so.4
#18 0x00007f8e682ba44b in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4
#19 0x00007f8e67e8e0ac in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQtGui.so.4
#20 0x00007f8e67e947ad in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQtGui.so.4
#21 0x00007f8e6955f8aa in KApplication::notify(QObject*, QEvent*) () from
/usr/lib/libkdeui.so.5
#22 0x00007f8e68ae8c3d in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/libQtCore.so.4
#23 0x00007f8e67e93f63 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from
/usr/lib/libQtGui.so.4
#24 0x00007f8e67f05d0c in ?? () from /usr/lib/libQtGui.so.4
#25 0x00007f8e67f0444c in QApplication::x11ProcessEvent(_XEvent*) () from
/usr/lib/libQtGui.so.4
#26 0x00007f8e67f2afb2 in ?? () from /usr/lib/libQtGui.so.4
#27 0x00007f8e60ce5da6 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#28 0x00007f8e60ce60f8 in ?? () from /usr/lib/libglib-2.0.so.0
#29 0x00007f8e60ce619c in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#30 0x00007f8e68b158d5 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#31 0x00007f8e67f2b066 in ?? () from /usr/lib/libQtGui.so.4
#32 0x00007f8e68ae796f in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#33 0x00007f8e68ae7c65 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#34 0x00007f8e682b9237 in QMenu::exec(QPoint const&, QAction*) () from
/usr/lib/libQtGui.so.4
#35 0x00007f8e682f1b75 in ?? () from /usr/lib/libQtGui.so.4
#36 0x00007f8e682f2219 in ?? () from /usr/lib/libQtGui.so.4
#37 0x00007f8e68afc8ec in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) () from /usr/lib/libQtCore.so.4
#38 0x00007f8e6823a916 in ?? () from /usr/lib/libQtGui.so.4
#39 0x00007f8e6823aebc in QAbstractButton::mousePressEvent(QMouseEvent*) ()
from /usr/lib/libQtGui.so.4
#40 0x00007f8e682f2578 in QToolButton::mousePressEvent(QMouseEvent*) () from
/usr/lib/libQtGui.so.4
#41 0x00007f8e67edd2e1 in QWidget::event(QEvent*) () from
/usr/lib/libQtGui.so.4
#42 0x00007f8e67e8e0ac in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQtGui.so.4
#43 0x00007f8e67e947ad in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/libQtGui.so.4
#44 0x00007f8e6955f8aa in KApplication::notify(QObject*, QEvent*) () from
/usr/lib/libkdeui.so.5
#45 0x00007f8e68ae8c3d in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/libQtCore.so.4
#46 0x00007f8e67e93f63 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from
/usr/lib/libQtGui.so.4
#47 0x00007f8e67f059db in ?? () from /usr/lib/libQtGui.so.4
#48 0x00007f8e67f0444c in QApplication::x11ProcessEvent(_XEvent*) () from
/usr/lib/libQtGui.so.4
#49 0x00007f8e67f2afb2 in ?? () from /usr/lib/libQtGui.so.4
#50 0x00007f8e60ce5da6 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#51 0x00007f8e60ce60f8 in ?? () from /usr/lib/libglib-2.0.so.0
#52 0x00007f8e60ce619c in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#53 0x00007f8e68b158d5 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQtCore.so.4
#54 0x00007f8e67f2b066 in ?? () from /usr/lib/libQtGui.so.4
#55 0x00007f8e68ae796f in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#56 0x00007f8e68ae7c65 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQtCore.so.4
#57 0x00007f8e68aecccb in QCoreApplication::exec() () from
/usr/lib/libQtCore.so.4
#58 0x000000000041b59f in main (argc=<optimized out>, argv=<optimized out>) at
/home/shentey/Projekte/marble/src/src/kdemain.cpp:399

Reported using DrKonqi

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Marble-bugs mailing list