crashing with old kipi plugins

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

crashing with old kipi plugins

Marcel Wiesweg
Hi,

once the beta is out we will get numerous crash reports from the kipi plugin
loader. The problem is that loading a kipi plugin compiled with old libkipi
crashes, the plugin is interpreted as XMLGuiClient which it is not.
Now, I got the crash and thought "we need to add some safety checks,
dynamic_cast, check ABI version of the plugin". I had a look and the code, and
Victor has done all that already. It seems the kipi2-constructor is called
from the kipi1 code, why not, the symbol has the same name.
Anyway, I dont have a good idea how to fix that. If there is no way, we shall
know to tell everyone first to remove old kipi plugins.

Marcel
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Yes, Marcel, I also seen this problem on my computer, and i don't find
a way yet to solve this issue.

Victor ?

Gilles

2012/9/13 Marcel Wiesweg <[hidden email]>:

> Hi,
>
> once the beta is out we will get numerous crash reports from the kipi plugin
> loader. The problem is that loading a kipi plugin compiled with old libkipi
> crashes, the plugin is interpreted as XMLGuiClient which it is not.
> Now, I got the crash and thought "we need to add some safety checks,
> dynamic_cast, check ABI version of the plugin". I had a look and the code, and
> Victor has done all that already. It seems the kipi2-constructor is called
> from the kipi1 code, why not, the symbol has the same name.
> Anyway, I dont have a good idea how to fix that. If there is no way, we shall
> know to tell everyone first to remove old kipi plugins.
>
> Marcel
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Marcel,

If the run-time check in libkipi do not fix the problem, we can try
another solution.

Why not to patch all plugin desktop file to include kipi-plugins
version ID. Like this before to load shared object through plugin
loader, we can check if version is right to be loaded without crash.

As with kipi-plugins < 3.0.0 this information do not exist, we can
prevent crash relevant of older plugins.

Note : i already patch common kipiplugins.desktop from libkipiplugins
with version ID :

https://projects.kde.org/projects/extragear/graphics/kipi-plugins/repository/revisions/master/entry/common/libkipiplugins/kipiplugins.desktop.cmake#L96

It's easy to patch all plugins desktop files like this...

Gilles Caulier

2012/9/13 Gilles Caulier <[hidden email]>:

> Yes, Marcel, I also seen this problem on my computer, and i don't find
> a way yet to solve this issue.
>
> Victor ?
>
> Gilles
>
> 2012/9/13 Marcel Wiesweg <[hidden email]>:
>> Hi,
>>
>> once the beta is out we will get numerous crash reports from the kipi plugin
>> loader. The problem is that loading a kipi plugin compiled with old libkipi
>> crashes, the plugin is interpreted as XMLGuiClient which it is not.
>> Now, I got the crash and thought "we need to add some safety checks,
>> dynamic_cast, check ABI version of the plugin". I had a look and the code, and
>> Victor has done all that already. It seems the kipi2-constructor is called
>> from the kipi1 code, why not, the symbol has the same name.
>> Anyway, I dont have a good idea how to fix that. If there is no way, we shall
>> know to tell everyone first to remove old kipi plugins.
>>
>> Marcel
>> _______________________________________________
>> Digikam-devel mailing list
>> [hidden email]
>> https://mail.kde.org/mailman/listinfo/digikam-devel
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Marcel, Victor,

I tried to hack this problem on my computer where i installed and old
and experimental Youtube export plugin compiled with libkipi 1.x

I placed some debug trace in libkipi and digiKam plugins loader to
show which binray version name is reported :

