Bug 159570

Summary: gpssync crashes when the google maps URL cannot be rendered
Product: [Applications] digikam Reporter: Fabien <fabien.ubuntu>
Component: Geolocation-GoogleMapsAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, caulier.gilles
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.7.0
Sentry Crash Report:

Description Fabien 2008-03-19 15:33:09 UTC
Version:            (using KDE 3.5.8KDE 3.5.6KDE 1.2)
Installed from:    Ubuntu PackagesUbuntu PackagesUbuntu Packages
OS:                Linux

Some recent changes in google maps javascript code makes older version of khtml unable to display the map (Invalid regular expression).
This is not related to gpssync kipi-plugins, but this problem unveils a crash issue when this problem occurs.
Crash happens when clicking OK or Cancel in "Edit coordonates" :

KIPI (loading): Kipi-plugins - GPS Sync  - Kipi-plugins 0.1.5
KIPI (loading):
http://digikam3rdparty.free.fr/gpslocator/getlonlatalt.php?latitude=46.5256666667&longitude=6.517&altitude=&width=480&height=360&zoom=7&maptype=G_MAP_TYPE&filename=img_3402.jpg
KIPI (loading):
http://digikam3rdparty.free.fr/gpslocator/getlonlatalt.php?latitude=46.5256666667&longitude=6.517&altitude=&width=480&height=360&zoom=7&maptype=G_MAP_TYPE&filename=img_3402.jpg
KIPI (loading):
http://digikam3rdparty.free.fr/gpslocator/getlonlatalt.php?latitude=46.5256666667&longitude=6.517&altitude=&width=735&height=566&zoom=7&maptype=G_MAP_TYPE&filename=img_3402.jpg
ASSERT: "sb" in
/build/buildd/kdelibs-3.5.2/./kparts/statusbarextension.cpp (155)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47614507100816 (LWP 16810)]
0x00002b4e17341ffe in QObject::parent (this=0x0) at qobject.h:154
154         QObject     *parent() const { return parentObj; }
(gdb) bt
#0  0x00002b4e17341ffe in QObject::parent (this=0x0) at qobject.h:154
#1  0x00002b4e1adf3157 in QWidget::parentWidget () from /usr/lib/libqt-mt.so.3
#2  0x00002b4e1aef9796 in QWidget::topLevelWidget () from /usr/lib/libqt-mt.so.3
#3  0x00002b4e1933fe55 in KParts::StatusBarExtension::statusBar () from /usr/lib/libkparts.so.2
#4  0x00002b4e19340eae in KParts::StatusBarExtension::removeStatusBarItem () from /usr/lib/libkparts.so.2
#5  0x00002b4e17e663b7 in KHTMLPart::removeJSErrorExtension () from /usr/lib/libkhtml.so.4
#6  0x00002b4e17e9a5cf in KHTMLPart::~KHTMLPart () from /usr/lib/libkhtml.so.4
#7  0x00002aaaac0143ab in ~GPSMapWidget (this=0x1217f60) at gpsmapwidget.cpp:74
#8  0x00002b4e1934143d in KParts::Part::qt_invoke () from /usr/lib/libkparts.so.2
#9  0x00002b4e1934994a in KParts::ReadOnlyPart::qt_invoke () from /usr/lib/libkparts.so.2
#10 0x00002b4e17ea762e in KHTMLPart::qt_invoke () from /usr/lib/libkhtml.so.4
#11 0x00002aaaac013e11 in KIPIGPSSyncPlugin::GPSMapWidget::qt_invoke (this=0x1217f60, _id=2, _o=0x7fffffc902a0) at gpsmapwidget.moc:104
#12 0x00002b4e1aec8c2b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#13 0x00002b4e1aec9692 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#14 0x00002b4e1b234f36 in QObject::destroyed () from /usr/lib/libqt-mt.so.3
#15 0x00002b4e1aec767f in QObject::~QObject () from /usr/lib/libqt-mt.so.3
#16 0x00002b4e1aeff232 in QWidget::~QWidget () from /usr/lib/libqt-mt.so.3
#17 0x00002b4e172d2f0f in ~QFrame (this=0x121a880) at qframe.h:48
#18 0x00002b4e1aff6ea5 in QScrollView::~QScrollView () from /usr/lib/libqt-mt.so.3
#19 0x00002b4e17e7633c in KHTMLView::~KHTMLView () from /usr/lib/libkhtml.so.4
#20 0x00002b4e1aeff16c in QWidget::~QWidget () from /usr/lib/libqt-mt.so.3
#21 0x00002b4e1b243461 in QFrame::~QFrame () from /usr/lib/libqt-mt.so.3
#22 0x00002b4e1aeff16c in QWidget::~QWidget () from /usr/lib/libqt-mt.so.3
#23 0x00002b4e19c0047f in KJanusWidget::~KJanusWidget () from /usr/lib/libkdeui.so.4
#24 0x00002b4e1aeff16c in QWidget::~QWidget () from /usr/lib/libqt-mt.so.3
#25 0x00002b4e1b069c52 in QDialog::~QDialog () from /usr/lib/libqt-mt.so.3
#26 0x00002aaaac010cfd in ~GPSEditDialog (this=0x7fffffc90640) at gpseditdialog.cpp:195
#27 0x00002aaaac005232 in Plugin_GPSSync::slotGPSEdit (this=0xb4bca0) at plugin_gpssync.cpp:262
#28 0x00002aaaac0052db in Plugin_GPSSync::qt_invoke (this=0xb4bca0,_id=3, _o=0x7fffffc90b70) at plugin_gpssync.moc:91
#29 0x00002b4e1aec8b02 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#30 0x00002b4e1aec9692 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#31 0x00002b4e19b662ed in KAction::slotPopupActivated () from /usr/lib/libkdeui.so.4
#32 0x00002b4e19b665a3 in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#33 0x00002b4e1aec8b02 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#34 0x00002b4e1b236130 in QSignal::signal () from /usr/lib/libqt-mt.so.3
#35 0x00002b4e1aee54e7 in QSignal::activate () from /usr/lib/libqt-mt.so.3
#36 0x00002b4e1afe3dca in QPopupMenu::mouseReleaseEvent () from /usr/lib/libqt-mt.so.3
#37 0x00002b4e1af0068c in QWidget::event () from /usr/lib/libqt-mt.so.3
#38 0x00002b4e1ae61ef0 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#39 0x00002b4e1ae62539 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#40 0x00002b4e1a1f1f8e in KApplication::notify () from /usr/lib/libkdecore.so.4
#41 0x00002b4e1adf33d8 in QApplication::sendSpontaneousEvent () from /usr/lib/libqt-mt.so.3
#42 0x00002b4e1adee921 in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3
#43 0x00002b4e1adecfcb in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#44 0x00002b4e1ae05e7b in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#45 0x00002b4e1ae79d86 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#46 0x00002b4e1ae79c8f in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#47 0x00002b4e1ae60b5c in QApplication::exec () from /usr/lib/libqt-mt.so.3
#48 0x0000000000403753 in main (argc=1, argv=0x7fffffc92368) at main.cpp:331


