[QGIS-trac] [Quantum GIS] #3505: Crash when GPSD goes away and trying to connect again

Quantum GIS qgis at qgis.org
Sat Feb 19 13:48:13 EST 2011


#3505: Crash when GPSD goes away and trying to connect again
---------------------------------------------------------+------------------
   Reporter:  volter                                     |              Owner:  nobody       
       Type:  bug                                        |             Status:  new          
   Priority:  critical: causes crash or data corruption  |          Milestone:  Version 1.7.0
  Component:  Digitising                                 |            Version:               
   Keywords:  gpsd, gps                                  |   Platform_version:               
   Platform:  Fedora                                     |           Must_fix:  No           
Status_info:  0                                          |  
---------------------------------------------------------+------------------
 Connection was created mostly following this
 [http://www.rokip.net/index.php?option=com_content&view=article&id=78:nokia-n95
 -als-gps-maus-symarctic-extgpsubuntu-
 910tangogpsgpsd&catid=39:n95&Itemid=10 guide].

  * Connect to a GPS device
  * Stop GPSD (data is still delivered to /dev/rfcomm0)
  * Click Disconnect
  * Click Connect
  * Segfault

 No settings regarding GPS were changed in QGIS. The build actually uses a
 system wide Qwtpolar and Spatialindex lib, but I suppose that's not the
 cause. The build is like 4 days old.

 No idea what debugging info is missing here.


 {{{
 Program received signal SIGSEGV, Segmentation fault.
 0x0000000000000000 in ?? ()
 (gdb) bt
 #0  0x0000000000000000 in ?? ()
 #1  0x00000000006c4052 in QgsGPSInformationWidget::disconnectGps
 (this=0x1fa8e50)
     at
 /usr/src/debug/qgis-1.7.0/src/app/gps/qgsgpsinformationwidget.cpp:370
 #2  0x00000000007045a4 in QgsGPSInformationWidget::qt_metacall
 (this=0x1fa8e50, _c=QMetaObject::InvokeMetaMethod,
     _id=<value optimized out>, _a=0x7fffffffc750)
     at
 /usr/src/debug/qgis-1.7.0/src/app/gps/moc_qgsgpsinformationwidget.cxx:103
 #3  0x00000032f377004f in QMetaObject::activate (sender=0x1fa73f0,
 m=<value optimized out>,
     local_signal_index=<value optimized out>, argv=0x7fffffffc750) at
 kernel/qobject.cpp:3272
 #4  0x00000032f70288e2 in QAbstractButton::toggled (this=<value optimized
 out>, _t1=false)
     at .moc/release-shared/moc_qabstractbutton.cpp:213
 #5  0x00000032f6d72593 in QAbstractButton::setChecked (this=0x1fa73f0,
 checked=false)
     at widgets/qabstractbutton.cpp:766
 #6  0x00000000006c3eb4 in QgsGPSInformationWidget::timedout
 (this=0x1fa8e50)
     at
 /usr/src/debug/qgis-1.7.0/src/app/gps/qgsgpsinformationwidget.cpp:351
 #7  0x000000000070454c in QgsGPSInformationWidget::qt_metacall
 (this=0x1fa8e50, _c=QMetaObject::InvokeMetaMethod,
     _id=<value optimized out>, _a=0x7fffffffc880)
     at
 /usr/src/debug/qgis-1.7.0/src/app/gps/moc_qgsgpsinformationwidget.cxx:119
 #8  0x00000032f377004f in QMetaObject::activate (sender=0x202fd20,
 m=<value optimized out>,
     local_signal_index=<value optimized out>, argv=0x0) at
 kernel/qobject.cpp:3272
 #9  0x00007ffff7ba875a in QgsGPSDetector::advance (this=0x202fd20)
     at /usr/src/debug/qgis-1.7.0/src/core/gps/qgsgpsdetector.cpp:135
 #10 0x00007ffff7d4a50c in QgsGPSDetector::qt_metacall (this=0x202fd20,
 _c=QMetaObject::InvokeMetaMethod,
     _id=<value optimized out>, _a=0x7fffffffca40)
     at /usr/src/debug/qgis-1.7.0/src/core/gps/moc_qgsgpsdetector.cxx:83
 #11 0x00000032f377004f in QMetaObject::activate (sender=0x1ff1e70,
 m=<value optimized out>,
     local_signal_index=<value optimized out>, argv=0x0) at
 kernel/qobject.cpp:3272
 #12 0x00000032f3776aef in QSingleShotTimer::timerEvent (this=0x1ff1e70) at
 kernel/qtimer.cpp:308
 #13 0x00000032f376f879 in QObject::event (this=0x1ff1e70, e=<value
 optimized out>) at kernel/qobject.cpp:1175
 #14 0x00000032f69b78c4 in QApplicationPrivate::notify_helper
 (this=0xb3c990, receiver=0x1ff1e70, e=0x7fffffffd200)
     at kernel/qapplication.cpp:4445
 #15 0x00000032f69bc3da in QApplication::notify (this=<value optimized
 out>, receiver=0x1ff1e70, e=0x7fffffffd200)
     at kernel/qapplication.cpp:4324
 #16 0x00007ffff7bfa3c6 in QgsApplication::notify (this=<value optimized
 out>, receiver=<value optimized out>,
     event=<value optimized out>) at
 /usr/src/debug/qgis-1.7.0/src/core/qgsapplication.cpp:88
 #17 0x00000032f375b7ac in QCoreApplication::notifyInternal
 (this=0x7fffffffd6b0, receiver=0x1ff1e70, event=
     0x7fffffffd200) at kernel/qcoreapplication.cpp:732
 #18 0x00000032f37893fe in sendEvent (this=0xb41a90) at
 kernel/qcoreapplication.h:215
 #19 QTimerInfoList::activateTimers (this=0xb41a90) at
 kernel/qeventdispatcher_unix.cpp:603
 #20 0x00000032f37861f8 in timerSourceDispatch (source=<value optimized
 out>) at kernel/qeventdispatcher_glib.cpp:184
 #21 idleTimerSourceDispatch (source=<value optimized out>) at
 kernel/qeventdispatcher_glib.cpp:231
 #22 0x00000032e7641e33 in g_main_dispatch (context=0xb40920) at
 gmain.c:2149
 #23 g_main_context_dispatch (context=0xb40920) at gmain.c:2702
 #24 0x00000032e7642610 in g_main_context_iterate (context=0xb40920,
 block=1, dispatch=1, self=<value optimized out>)
     at gmain.c:2780
 #25 0x00000032e76428ad in g_main_context_iteration (context=0xb40920,
 may_block=1) at gmain.c:2843
 #26 0x00000032f37868bf in QEventDispatcherGlib::processEvents
 (this=0xb3df30, flags=<value optimized out>)
     at kernel/qeventdispatcher_glib.cpp:415
 #27 0x00000032f6a5c59e in QGuiEventDispatcherGlib::processEvents
 (this=<value optimized out>,
     flags=<value optimized out>) at
 kernel/qguieventdispatcher_glib.cpp:207
 #28 0x00000032f375ab42 in QEventLoop::processEvents (this=<value optimized
 out>, flags=...)
     at kernel/qeventloop.cpp:149
 #29 0x00000032f375ad8c in QEventLoop::exec (this=0x7fffffffd490,
 flags=...) at kernel/qeventloop.cpp:201
 #30 0x00000032f375f24b in QCoreApplication::exec () at
 kernel/qcoreapplication.cpp:1009
 #31 0x00000000004c7320 in main (argc=1, argv=<value optimized out>)
     at /usr/src/debug/qgis-1.7.0/src/app/main.cpp:804
 (gdb)
 }}}

-- 
Ticket URL: <https://trac.osgeo.org/qgis/ticket/3505>
Quantum GIS <http://qgis.org>
Quantum GIS is an Open Source GIS viewer/editor supporting OGR, PostGIS, and GRASS formats


More information about the QGIS-trac mailing list