digikam(29555)/KIPI (loading) KIPI::PluginLoader::init: Plugin
"JPEGLossless"  is in the ignore list from host application
digikam(29555)/KIPI (loading) KIPI::PluginLoader::init: Plugin
"HelloWorld"  is in the ignore list from host application
digikam(29555)/KIPI (loading) KIPI::PluginLoader::init: Plugin
"KXMLHelloWorld"  is in the ignore list from host application
digikam(29555)/KIPI (loading)
KIPIIpodExportPlugin::Plugin_iPodExport::Plugin_iPodExport:
Plugin_iPodExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "iPodExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "iPodExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIPanoramaPlugin::Plugin_Panorama::Plugin_Panorama: Plugin_Panorama
plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "Panorama"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "Panorama"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIRajceExportPlugin::Plugin_RajceExport::Plugin_RajceExport:
Plugin_RajceExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "RajceExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "RajceExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIAdvancedSlideshowPlugin::Plugin_AdvancedSlideshow::Plugin_AdvancedSlideshow:
Plugin_AdvancedSlideshow plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "AdvancedSlideshow"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "AdvancedSlideshow"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIRemoveRedEyesPlugin::Plugin_RemoveRedEyes::Plugin_RemoveRedEyes:
Plugin_RemoveRedEyes plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "RemoveRedEyes"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "RemoveRedEyes"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIExpoBlendingPlugin::Plugin_ExpoBlending::Plugin_ExpoBlending:
Plugin_ExpoBlending plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "ExpoBlending"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "ExpoBlending"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIPrintImagesPlugin::Plugin_PrintImages::Plugin_PrintImages:
Plugin_PrintImages plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "PrintImages"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "PrintImages"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIFlickrExportPlugin::Plugin_FlickrExport::Plugin_FlickrExport:
Plugin_FlickrExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "FlickrExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "FlickrExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPICalendarPlugin::Plugin_Calendar::Plugin_Calendar: Plugin_Calendar
plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "Calendar"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "Calendar"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIPiwigoExportPlugin::Plugin_PiwigoExport::Plugin_PiwigoExport:
Plugin_PiwigoExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "PiwigoExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "PiwigoExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPISmugPlugin::Plugin_Smug::Plugin_Smug: Plugin_Smug plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "Smug"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "Smug"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIWikiMediaPlugin::Plugin_WikiMedia::Plugin_WikiMedia:
Plugin_MediaWiki plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "MediaWiki export"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "MediaWiki export"  :: Binary version =  10
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "Youtube"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "Youtube"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIKioExportPlugin::Plugin_KioExportImport::Plugin_KioExportImport:
Plugin_KioExportImport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "KioExportImport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "KioExportImport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIViewerPlugin::Plugin_viewer::Plugin_viewer: OpenGL viewer plugin
loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "kipiplugin_imageviewer"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "kipiplugin_imageviewer"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIPhotivoIntegrationPlugin::Plugin_PhotivoIntegration::Plugin_PhotivoIntegration:
Plugin_PhotivoIntegration plugin loaded
digikam(29555)/KIPI (loading)
KIPIPhotivoIntegrationPlugin::Plugin_PhotivoIntegration::Plugin_PhotivoIntegration:
()
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "PhotivoIntegration"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "PhotivoIntegration"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIShwupPlugin::Plugin_Shwup::Plugin_Shwup: Plugin_Shwup plugin
loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "Shwup Export"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "Shwup Export"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIFlashExportPlugin::Plugin_FlashExport::Plugin_FlashExport:
Plugin_Flashexport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "FlashExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "FlashExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIVkontaktePlugin::Plugin_Vkontakte::Plugin_Vkontakte:
Plugin_Vkontakte plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "VKontakte"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "VKontakte"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIAcquireImagesPlugin::Plugin_AcquireImages::Plugin_AcquireImages:
Plugin_AcquireImages plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "AcquireImages"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "AcquireImages"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIDebianScreenshotsPlugin::Plugin_DebianScreenshots::Plugin_DebianScreenshots:
Plugin_DebianScreenshots plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "Debian Screenshots Export"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "Debian Screenshots Export"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPISendimagesPlugin::Plugin_SendImages::Plugin_SendImages:
Plugin_SendImages plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "SendImages"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "SendImages"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIBatchProcessImagesPlugin::Plugin_BatchProcessImages::Plugin_BatchProcessImages:
Plugin_BatchProcessImages plugin loaded
digikam(29555)/KIPI (general)
KIPI::Plugin::Private::XMLParser::removeDisabledActions: Plugin action
' "batch_border_images" ' is disabled.
digikam(29555)/KIPI (general)
KIPI::Plugin::Private::XMLParser::removeDisabledActions: Plugin action
' "batch_color_images" ' is disabled.
digikam(29555)/KIPI (general)
KIPI::Plugin::Private::XMLParser::removeDisabledActions: Plugin action
' "batch_convert_images" ' is disabled.
digikam(29555)/KIPI (general)
KIPI::Plugin::Private::XMLParser::removeDisabledActions: Plugin action
' "batch_filter_images" ' is disabled.
digikam(29555)/KIPI (general)
KIPI::Plugin::Private::XMLParser::removeDisabledActions: Plugin action
' "batch_rename_images" ' is disabled.
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "BatchProcessImages"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "BatchProcessImages"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIImgurExportPlugin::Plugin_ImgurExport::Plugin_ImgurExport:
ImgurExport plugin loaded
digikam(29555)/KIPI (loading)
KIPIImgurExportPlugin::Plugin_ImgurExport::Plugin_ImgurExport: ()
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "ImgurExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "ImgurExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIGPSSyncPlugin::Plugin_GPSSync::Plugin_GPSSync: Plugin_GPSSync
plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "GPSSync"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "GPSSync"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIPicasawebExportPlugin::Plugin_PicasawebExport::Plugin_PicasawebExport:
Plugin_PicasawebExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "PicasawebExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "PicasawebExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIVideoSlideShowPlugin::Plugin_VideoSlideShow::Plugin_VideoSlideShow:
Plugin_VideoSlideShow plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "VideoSlideShow"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "VideoSlideShow"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPITimeAdjustPlugin::Plugin_TimeAdjust::Plugin_TimeAdjust:
Plugin_TimeAdjust plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "TimeAdjust"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "TimeAdjust"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIYandexFotkiPlugin::Plugin_YandexFotki::Plugin_YandexFotki:
Plugin_YandexFotki plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "YandexFotki"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "YandexFotki"  :: Binary version =  10
digikam(29555)/KIPI (general)
KIPIImageshackExportPlugin::Plugin_ImageshackExport::Plugin_ImageshackExport:
Plugin_ImageshackExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "ImageshackExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "ImageshackExport"  :: Binary version =  10
digikam(29555)/KIPI (loading) KIPIPlugins::KPAboutData::KPAboutData: 0xa043ba2
digikam(29555)/KIPI (general)
KIPIPhotoLayoutsEditor::Plugin_PhotoLayoutsEditor::Plugin_PhotoLayoutsEditor:
Plugin_PhotoLayoutsEditor plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "photolayoutseditor"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "photolayoutseditor"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIHTMLExport::Plugin_HTMLExport::Plugin_HTMLExport:
Plugin_HTMLExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "HTMLExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "HTMLExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIKMLExportPlugin::Plugin_KMLExport::Plugin_KMLExport:
Plugin_KMLExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "KMLExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "KMLExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIDLNAExportPlugin::Plugin_DLNAExport::Plugin_DLNAExport:
Plugin_DLNAExport plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "DLNAExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "DLNAExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIMetadataEditPlugin::Plugin_MetadataEdit::Plugin_MetadataEdit:
Plugin_MetadataEdit plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "MetadataEdit"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "MetadataEdit"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIDNGConverterPlugin::Plugin_DNGConverter::Plugin_DNGConverter:
Plugin_DNGConverter plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "DNGConverter"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "DNGConverter"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIGalleryExportPlugin::Plugin_GalleryExport::Plugin_GalleryExport:
Plugin_GalleryExport plugin loaded
digikam(29555)/KIPI (general) KIPIGalleryExportPlugin::Gallery::load:
Reading data from kipirc file..
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "GalleryExport"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "GalleryExport"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIFacebookPlugin::Plugin_Facebook::Plugin_Facebook: Plugin_Facebook
plugin loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "Facebook Import/Export"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "Facebook Import/Export"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIRawConverterPlugin::Plugin_RawConverter::Plugin_RawConverter:
Plugin_RawConverter plugin loaded
digikam(29555)/KIPI (general)
KIPI::Plugin::Private::XMLParser::removeDisabledActions: Plugin action
' "raw_converter_single" ' is disabled.
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "RawConverter"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "RawConverter"  :: Binary version =  10
digikam(29555)/KIPI (loading)
KIPIKopetePlugin::Plugin_Kopete::Plugin_Kopete: Plugin_Kopete plugin
loaded
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Loaded
plugin  "Kopete Export"
digikam(29555)/KIPI (loading) KIPI::PluginLoader::Info::plugin: Plugin
 "Kopete Export"  :: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "iPodExport"
:: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "Panorama"  ::
Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "RajceExport"
:: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin
"AdvancedSlideshow"  :: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "RemoveRedEyes"
 :: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "ExpoBlending"
:: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "PrintImages"
:: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "FlickrExport"
:: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "Calendar"  ::
Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "PiwigoExport"
:: Binary version =  10
digikam(29555)/KIPI (general) KIPIPiwigoExportPlugin::Piwigo::load:
Reading data from kipirc file..
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "Smug"  ::
Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "MediaWiki
export"  :: Binary version =  10
digikam(29555)/digikam (core)
Digikam::KipiPluginLoader::slotKipiPluginPlug: Plugin  "Youtube"  ::
Binary version =  10
KCrash: Application 'digikam' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/gilles/.kde4/socket-localhost.localdomain/kdeinit4__0

[1]+  Stoppé                 digikam
[gilles@localhost build]$

Look like all plugins, including YouTube report SO name = 10 !

This want mean that to set

setProperty("KipiBinaryVersion", kipi_binary_version);

in KIPI::Plugin constructor doesn't work and is not suitable to check
SO version of plugin.

Definitively, I think that my idea to patch all plugin desktop files
to host SO version is the good way...

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Marcel Wiesweg

> This want mean that to set
>
> setProperty("KipiBinaryVersion", kipi_binary_version);
>
> in KIPI::Plugin constructor doesn't work and is not suitable to check
> SO version of plugin.
>
> Definitively, I think that my idea to patch all plugin desktop files
> to host SO version is the good way...

