Bug 65859 - version VCL plugins to avoid crashes ...
Summary: version VCL plugins to avoid crashes ...
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
4.1.0.0.beta1
Hardware: Other All
: medium normal
Assignee: Shreyansh
URL:
Whiteboard:
Keywords: difficultyBeginner, easyHack, skillCpp, topicCleanup
Depends on:
Blocks:
 
Reported: 2013-06-17 11:28 UTC by Michael Meeks
Modified: 2016-02-18 16:37 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Meeks 2013-06-17 11:28:47 UTC
bug#65541 - shows that we have a packaging problem around version skew in plugins. We could try to solve this with some EPM dependency line - but that's likely to be more difficult than adding a generally useful version check.

vcl/unx/generic/plugadapt/salplug.cxx (tryInstance)

is the magic that loads our GUI backends; we should check for another symbol here and fail if it is not present, and export it in the same way (don't forget the SAL_DLLPUBLIC_EXPORT macros (or their per-backend equivalents)) for:

git grep create_SalInstance

say: get_Version

or whatever. We should implement that method in each of the modules [ ie. having a shared impl. in vcl/ will not cut it ;-].

Include <config_version.h> from core/config_host/ and just return a const char* containing LIBO_VERSION_DOTTED - would do the trick I think.

The of course some code to check for that; and (ideally) - we would warn on STDERR as soon as we saw that, and queue up a message dialog to show with  "ShowNativeDialog" later - as/when/if we found a valid backend.

Thanks !
Comment 1 Stephan Bergmann 2013-06-17 12:28:04 UTC
I'm not convinced this makes sense.  tryInstance (vcl/unx/generic/plugadapt/salplug.cxx) expects the plugin to load directly next to the vcl lib (i.e., inside the LO installation's program directory).  It is not like it is trying to load it from some arbitrary place whose content is not assumed to be under the control of the LO installation.  It is really a packaging system's fault if one can end up with such a screwed up LO installation.  (You would not want to add programmatic version checks for all the other libs in the LO installation's program directory, would you?)
Comment 2 Michael Meeks 2013-06-17 12:59:03 UTC
Well - it is always nice to have belt + braces; if this causes horrible, hard-to-detect and un-anticipated side-effects I'd like to check it if we can do so easily (which we can). Unfortunately we don't have control over all packagers out there - and heisenbugs are particularly awful. And yes - if it was quick & easy to check builtin UNO components were of the right version it'd be a nice opportunity to throw a DeploymentException ;->

As for fixing EPM to add that dependency - please do go for it if you want - I for one hate that thing profoundly - it would be good to have a fix there too  so no users ever see this again :-)
Comment 3 Stephan Bergmann 2013-06-18 09:57:59 UTC
(In reply to comment #2)
> Well - it is always nice to have belt + braces;

The problem is how to handle the information that the installation set is apparently broken.  If you silently ignore the bad VCL plugin, this will simply shift problems to later, not help solve them.

> As for fixing EPM to add that dependency - please do go for it if you want -
> I for one hate that thing profoundly - it would be good to have a fix there
> too  so no users ever see this again :-)

Always go for fixing the root cause (cf. bug 65541 comment 13), regardless of how profoundly you hate it, I would say.
Comment 4 Björn Michaelsen 2013-10-04 18:47:13 UTC
adding LibreOffice developer list as CC to unresolved EasyHacks for better visibility.

see e.g. http://nabble.documentfoundation.org/minutes-of-ESC-call-td4076214.html for details
Comment 5 Robinson Tryon (qubit) 2013-10-23 17:24:12 UTC
Removing comma from whiteboard (please use a space to delimit values in this field)
https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Whiteboard#Getting_Started
Comment 6 Robinson Tryon (qubit) 2015-12-15 16:27:25 UTC
Migrating Whiteboard tags to Keywords: (EasyHack,DifficultyBeginner,SkillCpp,TopicCleanup)
[NinjaEdit]
Comment 7 Robinson Tryon (qubit) 2016-02-18 16:37:22 UTC
Remove LibreOffice Dev List from CC on EasyHacks
(curtailing excessive email to list)
[NinjaEdit]