I'm using svn version of the kipi plugins.
Comment 1 caulier.gilles 2008-11-04 20:37:27 UTC
SVN commit 880109 by cgilles:

kipi-plugins from trunk : GPSSync : Google API has changed. now to change map type, values to pass in url are differents, especially for normal map.
Using old values can crash KHTML embeded in the plugin. So, this commit fix the problem.
More info here: http://groups.google.it/group/Google-Maps-API/browse_thread/thread/eec00441339c0a52/ed984365b8a3b18e?lnk=raot
CCMAIL: fzellini@gmail.com
CCBUGS: 159570
CCBUGS: 165370


 M  +1 -1      gpseditdialog.cpp  
 M  +1 -1      gpsmapwidget.cpp  
 M  +1 -1      gpstracklisteditdialog.cpp  
 M  +1 -1      gpstracklistwidget.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=880109
Comment 2 caulier.gilles 2008-11-04 20:42:44 UTC
KDE3 and KDE4 version of kipiplugins are now fixed.

Please checkout code and try again.

Gilles Caulier

Comment 3 Dario Andres 2008-12-05 14:12:31 UTC
I'm marking this as duplicate of bug 165370, because it have more information and comments. If you thinks this isn't a duplicate of that bug, just report it to me. :)

*** This bug has been marked as a duplicate of bug 165370 ***
Comment 4 caulier.gilles 2017-08-15 13:37:30 UTC
This crash is relevant of KHTML. Since digiKam 5.x we use Qt5::WebView instead.

Gilles Caulier