I agree with your proposal.
 I suspect that the old kipi plugins are resolved with the symbols from the
already loaded new library, meaning from the old kipi plugins constructor the
new library's constructor of KIPI::Plugin is called, and all that is done
there does not tell us anything.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Ok, i will patch it tomorrow. All will be packaged by Nicolas sunday.
I just time to do it...

Nicolas, i CC just for info.

Gilles

2012/9/14 Marcel Wiesweg <[hidden email]>:

>
>> This want mean that to set
>>
>> setProperty("KipiBinaryVersion", kipi_binary_version);
>>
>> in KIPI::Plugin constructor doesn't work and is not suitable to check
>> SO version of plugin.
>>
>> Definitively, I think that my idea to patch all plugin desktop files
>> to host SO version is the good way...
>
> I agree with your proposal.
>  I suspect that the old kipi plugins are resolved with the symbols from the
> already loaded new library, meaning from the old kipi plugins constructor the
> new library's constructor of KIPI::Plugin is called, and all that is done
> there does not tell us anything.
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Victor,

I patched FindKipi cmake script for digiKam SC :

http://commits.kde.org/scratch/mwiesweg/digikam-sc/67dc8aa4e0129e5cd295d68f0767819c18f1b93e

It able to extract now the kipi_binary_version value from
libkipi/version.h file. I will patch all kipi plugins .desktop files
with it and check in libkipi if plugins to load are compatible.

I checked also the FindKIPI cmake script from kdelibs which is really
outdated. It must be updated as well with digiKam SC version urgently,
else libkipi will not be usable with kipi-plugins independently...

For right reasons, i cannot commit to KDElibs (I have been able to do
it few month ago):

[gilles@localhost modules]$ git ci

[master caf3040] update find libkipi script accordingly with GoSC2012
done by Victor Dodon
 1 file changed, 118 insertions(+), 116 deletions(-)
 rewrite cmake/modules/FindKipi.cmake (90%)

