Application: ksnapshot (0.8.2)
KDE Platform Version: 4.9.1 "release 561"
Qt Version: 4.8.2
Operating System: Linux 3.4.6-2.10-desktop x86_64
Distribution: "openSUSE 12.2 (x86_64)"
-- Information about the crash:
- What I was doing when the application crashed:
Install current libkipi2+kipi-plugins
Open KSnapshot (from KDE 4.9), press Send To.
The crash can be reproduced every time.
Application: KSnapshot (ksnapshot), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
#5 QString::operator= (this=0x72006500730097, other=...) at tools/qstring.cpp:1411
#6 0x00007f817bc7cc09 in KIPI::Plugin::setUiBaseName (this=0x12f3580, name=<optimized out>) at /home/marcel/freshmeat/multimedia/kde4/src/extragear/graphics/digikam/extra/libkipi/libkipi/plugin.cpp:309
#7 0x00007f817c94e6af in KIPIIpodExportPlugin::Plugin_iPodExport::Plugin_iPodExport (this=0x12f3580, parent=0x1326af0) at /home/marcel/freshmeat/multimedia/kde4/src/extragear/graphics/digikam/extra/kipi-plugins/ipodexport/plugin_ipodexport.cpp:66
#8 0x00007f817c94eba7 in KPluginFactory::createInstance<KIPIIpodExportPlugin::Plugin_iPodExport, QObject> (parentWidget=<optimized out>, parent=<optimized out>, args=...) at /usr/include/kpluginfactory.h:477
#9 0x00007f818ae94b55 in KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) () from /usr/lib64/libkdecore.so.5
#10 0x00007f818b7b9636 in KIPI::PluginLoader::Info::plugin() const () from /usr/lib64/libkipi.so.9
#11 0x0000000000418a08 in _start ()
Possible duplicates by query: bug 307114.
Reported using DrKonqi
Dear ksnapshot guys, this is not your fault!
This crash is the inverse to the problems we had with libkipi1 plugins being loaded into a libkipi2 app.
1) A libkipi1 app loads a libkipi2 plugin
2) The plugin's constructor is combined with the KIPI::Plugin constructor from libkipi1, as the symbol name does not differ
3) The plugin's constructor calls setUIBaseName. This symbol does not exist in libkipi1, so the code from libkipi1 is called
4) KIPI::Plugin::setUIBaseName accesses d->uiBaseName. As the constructor of KIPI::Plugin libkipi1 was used, Plugin::Private does not contain this field.
5) Invalid memory is accessed.
This problem is fixed for me since current code from git/master (libkipi and kipi-plugins).
libkipi 2.0.0 will only load kipi-plugins 3.0.0. Older version of plugins will be ignored. We use a version id in all plugins desktop file to see which libkipi SO id have been used to compile tools.
The case of libkipi 2.x loading kipi-plugins <3.0 is fixed.
This is about libkipi 1.x loading kipi-plugins 3.0.
And libkipi 1.x is out there on users' systems with KDE 4.9, which means we cannot fix it by updating libkipi 1.x anymore. Assuming libkipi 2.x will come with KDE 4.10, there is a time span during which installing digikam 3.0 & associated libraries will, unfriendly, make KDE 4.9 apps crash, not digikam, but KSnapshot etc.
I dont have a good idea how to fix it atm.
*** Bug 309677 has been marked as a duplicate of this bug. ***
*** Bug 313577 has been marked as a duplicate of this bug. ***
*** Bug 315033 has been marked as a duplicate of this bug. ***
digiKam 3.5.0 is out.
Can you give a fresh feedback about your report ? Crash still reproducible ?
Thanks in advance
digiKam 4.0.0 is out :
Please check if this entry still valid with this new version.
Thanks in advance
This file still valid using last digiKam 4.2.0 ?
New digiKam 4.11.0 is available with official PKG installer for OSX.
Can you reproduce the problem with this release ?
digiKam 4.12.0 is out :
We need a fresh feedback using this release please...
Thanks in advance.
With digiKam 5.0.0, this problem is not reproducible.
I close this file now. Re-open it if necessary.