Bug 263115 - Crash in add device wizard when Back,Forward during device scan
Summary: Crash in add device wizard when Back,Forward during device scan
Status: RESOLVED FIXED
Alias: None
Product: solid
Classification: Frameworks and Libraries
Component: bluetooth-wizard (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Alex Fiestas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-14 09:50 UTC by Will Stephenson
Modified: 2011-01-16 04:38 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 Will Stephenson 2011-01-14 09:50:36 UTC
Application: bluedevil-wizard (0.1)
KDE Platform Version: 4.5.95 (4.6 RC2) (Compiled from sources)
Qt Version: 4.7.1
Operating System: Linux 2.6.37-rc7-default i686
Distribution: "openSUSE 11.4 Milestone 5 of 6 (i586)"

-- Information about the crash:
While the device scan is in progress (moving progress bar) going back to the first wizard page then forward again causes the attached backtrace.

Git from 13 Jan (pm)

The crash can be reproduced every time.

-- Backtrace:
Application: Bluetooth Wizard (bluedevil-wizard), signal: Segmentation fault
[KCrash Handler]
#7  0x45454545 in ?? ()
#8  0x080550ea in setText (this=0x81c2a10, device=0x815a9d8) at /usr/include/QtGui/qlistwidget.h:174
#9  DiscoverPage::deviceFound (this=0x81c2a10, device=0x815a9d8) at /usr/src/debug/bluedevil/src/wizard/pages/discoverpage.cpp:117
#10 0x0804f9d5 in DiscoverPage::qt_metacall (this=0x81c2a10, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbf986308) at /usr/src/debug/bluedevil/build/src/wizard/moc_discoverpage.cpp:82
#11 0xb6e748ad in QMetaObject::metacall (object=0x81c2a10, cl=QMetaObject::InvokeMetaMethod, idx=31, argv=0xbf986308) at kernel/qmetaobject.cpp:237
#12 0xb6e849fc in QMetaObject::activate (sender=0x8199f80, m=0xb72de884, local_signal_index=0, argv=0xbf986308) at kernel/qobject.cpp:3272
#13 0xb72b78f5 in BlueDevil::Adapter::deviceFound(BlueDevil::Device*) () from /usr/lib/libbluedevil.so.1
#14 0xb72bc6b1 in BlueDevil::Adapter::Private::_k_deviceFound(QString const&, QMap<QString, QVariant> const&) () from /usr/lib/libbluedevil.so.1
#15 0xb72be8b2 in BlueDevil::Adapter::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libbluedevil.so.1
#16 0xb6e748ad in QMetaObject::metacall (object=0x8199f80, cl=QMetaObject::InvokeMetaMethod, idx=20, argv=0xbf986554) at kernel/qmetaobject.cpp:237
#17 0xb6e849fc in QMetaObject::activate (sender=0x81611e0, m=0xb72de9a4, local_signal_index=2, argv=0xbf986554) at kernel/qobject.cpp:3272
#18 0xb72cb24d in OrgBluezAdapterInterface::DeviceFound(QString const&, QMap<QString, QVariant> const&) () from /usr/lib/libbluedevil.so.1
#19 0xb72ccce6 in OrgBluezAdapterInterface::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libbluedevil.so.1
#20 0xb6fc8770 in QDBusConnectionPrivate::deliverCall (this=0x8136c40, object=0x81611e0, msg=..., metaTypes=..., slotIdx=-1080532735) at qdbusintegrator.cpp:919
#21 0xb6fd47e6 in QDBusCallDeliveryEvent::placeMetaCall (this=0x81b5ab0, object=0x81611e0) at qdbusintegrator_p.h:103
#22 0xb6e8357f in QObject::event (this=0x81611e0, e=0x81b5ab0) at kernel/qobject.cpp:1211
#23 0xb6396434 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#24 0xb639f0d7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0xb74daa12 in KApplication::notify (this=0xbf987080, receiver=0x81611e0, event=0x81b5ab0) at /space/kde/sources/4_6/kdelibs/kdeui/kernel/kapplication.cpp:311
#26 0xb6e6dfbe in QCoreApplication::notifyInternal (this=0xbf987080, receiver=0x81611e0, event=0x81b5ab0) at kernel/qcoreapplication.cpp:732
#27 0xb6e71d4c in sendEvent (receiver=0x0, event_type=0, data=0x8067538) at kernel/qcoreapplication.h:215
#28 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8067538) at kernel/qcoreapplication.cpp:1373
#29 0xb6e71e9c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266
#30 0xb6e9c5b4 in sendPostedEvents (s=0x807de40) at kernel/qcoreapplication.h:220
#31 postEventSourceDispatch (s=0x807de40) at kernel/qeventdispatcher_glib.cpp:277
#32 0xb59d7329 in g_main_dispatch (context=0x807d498) at gmain.c:2436
#33 g_main_context_dispatch (context=0x807d498) at gmain.c:3009
#34 0xb59d7b30 in g_main_context_iterate (context=0x807d498, block=1, dispatch=1, self=0x807b1b0) at gmain.c:3087
#35 0xb59d7dee in g_main_context_iteration (context=0x807d498, may_block=1) at gmain.c:3150
#36 0xb6e9c73b in QEventDispatcherGlib::processEvents (this=0x807aff0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#37 0xb644c53a in ?? () from /usr/lib/libQtGui.so.4
#38 0xb6e6d29d in QEventLoop::processEvents (this=0xbf986fe4, flags=...) at kernel/qeventloop.cpp:149
#39 0xb6e6d4c9 in QEventLoop::exec (this=0xbf986fe4, flags=...) at kernel/qeventloop.cpp:201
#40 0xb6e71f70 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#41 0xb6394124 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#42 0x08050c30 in main (argc=) at /usr/src/debug/bluedevil/src/wizard/main.cpp:50

Reported using DrKonqi
Comment 1 Todd 2011-01-15 20:00:48 UTC
I just had this crash when using the beta version of 1.0.2 beta.
Comment 2 Alex Fiestas 2011-01-16 04:38:41 UTC
commit da4197fa424bd628601a029b8770637731d1ea52
branch stable
Author: Alex Fiestas <alex@eyeos.org>
Date:   Sun Jan 16 04:33:59 2011 +0100

    Clear itemList and QMap containing address<->item relation so we do not crash.
    
    BUG:263115

diff --git a/src/wizard/pages/discoverpage.cpp b/src/wizard/pages/discoverpage.cpp
index 11ac217..dfdb165 100644
--- a/src/wizard/pages/discoverpage.cpp
+++ b/src/wizard/pages/discoverpage.cpp
@@ -84,6 +84,8 @@ void DiscoverPage::nameChanged(const QString& name)
 void DiscoverPage::cleanupPage()
 {
     stopScan();
+    deviceList->clear();
+    m_itemRelation.clear();
 }
 
 bool DiscoverPage::isComplete() const