[gilles@localhost modules]$ git push
X11 forwarding request failed on channel 0
Counting objects: 9, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.72 KiB, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: W refs/heads/master cgilles DENIED by refs/heads/master
remote: error: hook declined to update refs/heads/master
To [hidden email]:kdelibs
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to '[hidden email]:kdelibs'

Marcel, do you have right to do it ?

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Marcel,

Just for info, i investigated yesterday evening why KipiBinaryVersion
property in KIPI::Plugin doesn't work.

In fact set this property directly in libkipi as well is definitively
wrong, because this init this value always in plugin instance when
constructor is called. It must be do in plugin constructor as well. In
this case it work fine. This require to patch all plugin of course.

But, other problem appears with older plugins version, especially the
destructor, which is only QObject based class instead
QObject+KXMLGUIClient. I able to disable to load plugin is
KipiBinaryVersion is not fine, but later plugin instance is deleted.
destructor is called, and... KXMLGUIClient is called in which crash
KDELibs, because plugin is not linked with this class...

Commenting plugin delete code in plugin loader is not a solution : we
don't have a memory leak, and digiKam start properly, but at end,
because Qt will try to delete plugin object from memory, it will crash
digiKam...

So, definitively, .desktop file way must be used here...

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
libkipi is now patched with desktop file solution. It work :

http://commits.kde.org/libkipi/ef8501cfa0b2f88fed4b8d081434c186df794fb0

I started to patch some plugins :

http://commits.kde.org/kipi-plugins/934c64e7e6fc55bd2a9fb2dd98cd41017ae19687

I will complete all others plugins before tomorrow evening.

Nicolas, please take a care to not release 3.0.0-beta1 before that i
completed this patch.
In all case i will mail you when all is ready...

Gilles

2012/9/15 Gilles Caulier <[hidden email]>:

> Marcel,
>
> Just for info, i investigated yesterday evening why KipiBinaryVersion
> property in KIPI::Plugin doesn't work.
>
> In fact set this property directly in libkipi as well is definitively
> wrong, because this init this value always in plugin instance when
> constructor is called. It must be do in plugin constructor as well. In
> this case it work fine. This require to patch all plugin of course.
>
> But, other problem appears with older plugins version, especially the
> destructor, which is only QObject based class instead
> QObject+KXMLGUIClient. I able to disable to load plugin is
> KipiBinaryVersion is not fine, but later plugin instance is deleted.
> destructor is called, and... KXMLGUIClient is called in which crash
> KDELibs, because plugin is not linked with this class...
>
> Commenting plugin delete code in plugin loader is not a solution : we
> don't have a memory leak, and digiKam start properly, but at end,
> because Qt will try to delete plugin object from memory, it will crash
> digiKam...
>
> So, definitively, .desktop file way must be used here...
>
> Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Nicolas,

I complete to patch libkipi and all kipi plugins to prevent crash if
older plugins are installed on computer at the same time than new one.

You can create 3.0.0-beta1 tarball when you want...

Gilles Caulier

2012/9/15 Gilles Caulier <[hidden email]>:

> libkipi is now patched with desktop file solution. It work :
>
> http://commits.kde.org/libkipi/ef8501cfa0b2f88fed4b8d081434c186df794fb0
>
> I started to patch some plugins :
>
> http://commits.kde.org/kipi-plugins/934c64e7e6fc55bd2a9fb2dd98cd41017ae19687
>
> I will complete all others plugins before tomorrow evening.
>
> Nicolas, please take a care to not release 3.0.0-beta1 before that i
> completed this patch.
> In all case i will mail you when all is ready...
>
> Gilles
>
> 2012/9/15 Gilles Caulier <[hidden email]>:
>> Marcel,
>>
>> Just for info, i investigated yesterday evening why KipiBinaryVersion
>> property in KIPI::Plugin doesn't work.
>>
>> In fact set this property directly in libkipi as well is definitively
>> wrong, because this init this value always in plugin instance when
>> constructor is called. It must be do in plugin constructor as well. In
>> this case it work fine. This require to patch all plugin of course.
>>
>> But, other problem appears with older plugins version, especially the
>> destructor, which is only QObject based class instead
>> QObject+KXMLGUIClient. I able to disable to load plugin is
>> KipiBinaryVersion is not fine, but later plugin instance is deleted.
>> destructor is called, and... KXMLGUIClient is called in which crash
>> KDELibs, because plugin is not linked with this class...
>>
>> Commenting plugin delete code in plugin loader is not a solution : we
>> don't have a memory leak, and digiKam start properly, but at end,
>> because Qt will try to delete plugin object from memory, it will crash
>> digiKam...
>>
>> So, definitively, .desktop file way must be used here...
>>
>> Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Bugzilla from neoclust.kde@free.fr
Le dimanche 16 septembre 2012 10:49:07 Gilles Caulier a écrit :
> Nicolas,
>
> I complete to patch libkipi and all kipi plugins to prevent crash if
> older plugins are installed on computer at the same time than new one.
>
> You can create 3.0.0-beta1 tarball when you want...
>
> Gilles Caulier
hi,

