[omniORB] CORBA.BAD_PARAM(omniORB.BAD_PARAM_ValueFactoryFailure, CORBA.COMPLETED_NO) Failure

Fackler Maximilian Fackler.M at uhlmann.de
Thu Apr 4 07:46:10 UTC 2024


Hello,

We encountered an issue with valuetypes in omniORBpy 4.3.x.

If a IDL is defined like this:

module example {
    valuetype Value1 unsigned long;
    valuetype Value2 unsigned long;
    interface MyInterface {
        void myFuncDifferentValuetype(in Value1 a, in Value2 b);
    };
};

# Some python module
interface.myFuncDifferentValuetype(0, 0)


If myFuncDifferentValuetype is implemented in a C++ server and called from a python client,
the parameters cannot be unmarshalled on the server side and the invocation will fail.
Python passes the second argument as an indirection to the first argument.
The C++ language mapping generates two distinct types for Value1 and Value2.
When the C++ server is unmarshalling the arguments, it will detect the indirection and use a Value1
instance where a Value2 instance is expected.

We tried to create a bugfix which is also provided as attachment in this email (patch.diff).
The bugfix resolves the valuetypes also by its repository id so its possible to distinguish between Value1 and Value2.

Do you see any issues with this bugfix?

Thank you and best regards,
Maximilian









[https://signatur.uhlmann-group.com/cdn/uhlmann.jpg] <https://www.uhlmann.de>   [https://signatur.uhlmann-group.com/cdn/yt_sw.png]  <https://www.youtube.com/user/UhlmannPacSysteme>    [https://signatur.uhlmann-group.com/cdn/l_sw.png]  <http://www.linkedin.com/company/uhlmann-pac-systeme/>

Uhlmann Pac-Systeme GmbH & Co. KG
Registergericht Ulm HRA 720615 - Pers?nlich haftende Gesellschafterin: Uhlmann Pac-Systeme Verwaltungsgesellschaft mbH - Registergericht Ulm HRB 721209 - USt-IdNr. DE324830015
Vorsitzender des Aufsichtsrats: Tobias Uhlmann - Gesch?ftsf?hrer: Prof. Dr.-Ing. Matthias Niemeyer (CEO), Michael Mrachacz (CSO), Cristian Reiter (CTO), Alexander Sch?llhorn (CFO)
Die Informationen zur Datenverarbeitung im Rahmen unserer allgemeinen Gesch?ftst?tigkeit gem?? EU-Datenschutzgrundverordnung finden Sie hier:
https://www.uhlmann.de/de/info-zu-kunden-und-lieferantendaten.html

Uhlmann Pac-Systeme GmbH & Co. KG
Court of Register Ulm HRA 720615 - General partner: Uhlmann Pac-Systeme Verwaltungsgesellschaft mbH - Court of Register Ulm HRB 721209 - VAT Reg No DE324830015
Chairman of the Supervisory Board: Tobias Uhlmann - Managing Directors: Prof. Dr.-Ing. Matthias Niemeyer (CEO), Michael Mrachacz (CSO), Cristian Reiter (CTO), Alexander Sch?llhorn (CFO)
Information on data processing within the scope of our general business activities in accordance with the EU General Data Protection Regulation is to be found here:
https://www.uhlmann.de/information-customer-and-supplier-data.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.omniorb-support.com/pipermail/omniorb-list/attachments/20240404/6dfd2703/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: application/octet-stream
Size: 1843 bytes
Desc: patch.diff
URL: <https://www.omniorb-support.com/pipermail/omniorb-list/attachments/20240404/6dfd2703/attachment.obj>


More information about the omniORB-list mailing list