CORBA.BAD_PARAM(omniORB.BAD_PARAM_ValueFactoryFailure, CORBA.COMPLETED_NO) Failure
Fackler Maximilian via omniORB-list <[email protected]> Thu, 4 Apr 2024 07:46:10 +0000
| Newsgroups | gmane.comp.corba.omniorb.user |
|---|---|
| Message-ID | <FR3P281MB2016C132F9DF78FFA9609F599F3C2@FR3P281MB2016.DEUP281.PROD.OUTLOOK.COM> |
--_004_FR3P281MB2016C132F9DF78FFA9609F599F3C2FR3P281MB2016DEUP_
Content-Type: multipart/alternative;
boundary="_000_FR3P281MB2016C132F9DF78FFA9609F599F3C2FR3P281MB2016DEUP_"
--_000_FR3P281MB2016C132F9DF78FFA9609F599F3C2FR3P281MB2016DEUP_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
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 indi=
rection 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 em=
ail (patch.diff).
The bugfix resolves the valuetypes also by its repository id so its possibl=
e 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.d=
e> [https://signatur.uhlmann-group.com/cdn/yt_sw.png] <https://www.youtu=
be.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: Uhlm=
ann Pac-Systeme Verwaltungsgesellschaft mbH - Registergericht Ulm HRB 72120=
9 - 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 Ver=
waltungsgesellschaft mbH - Court of Register Ulm HRB 721209 - VAT Reg No DE=
324830015
Chairman of the Supervisory Board: Tobias Uhlmann - Managing Directors: Pro=
f. Dr.-Ing. Matthias Niemeyer (CEO), Michael Mrachacz (CSO), Cristian Reite=
r (CTO), Alexander Sch?llhorn (CFO)
Information on data processing within the scope of our general business act=
ivities in accordance with the EU General Data Protection Regulation is to =
be found here:
https://www.uhlmann.de/information-customer-and-supplier-data.html
--_000_FR3P281MB2016C132F9DF78FFA9609F599F3C2FR3P281MB2016DEUP_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.E-MailFormatvorlage18
{mso-style-type:personal-compose;
font-family:"Arial",sans-serif;
color:windowtext;}
span.ui-provider
{mso-style-name:ui-provider;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"DE" link=3D"blue" vlink=3D"purple" style=3D"word-wrap:break-w=
ord">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Arial",sans-serif">Hello,<br>
<br>
</span><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Ari=
al",sans-serif;mso-fareast-language:EN-US">We encountered an issue wit=
h valuetypes in omniORBpy 4.3.x.<br>
<br>
If a IDL is defined like this:<br>
<br>
</span><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Cou=
rier New";mso-fareast-language:EN-US">module example {<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US"> &nbs=
p; valuetype Value1 unsigned long;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US"> &nbs=
p; valuetype Value2 unsigned long;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US"> &nbs=
p; interface MyInterface {<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US"> &nbs=
p; void myFuncDifferentValuetype(in Value1 a, in Va=
lue2 b);<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US"> &nbs=
p; };<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US">};<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US"><o:p> </o:p=
></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US"># Some python mo=
dule<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-=
family:"Courier New";mso-fareast-language:EN-US">interface.myFunc=
DifferentValuetype(0, 0)<br>
<br>
<br>
</span><span class=3D"ui-provider"><span lang=3D"EN-US" style=3D"font-size:=
10.0pt;font-family:"Arial",sans-serif">If myFuncDifferentValuetyp=
e is implemented in a C++ server and called from a python client,</span></s=
pan><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Arial&=
quot;,sans-serif"><br>
<span class=3D"ui-provider">the parameters cannot be unmarshalled on the se=
rver side and the invocation will fail.</span><br>
<span class=3D"ui-provider">Python passes the second argument as an indirec=
tion to the first argument.</span><br>
<span class=3D"ui-provider">The C++ language mapping generates two distinct=
types for Value1 and Value2.
</span></span><span class=3D"ui-provider"><span style=3D"font-family:"=
Arial",sans-serif"><o:p></o:p></span></span></p>
<p class=3D"MsoNormal"><span class=3D"ui-provider"><span lang=3D"EN-US" sty=
le=3D"font-size:10.0pt;font-family:"Arial",sans-serif">When the C=
++ server is unmarshalling the arguments, it will detect the indirection an=
d use a Value1
<o:p></o:p></span></span></p>
<p class=3D"MsoNormal"><span class=3D"ui-provider"><span lang=3D"EN-US" sty=
le=3D"font-size:10.0pt;font-family:"Arial",sans-serif">instance w=
here a Value2 instance is expected.</span></span><span class=3D"ui-provider=
"><span lang=3D"EN-US" style=3D"font-size:10.0pt"> </span></span><spa=
n lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Courier New&qu=
ot;;mso-fareast-language:EN-US"><br>
</span><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:"Ari=
al",sans-serif;mso-fareast-language:EN-US"><br>
We tried to create a bugfix which is also provided as attachment in this em=
ail (patch.diff).<br>
The bugfix resolves the valuetypes also by its repository id so its possibl=
e to distinguish between Value1 and Value2.<br>
<br>
Do you see any issues with this bugfix?<br>
<br>
Thank you and best regards,<br>
Maximilian<br>
<br>
<br>
<br>
<br>
<br>
<br>
</span><span style=3D"mso-fareast-language:EN-US"><o:p></o:p></span></p>
</div>
<br>
<br>
<p></p>
<table style=3D"width: 500; height: 125px;" border=3D"0" cellpadding=3D"0" =
cellspacing=3D"0">
<tbody>
<tr>
<td width=3D"410"><a href=3D"https://www.uhlmann.de" target=3D"_blank"><img=
alt=3D"" src=3D"https://signatur.uhlmann-group.com/cdn/uhlmann.jpg" align=
=3D"" border=3D"0" height=3D"85" hspace=3D"0" width=3D"277" class=3D"select=
ed " style=3D"width: 277px;">
</a></td>
<td style=3D"width: 45px; vertical-align: bottom;"><a href=3D"https://www.y=
outube.com/user/UhlmannPacSysteme" target=3D"_blank"><img alt=3D"" src=3D"h=
ttps://signatur.uhlmann-group.com/cdn/yt_sw.png" align=3D"left" border=3D"0=
" height=3D"35" hspace=3D"0" width=3D"35">
</a></td>
<td style=3D"width: 45px; vertical-align: bottom;"><a href=3D"http://www.li=
nkedin.com/company/uhlmann-pac-systeme/" target=3D"_blank"><img alt=3D"" sr=
c=3D"https://signatur.uhlmann-group.com/cdn/l_sw.png" align=3D"top" border=
=3D"0" height=3D"35" hspace=3D"0" width=3D"35">
</a></td>
</tr>
</tbody>
</table>
<p></p>
<p style=3D"font-size: 7pt; font-family: Arial;"><br>
Uhlmann Pac-Systeme GmbH & Co. KG <br>
Registergericht Ulm HRA 720615 - Persönlich haftende Gesellschafterin:=
Uhlmann Pac-Systeme Verwaltungsgesellschaft mbH - Registergericht Ulm HRB =
721209 - USt-IdNr. DE324830015
<br>
Vorsitzender des Aufsichtsrats: Tobias Uhlmann - Geschäftsführer:=
Prof. Dr.-Ing. Matthias Niemeyer (CEO), Michael Mrachacz (CSO), Cristian R=
eiter (CTO), Alexander Schöllhorn (CFO)<br>
Die Informationen zur Datenverarbeitung im Rahmen unserer allgemeinen Gesch=
äftstätigkeit gemäß EU-Datenschutzgrundverordnung find=
en Sie hier:<br>
<a href=3D"https://www.uhlmann.de/de/info-zu-kunden-und-lieferantendaten.ht=
ml" style=3D"color: #0070b8;">https://www.uhlmann.de/de/info-zu-kunden-und-=
lieferantendaten.html</a>
<br>
<br>
Uhlmann Pac-Systeme GmbH & Co. KG<br>
Court of Register Ulm HRA 720615 - General partner: Uhlmann Pac-Systeme Ver=
waltungsgesellschaft mbH - Court of Register Ulm HRB 721209 - VAT Reg No DE=
324830015
<br>
Chairman of the Supervisory Board: Tobias Uhlmann - Managing Directors: Pro=
f. Dr.-Ing. Matthias Niemeyer (CEO), Michael Mrachacz (CSO), Cristian Reite=
r (CTO), Alexander Schöllhorn (CFO)<br>
Information on data processing within the scope of our general business act=
ivities in accordance with the EU General Data Protection Regulation is to =
be found here:<br>
<a href=3D"https://www.uhlmann.de/information-customer-and-supplier-data.ht=
ml" style=3D"color: #0070b8;">https://www.uhlmann.de/information-customer-a=
nd-supplier-data.html</a>
</p>
</body>
</html>
--_000_FR3P281MB2016C132F9DF78FFA9609F599F3C2FR3P281MB2016DEUP_--
--_004_FR3P281MB2016C132F9DF78FFA9609F599F3C2FR3P281MB2016DEUP_
Content-Type: application/octet-stream; name="patch.diff"
Content-Description: patch.diff
Content-Disposition: attachment; filename="patch.diff"; size=1843;
creation-date="Wed, 03 Apr 2024 14:04:34 GMT";
modification-date="Thu, 04 Apr 2024 07:46:10 GMT"
Content-Transfer-Encoding: base64
Y29tbWl0IDliNWQyN2FjMDk1NzFkNGUzN2M0MmE1OGQzNTRiNDU4Yzg3NjdjN2UKQXV0aG9yOiBN
YXhpbWlsaWFuIEZhY2tsZXIgPGZhY2tsZXIubUB1aGxtYW5uLmRlPgpEYXRlOiAgIEZyaSBNYXIg
MjIgMTE6NTE6MDUgMjAyNCArMDEwMAoKICAgIEFkZGVkIHZhbHVldHlwZSBmaXgKCmRpZmYgLS1n
aXQgYS9zcmMvc3JjL2xpYi9vbW5pT1JCcHkvbW9kdWxlcy9weVZhbHVlVHlwZS5jYyBiL3NyYy9z
cmMvbGliL29tbmlPUkJweS9tb2R1bGVzL3B5VmFsdWVUeXBlLmNjCmluZGV4IGZiNjcwMzguLjE2
ZTIwYzIgMTAwNjQ0Ci0tLSBhL3NyYy9zcmMvbGliL29tbmlPUkJweS9tb2R1bGVzL3B5VmFsdWVU
eXBlLmNjCisrKyBiL3NyYy9zcmMvbGliL29tbmlPUkJweS9tb2R1bGVzL3B5VmFsdWVUeXBlLmNj
CkBAIC05MCw2ICs5MCw3IEBAIHB1YmxpYzoKICAgfQogCiAgIG9tbmk6OnNfc2l6ZV90IGFkZFZh
bHVlQm94KFB5T2JqZWN0KiBkX28sIFB5T2JqZWN0KiBvYmosCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFB5T2JqZWN0KiByZXBvSWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG9tbmk6OnNfc2l6ZV90IGN1cnJlbnQpCiAgIHsKICAgICAvLyBMb29rIHRvIHNlZSBpZiB0aGUg
dmFsdWUgaGFzIGJlZW4gbWFyc2hhbGxlZCBiZWZvcmUuIElmIHNvLApAQCAtMTI2LDkgKzEyNywx
MCBAQCBwdWJsaWM6CiAgICAgY2FzZSBDT1JCQTo6dGtfd3N0cmluZzogLy8ga2VwdCBkaXN0aW5j
dCBmcm9tIHN0cmluZwogICAgICAgewogICAgICAgICAvLyBNYWtlIGEgdHVwbGUgb2YgdGhlIGZv
cm0gKGlkKG9iaiksIHRrKQotICAgICAgICBQeU9iamVjdCoga3R1cGxlID0gUHlUdXBsZV9OZXco
Mik7CisgICAgICAgIFB5T2JqZWN0KiBrdHVwbGUgPSBQeVR1cGxlX05ldygzKTsKICAgICAgICAg
UHlUdXBsZV9TRVRfSVRFTShrdHVwbGUsIDAsIGtleSk7CiAgICAgICAgIFB5VHVwbGVfU0VUX0lU
RU0oa3R1cGxlLCAxLCBJbnRfRnJvbUxvbmcodGspKTsKKyAgICAgICAgUHlUdXBsZV9TRVRfSVRF
TShrdHVwbGUsIDIsIHJlcG9JZCk7CiAgICAgICAgIGtleSA9IGt0dXBsZTsKICAgICAgIH0KICAg
ICAgIGJyZWFrOwpAQCAtNjY4LDggKzY3MCwxMCBAQCBtYXJzaGFsUHlPYmplY3RWYWx1ZUJveChj
ZHJTdHJlYW0mIHN0cmVhbSwgUHlPYmplY3QqIGRfbywgUHlPYmplY3QqIGFfbykKIAogICBzdHJl
YW0uYWxpZ25PdXRwdXQob21uaTo6QUxJR05fNCk7CiAKKyAgUHlPYmplY3QqICAgICAgcmVwb0lk
ID0gUHlUdXBsZV9HRVRfSVRFTShkX28sIDIpOwogICBQeU9iamVjdCogICAgICBib3hlZF9kX28g
PSBQeVR1cGxlX0dFVF9JVEVNKGRfbywgNCk7CiAgIG9tbmk6OnNfc2l6ZV90IHBvcyAgICAgICA9
IHRyYWNrZXItPmFkZFZhbHVlQm94KGJveGVkX2RfbywgYV9vLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBvSWQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbS5jdXJyZW50T3V0cHV0UHRy
KCkpOwogCiAgIGlmIChwb3MgIT0gLTEpIHsKQEAgLTY4MSw3ICs2ODUsNiBAQCBtYXJzaGFsUHlP
YmplY3RWYWx1ZUJveChjZHJTdHJlYW0mIHN0cmVhbSwgUHlPYmplY3QqIGRfbywgUHlPYmplY3Qq
IGFfbykKIAogICBDT1JCQTo6TG9uZyB0YWcgPSAweDdmZmZmZjAwOwogCi0gIFB5T2JqZWN0KiBy
ZXBvSWQgPSBQeVR1cGxlX0dFVF9JVEVNKGRfbywgMik7CiAKICAgLy8gVmFsdWVCb3hlcyBhcmUg
b25seSBzZW50IGNodW5rZWQgaWYgdGhleSdyZSBuZXN0ZWQgaW5zaWRlIGNodW5rZWQgdmFsdWVz
LgogICBpZiAoY3N0cmVhbXApCg==
--_004_FR3P281MB2016C132F9DF78FFA9609F599F3C2FR3P281MB2016DEUP_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
omniORB-list mailing list
[email protected]
https://www.omniorb-support.com/mailman/listinfo/omniorb-list
--_004_FR3P281MB2016C132F9DF78FFA9609F599F3C2FR3P281MB2016DEUP_--