awesome, i will do it "in not that long"

thanks
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Nicolas,

There is a problem with some kipi-plugins. For obscurs reason, as
usual with git, something is missing in your tarball. In fact checking
from another computer in my office after a fresh checkout, i see a
lots of my commits done sunday not integrated in master. This include
CMakeLists.txt from few plugins to configure desktop files.

Do not ask me why this commit are not in git/master. I see atomic
commits appears in my mail, step by step. Two ways : 1/ git is
buggous, 2/ i'm stupid.

I agree with 2/ if you want, because i work too much, and it's time
for me to stop all developments in OpenSource (:=)))...

... but in all cases tarball can not be installed (it compile fine
anyway) and must be updated.

I prepare commit ASAP to fix git/master...

Gilles

2012/9/16 Nicolas Lécureuil <[hidden email]>:

> Le dimanche 16 septembre 2012 10:49:07 Gilles Caulier a écrit :
>> Nicolas,
>>
>> I complete to patch libkipi and all kipi plugins to prevent crash if
>> older plugins are installed on computer at the same time than new one.
>>
>> You can create 3.0.0-beta1 tarball when you want...
>>
>> Gilles Caulier
> hi,
>
> awesome, i will do it "in not that long"
>
> thanks
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
Fixed in git/master :

http://commits.kde.org/kipi-plugins/b9700e7f6cdf5d95209df7bf96957c8539d221d6

Gilles Caulier

2012/9/17 Gilles Caulier <[hidden email]>:

> Nicolas,
>
> There is a problem with some kipi-plugins. For obscurs reason, as
> usual with git, something is missing in your tarball. In fact checking
> from another computer in my office after a fresh checkout, i see a
> lots of my commits done sunday not integrated in master. This include
> CMakeLists.txt from few plugins to configure desktop files.
>
> Do not ask me why this commit are not in git/master. I see atomic
> commits appears in my mail, step by step. Two ways : 1/ git is
> buggous, 2/ i'm stupid.
>
> I agree with 2/ if you want, because i work too much, and it's time
> for me to stop all developments in OpenSource (:=)))...
>
> ... but in all cases tarball can not be installed (it compile fine
> anyway) and must be updated.
>
> I prepare commit ASAP to fix git/master...
>
> Gilles
>
> 2012/9/16 Nicolas Lécureuil <[hidden email]>:
>> Le dimanche 16 septembre 2012 10:49:07 Gilles Caulier a écrit :
>>> Nicolas,
>>>
>>> I complete to patch libkipi and all kipi plugins to prevent crash if
>>> older plugins are installed on computer at the same time than new one.
>>>
>>> You can create 3.0.0-beta1 tarball when you want...
>>>
>>> Gilles Caulier
>> hi,
>>
>> awesome, i will do it "in not that long"
>>
>> thanks
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Smit Mehta
Hi Gilles

can I push to git/master now? for that typo bug?

On Mon, Sep 17, 2012 at 4:23 PM, Gilles Caulier
<[hidden email]> wrote:

