[PolyORB-users] [DSA] trying to resolve record + string bug
xavier grave
xavier.grave at ipno.in2p3.fr
Wed Jul 30 10:54:12 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I'm still trying to solve the following bug :
DSA personality can't return this kind of record :
type a_record is record
data : String (1 .. 10) := (others => '*');
end record;
The bug is raised by the following code in polyorb-any.ads
the CA_Ptr is null and so the CA_PTR.all raise a CONSTRAINT_ERROR
procedure Add_Aggregate_Element
(Value : in out Any;
Element : Any)
is
CA_Ptr : constant Aggregate_Content_Ptr :=
Aggregate_Content_Ptr (Get_Container (Value).The_Value);
begin
-- new code and debug pragma
pragma Debug (C, O ("xxxxxxx " & Image (Value)));
declare
Kind_Loc : constant TCKind := TypeCode.Kind
(Get_Type_Obj (Get_Container (Value).all));
Kind_Loc2 : constant TCKind := TypeCode.Kind
(Get_Type_Obj (Get_Container (Element).all));
begin
pragma Debug (C, O ("yyyyyyy " & Kind_Loc'Img & " " & Kind_Loc2'Img));
null;
end;
-- end of the new code added
pragma Debug (C, O ("Add_Aggregate_Element: enter"));
Add_Aggregate_Element (CA_Ptr.all, Get_Container (Element));
pragma Debug (C, O ("Add_Aggregate_Element: end"));
end Add_Aggregate_Element;
On my way to find the bug the code I have added seems to show that Value
should be a kind of TK_SEQUENCE or TK_STRUCT
when the bug arrive the kind value is TK_STRING
Here is what I get from a grep on the server output :
polyorb.any: yyyyyyy TK_SEQUENCE TK_ULONG
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_SEQUENCE TK_STRUCT
polyorb.any: yyyyyyy TK_SEQUENCE TK_ULONG
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_SEQUENCE TK_STRUCT
polyorb.any: yyyyyyy TK_SEQUENCE TK_ULONG
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_SEQUENCE TK_STRUCT
polyorb.any: yyyyyyy TK_SEQUENCE TK_ULONG
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_SEQUENCE TK_STRUCT
polyorb.any: yyyyyyy TK_STRUCT TK_ALIAS
polyorb.any: yyyyyyy TK_STRING TK_LONG
polyorb.any: yyyyyyy TK_EXCEPT TK_STRING
The exception raised when I have polyorb.any: yyyyyyy TK_STRING TK_LONG
I'm looking for the place this procedure is called without success for
the moment. Do any polyorb developer have an idea where I can find this
call ?
Thanks in advance, xavier
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkiQLDAACgkQVIZi0A5BZF7QxgCfUydLsOBdwyyrSNhHVGIsAhdV
DuMAn2iLCLJGe45oxynFsEAdjlmyeHyU
=M+63
-----END PGP SIGNATURE-----
More information about the PolyORB-users
mailing list