[omniORB] SIGSEGV in bind

Sai-Lai Lo S.Lo@orl.co.uk
09 Nov 1998 11:27:13 +0000


>>>>> Andreas Koehler writes:

> using omniORB2 with alpha osf1 4.0 we got a SIGSEGV in bind:

Which compiler are you using? 

>rootContext-> bind(objectName, optr)

> The settings were:

>    rootContext was set with CosNaming::NamingContext::_narrow
>    to a non nil value

>    CosNaming::Name objectName;
>     objectName.length(1);
>     objectName[0].id   = <id>;
>     objectName[0].kind = <interface-name>;

orbpointer-> object_to_string(optr) --> "IOR:010000001800000049444c3a73
>      74617465636f6e74726f6c6c65723a312e3000010000000000000028000000010100 
>      000e0000003134392e3230372e37312e39350087080c0000003646bc878b73ce6c00 
>      000002"

> After receiving the SIGSEGV our server terminates, but it's reference is
> now held within the name service:

> nameclt resolve <id>.<interface-name>
>      IOR:01220d801800000049444c3a7374617465636f6e74726f6c6c65723a312e30000
>      10000000000000028000000010100000e0000003134392e3230372e37312e39350087
>      080c0000003646bc878b73ce6c00000002

> Why the IORs differ from each other? Is the IOR handling buggy under osf1 
> 4.0?

They are the same. You can use catior to see this is the case. The only
differences in the two strings are in the padding bytes which the spec
explicitly said should be ignored when parsing the IOR.

Sai-Lai

-- 
Dr. Sai-Lai Lo                          |       Research Scientist
                                        |
E-mail:         S.Lo@orl.co.uk          |       Olivetti & Oracle Research Lab
                                        |       24a Trumpington Street
Tel:            +44 223 343000          |       Cambridge CB2 1QA
Fax:            +44 223 313542          |       ENGLAND