> Fixed in git/master :
>
> http://commits.kde.org/kipi-plugins/b9700e7f6cdf5d95209df7bf96957c8539d221d6
>
> Gilles Caulier
>
> 2012/9/17 Gilles Caulier <[hidden email]>:
>> Nicolas,
>>
>> There is a problem with some kipi-plugins. For obscurs reason, as
>> usual with git, something is missing in your tarball. In fact checking
>> from another computer in my office after a fresh checkout, i see a
>> lots of my commits done sunday not integrated in master. This include
>> CMakeLists.txt from few plugins to configure desktop files.
>>
>> Do not ask me why this commit are not in git/master. I see atomic
>> commits appears in my mail, step by step. Two ways : 1/ git is
>> buggous, 2/ i'm stupid.
>>
>> I agree with 2/ if you want, because i work too much, and it's time
>> for me to stop all developments in OpenSource (:=)))...
>>
>> ... but in all cases tarball can not be installed (it compile fine
>> anyway) and must be updated.
>>
>> I prepare commit ASAP to fix git/master...
>>
>> Gilles
>>
>> 2012/9/16 Nicolas Lécureuil <[hidden email]>:
>>> Le dimanche 16 septembre 2012 10:49:07 Gilles Caulier a écrit :
>>>> Nicolas,
>>>>
>>>> I complete to patch libkipi and all kipi plugins to prevent crash if
>>>> older plugins are installed on computer at the same time than new one.
>>>>
>>>> You can create 3.0.0-beta1 tarball when you want...
>>>>
>>>> Gilles Caulier
>>> hi,
>>>
>>> awesome, i will do it "in not that long"
>>>
>>> thanks
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel



--
Smit Mehta
Junior year, B.Tech
Computer Science and Engineering
IIT Madras
+91-9884996531
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: crashing with old kipi plugins

Gilles Caulier-4
yes you can. Nicolas will patch tarball as well...

Gilles

2012/9/17 smit <[hidden email]>:

> Hi Gilles
>
> can I push to git/master now? for that typo bug?
>
> On Mon, Sep 17, 2012 at 4:23 PM, Gilles Caulier
> <[hidden email]> wrote:
>> Fixed in git/master :
>>
>> http://commits.kde.org/kipi-plugins/b9700e7f6cdf5d95209df7bf96957c8539d221d6
>>
>> Gilles Caulier
>>
>> 2012/9/17 Gilles Caulier <[hidden email]>:
>>> Nicolas,
>>>
>>> There is a problem with some kipi-plugins. For obscurs reason, as
>>> usual with git, something is missing in your tarball. In fact checking
>>> from another computer in my office after a fresh checkout, i see a
>>> lots of my commits done sunday not integrated in master. This include
>>> CMakeLists.txt from few plugins to configure desktop files.
>>>
>>> Do not ask me why this commit are not in git/master. I see atomic
>>> commits appears in my mail, step by step. Two ways : 1/ git is
>>> buggous, 2/ i'm stupid.
>>>
>>> I agree with 2/ if you want, because i work too much, and it's time
>>> for me to stop all developments in OpenSource (:=)))...
>>>
>>> ... but in all cases tarball can not be installed (it compile fine
>>> anyway) and must be updated.
>>>
>>> I prepare commit ASAP to fix git/master...
>>>
>>> Gilles
>>>
>>> 2012/9/16 Nicolas Lécureuil <[hidden email]>:
>>>> Le dimanche 16 septembre 2012 10:49:07 Gilles Caulier a écrit :
>>>>> Nicolas,
>>>>>
>>>>> I complete to patch libkipi and all kipi plugins to prevent crash if
>>>>> older plugins are installed on computer at the same time than new one.
>>>>>
>>>>> You can create 3.0.0-beta1 tarball when you want...
>>>>>
>>>>> Gilles Caulier
>>>> hi,
>>>>
>>>> awesome, i will do it "in not that long"
>>>>
>>>> thanks
>> _______________________________________________
>> Digikam-devel mailing list
>> [hidden email]
>> https://mail.kde.org/mailman/listinfo/digikam-devel
>
>
>
> --
> Smit Mehta
> Junior year, B.Tech
> Computer Science and Engineering
> IIT Madras
> +91-9884996531
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel