Hello!
I have a strange bug compiling IDL files on Win32. I need to compile IDL
file that is not in the dir where omniidl2 is running. If I give omniidl2
absolute path to the file it works ok, but if I give it relative path it
makes files ".h" and "SK.cpp", just as I said. In my project I have no
possibility to retrieve full path ;(. What can I do with it?
Best regards,
Alik.
From glowstars@gmx.de Wed Dec 29 13:02:06 1999
From: glowstars@gmx.de (Thorsten Roskowetz)
Date: Wed, 29 Dec 1999 14:02:06 +0100 (MET)
Subject: [omniORB] omniORBpy and attributes in IDL (server side)
Message-ID: <8758.946472526@www11.gmx.net>
Hi,
can someone please enlighten me on how to implement
interface attributes server-side with omniORBpy?
The Python Language Mapping only mentions attributes
client side (basically an attribute is mapped to two
methods on the corresponding Python stub class, an
accessor an a modifier prefixed with '_get_' and
'_set_' respectively).
Cheers,
Thorsten
--
Sent through Global Message Exchange - http://www.gmx.net
From jfd@silicomp.fr Thu Dec 30 09:31:23 1999
From: jfd@silicomp.fr (Jean-Francois Denise)
Date: Thu, 30 Dec 1999 10:31:23 +0100
Subject: [omniORB] Generating IOR
Message-ID: <386B266B.27B01603@silicomp.com>
Hello,
Is it possible using omniorb2 to set at creation time an object IOR. I
need to create a specific multiple profile IOR.
Thanks.
--
^
/ \
/ \ Jean-Francois Denise
+---/ \---+ Software Engineer
| / \ | e-mail : jfd@silicomp.com
| /silicomp \ |
|/ingenierie \| Phone: (33) 4 76 41 66 66 Fax: (33) 4 76 41 66 67
|-------------|
| | 195, rue Lavoisier - BP 1
| G R O U P E | 38330 Montbonnot St Martin
+-------------+ FRANCE
S I L I C O M P
From rgruet@ina.fr Thu Dec 30 10:58:35 1999
From: rgruet@ina.fr (Richard Gruet)
Date: Thu, 30 Dec 1999 11:58:35 +0100
Subject: [omniORB] omniORBpy and attributes in IDL (server side)
References: <8758.946472526@www11.gmx.net>
Message-ID: <386B3ADB.3235EF94@ina.fr>
--------------18426228C7ED9E1DD3444ECC
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Thorsten Roskowetz wrote:
> can someone please enlighten me on how to implement
> interface attributes server-side with omniORBpy?
> The Python Language Mapping only mentions attributes
> client side (basically an attribute is mapped to two
> methods on the corresponding Python stub class, an
> accessor an a modifier prefixed with '_get_' and
> '_set_' respectively).
It's exactly the same on the server side. In your implementation class,
for a given attribute XXX,
you just have to define a pair of methods:
class MyInterfaceImpl(POA_MyModule.MyInterface):
...
def _get_XXX(self):
return theValueOfXXX
def _set_XXX(self, value):
# sets XXX to value
Cheers,
Richard
--------------18426228C7ED9E1DD3444ECC
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
Thorsten Roskowetz wrote:
can someone please enlighten me on how to implement
interface attributes server-side with omniORBpy?
The Python Language Mapping only mentions attributes
client side (basically an attribute is mapped to two
methods on the corresponding Python stub class, an
accessor an a modifier prefixed with '_get_' and
'_set_' respectively).
It's exactly the same on the server side. In your implementation class,
for a given attribute XXX,
you just have to define a pair of methods:
class MyInterfaceImpl(POA_MyModule.MyInterface):
...
def _get_XXX(self):
return theValueOfXXX
def _set_XXX(self, value):
# sets XXX to value
Cheers,
Richard
--------------18426228C7ED9E1DD3444ECC--
From nickr@harlequin.co.uk Thu Dec 30 11:31:22 1999
From: nickr@harlequin.co.uk (Nick Reeves)
Date: Thu, 30 Dec 1999 11:31:22 GMT
Subject: [omniORB] Portable Interceptor
Message-ID: <199912301131.LAA23272@gpo.cam.harlequin.co.uk>
The competing proposals for Portable Interceptors have been formally
merged into a single revised spec orbos/99-12-02, and the nonsense of
the earlier specs has been removed.
Given the wide backing it seems likely to go through with only minor
amendments.
So this seems like a good time to ask what is the official omniORB
position on it.
Thanks again for the great work on adding POA !
--
Nick Reeves nickr@harlequin.co.uk
From glowstars@gmx.de Thu Dec 30 12:50:07 1999
From: glowstars@gmx.de (Thorsten Roskowetz)
Date: Thu, 30 Dec 1999 13:50:07 +0100 (MET)
Subject: [omniORB] omniORBpy and attributes in IDL (server side)
References: <386B3ADB.3235EF94@ina.fr>
Message-ID: <1075.946558207@www12.gmx.net>
Thanks! I was somewhat confused by the C++ mapping which
effectively hides that it invokes the _get_xxxx and _set_xxxx
methods too.
--
Sent through Global Message Exchange - http://www.gmx.net
From tei@elca.ch Thu Dec 30 15:25:31 1999
From: tei@elca.ch (Eicher Thomas)
Date: Thu, 30 Dec 1999 16:25:31 +0100
Subject: [omniORB] use 2.8 client with 2.7.1 server?
Message-ID: <000001bf52da$1f808dd0$1c9248c1@elca.ch>
Is it possible to use a client side built with omniORB 2.8 together with =
a
server side that was built using omniORB 2.7.1? I am not using Any's.
Thanks, Tom
______________________________________________
Tom Eicher ELCA Informatik AG
tei@elca.ch Steinstrasse 21
+41 (0)1 456 32 47 8003 Z=FCrich
http://www.elca.ch Switzerland
From taras@deka.kp.km.ua Thu Dec 30 08:16:42 1999
From: taras@deka.kp.km.ua (Viacheslav N Tararin)
Date: Thu, 30 Dec 1999 10:16:42 +0200
Subject: [omniORB] omniidl2 bug
Message-ID: <386B14EA.25C43720@deka.kp.km.ua>
This is a multi-part message in MIME format.
--------------E14C31724C1DC26ED2606274
Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 7bit
Hi.
1. First idl file:
module a {
module b {
interface Ziro {
short get_short();
};
};
};
2. Second idl file
module a {
typedef long TheLong;
module b {
interface One {
TheLong get_long();
};
};
};
3. Produced omniidl2 test.hh don't contain lines
typedef long TheLong;
I'm attach test files.
Environment: WinNT 4.0 SP3 VC6.0 omniORB2 2.8.0.
Happy New Year.
Tararin Slavik.
--------------E14C31724C1DC26ED2606274
Content-Type: application/x-unknown-content-type-idlfile;
name="test0.idl"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="test0.idl"
bW9kdWxlIGEgew0KICAgIG1vZHVsZSBiIHsNCiAgICAgICAgaW50ZXJmYWNlIFppcm8gew0K
ICAgICAgICAgICAgc2hvcnQgZ2V0X3Nob3J0KCk7DQogICAgICAgIH07DQogICAgfTsNCn07
--------------E14C31724C1DC26ED2606274
Content-Type: application/x-unknown-content-type-idlfile;
name="test.idl"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="test.idl"
I2luY2x1ZGUgPHRlc3QwLmlkbD4NCm1vZHVsZSBhIHsNCiAgICB0eXBlZGVmIGxvbmcgVGhl
TG9uZzsgDQogICAgbW9kdWxlIGIgew0KICAgICAgICBpbnRlcmZhY2UgT25lIHsNCiAgICAg
ICAgICAgIFRoZUxvbmcgZ2V0X2xvbmcoKTsNCiAgICAgICAgfTsNCiAgICB9Ow0KfTs=
--------------E14C31724C1DC26ED2606274--
From taras@deka.kp.km.ua Wed Dec 29 14:58:26 1999
From: taras@deka.kp.km.ua (Viacheslav N Tararin)
Date: Wed, 29 Dec 1999 16:58:26 +0200
Subject: [omniORB] omniidl2 bug
Message-ID: <386A2191.6980C494@deka.kp.km.ua>
Hi.
It's part of CosCollection.idl
interface KeyCollection : Collection {
// c o m p u t i n g t h e k e y s
void key (in any element, out any key)
raises (ElementInvalid);
void keys (in AnySequence elements, out AnySequence keys)
raises (ElementInvalid);
};
Prodused file CosCollection.hh containts:
(5114) virtual void key(const CORBA::Any & element, CORBA::Any *&
key) = 0;
(5115) virtual void _0RL__key(const CORBA::Any & element, CORBA::Any
*& key) {
(5116) key(element, key);
(5117) }
(5118) virtual void keys(const AnySequence & elements, AnySequence *&
keys) = 0;
(5119) virtual void _0RL__keys(const AnySequence & elements,
AnySequence *& keys) {
(5120) keys(elements, keys);
(5121) }
On WinNT it's prodused error
cl.exe /c /nologo /D__x86__ /D__NT__ /D__WIN32__ /GX /TP /MD
-I..\..\..\..\omni\include -I..\..\include -I..\..\include\ui
LLsControlsDynSK.cpp /Fo..\..\obj\LLsControlsDynSK.obj
LLsControlsDynSK.cpp
..\..\include\omg/CosCollection.hh(5114) : error C2064: term does not
evaluate to a function
..\..\include\omg/CosCollection.hh(5118) : error C2064: term does not
evaluate to a function
Environment WinNT 4.0 SP3 VC6.0 omniORB2 (2.8.0).
Happy New Year.
Tararin Slavik.
From jfd@silicomp.com Mon Dec 27 09:30:21 1999
From: jfd@silicomp.com (jfd)
Date: Mon, 27 Dec 1999 10:30:21 +0100
Subject: [omniORB] Implementation over multiple IP hosts
Message-ID: <386731AD.769FDC13@silicomp.com>
Il s'agit d'un message multivolet au format MIME.
--------------C884274C6704C9CD025577FC
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hello,
I need to create an object implementation on a server running on an host
having multiple IP addresses. I want the implementation being accessible
through both IP interfaces. I can set a prefered host IP address or name
using OMNIORB_USEHOSTNAME but not a list of IP addresses.
I know that my question doesn't fit IOR single profile management. Host
name being part of IOR, if an implementation object is created using 2
different IP addresses, 2 profiles must be generated by the BOA when
creating the object implementation.
Is there a way using omniorb to do so.
Thanks.
--------------C884274C6704C9CD025577FC
Content-Type: text/x-vcard; charset=us-ascii;
name="jfd.vcf"
Content-Description: Carte pour jfd
Content-Disposition: attachment;
filename="jfd.vcf"
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by mailhost.ri.silicomp.fr id KAA08294
begin:vcard=20
n:Jean-Fran=E7ois;Denise
tel;work:+33-04/76/634863
x-mozilla-html:FALSE
url:www.ri.silicomp.com
org:Silicomp Research Institute;AppliBus
version:2.1
email;internet:jfd@silicomp.com
title:Research and Development
adr;quoted-printable:;;2 Avenue de Vignate=3D0D=3D0A;Gi=E8res;;F38610;Fra=
nce
fn:Denise Jean-Fran=E7ois
end:vcard
--------------C884274C6704C9CD025577FC--
From jeffdu@163.net Sun Dec 5 04:26:21 1999
From: jeffdu@163.net (Jeffrey Du)
Date: Sun, 5 Dec 1999 12:26:21 +0800
Subject: [omniORB] Problem of CORBA::String in MFC Application
Message-ID: <01bf3ed8$e1ce1260$c764100a@pc.public.guangzhou.gd.cn>
This is a multi-part message in MIME format.
------=_NextPart_000_001D_01BF3F1B.EFF15260
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
I am writing a CORBA program in VC++ 5.0 using omniORB 2.8 in =
Windows95. I find that
any functions in my program using CORBA::String will encounter an error =
when they return.
For example, here is my code of the function:
=20
int CWSInfoApp::InitCorbaServer()
{
......=20
CORBA::String_var p =3D orb->object_to_string(myobj);
......=20
=20
return(0); // an error occurs after return
}
=20
And the error message is:
=20
Microsoft Visual C++ Debug Library
Debug Assertion Failed
Program: .....
File: dbgdel.cpp
Line: 47
Exception: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
=20
I think the error occurs when releasing CORBA::String memory.=20
Please tell me how to solve this problem.
=20
Jeffrey Du
jeffdu@163.net
------=_NextPart_000_001D_01BF3F1B.EFF15260
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
I am writing a CORBA =
program in=20
VC++ 5.0 using omniORB 2.8 in Windows95. I find that
any functions in my program using =
CORBA::String=20
will encounter an error when they return.
For example, here is my code of the=20
function:
int =
CWSInfoApp::InitCorbaServer()
{
......
CORBA::String_var p =3D =
orb->object_to_string(myobj);
=
......
return(0); // an error =
occurs after=20
return
}
And the error message=20
is:
Microsoft Visual C++ =
Debug=20
Library
Debug=20
Assertion Failed
=20
Program: .....
File:=20
dbgdel.cpp
Line:=20
47
=20
Exception: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
I think the error =
occurs when=20
releasing CORBA::String memory.
Please tell me how to =
solve this=20
problem.
Jeffrey Du
------=_NextPart_000_001D_01BF3F1B.EFF15260--
From fcook@accesscom.com Wed Dec 1 05:52:21 1999
From: fcook@accesscom.com (Fred Cook)
Date: Tue, 30 Nov 1999 21:52:21 -0800
Subject: [omniORB] omniORB NT acnnot find omniORB linux
Message-ID: <3844B795.646B@accesscom.com>
My NT client cannot find my server that lives on Red Hat linux 6.1.
Both machines have fully functional omniORB installations. The echo eg3
examples work on both machines, but a client on one machine cannot find
the server on the other, it is as if the network was not present. There
is a valid network connection between the two machines (both ftp and
telnet work). Can anyone give me some advice?
Fred Cook.
From dgrisby@uk.research.att.com Wed Dec 1 09:36:41 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 01 Dec 1999 09:36:41 +0000
Subject: [omniORB] omniORB NT acnnot find omniORB linux
In-Reply-To: Your message of "Tue, 30 Nov 1999 21:52:21 PST."
<3844B795.646B@accesscom.com>
Message-ID: <199912010936.JAA05664@pineapple.cam-orl.co.uk>
On Tuesday 30 November, Fred Cook wrote:
> My NT client cannot find my server that lives on Red Hat linux 6.1.
> Both machines have fully functional omniORB installations. The echo eg3
> examples work on both machines, but a client on one machine cannot find
> the server on the other, it is as if the network was not present. There
> is a valid network connection between the two machines (both ftp and
> telnet work). Can anyone give me some advice?
Are you running the naming service on both machines? If so, that's
your problem. You should run the naming service on a single machine,
and point both machines to it.
If that isn't your problem, you need to give more details. Does the
eg2 example work between the two machines if you copy the IOR across?
HTH,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Wed Dec 1 10:15:03 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 01 Dec 1999 10:15:03 +0000
Subject: [omniORB] omniidl crash on NT
In-Reply-To: Your message of "Tue, 30 Nov 1999 22:31:32 +0100."
<01BF3B86.22A09930.eici@ovsag.de>
Message-ID: <199912011015.KAA05749@pineapple.cam-orl.co.uk>
On Tuesday 30 November, Christian Eibl wrote:
[...]
> omniidl: Running front end
> omni-cpp: stdout: Bad file descriptor
It looks like the C pre-processor failed for some reason. Can you try
running omni-cpp on the IDL file to see what happens?
What compiler version did you use? I've only tried it with VC++ 5, so
maybe there are problems with other compilers.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Wed Dec 1 11:22:05 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 01 Dec 1999 11:22:05 +0000
Subject: [omniORB] Finding methods in objects / part 2
In-Reply-To: Your message of "Mon, 29 Nov 1999 16:41:33 +0100."
Message-ID: <199912011122.LAA06030@pineapple.cam-orl.co.uk>
On Monday 29 November, Casillas_Juan_M/madrid_tecnologia@sinvest.es wrote:
> well, our sample scenario is one program (say A) asking for =20
> all the interfaces that have a method called hello(). All the >
> interfaces running must answer its IOR and type (to allow A
> comunicate with them) to A.
[... finding objects which respond to events ...]
> How A can instantiate new objects from the implementations,
> A knows the IOR, but ... program A can't cast dinamically new
> objects from a string ... or It can ?
I don't think you mean "instantiate new objects...". I think you mean
you want A to use an _object reference_ to an object which has a type
that A does not know. In this case, there is no problem with creating
the reference, and invoking operations on it with DII. You obviously
can't use static invocation since you don't have compile-time
knowledge of it.
That said, I think you need to carefully re-think what it is you are
trying to do. As someone pointed out earlier, knowing that a server
supports an interface with an operation named hello() doesn't do you
any good at all, since the name of an operation doesn't tell you
anything about what it does. Not only that, but there is no guarantee
that the arguments to different hello() operations are the
same. Consider two interfaces:
interface I {
void hello();
};
interface J {
struct myStruct {
// Some complex struct
};
double hello(in myStruct);
};
If a client of your proposed system asks for objects supporting
hello(), and gets back references to instances of I and J, how can it
possibly do anything useful? Especially since it doesn't have
compile-time knowledge of J::myStruct.
Maybe what you really want to do is something like:
interface HelloSupporter {
void hello(); // Fixed semantics for hello()
};
interface I : HelloSupporter {
// Some other stuff
};
interface J : HelloSupporter {
// Some different stuff
};
Now you can usefully find objects which derive from HelloSupporter,
and call their hello() operations, using the static invocation
interface (since you have compile-time knowledge of the HelloSupporter
interface), and have some idea as to what hello() will do.
HTH,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From eici@ovsag.de Wed Dec 1 15:56:05 1999
From: eici@ovsag.de (Christian Eibl)
Date: Wed, 1 Dec 1999 16:56:05 +0100
Subject: [omniORB] omniidl crash on NT
Message-ID: <01BF3C1D.09D81EE0.eici@ovsag.de>
i'm using MSVC++ 6.0 (apart from that, i'm healthy ;-)
everything else in OmniORB seems to work fine, so i suppose it's not
a compiler problem.
below the outputs from the idl(pre)compiler and an
excerpt of the code where it crashes (seems that things mess up where
you are converting to the FILE struct...)
###########
E:\ORB\omniORB_280\src\lib\omniORBpy\examples>omni-cpp -v echo_example.idl
GNU CPP version omni-cpp-1.0
#include "..." search starts here:
End of search list.
# 1 "echo_example.idl"
module Example {
interface Echo {
string echoString(in string mesg);
};
};
###########
E:\ORB\omniORB_280\src\lib\omniORBpy\examples>omniidl2 -v echo_example.idl
omniidl2: preprocessing echo_example.idl
echo_example.idl
omniidl2: parsing echo_example.idl
omniidl2: BE processing on echo_example.idl
###########
E:\ORB\omniORB_280\src\lib\omniORBpy\examples>cl
Optimierender Microsoft (R) 32-Bit C/C++-Compiler, Version 12.00.8168, fuer x86
Copyright (C) Microsoft Corp 1984-1998. Alle Rechte vorbehalten.
##################
# CODE
##################
extern "C" {
static PyObject* IdlPyCompile(PyObject* self, PyObject* args)
{
PyObject* pyfile;
if (!PyArg_ParseTuple(args, "O!", &PyFile_Type, &pyfile))
return 0;
FILE* file = PyFile_AsFile(pyfile);
PyObject* pyname = PyFile_Name(pyfile);
const char* name = PyString_AsString(pyname);
- file 0x78037c88
+ _ptr 0x00000000 ""
_cnt 0
+ _base 0x00000000 ""
_flag 1
_file 3
_charbuf 0
_bufsiz 0
+ _tmpfname 0x00000000 ""
+ name 0x008591e4 "omni-cpp -lang-c++ -undef -D__OMNIIDL__=0x2301 echo_example.idl"
Loc>> _CORBA_Boolean success = AST::process(file, name);
PyObject* result;
if (success) {
PythonVisitor v;
AST::tree()->accept(v);
result = v.result();
}
else {
Py_INCREF(Py_None);
result = Py_None;
}
AST::tree()->clear();
return result;
}
> -----Ursprungliche Nachricht-----
> Von: Duncan Grisby [SMTP:dgrisby@uk.research.att.com]
> Gesendet am: Mittwoch, 1. Dezember 1999 11:15
> An: eici@ovsag.de
> Cc: 'omniorb-list@uk.research.att.com'
> Betreff: Re: [omniORB] omniidl crash on NT
>
> On Tuesday 30 November, Christian Eibl wrote:
>
> [...]
>
> > omniidl: Running front end
> > omni-cpp: stdout: Bad file descriptor
>
> It looks like the C pre-processor failed for some reason. Can you try
> running omni-cpp on the IDL file to see what happens?
>
> What compiler version did you use? I've only tried it with VC++ 5, so
> maybe there are problems with other compilers.
>
> Cheers,
>
> Duncan.
>
> --
> -- Duncan Grisby \ Research Engineer --
> -- AT&T Laboratories Cambridge --
> -- http://www.uk.research.att.com/~dpg1 --
>
>
From dgrisby@uk.research.att.com Wed Dec 1 16:25:41 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 01 Dec 1999 16:25:41 +0000
Subject: [omniORB] omniidl crash on NT
In-Reply-To: Your message of "Wed, 01 Dec 1999 16:56:05 +0100."
<01BF3C1D.09D81EE0.eici@ovsag.de>
Message-ID: <199912011625.QAA07993@pineapple.cam-orl.co.uk>
On Wednesday 1 December, Christian Eibl wrote:
> i'm using MSVC++ 6.0 (apart from that, i'm healthy ;-)
> everything else in OmniORB seems to work fine, so i suppose it's not
> a compiler problem.
Has anyone successfully compiled omniORBpy with VC++ 6? If so, did
you have to do anything special to make it work?
> below the outputs from the idl(pre)compiler and an
> excerpt of the code where it crashes (seems that things mess up where
> you are converting to the FILE struct...)
It looks from the debugging like everything is doing the right thing,
but there's clearly something wrong. My only guess is that the pipe
between the C pre-processor and the IDL front end isn't working. As an
experiment, try
omniidl -v -N -bpython echo_example.idl
That will compile the IDL file directly without invoking the
pre-processor. If that works, I'll have to think about replacing the
pipe with a temporary file. If it doesn't work, then I'll have to
think again.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From Dejan.Polomcic@telecom.co.nz Wed Dec 1 21:09:58 1999
From: Dejan.Polomcic@telecom.co.nz (Dejan Polomcic)
Date: Thu, 02 Dec 1999 10:09:58 +1300
Subject: [omniORB] Event Daemon(Event Service) Error
Message-ID:
hi,
I have come across the following Error while using paul nader's event =
service, could anyone tell me what causes the error:
The following stmts show gdb of the core :
[nasex]/home/nasex/menu > gdb ../bin/eventd core
Wildebeest is free software and you are welcome to distribute copies of
it under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for Wildebeest; type "show warranty"
for details.
Hewlett-Packard Wildebeest 1.0 (based on GDB 4.16)
(built for PA-RISC 1.1 or 2.0 (narrow), HP-UX 11.00)
Copyright 1996, 1997 Free Software Foundation, Inc...(no debugging symbols =
found)...
Core was generated by `eventd'.
Program terminated with signal 6, Aborted.
warning: The shared libraries were not privately mapped; setting a
breakpoint in a shared library will not work until you rerun the program.
(no debugging symbols found)...(no debugging symbols found)...(no =
debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...#0 0xc01e8498 in kill () from /usr/lib/libc=
.2
#0 0xc01e8498 in kill () from /usr/lib/libc.2
(gdb) bt
#0 0xc01e8498 in kill () from /usr/lib/libc.2
#1 0xc01826c4 in raise () from /usr/lib/libc.2
#2 0xc01591f0 in abort () from /usr/lib/libc.2
#3 0xc0159880 in _assert () from /usr/lib/libc.2
#4 0xd507c928 in Strand::decrRefCount () from //home/nasex/lib/libomniORB2=
.sl.8
#5 0xd508cc7c in tcpSocketRendezvouser::run_undetached () from //home/nase=
x/lib/libomniORB2.sl.8
#6 0xc02fea20 in omni_thread_wrapper () from //home/nasex/lib/libomnithrea=
d.sl.2
#7 0xc0ff9c4c in __pthread_create_system () from /usr/lib/libpthread.1
cheers
dejan
From eici@ovsag.de Wed Dec 1 21:15:29 1999
From: eici@ovsag.de (Christian Eibl)
Date: Wed, 1 Dec 1999 22:15:29 +0100
Subject: AW: [omniORB] omniidl crash on NT
Message-ID: <01BF3C49.D4D807F0.eici@ovsag.de>
> It looks from the debugging like everything is doing the right thing,
> but there's clearly something wrong. My only guess is that the pipe
> between the C pre-processor and the IDL front end isn't working. As an
> experiment, try
>
> omniidl -v -N -bpython echo_example.idl
>
E:\ORB\omniORB_280\src\lib\omniORBpy\examples>omniidl -v -N -bpython echo_example.idl
omniidl: Importing back-end `python'
omniidl: Running front end
crashes at the same location...
stackdump:
NTDLL! 77f7cde6()
NTDLL! 77f77506()
fread(void * 0x009a6df0, unsigned int 1, unsigned int 8192, _iobuf * 0x78037ca8) line 75 + 9 bytes
yy_get_next_buffer() line 623 + 216 bytes
yylex() line 458 + 5 bytes
yyparse() line 387 + 5 bytes
AST::process(_iobuf * 0x78037ca8, const char * 0x0086f394) line 134 + 5 bytes
IdlPyCompile(_object * 0x00000000, _object * 0x0086d970) line 1079 + 13 bytes
PYTHON15! 1e10f90f()
PYTHON15! 1e10f821()
PYTHON15! 1e10e734()
PYTHON15! 1e10fc53()
PYTHON15! 1e10f82b()
PYTHON15! 1e103dbd()
PYTHON15! 1e103f4b()
main(int 0, char * * 0x1e16903c) line 1155 + 20 bytes
PYTHON15! 1e17be18()
seems your guess is right, because when i try it with omniidl -E then:
E:\ORB\omniORB_280\src\lib\omniORBpy\examples>omniidl -v -E -bpython echo_exampl
e.idl
omniidl: Importing back-end `python'
omniidl: Preprocessing `echo_example.idl' with `omni-cpp -lang-c++ -undef -D__OM
NIIDL__=0x2301 -D__OMNIIDL_PYTHON__ echo_example.idl'
# 1 "echo_example.idl"
module Example {
interface Echo {
string echoString(in string mesg);
};
};
bye,
Chris E.
--
Christian Eibl
Object Vision Software AG, Munchen
Christian.Eibl@ovsag.de | www.ovsag.de
mobile: +49.171.7623844 or +43.676.3060031
From crawley@dstc.edu.au Thu Dec 2 05:23:05 1999
From: crawley@dstc.edu.au (Stephen Crawley)
Date: Thu, 02 Dec 1999 15:23:05 +1000
Subject: [omniORB] Finding methods in objects / part 2
In-Reply-To: Message from Duncan Grisby
of "Wed, 01 Dec 1999 11:22:05 GMT." <199912011122.LAA06030@pineapple.cam-orl.co.uk>
Message-ID: <199912020523.PAA04296@piglet.dstc.edu.au>
> On Monday 29 November, Casillas_Juan_M/madrid_tecnologia@sinvest.es wrote:
> > How A can instantiate new objects from the implementations,
> > A knows the IOR, but ... program A can't cast dinamically new
> > objects from a string ... or It can ?
>
> I don't think you mean "instantiate new objects...". I think you mean
> you want A to use an _object reference_ to an object which has a type
> that A does not know. In this case, there is no problem with creating
> the reference, and invoking operations on it with DII. You obviously
> can't use static invocation since you don't have compile-time
> knowledge of it.
>
> That said, I think you need to carefully re-think what it is you are
> trying to do. As someone pointed out earlier, knowing that a server
> supports an interface with an operation named hello() doesn't do you
> any good at all, since the name of an operation doesn't tell you
> anything about what it does. Not only that, but there is no guarantee
> that the arguments to different hello() operations are the
> same.
True.
If you are considering implementing an application that uses dynamic
discovery of interface types, it would be worthwhile taking a look
at the OMG MOF specification. You could use MOF in (at least) 2
ways to solve this sort of problem:
1) Define your own "type system" that expresses the semantics of
your interface types in an appropriate manner. Render this
type system as a MOF meta-model, generate IDL and server and
implement a compiler to populate your server with interface
types. Then do type discovery using the repository.
2) Make the MOF's meta-meta-model your type system and define
your application's information model as a MOF meta-model.
Then use an "off the shelf" MOF meta-model repository and
an "off-the-shelf" meta-model compiler to populate it.
While 2) is not what the MOF was originally designed for, if the
MOF Model is a rich enough information meta-model for you, this
will save you a lot of time.
-- Steve
From Casillas_Juan_M/madrid_tecnologia@sinvest.es Wed Dec 1 12:34:13 1999
From: Casillas_Juan_M/madrid_tecnologia@sinvest.es (Casillas_Juan_M/madrid_tecnologia@sinvest.es)
Date: Wed, 1 Dec 1999 13:34:13 +0100
Subject: [omniORB] Finding methods / part 3
Message-ID:
Hi everybody, =20
Duncan says:
>
>I don't think you mean "instantiate new objects...". I think you mean
>you want A to use an _object reference_ to an object which has a type
>that A does not know. In this case, there is no problem with creating
>he reference, and invoking operations on it with DII. You obviously
>can't use static invocation since you don't have compile-time
>knowledge of it.
>
Ok, that's fine.
>
>That said, I think you need to carefully re-think what it is you are
>trying to do. As someone pointed out earlier, knowing that a server
>supports an interface with an operation named hello() doesn't do you
>any good at all, since the name of an operation doesn't tell you
>anything about what it does. Not only that, but there is no guarantee
>that the arguments to different hello() operations are the
>same. Consider two interfaces:
>
That's fine too. But here I have another problem: I have to find the
interface (I don't known nothing about it) and then, I have to find
what methods they have, and their values ... sounds dificult ... =20
how can I do that usign omniORB only ?
>
>If a client of your proposed system asks for objects supporting
>hello(), and gets back references to instances of I and J, how can it
>possibly do anything useful? Especially since it doesn't have
>compile-time knowledge of J::myStruct.
>
Ok, You have all the reason. Test only the methods is danger. I
have to find the interfaces, and then test the methods. But I want
to do that in a distributed way ... Imagine the following scenario:
Program A wants to know what Laser Printers are out of paper;
There are programs monitoring the printers say, these monitors
check periodically the printer to see its status and send events
about it; and in the other side, these monitor have a CORBA interface=
so you can manage the printer from another program:
A program monitor has:
1) code to check the printer periodically
2) code to send events to the Eventchannel or something like
this (the Communication Adapter) so we can notify the
status to other programs
3) code to receive events that contain commands
4) a corba interface to allow another program manage the
printer, just like this program was the monitor
so Program A don't =20
manage the printers directly and A don't know nothing about the
monitoring programs; Program A and the monitors talks using a
event channel or something like this. So to do something useful,
A must check:
1) first all the printers
2) then for the printers available, all the laser printers
3) from this, printers that are out of paper.
There are 2 ways to do this
=20
1) Use the Naming service, register all the monitors on it,
and then use object references for all of them from the
program A, and use their interfaces to check the conditions
but this has two problems: 1) It requires lots of connections
to do this and 2) is very centralized, so if A crash, I have
problems.
2) The other way is to use a comunication media says an Event
channel, or something like this, so A can query to the rest =20
of programs (in this scenario, the monitors) for those that
are monitoring laser printers, that are out of paper. The =20
monitors that check the conditions (monitors monitoring
laser printers that are out of paper) send the answer to =20
program A; so A can use the Monitor CORBA interface to =20
manage this printers. This is way is distributed (each
monitor checks itself the conditions) and requires less
connections. I think my steps must follow this path
=20
Sorry by this long message :)
Btw, This project is called GAP
(http:://www.gsyc.inf.uc3m.es/~assman/gap)
I think it is a new approach to distributed administration.
Kind Regards
Juan Manuel Casillas
Santander Investment
(systems/technology)
From johannes@ees2.oulu.fi Wed Dec 1 10:26:38 1999
From: johannes@ees2.oulu.fi (Janne Haverinen)
Date: Wed, 01 Dec 1999 12:26:38 +0200
Subject: [omniORB] POA and port number for IIOP
requests.
Message-ID: <3844F7DE.B4FFF254@ee.oulu.fi>
Is there anything like -BOAiiop_port for POA in OmniORB3? If not, how to
work with POA and firewall?
// Janne Haverinen
From dgrisby@uk.research.att.com Thu Dec 2 11:04:56 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Thu, 02 Dec 1999 11:04:56 +0000
Subject: [omniORB] POA and port number for IIOP requests.
In-Reply-To: Your message of "Wed, 01 Dec 1999 12:26:38 +0200."
<3844F7DE.B4FFF254@ee.oulu.fi>
Message-ID: <199912021104.LAA10042@pineapple.cam-orl.co.uk>
On Wednesday 1 December, Janne Haverinen wrote:
> Is there anything like -BOAiiop_port for POA in OmniORB3? If not, how to
> work with POA and firewall?
Yes. Use -ORBpoa_iiop_port . You can find all the -ORB
possibilities on both omniORB 2.8 and omniORB 3 by doing -ORBhelp.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From baofyu@ns.dept3.buaa.edu.cn Thu Dec 2 12:21:19 1999
From: baofyu@ns.dept3.buaa.edu.cn (Yu Baofeng)
Date: Thu, 2 Dec 1999 20:21:19 +0800
Subject: [omniORB] Finding methods / part 3
Message-ID: <001601bf3cbf$bd1eddc0$5a0201df@yubaofeng>
Hi! Everyone
Why not use Jini?
Kind Regards say:
Ok, You have all the reason. Test only the methods is danger. I
have to find the interfaces, and then test the methods. But I want
to do that in a distributed way ... Imagine the following scenario:
Program A wants to know what Laser Printers are out of paper;
There are programs monitoring the printers say, these monitors
check periodically the printer to see its status and send events
about it; and in the other side, these monitor have a CORBA interface
so you can manage the printer from another program:
A program monitor has:
1) code to check the printer periodically
2) code to send events to the Eventchannel or something like
this (the Communication Adapter) so we can notify the
status to other programs
3) code to receive events that contain commands
4) a corba interface to allow another program manage the
printer, just like this program was the monitor
so Program A don't
manage the printers directly and A don't know nothing about the
monitoring programs; Program A and the monitors talks using a
event channel or something like this. So to do something useful,
A must check:
1) first all the printers
2) then for the printers available, all the laser printers
3) from this, printers that are out of paper.
There are 2 ways to do this
1) Use the Naming service, register all the monitors on it,
and then use object references for all of them from the
program A, and use their interfaces to check the conditions
but this has two problems: 1) It requires lots of connections
to do this and 2) is very centralized, so if A crash, I have
problems.
2) The other way is to use a comunication media says an Event
channel, or something like this, so A can query to the rest
of programs (in this scenario, the monitors) for those that
are monitoring laser printers, that are out of paper. The
monitors that check the conditions (monitors monitoring
laser printers that are out of paper) send the answer to
program A; so A can use the Monitor CORBA interface to
manage this printers. This is way is distributed (each
monitor checks itself the conditions) and requires less
connections. I think my steps must follow this path
Baofeng Yu
Advanced Simulation Technology Lab
email: baofyu@ns.dept3.buaa.edu.cn
From zoltan.sebestyen@netvisor.hu Thu Dec 2 14:58:34 1999
From: zoltan.sebestyen@netvisor.hu (zoltan.sebestyen@netvisor.hu)
Date: Thu, 2 Dec 1999 14:58:34 +0000
Subject: [omniORB] Date: Thu, 2 Dec 1999 16:04:51 +0100
Message-ID: <617185BB0AA2D111872400105AD899AD09123B@netvisorpdc.intranet.netvisor.hu>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01BF3CD6.992C98C0
Content-Type: text/plain;
charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
Hi,
Did anyone succeed to compile omniORB 2.8.0 on DEC Alpha =
OSF-4.0/gcc-2.95?
I have modified the appropriate makefile (alpha-osf.4.0.mk) with using =
a SUN
makefile that contained gcc specificic parameters and compiled it, but =
can't
run the examples shipped with omniORB they dump core:
That error message follows:
Caught omniORB2 fatalException. This indicates a bug is caught within
omniORB2.
Please send a bug report.
The exception was thrown in file: giopClient.cc
line: 191
The error message is: GIOP_C::ReceiveReply() reported wrong request =
message
size.
Segmentation fault (core dumped) =20
Thanks
Zolt=E1n Sebesty=E9n, NETvisor Ltd., Hungary
<>=20
------_=_NextPart_000_01BF3CD6.992C98C0
Content-Type: application/octet-stream;
name="alpha_osf1_4.0.mk"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="alpha_osf1_4.0.mk"
#=0A=
# alpha_osf1_4.0.mk - make variables and rules specific to Digital =
Unix=0A=
# (i.e. OSF1) 4.0.=0A=
#=0A=
=0A=
OSF1 =3D 1=0A=
AlphaProcessor =3D 1=0A=
=0A=
=0A=
#=0A=
# Include general unix things=0A=
#=0A=
=0A=
include $(THIS_IMPORT_TREE)/mk/unix.mk=0A=
=0A=
=0A=
#=0A=
# C preprocessor macro definitions for this architecture=0A=
#=0A=
=0A=
IMPORT_CPPFLAGS +=3D -D__alpha__ -D__osf1__ -D__OSVERSION__=3D4=0A=
=0A=
=0A=
#=0A=
# Standard programs=0A=
#=0A=
=0A=
AR =3D ar clq=0A=
=0A=
# gcc related..=0A=
CPP =3D gcc=0A=
=0A=
CXX =3D g++=0A=
CXXMAKEDEPEND =3D $(TOP)/$(BINDIR)/omkdepend -D__cplusplus -D__GNUG__ =
-D__GNUC__=0A=
CXXDEBUGFLAGS =3D =0A=
CXXOPTIONS =3D -fexceptions -Wall -Wno-unused=0A=
CXXMTFLAG =3D=0A=
=0A=
CXXLINK =3D $(CXX)=0A=
CXXLINKOPTIONS =3D $(CXXDEBUGFLAGS) $(CXXOPTIONS)=0A=
=0A=
COPTIONS =3D -fpcc-struct-return=0A=
=0A=
=0A=
#CXX =3D /usr/bin/cxx=0A=
# For DEC C++ 6.0=0A=
#CXXOPTIONS =3D -ptr $(TOP)/cxx_respository=0A=
#=0A=
DecCxxMajorVersion =3D 6=0A=
DecCxxMinorVersion =3D 0=0A=
#=0A=
# For DEC C++ 6.0=0A=
# Uncommment the following line to speed up the compilation, but may =
require=0A=
# manually deleted some .pch and cxx_respository/TIMESTAMP files to =
pick=0A=
# up changes in templates or the order of -I flags.=0A=
#=0A=
# CXXOPTIONS +=3D -ttimestamp -pch=0A=
=0A=
#CXXMAKEDEPEND =3D $(TOP)/$(BINDIR)/omkdepend -D__DECCXX =
-D__cplusplus=0A=
#CXXDEBUGFLAGS =3D -O=0A=
=0A=
#CXXLINK =3D $(CXX)=0A=
#CXXLINKOPTIONS =3D $(CXXDEBUGFLAGS) $(CXXOPTIONS) -call_shared=0A=
=0A=
CC =3D gcc=0A=
CMAKEDEPEND =3D $(TOP)/$(BINDIR)/omkdepend -D__GNUC__=0A=
#CDEBUGFLAGS =3D -O=0A=
=0A=
CLINK =3D $(CC)=0A=
=0A=
=0A=
#=0A=
# When specifying the "rpath" (directories which the run-time linker =
should=0A=
# search for shared libraries) we unfortunately need to do it in a =
single=0A=
# argument. For this reason we override the default unix CXXExecutable =
and=0A=
# CExecutable rules. Any -L flags given in $$libs results in another =
element=0A=
# being added to the rpath and we then give the whole rpath at the end =
of the=0A=
# link command line.=0A=
#=0A=
=0A=
RPATH =3D $(subst $(space),:,$(strip $(IMPORT_LIBRARY_DIRS)))=0A=
=0A=
define CXXExecutable=0A=
(rpath=3D"$(RPATH)"; \=0A=
for arg in $$libs; do \=0A=
if expr "$$arg" : "-L" >/dev/null; then \=0A=
rpath=3D"$$rpath$${rpath+:}`expr $$arg : '-L\(.*\)'"; \=0A=
fi; \=0A=
done; \=0A=
set -x; \=0A=
$(RM) $@; \=0A=
$(CXXLINK) -o $@ $(CXXLINKOPTIONS) $(IMPORT_LIBRARY_FLAGS) \=0A=
$(filter-out $(LibSuffixPattern),$^) $$libs -rpath $$rpath; \=0A=
)=0A=
endef=0A=
=0A=
define CExecutable=0A=
(rpath=3D"$(RPATH)"; \=0A=
for arg in $$libs; do \=0A=
if expr "$$arg" : "-L" >/dev/null; then \=0A=
rpath=3D"$$rpath$${rpath+:}`expr $$arg : '-L\(.*\)'"; \=0A=
fi; \=0A=
done; \=0A=
set -x; \=0A=
$(RM) $@; \=0A=
$(CLINK) -o $@ $(CLINKOPTIONS) $(IMPORT_LIBRARY_FLAGS) \=0A=
$(filter-out $(LibSuffixPattern),$^) $$libs -rpath $$rpath; \=0A=
)=0A=
endef=0A=
=0A=
=0A=
#=0A=
# CORBA stuff=0A=
#=0A=
=0A=
omniORB2GatekeeperImplementation =3D OMNIORB2_TCPWRAPGK=0A=
CorbaImplementation =3D OMNIORB2=0A=
=0A=
#=0A=
# OMNI thread stuff=0A=
#=0A=
=0A=
ThreadSystem =3D Posix=0A=
=0A=
OMNITHREAD_POSIX_CPPFLAGS =3D -DPthreadDraftVersion=3D10 =
-DNoNanoSleep=0A=
OMNITHREAD_CPPFLAGS =3D -D_REENTRANT -pthread=0A=
=0A=
# The pthread package before 4.0 was POSIX 1003.4a draft 4. If for =
some=0A=
# reason it is necessary to run the same binaries on 4.0 and older =
systems=0A=
# (e.g. 3.2), use the following make variables instead.=0A=
#=0A=
# OMNITHREAD_POSIX_CPPFLAGS =3D -DPthreadDraftVersion=3D4 -DNoNanoSleep =
=0A=
# OMNITHREAD_CPPFLAGS =3D -D_PTHREAD_USE_D4 -D_REENTRANT=0A=
=0A=
OMNITHREAD_LIB =3D $(patsubst %,$(LibSearchPattern),omnithread) \=0A=
-lpthread -lexc=0A=
=0A=
lib_depend :=3D $(patsubst %,$(LibPattern),omnithread)=0A=
OMNITHREAD_LIB_DEPEND :=3D $(GENERATE_LIB_DEPEND)=0A=
=0A=
# Default location of the omniORB2 configuration file [falls back to =
this if=0A=
# the environment variable OMNIORB_CONFIG is not set] :=0A=
=0A=
OMNIORB_CONFIG_DEFAULT_LOCATION =3D /etc/omniORB.cfg=0A=
=0A=
# Default directory for the omniNames log files.=0A=
OMNINAMES_LOG_DEFAULT_LOCATION =3D /var/omninames=0A=
------_=_NextPart_000_01BF3CD6.992C98C0--
From seefelds@MAGELLAN.UMontreal.CA Thu Dec 2 15:18:45 1999
From: seefelds@MAGELLAN.UMontreal.CA (Stefan Seefeld)
Date: Thu, 02 Dec 1999 15:18:45 +0000
Subject: [omniORB] Finding methods / part 3
References:
Message-ID: <38468DD5.C0144D47@magellan.umontreal.ca>
Casillas_Juan_M/madrid_tecnologia@sinvest.es wrote:
> to do that in a distributed way ... Imagine the following scenario:
>
> Program A wants to know what Laser Printers are out of paper;
> There are programs monitoring the printers say, these monitors
> check periodically the printer to see its status and send events
> about it; and in the other side, these monitor have a CORBA interface
> so you can manage the printer from another program:
>
> A program monitor has:
> 1) code to check the printer periodically
> 2) code to send events to the Eventchannel or something like
> this (the Communication Adapter) so we can notify the
> status to other programs
> 3) code to receive events that contain commands
> 4) a corba interface to allow another program manage the
> printer, just like this program was the monitor
>
> so Program A don't
> manage the printers directly and A don't know nothing about the
> monitoring programs; Program A and the monitors talks using a
> event channel or something like this. So to do something useful,
> A must check:
>
> 1) first all the printers
> 2) then for the printers available, all the laser printers
> 3) from this, printers that are out of paper.
>
> There are 2 ways to do this
>
> 1) Use the Naming service, register all the monitors on it,
> and then use object references for all of them from the
> program A, and use their interfaces to check the conditions
> but this has two problems: 1) It requires lots of connections
> to do this and 2) is very centralized, so if A crash, I have
> problems.
>
> 2) The other way is to use a comunication media says an Event
> channel, or something like this, so A can query to the rest
> of programs (in this scenario, the monitors) for those that
> are monitoring laser printers, that are out of paper. The
> monitors that check the conditions (monitors monitoring
> laser printers that are out of paper) send the answer to
> program A; so A can use the Monitor CORBA interface to
> manage this printers. This is way is distributed (each
> monitor checks itself the conditions) and requires less
> connections. I think my steps must follow this path
I think trading service is really what you want. You can export
a service ("monitor a laser printer" together with an attached interface).
Then your program can query for services given a list of attributes. Then
it selects and imports the service it prefers, using the returned interface.
Of course, those interfaces have to be known by both, the provider (exporter)
and the user (importer). But that's ok, you have to know *something* anyway
in your client to be able to invoke a service's interface...
Stefan
PS: you need to decide what is an attribute of the interface (for example
laser, ink jet etc.) and what is an attribute of the object (out of paper).
_______________________________________________________
Stefan Seefeld
Departement de Physique
Universite de Montreal
email: seefelds@magellan.umontreal.ca
_______________________________________________________
...ich hab' noch einen Koffer in Berlin...
From djr@uk.research.att.com Thu Dec 2 17:59:43 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Thu, 2 Dec 1999 17:59:43 +0000 (GMT)
Subject: [omniORB] Overlapping servant lifetimes with ServantActivator
(omniORB3)
In-Reply-To:
Message-ID:
Hi Wil,
Darn -- you've caught me ;-) I realised that this was not 100% compliant
when I implemented it, but went ahead because there are significant
performance and/or complexity implications in getting it right. I think I
can get it right efficiently, but it will be quite difficult. This is the
one place I knew I was not quite right, and I really thought no-one would
notice, doh!
What is happening is that the object has been removed from the Active
Object Map, and then is passed to another thread to be etherealised (when
all outstanding invocations have completed). In the mean time another
thread comes along and incarnates an object with the same id. What should
happen is that this incarnation should block until the origional object
has finished etherealising (see 11.3.8.17).
I can probably do this by putting some sort of placeholder into the active
object map which is only removed when etherealisation is complete. Quite
a bit of work though, so I suggest that you work under the assumption that
it won't get fixed for a while.
Cheers,
David
On Tue, 30 Nov 1999 Wil_Evers@doosys.com wrote:
> Trying last Friday's snapshot of the omniORB3 pre-release, I ran into some
> unexpected behaviour.
>
> Using a ServantActivator, I implemented a variant of the evictor pattern as
> described in Henning & Vinoski's book. The basic idea is to limit the
> number of active servants in a POA to a certain maximum; if that maximum is
> reached, then for every newly incarnated servant, the oldest previously
> incarnated servant is deactivated. To see what would happen under stress,
> I limited the maximum number of active servants to 1. This way, the only
> living servant (if any) is deactivated as soon as a request for another
> object id arrives at the POA.
>
> omniORB3 does not immediately etherialize a servant that has just been
> deactivated by a call to deactivate_object() on the associated POA. That in
> itself, I believe, is OK, and may even be necessary. However, in the
> scenario above, incarnate() was called with an object ID I had just
> deactivated, but for which the ORB had not yet invoked etherialize(). The
> effect is that for a short period of time, the same object id is being
> incarnated by two separate servants, causing a race condition in the
> interaction with the underlying persistent store. I *think* this is
> illegal for a POA with a ServantActivator - section 11.3.5 of the CORBA 2.3
> spec says:
>
> Incarnations of a particular object may not overlap; that is,
> incarnate shall not be invoked with a particular ObjectId while,
> within the same POA, that ObjectId is in use as the ObjectId
> of an activated object or as the argument of a call to incarnate
> or etherealize that has not completed.
>
> The policies I set for this POA are PERSISTENT, USER_ID,
> USE_SERVANT_MANAGER and RETAIN.
>
> Did I miss something?
From djr@uk.research.att.com Thu Dec 2 18:15:04 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Thu, 2 Dec 1999 18:15:04 +0000 (GMT)
Subject: [omniORB] Re: OmniNames
In-Reply-To: <862DA3FEB3BBD211933800A0C9CDFE7A8C6046@ntsrvr01.acdca.itt.com>
Message-ID:
Hi,
I've had a look at this, and yes there is a problem. In theory it should
have all worked as it used to. It does work in the case where you put
NAMESERVER IOR:... into the config file, but not when you use
ORBInitialHost and ORBInitialPort. Looks like I've done something to
damage the bootstrap agent.
I'll look into it.
Cheers,
David
On Tue, 30 Nov 1999, Kapla, Jami wrote:
> Hello David,
> We are trying to use the Omniidl3 on linux 6.0
> and test the echo example. The eg1 works however the eg3_impl
> fails when the call to orb->resolve_initial_references("NameServece")
> is called. We are trying to find what exception is being thrown. However
> I believe it has something to do with either the ORB is configured wrong
> or the omniORB.cfg file is not configured correctly. There is a mention
> in the 3.0 release notes of changes to the log file for omniNames but no
> specifics. currently we start the omniNames:
>
> omniNames -start 1234
> which then seems to start it ok.
>
> omniORB.cfg has:
> ORBInitialHost korea (my machine)
> ORBInitialPort 1234
>
> and OMNIORB_CONFIG is set in the environment to the correct path.
>
> However we are using the documentation for OmniOrb2, so maybe this has
> changed some(?).
> We simply did a make all and ran eg3.impl but the resolve_initial_refernces
> call fails. (it also fails for all ID's except "RootPOA").
From rbritten@icon.co.za Fri Dec 3 06:15:24 1999
From: rbritten@icon.co.za (Randall Britten)
Date: Fri, 03 Dec 1999 01:15:24 -0500
Subject: [omniORB] omniNames and libstdc++.so.2.9 on RedHat 6.0
Message-ID: <38475FFB.CA23444@icon.co.za>
I downloaded the following binary distribution from
www.uk.research.att.com:
omniORB_280_x86_linux_2.0_glibc.tar.gz, hoping to run it on my RedHat
6.0
Linux box.
In order to run omniNames, I followed the first two steps in README.unix
under
part 4 of "Configuration". However, it seems that libstdc++.so.2.9 is
required, and I do not know how to obtain it. (Found and Rpm ...2.9,
but it contained the 2.8 .so). I tried a hack: symbollically
linking the name libstdc++.so.2.9 to libstdc++.so.2.8, but that doesn't
seem
to really work.
Perhaps someone could help me out here. Thanks in advance.
I have pasted some "command line stuff" below:
$ uname -a
Linux hostname 2.2.5-15 #1 Mon Apr 19 22:21:09 EDT 1999 i586 unknown
$ env | grep omni
LD_LIBRARY_PATH=/home/randall/omniORB_280/lib/i586_linux_2.0_glibc/
OMNINAMES_LOGDIR=/home/randall/omniORB_280/logs
$ bin/i586_linux_2.0_glibc/omniNames -start 12345 &
$ bin/i586_linux_2.0_glibc/omniNames: error in loading shared libraries:
libstdc++.so.2.9: cannot open shared object file: No such
file or directory
$ su
# cd /usr/lib
# ln -s ./libstdc++.so.2.8 libstdc++.so.2.9
# exit
$
bin/i586_linux_2.0_glibc/omniORB_280/bin/i586_linux_2.0_glibc/omniNames
-start 12345
`
Fri Dec 3 01:01:31 1999:
Starting omniNames for the first time.
./omniORB_280/bin/i586_linux_2.0_glibc/omniNames: error in loading
shared libraries:
./omniORB_280/bin/i586_linux_2.0_glibc/omniNames: undefined symbol:
__eh_alloc
--
--------------
Randall Britten
rbritten@icon.co.za
From seefelds@MAGELLAN.UMontreal.CA Fri Dec 3 02:18:40 1999
From: seefelds@MAGELLAN.UMontreal.CA (Stefan Seefeld)
Date: Thu, 02 Dec 1999 21:18:40 -0500
Subject: [omniORB] omniNames and libstdc++.so.2.9 on RedHat 6.0
References: <38475FFB.CA23444@icon.co.za>
Message-ID: <38472880.11DF6798@magellan.umontreal.ca>
Randall Britten wrote:
> In order to run omniNames, I followed the first two steps in README.unix
> under
> part 4 of "Configuration". However, it seems that libstdc++.so.2.9 is
> required, and I do not know how to obtain it. (Found and Rpm ...2.9,
> but it contained the 2.8 .so). I tried a hack: symbollically
> linking the name libstdc++.so.2.9 to libstdc++.so.2.8, but that doesn't
> seem
> to really work.
either you recompile omniorb or you get a newer compiler (which ships with
the newer library)
Stefan
From rbritten@icon.co.za Fri Dec 3 14:18:29 1999
From: rbritten@icon.co.za (Randall Britten)
Date: Fri, 03 Dec 1999 09:18:29 -0500
Subject: [omniORB] omniNames and libstdc++.so.2.9 on RedHat 6.0
References: <38475FFB.CA23444@icon.co.za> <384736DC.5CE9@accesscom.com>
Message-ID: <3847D135.48C239C0@icon.co.za>
I did a recompile from scratch, and now omniNames works. Did you have other
problems on RedHat 6.0 ?
Fred Cook wrote:
> Randall Britten wrote:
> >
> > I downloaded the following binary distribution from
> > www.uk.research.att.com:
> > omniORB_280_x86_linux_2.0_glibc.tar.gz, hoping to run it on my RedHat
> > 6.0
> > Linux box.
> >
> > In order to run omniNames, I followed the first two steps in README.unix
> > under
> > part 4 of "Configuration". However, it seems that libstdc++.so.2.9 is
> > required, and I do not know how to obtain it. (Found and Rpm ...2.9,
> > but it contained the 2.8 .so). I tried a hack: symbollically
> > linking the name libstdc++.so.2.9 to libstdc++.so.2.8, but that doesn't
> > seem
> > to really work.
> >
> > Perhaps someone could help me out here. Thanks in advance.
> >
> > I have pasted some "command line stuff" below:
> >
> > $ uname -a
> > Linux hostname 2.2.5-15 #1 Mon Apr 19 22:21:09 EDT 1999 i586 unknown
> >
> > $ env | grep omni
> > LD_LIBRARY_PATH=/home/randall/omniORB_280/lib/i586_linux_2.0_glibc/
> > OMNINAMES_LOGDIR=/home/randall/omniORB_280/logs
> >
> > $ bin/i586_linux_2.0_glibc/omniNames -start 12345 &
> > $ bin/i586_linux_2.0_glibc/omniNames: error in loading shared libraries:
> > libstdc++.so.2.9: cannot open shared object file: No such
> > file or directory
> >
> > $ su
> > # cd /usr/lib
> > # ln -s ./libstdc++.so.2.8 libstdc++.so.2.9
> > # exit
> >
> > $
> > bin/i586_linux_2.0_glibc/omniORB_280/bin/i586_linux_2.0_glibc/omniNames
> > -start 12345
> > `
> > Fri Dec 3 01:01:31 1999:
> >
> > Starting omniNames for the first time.
> > ./omniORB_280/bin/i586_linux_2.0_glibc/omniNames: error in loading
> > shared libraries:
> > ./omniORB_280/bin/i586_linux_2.0_glibc/omniNames: undefined symbol:
> > __eh_alloc
> >
> > --
> > --------------
> > Randall Britten
> > rbritten@icon.co.za
>
> Randall,
>
> I fought this battle for three weeks and got no where. The solution to
> this problem is to upgrade to RH 6.1. You will have to recomple
> omniORB_280, but that should not be a problem, just follow the given
> instructions. A standard workstation installation of RH 6.1 and a
> recompiled omniORB_280 does work. Trying to get omniORB_280 on RH 6.0
> working is not worth your time (it only costs $30), and it may not be
> possible.
>
> Have fun!
> Fred
--
--------------
Randall Britten
rbritten@icon.co.za
P.O.Box 2584, Parklands, Johannesburg, South Africa, 2121
From renzo.tomaselli@tecnotp.it Fri Dec 3 08:55:31 1999
From: renzo.tomaselli@tecnotp.it (Renzo Tomaselli)
Date: Fri, 3 Dec 1999 09:55:31 +0100
Subject: [omniORB] Implementation repository
Message-ID: <008d01bf3d6c$2f725e90$a8c649c1@big>
This is a multi-part message in MIME format.
------=_NextPart_000_008A_01BF3D74.88DE8B90
Content-Type: text/plain;
charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Hi all,
assume one would implement an Implem. Repository over Omniorb =
2.8 such the one described in Henning & Vinoski book. The loading on =
demand feature of Omniorb looks great for this, so that one could use =
indirect binding for all persistent objects.
But the hard point is about forcing an implementation BOA to include a =
pair into generated IOR profiles while listening on a =
possibly *different* port. The option -BOAiiop_name_port is described in =
such a way making me to believe the used port concerns both the port to =
listen on *and* the port to include into a profile.
This would mean that IR and all implementations must use the same port - =
a hard constraint to follow; really impossible when multiple processes =
are listening at the same host. On the other hand the host name setting =
should be ok with this option.
A closely connected issue concerns non-persistent object: in this case =
an implementation would like to use direct binding only, e.g. to include =
local host and port into a IOR profile, without involving the IR. AFAIK, =
Omniorb BOA setup cannot be differentiated to yield different profiles =
for different objects.
Alternatively multiple -BOAiiop_port lead to include multiple profiles =
in a IOR, which in principle should be an even optimized way to handle =
this issue, according to Vinosky; the IOR would include both direct and =
indirect binding profiles.
But for some reasons this approach is not safe or not liked (I remember =
some comments on this list stating as an ORB might forget about any =
extra profile after the very first one, I don't know about Omniorb =
behavior here).
Any comment ? Thanks,
Renzo Tomaselli =20
-------------------------------------------------------------------------=
--
TecnoTP s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi Valsugana, Trento TN ITALY
Tel. +39 0461 773164 Fax. +39 0461 771514
e-mail: renzo.tomaselli@tecnotp.it =20
-------------------------------------------------------------------------=
--
------=_NextPart_000_008A_01BF3D74.88DE8B90
Content-Type: text/html;
charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Hi all,
assume one =
would=20
implement an Implem. Repository over Omniorb 2.8 such the one described =
in=20
Henning & Vinoski book. The loading on demand feature of Omniorb =
looks great=20
for this, so that one could use indirect binding for all persistent=20
objects.
But the hard point is about forcing an =
implementation BOA to=20
include a <host,port> pair into generated IOR profiles while =
listening on=20
a possibly *different* port. The option -BOAiiop_name_port is =
described in=20
such a way making me to believe the used port concerns both the port to =
listen=20
on *and* the port to include into a profile.
This would mean that IR and all implementations must =
use the=20
same port - a hard constraint to follow; really impossible when multiple =
processes are listening at the same host. On the other hand the host =
name=20
setting should be ok with this option.
A closely connected issue concerns non-persistent =
object: in=20
this case an implementation would like to use direct binding only, e.g. =
to=20
include local host and port into a IOR profile, without involving the =
IR. AFAIK,=20
Omniorb BOA setup cannot be differentiated to yield different profiles =
for=20
different objects.
Alternatively multiple -BOAiiop_port lead to include =
multiple=20
profiles in a IOR, which in principle should be an even optimized way to =
handle=20
this issue, according to Vinosky; the IOR would include both direct and =
indirect=20
binding profiles.
But for some reasons this approach is not safe or =
not liked (I=20
remember some comments on this list stating as an ORB might forget about =
any=20
extra profile after the very first one, I don't know about Omniorb =
behavior=20
here).
Any comment ? Thanks,
&nbs=
p;  =
; =
=20
Renzo Tomaselli =20
---------------------------------------------------------------------=
------
TecnoTP=20
s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi=20
Valsugana, Trento TN ITALY
Tel. +39 0461=20
773164 Fax. +39 0461 771514
e-mail: renzo.tomaselli@tecnotp.it=
=20
---------------------------------------------------------------------=
------
------=_NextPart_000_008A_01BF3D74.88DE8B90--
From johannes@ees2.oulu.fi Fri Dec 3 09:04:40 1999
From: johannes@ees2.oulu.fi (Janne Haverinen)
Date: Fri, 03 Dec 1999 11:04:40 +0200
Subject: [omniORB] Problems while compiling OmniORB for SunOS
Message-ID: <384787A8.F9B1DAF2@ee.oulu.fi>
Hi,
I tried to compile OmniORB3 for Sun Solaris and I got following error:
CC -c -O2 -g -I. -I../include -I. -I../../../../include -D__sparc__
-D__sunos__ -D__OSVERSION__=5 -o o2be_root.o o2be_root.cc
"o2be_root.cc", line 562: Error: Cannot use const char* to initialize
char*.
1 Error(s) detected.
Our system is:
(tk39)(johannes)(104)(src) uname -a
SunOS tk39 5.7 Generic_106541-07 sun4u sparc SUNW,Ultra-5_10
And compilers:
CC - Sun WorkShop C++ Compiler 5.0
gcc, g++ - GNU project C and C++ Compiler (gcc-2.95)
Will I get OmniORB work in our system?
Regards,
Janne Haverinen
From Haarek.Ryeng@datarespons.no Fri Dec 3 09:09:17 1999
From: Haarek.Ryeng@datarespons.no (Haarek Ryeng)
Date: Fri, 03 Dec 1999 10:09:17 +0100
Subject: [omniORB] How to init a tie pointer safely
Message-ID: <384788BD.1D28FFB7@datarespons.no>
This is a multi-part message in MIME format.
--------------A6E96E1332FEF58FD1A5C57D
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
What is the preferred way to initialise a pointer to a
tie-class?
And how do I maintain this pointer safely?
Ex:
Tie-class: _tie_A
Impl-class: A_i
class A_i
{
// some defs......
_tie_A< A_i*,false >* _p;
};
A_i::A_i()
{
_p = NULL // Alright?
}
A_i::InterfaceFactory()
{
if ( CORBA::is_nil(_p->-this()) ) // Is this the safe way
to check
//for a valid interface
through the tie pointer?
{
try
{
_p = new _tie_A(this);
boa->obj_is_ready(_p);
}
catch( bad_alloc)
{
_p = ? // What do I initialise it to so that the
above “is_nil”
//check is safe?
}
}// end if
}// end factory function
Any comments?
Regards,
Haarek Ryeng
--------------A6E96E1332FEF58FD1A5C57D
Content-Type: text/x-vcard; charset=us-ascii;
name="haarek.ryeng.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Hårek Ryeng
Content-Disposition: attachment;
filename="haarek.ryeng.vcf"
begin:vcard
adr;dom:;;;N-1322 HØVIK;;;
n:Ryeng;Hårek
x-mozilla-html:FALSE
org:Data Respons AS
version:2.1
email;internet:haarek.ryeng@datarespons.no
title:M.sci (computers & signal processing)
tel;fax:67112050
tel;home:90196734
tel;work:67112071
x-mozilla-cpt:;0
fn:Hårek Ryeng
end:vcard
--------------A6E96E1332FEF58FD1A5C57D--
From Haarek.Ryeng@datarespons.no Fri Dec 3 09:32:52 1999
From: Haarek.Ryeng@datarespons.no (Haarek Ryeng)
Date: Fri, 03 Dec 1999 10:32:52 +0100
Subject: [omniORB] How to init a tie pointer safely
References: <384788BD.1D28FFB7@datarespons.no>
Message-ID: <38478E44.783ACF92@datarespons.no>
This is a multi-part message in MIME format.
--------------4925C9C1E5DF74B3BB951E9A
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
The CORBA::is_nil(_p->_this()) will obviously throw an
exception when _p == NULL, and the way I do the check today is
by "if (_p == NULL)".
Is there a better way to do this?
- Haarek Ryeng
PS! I'll try to send only one mail next time.. (to little
coffee- yet :-) )
Haarek Ryeng wrote:
> What is the preferred way to initialise a pointer to a
> tie-class?
> And how do I maintain this pointer safely?
>
> Ex:
> Tie-class: _tie_A
> Impl-class: A_i
>
> class A_i
> {
> // some defs......
> _tie_A< A_i*,false >* _p;
> };
>
> A_i::A_i()
> {
> _p = NULL // Alright?
> }
>
> A_i::InterfaceFactory()
> {
> if ( CORBA::is_nil(_p->-this()) ) // Is this the safe way
> to check
> //for a valid interface
> through the tie pointer?
> {
> try
> {
> _p = new _tie_A(this);
> boa->obj_is_ready(_p);
> }
> catch( bad_alloc)
> {
> _p = ? // What do I initialise it to so that the
> above “is_nil”
> //check is safe?
> }
> }// end if
> }// end factory function
>
> Any comments?
>
> Regards,
>
> Haarek Ryeng
--------------4925C9C1E5DF74B3BB951E9A
Content-Type: text/x-vcard; charset=us-ascii;
name="haarek.ryeng.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Hårek Ryeng
Content-Disposition: attachment;
filename="haarek.ryeng.vcf"
begin:vcard
adr;dom:;;;N-1322 HØVIK;;;
n:Ryeng;Hårek
x-mozilla-html:FALSE
org:Data Respons AS
version:2.1
email;internet:haarek.ryeng@datarespons.no
title:M.sci (computers & signal processing)
tel;fax:67112050
tel;home:90196734
tel;work:67112071
x-mozilla-cpt:;0
fn:Hårek Ryeng
end:vcard
--------------4925C9C1E5DF74B3BB951E9A--
From rbritten@icon.co.za Fri Dec 3 15:10:20 1999
From: rbritten@icon.co.za (Randall Britten)
Date: Fri, 03 Dec 1999 10:10:20 -0500
Subject: [omniORB] Which cpp on RedHat 6.0?
Message-ID: <3847DD5B.CBDC8B44@icon.co.za>
On RedHat 6.0, I have managed to compile omniORB, and the Name Service
and the echo examples work. I am still not sure though, if I chose the
correct cpp in ./mk/platforms/i586_linux_2.0_glibc.mk
I couldn't find a cpp executable anywhere, so a wild guess was that g++
itself would do the c pre processing, hence I used:
CPP = /usr/bin/g++
More info
Linux dist: RedHat 6.0
omniORB Platform: i586_linux_2.0_glibc
Compiler version:
$ g++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
Thanks
--
--------------
Randall Britten
rbritten@icon.co.za
From djr@uk.research.att.com Fri Dec 3 09:42:18 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Fri, 3 Dec 1999 09:42:18 +0000 (GMT)
Subject: [omniORB] Which cpp on RedHat 6.0?
In-Reply-To: <3847DD5B.CBDC8B44@icon.co.za>
Message-ID:
Hi,
Redhat 6.1 has cpp in /lib/cpp -- this is a sym-link to EGCS installation.
I expect 6.0 is the same.
David
On Fri, 3 Dec 1999, Randall Britten wrote:
> On RedHat 6.0, I have managed to compile omniORB, and the Name Service
> and the echo examples work. I am still not sure though, if I chose the
> correct cpp in ./mk/platforms/i586_linux_2.0_glibc.mk
From edumas@tumbleweed.com Fri Dec 3 09:46:04 1999
From: edumas@tumbleweed.com (Eric Dumas)
Date: Fri, 3 Dec 1999 01:46:04 -0800
Subject: [omniORB] Which cpp on RedHat 6.0?
In-Reply-To: <3847DD5B.CBDC8B44@icon.co.za>; from Randall Britten on Fri, Dec 03, 1999 at 10:10:20AM -0500
References: <3847DD5B.CBDC8B44@icon.co.za>
Message-ID: <19991203014603.A27952@cliff.tumbleweed.com>
According to Randall Britten:
> On RedHat 6.0, I have managed to compile omniORB, and the Name Service
> and the echo examples work. I am still not sure though, if I chose the
> correct cpp in ./mk/platforms/i586_linux_2.0_glibc.mk
you can use g++ -E or /lib/cpp (this is a symbolic link to your real
cpp - for example /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/cpp).
> I couldn't find a cpp executable anywhere, so a wild guess was that g++
> itself would do the c pre processing, hence I used:
> CPP = /usr/bin/g++
Use -E
--
Éric Dumas (dumas@tumbleweed.com)
Tumbleweed Communications, 700 Saginaw Drive, Redwood City, CA 94063, USA
http://www.tumbleweed.com Tel: +1 650-216-2030
From jfpoilpret@hn.vnn.vn Fri Dec 3 10:24:24 1999
From: jfpoilpret@hn.vnn.vn (Poilpret Jean Francois)
Date: Fri, 3 Dec 1999 17:24:24 +0700
Subject: [omniORB] Miscellaneous problems with omniEvents 2.0
Message-ID: <000301bf3d78$ab2ac520$0100a8c0@windev>
Hi omniORBers,
At this time, I am in the process of chosing an Event Service (for a =
little project with omniORB for my students). I'm just "playing" with =
omniEvents 2.0, but I ran into some problems (some of which I could not =
solve).
But first of all, I have to tell that I want to use omniEvents with Java =
clients (written with ORBACUS 3.2), so I have to recompile IDL files =
included with the omniEvents package, with the jidl ORBACUS compiler.
The problems I ran into are:
1. The file CosEventChannelAdmin.idl is not compliant with the =
"official" OMG IDL file, since it includes "CosLifeCycle.idl". Moreover, =
it seems that nothing from CosLifeCycle.idl is used inside =
CosEventChannelAdmin.idl. So I cleared the including line from the file. =
After this, no problem.
2. I wanted to write a PushSupplier (in Java) sending events to an =
omniEvents event channel.
So I got the object reference of the channel, then the SupplierAdmin =
object reference, then a ProxyPushConsumer reference object from the =
SuplierAdmin.
Then I call the connect_push_supplier() operation on that reference.The =
problem is that I pass a nil object reference for the push_supplier =
argument. And then, I receive the BAD_PARAM exception.
I read the code in CosEvent_i.cc (in omniEvents package) and discovered =
that passing a nil object reference was forbidden.
But according to the OMG specs, (CORBAservices, march 1995, Event =
Service 1.0, pages 4-17 and 4-18), it is allowed for a push-supplier to =
pass a nil object reference for this argument.
(In fact, I think the problem is the same with a pull-consumer who wants =
to register itself with a proxypullsupplier, but I didnot check it with =
omniEvents).
For me, this is a problem since if you want to act as a push-supplier, =
you still have to write an implementation for the PushSupplier interface =
and make your java application (or applet) a server. But I don't want to =
write a CORBA server in java, just a simple client. But I can't do :-(
It would be great if omniEvents could be made compliant with the specs =
here, because I think many people would like to use Event Channels this =
way, writing simple CORBA clients when it is possible.
I alse have a suggestion for the next releases of omniEvents: I think it =
would be great to provide both static and dynamic libraries, since the =
size of executables is quite big ;-)
Besides this, congratulations for omniEvents, the examples seem to work =
great !
Thank you in advance
Regards
Jean-Fran=E7ois
From Christian_Lipp@allianz.at Fri Dec 3 11:45:55 1999
From: Christian_Lipp@allianz.at (Christian_Lipp@allianz.at)
Date: Fri, 3 Dec 1999 12:45:55 +0100
Subject: [omniORB] Winsock
Message-ID: <4125683C.0045F2E4.00@smtp_01.allianz.at>
We are using omniOrb 2.8 under Win95 (laptop) and WinNT (PC).
On the laptops, we use it for client/server apps, but also for IPC.
When the network connection isn't available (so we just want to use IPC)
every start of a CORBA-Server fails.
So we tried to upgrade winsock.dll to V2, now the server is able to start.
Unfortunately, we have to install 1400 clients and we could't manage
to make the winsock-upgrade unintented (for automatical installation
whitout user interaction).
So my question: does omniORB only run with winsock 2 on windows
platforms or is there a way to start a server without network connection
and an older winsock?
Thanks in advance, greetings
CL
From seefelds@MAGELLAN.UMontreal.CA Fri Dec 3 13:51:33 1999
From: seefelds@MAGELLAN.UMontreal.CA (Stefan Seefeld)
Date: Fri, 03 Dec 1999 13:51:33 +0000
Subject: [omniORB] Which cpp on RedHat 6.0?
References: <3847DD5B.CBDC8B44@icon.co.za>
Message-ID: <3847CAE5.683EF510@magellan.umontreal.ca>
Randall Britten wrote:
>
> On RedHat 6.0, I have managed to compile omniORB, and the Name Service
> and the echo examples work. I am still not sure though, if I chose the
> correct cpp in ./mk/platforms/i586_linux_2.0_glibc.mk
I think it is an error for those *.mk files to refer to the tools by
absolute paths. They should simply refer to "c++", "cpp" etc. so that
it's the user's choice to set his PATH variable so that those tools can
be found.
Stefan
_______________________________________________________
Stefan Seefeld
Departement de Physique
Universite de Montreal
email: seefelds@magellan.umontreal.ca
_______________________________________________________
...ich hab' noch einen Koffer in Berlin...
From djr@uk.research.att.com Fri Dec 3 17:03:35 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Fri, 3 Dec 1999 17:03:35 +0000 (GMT)
Subject: [omniORB] Bug in omniORB 2.8 and 3.0
In-Reply-To: <19991202184123.A1835@cuivre.fr.eu.org>
Message-ID:
Hi,
There is a bug in the marshalling code for multi-dimensional arrays of
simple types for omniORB 2.8 and 3.0. Credit to Thomas Quinot for
spotting this one. If you use multi-dimensional arrays of simple types
you should definately get the update from CVS, or a patch from
http://www.uk.research.att.com/omniORB/omniORBbug.html
Cheers,
David
From tsulaia@usa.net Fri Dec 3 18:41:55 1999
From: tsulaia@usa.net (Vakhtang Tsulaia)
Date: 3 Dec 99 11:41:55 MST
Subject: [omniORB] Problems with omniEvents
Message-ID: <19991203184156.5047.qmail@nwcst286.netaddress.usa.net>
Hello,
I have just started to try omniEvents on the Win98 platform (MSVC++ 6.0).=
Following the instructions in 'Readme', I tryed to build source files
with the use of GNU make. (Command: make export).
As a result, I got lots of errors while compiling 'omniEvents.cc',
but anyway three .lib files ('omniEventsStubs.lib', 'omniEventsFe.lib',
'omniEventsUtil.lib') were installed into the
appropriate folder.
Afterwards I tryed to link those .lib files to my VC++ project (I linked
all of them) and added just single line of code:
=2E..
EventChannelFactory_i *factory =3D new EventChannelFactory_i();
=2E..
Result:
error LNK2001: unresolved external symbol "public: __thiscall
EventChannelFactory_i::EventChannelFactory_i(void)"
(??0EventChannelFactory_i@@QAE@XZ)
What I did wrong?
I would be very grateful, if someone could help me to solve my problems.
Thanks in advance.
V.Tsulaia
____________________________________________________________________
Get free email and a permanent address at http://www.netaddress.com/?N=3D=
1
From renny@visualsoft.com Fri Dec 3 18:48:24 1999
From: renny@visualsoft.com (Renny Koshy)
Date: Fri, 3 Dec 1999 13:48:24 -0500
Subject: [omniORB] Problems with omniEvents
Message-ID:
More than likely MSVC++ uses a different mangling scheme than GCC...
:-)
Don't you love it?!
-Renny
> -----Original Message-----
> From: Vakhtang Tsulaia [mailto:tsulaia@usa.net]
> Sent: Friday, December 03, 1999 1:42 PM
> To: omniorb-list@uk.research.att.com
> Subject: [omniORB] Problems with omniEvents
>
>
> Hello,
>
> I have just started to try omniEvents on the Win98 platform
> (MSVC++ 6.0).
> Following the instructions in 'Readme', I tryed to build source files
> with the use of GNU make. (Command: make export).
> As a result, I got lots of errors while compiling 'omniEvents.cc',
> but anyway three .lib files ('omniEventsStubs.lib',
> 'omniEventsFe.lib',
> 'omniEventsUtil.lib') were installed into the
> appropriate folder.
>
> Afterwards I tryed to link those .lib files to my VC++
> project (I linked
> all of them) and added just single line of code:
>
> ...
> EventChannelFactory_i *factory = new EventChannelFactory_i();
> ...
>
> Result:
>
> error LNK2001: unresolved external symbol "public: __thiscall
> EventChannelFactory_i::EventChannelFactory_i(void)"
> (??0EventChannelFactory_i@@QAE@XZ)
>
> What I did wrong?
> I would be very grateful, if someone could help me to solve
> my problems.
>
> Thanks in advance.
> V.Tsulaia
>
> ____________________________________________________________________
> Get free email and a permanent address at
> http://www.netaddress.com/?N=1
>
From rceci@master.adams.com Fri Dec 3 20:02:34 1999
From: rceci@master.adams.com (Rob Cecil)
Date: Fri, 03 Dec 1999 15:02:34 -0500
Subject: [omniORB] destructor not called on _dispose()
Message-ID: <384821DA.F4CBD0BA@adams.com>
--------------72F9CB7CF86F1A8B15DFEF42
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Can anyone think of a reason the dtor of a Corba server implementation would
not be called, when _dispose()'d?
Thanks
--
| Rob Cecil | Senior Development Engineer |
| rceci@adams.com | Product Development |
| (734) 913-9351 | Mechanical Dynamics, Inc. (www.adams.com) |
--------------------------------------------------------------------
Modern Quantum Physics has found that the universe is composed of
25% protons, 15% electrons, 15% neutrons, and 45% morons.
--------------72F9CB7CF86F1A8B15DFEF42
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
Can anyone think of a reason the dtor of a Corba server implementation
would not be called, when _dispose()'d?
Thanks
--
| Rob Cecil | Senior Development Engineer |
| rceci@adams.com | Product Development |
| (734) 913-9351 | Mechanical Dynamics, Inc. (www.adams.com) |
--------------------------------------------------------------------
Modern Quantum Physics has found that the universe is composed of
25% protons, 15% electrons, 15% neutrons, and 45% morons.
--------------72F9CB7CF86F1A8B15DFEF42--
From rshoup@tumbleweed.com Fri Dec 3 20:52:38 1999
From: rshoup@tumbleweed.com (Randy Shoup)
Date: Fri, 03 Dec 1999 12:52:38 -0800
Subject: [omniORB] destructor not called on _dispose()
References: <384821DA.F4CBD0BA@adams.com>
Message-ID: <38482D96.8820F5ED@tumbleweed.com>
Most likely the reference count of the object is off -- the servant has
probably been _duplicate()'d or _this()'d or _narrow()'d one too many
times.
_dispose() does not destruct the servant unless and until all the
servant's references are released. This is to prevent a servant from
being destructed while a call is in-flight on it.
-- Randy
Tumbleweed Communications
Rob Cecil wrote:
>
> Can anyone think of a reason the dtor of a Corba server implementation
> would not be called, when _dispose()'d?
>
> Thanks
>
> --
> | Rob Cecil | Senior Development Engineer |
> | rceci@adams.com | Product Development |
> | (734) 913-9351 | Mechanical Dynamics, Inc. (www.adams.com) |
> --------------------------------------------------------------------
> Modern Quantum Physics has found that the universe is composed of
> 25% protons, 15% electrons, 15% neutrons, and 45% morons.
>
>
From rdasilva@connecttel.com Sun Dec 5 02:29:46 1999
From: rdasilva@connecttel.com (Rosimildo DaSilva)
Date: Sat, 4 Dec 1999 20:29:46 -0600
Subject: [omniORB] omniORB for RTEMS -- update
Message-ID: <02c501bf3ec8$9910ce60$0200a8c0@rps1.rr.com>
Droping this note to let all of you know that I have updated the
porting of omniORB to RTEMS.
More info here:
http://www.connecttel.com/corba/rtems_omni.html
Support for 2.8.0 and 3.0 has been added.
Requirements:
+ gcc 2.95.1
+ omniORB-19991204 snapshot ( 2.8.0 version )
+ rtems-19991117 snapshot
+ omniORB3-19991204 snapshot ( 3.0 version ).
+ rtems-19991117 snapshot
A release of RTEMS is due any time now. A new update will be done
whenever RTEMS gets released.
Regards, Rosimildo.
+---------------------------------------------------------------------
| ConnectTel, Inc. - Austin, Texas.
| Phone : 512-338-1111 - Fax : 512-918-0449
| Email : devl@connecttel.com or mkting@connecttel.com
| Site : http://www.connecttel.com
+---------------------------------------------------------------------
From dgrisby@uk.research.att.com Mon Dec 6 10:41:36 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Mon, 06 Dec 1999 10:41:36 +0000
Subject: [omniORB] Finding methods / part 3
In-Reply-To: Your message of "Wed, 01 Dec 1999 13:34:13 +0100."
Message-ID: <199912061041.KAA00956@pineapple.cam-orl.co.uk>
On Wednesday 1 December, Casillas_Juan_M/madrid_tecnologia@sinvest.es wrote:
[...]
> That's fine too. But here I have another problem: I have to find the
> interface (I don't known nothing about it) and then, I have to find
> what methods they have, and their values ... sounds dificult ... =20
> how can I do that usign omniORB only ?
You can't do it with things distributed in omniORB, without
implementing the interface querying functionality yourself.
[...description of finding laser printers out of paper...]
There is nothing in your description which requires that clients
dynamically find the interfaces of objects. You just need to design
your interfaces properly, with sensible use of inheritance. Trying to
dynamically query and invoke on unknown interfaces will turn
everything into a big unmanageble mess.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Mon Dec 6 10:55:37 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Mon, 06 Dec 1999 10:55:37 +0000
Subject: [omniORB] omniNames and libstdc++.so.2.9 on RedHat 6.0
In-Reply-To: Your message of "Fri, 03 Dec 1999 01:15:24 EST."
<38475FFB.CA23444@icon.co.za>
Message-ID: <199912061055.KAA01044@pineapple.cam-orl.co.uk>
On Friday 3 December, Randall Britten wrote:
> I downloaded the following binary distribution from
> www.uk.research.att.com: omniORB_280_x86_linux_2.0_glibc.tar.gz,
> hoping to run it on my RedHat 6.0 Linux box.
Redhat 6 uses glibc 2.1. omniORB is compiled against glibc 2.0, so the
binary libraries won't work. You should download the source and
compile it.
You should compile omniORB with the latest version of gcc, which is
2.95.2. When you build gcc, make sure you use the --enable-threads
option to configure. Despite the documentation's claim that it only
affects Objective-C, it does make a difference.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Mon Dec 6 11:00:15 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Mon, 06 Dec 1999 11:00:15 +0000
Subject: [omniORB] A question about ORB thread model
In-Reply-To: Your message of "Wed, 17 Jun 1998 19:59:36 +0800."
<3587AFA8.B4D24722@263.net>
Message-ID: <199912061100.LAA01097@pineapple.cam-orl.co.uk>
On Wednesday 17 June, biguo wrote:
> Hello,folks! I have a question about ORB thread model.In CORBA
> model,there is a thread scheduling in handling client request and a
> client request correspond to a server thread . I think,it should be a
> user level thread.According to my understanding, for each client
> connection,only a thread are automatically allocated on the server to a
> client connection.A ORB implementation only can generate one OS(such as
> Unix or Windows ) task.Is it right?Thanks.
I don't quite understand the question, but omniORB's threading model
is described in
http://www.uk.research.att.com/omniORB/archives/1997-06/0048.html
and
http://www.uk.research.att.com/omniORB/doc/omniORB2/node8.html
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From tei@elca.ch Mon Dec 6 11:16:23 1999
From: tei@elca.ch (Eicher Thomas)
Date: Mon, 6 Dec 1999 12:16:23 +0100
Subject: [omniORB] Solution for problems compiling projects using MSDevStudio 6
Message-ID: <000a01bf3fdb$58494dd0$1c9248c1@elca.ch>
Hallo
Several people have indicated problems with compiling an omniOrb project
using MS Visual Studio 6. Usually, the linker would find unresolved exter=
nal
dependencies like
CORBA::Any::~Any()
or others, even though the instructions in README.win32 had been followed
closely.
The problem comes from the README.win32 file, which tells to include
- omniORB280_rt(d).lib and
- omnithread2_rt(d).lib,
but not
- omniDynamic280_rtd.lib.
This library has to be included as well (see the dir.mak files for
examples).
Just include the libraries in Project/Settings/Link/Input, and it should
work.
-- Tom
______________________________________________
Tom Eicher ELCA Informatik AG
tei@elca.ch Steinstrasse 21
+41 (0)1 456 32 47 8003 Z=FCrich
http://www.elca.ch Switzerland
From Wil_Evers@doosys.com Mon Dec 6 11:37:41 1999
From: Wil_Evers@doosys.com (Wil_Evers@doosys.com)
Date: Mon, 6 Dec 1999 12:37:41 +0100
Subject: [omniORB] omniNames and libstdc++.so.2.9 on RedHat 6.0
Message-ID:
Hi,
Duncan Grisby wrote:
> You should compile omniORB with the latest version of gcc,
> which is 2.95.2.
Does that mean there is no official support for the compiler that comes
standard with RedHat 6.0, which is a costimized version of egcs-1.1.2?
If so, I'd expect problems when linking with commercial third-party
libraries for which the sources are not available. Most likely, these
libraries will target the compiler that's
included in the official RedHat distribution.
- Wil
Wil Evers, DOOSYS IT Consultants, Maarssen, Holland
From dgrisby@uk.research.att.com Mon Dec 6 11:45:14 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Mon, 06 Dec 1999 11:45:14 +0000
Subject: [omniORB] omniNames and libstdc++.so.2.9 on RedHat 6.0
In-Reply-To: Your message of "Mon, 06 Dec 1999 12:37:41 +0100."
Message-ID: <199912061145.LAA03424@pineapple.cam-orl.co.uk>
On Monday 6 December, Wil_Evers@doosys.com wrote:
> > You should compile omniORB with the latest version of gcc,
> > which is 2.95.2.
>
> Does that mean there is no official support for the compiler that comes
> standard with RedHat 6.0, which is a costimized version of egcs-1.1.2?
omniORB works fine with egcs, provided the compiler is configured with
--enable-threads. I don't know whether the one which comes with RH6.0
is or not. If you use a compiler which is configured incorrectly, you
see occasional random crashes due to incorrect exception handling.
> If so, I'd expect problems when linking with commercial third-party
> libraries for which the sources are not available. Most likely,
> these libraries will target the compiler that's included in the
> official RedHat distribution.
If RedHat's compiler is configured incorrectly, I imagine that any
library problems would be overcome by building your own version of
egcs-1.1.2 which was correctly configured.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From biguo@263.net Tue Dec 7 05:57:39 1999
From: biguo@263.net (biguo@263.net)
Date: Tue, 7 Dec 1999 13:57:39 +0800 (CST)
Subject: [omniORB] A question about omniorb thread model
Message-ID: <384CA1D3.18536@mta2>
Hello,folks! I have a question about ORB thread model.In CORBA
model,there is a thread scheduling in handling client request and a
client request correspond to a server thread . I think,it should be a
user level thread.According to my understanding, for each client
connection,only a thread are automatically allocated on the server to a client connection.A ORB implementation only can generate one OS(such as Unix or Windows ) task.Is it right?Thanks.
_____________________________________________
Ê×¶¼ÔÚÏß--ÏȽøÖйúÈ˵ÄÍøÉϼÒÔ° http://www.263.net
Ãâ·ÑÓÊÏä ÓʼþÔÓÖ¾ Ç©ÃûÓʼþ Óʼþ¼ÓÃÜ Óʼþ×·Éíºô
ËÑË÷ÒýÇæ ¸öÈËÕ¾µã ÔÚÏßÓÎÏ· ÍøÉÏÁÄÌì ÍøÉϹҺÅ
½ðÈÚÍõ¹ú ÔÚÏßɱ¶¾ ÌøÔéÊг¡ Èí¼þÏÂÔØ ÐÝÏÐÓéÀÖ
ŵ·½°²È«£¬ÖúÄúe·ƽ°²
From tei@elca.ch Tue Dec 7 08:23:34 1999
From: tei@elca.ch (Eicher Thomas)
Date: Tue, 7 Dec 1999 09:23:34 +0100
Subject: [omniORB] RE: [omniorb] solution for problems compiling projects using msdevstudio 6
In-Reply-To: <966B307EF37DD311A3B1002048400F1B87C8FF@uspto-is-104.uspto.gov>
Message-ID: <000201bf408c$5b9edc00$1c9248c1@elca.ch>
Hi --
I just tried to build the examples once, which did not work, although I a=
m
not quite sure whether this was due to the lack of omniDynamic280 or rath=
er
some other missing setting in MS Dev. But my own application did compile
smoothly as soon as I linked in the additional library, after having had
those unresolved external symbol errors.
I have never tried to do much stuff with omniNames, since I am working on
the client side, and all I have to do is connect to the naming service. I
started with that only after compiling my application. It works.
I hope that helps.
-- Tom
______________________________________________
Tom Eicher ELCA Informatik AG
tei@elca.ch Steinstrasse 21
+41 (0)1 456 32 47 8003 Z=FCrich
http://www.elca.ch Switzerland
> -----Original Message-----
> From: Chung, David [mailto:David.Chung@USPTO.GOV]
> Sent: Montag, 6. Dezember 1999 20:55
> To: 'tei@elca.ch'
> Cc: 'omniorb-list@uk.research.att.com'
> Subject: re: [omniorb] solution for problems compiling projects using
> msdevstudio 6
>
>
> Just out of curiosity, were you able to build the
> examples 1 and 2
> without omniDynamic280_rtd.lib?
> What about omniNames?
>
> Thanks in advance.
>
From David.Chung@USPTO.GOV Mon Dec 6 19:54:58 1999
From: David.Chung@USPTO.GOV (Chung, David)
Date: Mon, 6 Dec 1999 14:54:58 -0500
Subject: [omniORB] re: [omniorb] solution for problems compiling projects using msde
vstudio 6
Message-ID: <966B307EF37DD311A3B1002048400F1B87C8FF@uspto-is-104.uspto.gov>
Just out of curiosity, were you able to build the examples 1 and 2
without omniDynamic280_rtd.lib?
What about omniNames?
Thanks in advance.
From randall@is.co.za Tue Dec 7 12:23:22 1999
From: randall@is.co.za (Randall Britten)
Date: Tue, 7 Dec 1999 14:23:22 +0200
Subject: [omniORB] Which cpp on RedHat 6.0?
Message-ID:
How does one test that the chosen cpp is being used correctly? Is the =
cpp
specified in the .mk file only for the once off compiling of omniORB, =
or is
it also used by omniidl2 when compiling .idl files? If so, how does =
one
test it?
-----Original Message-----
From: Eric Dumas
To: Randall Britten
Cc: omniORB
Date: 03 December 1999 11:48
Subject: Re: [omniORB] Which cpp on RedHat 6.0?
>According to Randall Britten:
>> On RedHat 6.0, I have managed to compile omniORB, and the Name =
Service
>> and the echo examples work. I am still not sure though, if I chose =
the
>> correct cpp in ./mk/platforms/i586_linux_2.0_glibc.mk
>
>you can use g++ -E or /lib/cpp (this is a symbolic link to your real
>cpp - for example =
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/cpp).
>
>> I couldn't find a cpp executable anywhere, so a wild guess was that =
g++
>> itself would do the c pre processing, hence I used:
>> CPP =3D /usr/bin/g++
>
> Use -E
>
>--=20
> =C9ric Dumas (dumas@tumbleweed.com)
> Tumbleweed Communications, 700 Saginaw Drive, Redwood City, CA =
94063,
USA
> http://www.tumbleweed.com Tel: +1 650-216-2030
>
>
From tei@elca.ch Tue Dec 7 13:05:30 1999
From: tei@elca.ch (Eicher Thomas)
Date: Tue, 7 Dec 1999 14:05:30 +0100
Subject: [omniORB] RE: [omniorb] solution for problems compiling projects using msdevstudio 6
In-Reply-To: <966B307EF37DD311A3B1002048400F1B87C909@uspto-is-104.uspto.gov>
Message-ID: <000401bf40b3$bee1dca0$1c9248c1@elca.ch>
I am using MSVC++(SP3) and NT4 (SP4);
I have not read about the independence of the omniDynamic and omniORB
libraries; since I am using my server's idl file, I don't know exactly wh=
at
interfaces (e.g. class Any) are implicitely used in there.
The problem was, that I was able to compile everything (since e.g.
Any::~Any() shows up in corba.h), but not to link -> obviously, corba.h
refers to some functions defined in omniDynamic.
What I did notice, is that the provided makefiles for the examples (dir.m=
ak
and similar) for nmake do include omniDynamic as well. That's why those
nmake-makefiles work, but not the projects genereated in MSVC. -> Why not
link them in, it works.
Since I read, that many others had had similar problem with MSVC, I thoug=
ht
that this was the solution, but maybe there is some deeper problem to it?
Let me know, if you find out more.
-- tom
______________________________________________
Tom Eicher ELCA Informatik AG
tei@elca.ch Steinstrasse 21
+41 (0)1 456 32 47 8003 Z=FCrich
http://www.elca.ch Switzerland
> -----Original Message-----
> From: Chung, David [mailto:David.Chung@USPTO.GOV]
> Sent: Dienstag, 7. Dezember 1999 13:42
> To: 'tei@elca.ch'
> Cc: 'omniorb-list@uk.research.att.com'
> Subject: RE: [omniorb] solution for problems compiling projects using
> msdevstudio 6
>
>
> MSVC++(SP2), NT4 (SP4)
>
> According to earlier emails in omniorb-list (by omniorb
> developers)
> omniDynamic280_rtd.dll and omniorb280_rtd.dll are supposed to be
> independent, at least if you are not using interfaces from
> omniDynamic280_rtd.dll
>
> Nonetheless, I had similar problems you described;
> except that my
> problems were on omniORB3.0. With different
> permutations/combination of
> kludges, I was able to coerce examples 1 and 2 to work as
> described in the
> documentation (with and without omniDynamic300_rtd.dll). I
> was unable to
> get dynamic examples to work -- they would crash immediately.
>
>
> > -----Original Message-----
> > From: tei@elca.ch [SMTP:tei@elca.ch]
> > Sent: Tuesday, December 07, 1999 3:22 AM
> > To: David.Chung@USPTO.GOV
> > Subject: RE: [omniorb] solution for problems compiling
> projects using
> > msdevstudio 6
> >
> > Hi --
> >
> > I just tried to build the examples once, which did not
> work, although I am
> > not quite sure whether this was due to the lack of omniDynamic280 or
> > rather
> > some other missing setting in MS Dev. But my own
> application did compile
> > smoothly as soon as I linked in the additional library,
> after having had
> > those unresolved external symbol errors.
> >
> > I have never tried to do much stuff with omniNames, since I
> am working on
> > the client side, and all I have to do is connect to the
> naming service. I
> > started with that only after compiling my application. It works.
> >
> > I hope that helps.
> >
> > -- Tom
> > ______________________________________________
> > Tom Eicher ELCA Informatik AG
> > tei@elca.ch Steinstrasse 21
> > +41 (0)1 456 32 47 8003 Z=FCrich
> > http://www.elca.ch Switzerland
> >
> > > -----Original Message-----
> > > From: Chung, David [mailto:David.Chung@USPTO.GOV]
> > > Sent: Montag, 6. Dezember 1999 20:55
> > > To: 'tei@elca.ch'
> > > Cc: 'omniorb-list@uk.research.att.com'
> > > Subject: re: [omniorb] solution for problems compiling
> projects using
> > > msdevstudio 6
> > >
> > >
> > > Just out of curiosity, were you able to build the
> > > examples 1 and 2
> > > without omniDynamic280_rtd.lib?
> > > What about omniNames?
> > >
> > > Thanks in advance.
> > >
>
From David.Chung@USPTO.GOV Tue Dec 7 12:42:25 1999
From: David.Chung@USPTO.GOV (Chung, David)
Date: Tue, 7 Dec 1999 07:42:25 -0500
Subject: [omniORB] RE: [omniorb] solution for problems compiling projects using msde
vstudio 6
Message-ID: <966B307EF37DD311A3B1002048400F1B87C909@uspto-is-104.uspto.gov>
MSVC++(SP2), NT4 (SP4)
According to earlier emails in omniorb-list (by omniorb developers)
omniDynamic280_rtd.dll and omniorb280_rtd.dll are supposed to be
independent, at least if you are not using interfaces from
omniDynamic280_rtd.dll
Nonetheless, I had similar problems you described; except that my
problems were on omniORB3.0. With different permutations/combination =
of
kludges, I was able to coerce examples 1 and 2 to work as described in =
the
documentation (with and without omniDynamic300_rtd.dll). I was unable =
to
get dynamic examples to work -- they would crash immediately.=20
> -----Original Message-----
> From: tei@elca.ch [SMTP:tei@elca.ch]
> Sent: Tuesday, December 07, 1999 3:22 AM
> To: David.Chung@USPTO.GOV
> Subject: RE: [omniorb] solution for problems compiling projects using
> msdevstudio 6
>=20
> Hi --
>=20
> I just tried to build the examples once, which did not work, although =
I am
> not quite sure whether this was due to the lack of omniDynamic280 or
> rather
> some other missing setting in MS Dev. But my own application did =
compile
> smoothly as soon as I linked in the additional library, after having =
had
> those unresolved external symbol errors.
>=20
> I have never tried to do much stuff with omniNames, since I am =
working on
> the client side, and all I have to do is connect to the naming =
service. I
> started with that only after compiling my application. It works.
>=20
> I hope that helps.
>=20
> -- Tom
> ______________________________________________
> Tom Eicher ELCA Informatik AG
> tei@elca.ch Steinstrasse 21
> +41 (0)1 456 32 47 8003 Z=FCrich
> http://www.elca.ch Switzerland
>=20
> > -----Original Message-----
> > From: Chung, David [mailto:David.Chung@USPTO.GOV]
> > Sent: Montag, 6. Dezember 1999 20:55
> > To: 'tei@elca.ch'
> > Cc: 'omniorb-list@uk.research.att.com'
> > Subject: re: [omniorb] solution for problems compiling projects =
using
> > msdevstudio 6
> >
> >
> > Just out of curiosity, were you able to build the
> > examples 1 and 2
> > without omniDynamic280_rtd.lib?
> > What about omniNames?
> >
> > Thanks in advance.
> >
From djr@uk.research.att.com Tue Dec 7 14:52:54 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Tue, 7 Dec 1999 14:52:54 +0000 (GMT)
Subject: [omniORB] solution for problems compiling projects using
msdevstudio 6
In-Reply-To: <000401bf40b3$bee1dca0$1c9248c1@elca.ch>
Message-ID:
Hi,
The situation is that applications that don't use TypeCode, Any, DynAny
etc should be able to link only with omniORB280_rt(d).dll. It turns out
that MSVC does a poor job of analysing dependancies, and so references
code in omniDynamic280_rt(d).dll, even though it is not reachable. This
is a problem with MSVC -- all other platforms/compilers we have tested do
not have this problem.
So this means that pretty much all applications have to be linked against
both the omniORB and omniDynamic libraries. When using dynamically linked
libraries this oughtn't be too much of an overhead, just a pain.
If anyone can tell me specifically how to prevent MSVC from generating
these unnecassary references, and if it is very little work to implement,
and it has no performance penalty for other platforms, *then* I might be
able to solve this problem.
Until then...if you really need to avoid linking with omniDynamic (say if
you are using static libraries) then you could hack the headers to remove
all the dynamic types. More hassle than its worth if you ask me.
Cheers,
David
From astitcher@orchestream.com Tue Dec 7 16:30:25 1999
From: astitcher@orchestream.com (Andrew Stitcher)
Date: Tue, 07 Dec 1999 16:30:25 +0000
Subject: [omniORB] solution for problems compiling projects using
msdevstudio 6
In-Reply-To: Message from David Riddoch
of "Tue, 07 Dec 1999 14:52:54 GMT."
Message-ID: <199912071630.QAA14220@annexia.orchestream.com>
[This info is a bit hazy in my head, but I think the guts are right]
By default when using the Microsoft compilation tool chain here is
what happens:
If you specify an import library in the link line (even if you don't
use any of the symbols from the corresponding dll) the executable
that is generated is marked as using the dll. For normal (debugging)
builds I don't think you can avoid this, if you don't want a dll
don't include the import library.
If you specify the "Minimize Size" optimisation, this enables
function level linking. This causes the linker to notice which
functions are being used or not and not to link in the ones that
aren't. As a side effect the linker will notice if any of the
specified dlls aren't actually being used, print a warning message
and take it out of the executable.
Incidently, the "Minimise size" optimisation is recomended for
release builds over the speed optimising setting.
Andrew
From djr@uk.research.att.com Tue Dec 7 18:54:21 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Tue, 7 Dec 1999 18:54:21 +0000 (GMT)
Subject: [omniORB] omniidl2 bug
Message-ID:
Hi,
Another bug in omniidl2. The following IDL gives it a headache:
interface foo {
typedef sequence seq;
};
See http://www.uk.research.att.com/omniORB/omniORBbug.html
Cheers,
David
From mark.borges@attws.com Tue Dec 7 22:58:14 1999
From: mark.borges@attws.com (Borges, Mark)
Date: Tue, 7 Dec 1999 14:58:14 -0800
Subject: [omniORB] omniidl bug?
Message-ID:
[ My apologies if this is posted to the list twice; my first attempt didn't
appear to go through, perhaps because I posted from a different account than
what I am subscribed on? ]
The following IDL snippet,
--------------------
$ cat cdt.idl
//___________________COMMON DATA TYPES _____________________
#ifndef COMMON_DATA_TYPES
#define COMMON_DATA_TYPES
typedef string<2> StringTwo;
#endif
--------------------
gives the error,
--------------------
$ /opt/omniORB/scripts/omniidl -I. -bpython cdt.idl
cdt.idl:6: Integer literal is too large for unsigned long
omniidl: 1 error.
--------------------
Why? Neither omniidl2 nor python-stubber from the XEROX-PARC ILU-2.0beta1
distribution complain.
The code in question appears to be in idlexpr.cc, around line 145,
--------------------
$ sed -n "145,151{p;}" idlexpr.cc
_CORBA_ULong IntegerExpr::evalAsULong() {
#ifdef HAS_LongLong
if (value_ > 0xffffffff) {
IdlError(file(), line(), "Integer literal is too large for unsigned
long");
return 1;
}
#endif
--------------------
If it matters, I'm using,
--------------------
$ gcc -dumpversion
2.95.2
$ gcc -dumpmachine
sparc-sun-solaris2.6
$ uname -a
SunOS jimi 5.6 Generic_105181-14 sun4u sparc SUNW,Ultra-5_10
$ cvs status idlexpr.cc
===================================================================
File: idlexpr.cc Status: Up-to-date
Working revision: 1.3
Repository revision: 1.3 /cvsroot/omniidl/cxx/idlexpr.cc,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
--------------------
--
-mb-
From dgrisby@uk.research.att.com Wed Dec 8 09:59:49 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 08 Dec 1999 09:59:49 +0000
Subject: [omniORB] omniidl bug?
In-Reply-To: Your message of "Tue, 07 Dec 1999 14:58:14 PST."
Message-ID: <199912080959.JAA03833@pineapple.cam-orl.co.uk>
On Tuesday 7 December, "Borges, Mark" wrote:
> $ /opt/omniORB/scripts/omniidl -I. -bpython cdt.idl
> cdt.idl:6: Integer literal is too large for unsigned long
> omniidl: 1 error.
> --------------------
>
> Why? Neither omniidl2 nor python-stubber from the XEROX-PARC ILU-2.0beta1
> distribution complain.
[...]
> if (value_ > 0xffffffff) {
[...]
> $ gcc -dumpversion
> 2.95.2
> $ gcc -dumpmachine
> sparc-sun-solaris2.6
I assume the problem is that on Sparc, the 0xffffffff is being
sign-extended to be -1. It's not obvious from the C++ spec what the
behaviour should be. Can you try the following enormous patch to see
if the problem goes away?
--- idlexpr.cc 1999/11/02 17:07:26 1.3
+++ idlexpr.cc 1999/12/08 09:55:13
@@ -144,7 +144,7 @@
}
_CORBA_ULong IntegerExpr::evalAsULong() {
#ifdef HAS_LongLong
- if (value_ > 0xffffffff) {
+ if (value_ > 0xffffffffU) {
IdlError(file(), line(), "Integer literal is too large for unsigned long");
return 1;
}
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From Andrew.Weaver@tecnomen.fi Wed Dec 8 12:30:02 1999
From: Andrew.Weaver@tecnomen.fi (Andrew Weaver)
Date: Wed, 8 Dec 1999 14:30:02 +0200
Subject: [omniORB] "Permanent Connections with Omni..."
Message-ID: <99Dec8.152716gmt+0200.115587@sister.tecnomen.fi>
Moi, I am fairly new to the CORBA world although I have extensive experience
in the design and implementation of distributed systems in a heterogeneous
hardware environment and have previously developed various network-based
"services" that have similarities with, for instance, the Naming Service.
Whilst I can see the role of the ORB as an rpc mechanism, I am looking to
see if I can leverage some of the CORBA aspects to achieve more of a
"transfer" function.
So far, I can imagine that I could use the naming service to locate my
"provider". Thereafter, I want to establish connection and request something
similar to a download. The circuit must remain open until I decide that I am
finished with it because the "download" may well consist of more than one
block of transfer.
Anybody done this or similar using OMNI?
Kind Regards
Andy Weaver
From dgrisby@uk.research.att.com Wed Dec 8 14:43:41 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 08 Dec 1999 14:43:41 +0000
Subject: [omniORB] "Permanent Connections with Omni..."
In-Reply-To: Your message of "Wed, 08 Dec 1999 14:30:02 +0200."
<99Dec8.152716gmt+0200.115587@sister.tecnomen.fi>
Message-ID: <199912081443.OAA04434@pineapple.cam-orl.co.uk>
On Wednesday 8 December, Andrew Weaver wrote:
> So far, I can imagine that I could use the naming service to locate my
> "provider". Thereafter, I want to establish connection and request something
> similar to a download. The circuit must remain open until I decide that I am
> finished with it because the "download" may well consist of more than one
> block of transfer.
I'm not certain what you want to do, but there are two possible ways
you can use omniORB to do block transfers. The first is to stay
completely within the bounds of CORBA, and define an interface like
interface Provider {
exception NoMoreData {};
typedef sequence data;
data getNextBlock() raises (NoMoreData);
};
Alternatively, you could do it the other way around, where the
provider pushes data to an object on the consumer. In this situation,
omniORB opens a TCP connection when you do the first invocation, then
caches it. Future invocations use the same connection, unless you
leave it idle for too long.
The second solution is to use CORBA to mediate access through another
transport, like plain TCP:
interface Provider {
void openConnection(string host, unsigned short port);
};
Does that answer your question?
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From mark.borges@attws.com Wed Dec 8 19:21:45 1999
From: mark.borges@attws.com (Borges, Mark)
Date: Wed, 8 Dec 1999 11:21:45 -0800
Subject: [omniORB] omniidl bug?
Message-ID:
Duncan,
I applied the enormous patch, but sadly it had no effect.
Is there any other diagnostic information I can provide to help find a
solution? Is there a mini test program I can compile and run here that would
help (sorry, I'm new to C++ so I can't help much -- the omniORB python
binding is what lured me here in the first place :-).
Mark
> -----Original Message-----
> From: Duncan Grisby [mailto:dgrisby@uk.research.att.com]
> Sent: Wednesday, December 08, 1999 2:00 AM
> To: Borges, Mark
> Cc: 'omniorb-list@uk.research.att.com'
> Subject: Re: [omniORB] omniidl bug?
>
>
> On Tuesday 7 December, "Borges, Mark" wrote:
>
> > $ /opt/omniORB/scripts/omniidl -I. -bpython cdt.idl
> > cdt.idl:6: Integer literal is too large for unsigned long
> > omniidl: 1 error.
> > --------------------
> >
> > Why? Neither omniidl2 nor python-stubber from the
> XEROX-PARC ILU-2.0beta1
> > distribution complain.
>
> [...]
>
> > if (value_ > 0xffffffff) {
>
> [...]
>
> > $ gcc -dumpversion
> > 2.95.2
> > $ gcc -dumpmachine
> > sparc-sun-solaris2.6
>
> I assume the problem is that on Sparc, the 0xffffffff is being
> sign-extended to be -1. It's not obvious from the C++ spec what the
> behaviour should be. Can you try the following enormous patch to see
> if the problem goes away?
>
>
> --- idlexpr.cc 1999/11/02 17:07:26 1.3
> +++ idlexpr.cc 1999/12/08 09:55:13
> @@ -144,7 +144,7 @@
> }
> _CORBA_ULong IntegerExpr::evalAsULong() {
> #ifdef HAS_LongLong
> - if (value_ > 0xffffffff) {
> + if (value_ > 0xffffffffU) {
> IdlError(file(), line(), "Integer literal is too large
> for unsigned long");
> return 1;
> }
>
>
> Cheers,
>
> Duncan.
>
> --
> -- Duncan Grisby \ Research Engineer --
> -- AT&T Laboratories Cambridge --
> -- http://www.uk.research.att.com/~dpg1 --
>
From Dejan.Polomcic@telecom.co.nz Wed Dec 8 22:17:27 1999
From: Dejan.Polomcic@telecom.co.nz (Dejan Polomcic)
Date: Thu, 09 Dec 1999 11:17:27 +1300
Subject: [omniORB] omniEvents problem - getting a core dump
Message-ID:
hi,
I have come across the following Error while using paul nader's event =
service, could anyone tell me what causes the error:
The following stmts show gdb of the core :
[nasex]/home/nasex/menu > gdb ../bin/eventd core
Wildebeest is free software and you are welcome to distribute copies of
it under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for Wildebeest; type "show warranty"
for details.
Hewlett-Packard Wildebeest 1.0 (based on GDB 4.16)
(built for PA-RISC 1.1 or 2.0 (narrow), HP-UX 11.00)
Copyright 1996, 1997 Free Software Foundation, Inc...(no debugging symbols =
found)...
Core was generated by `eventd'.
Program terminated with signal 6, Aborted.
warning: The shared libraries were not privately mapped; setting a
breakpoint in a shared library will not work until you rerun the program.
(no debugging symbols found)...(no debugging symbols found)...(no =
debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...#0 0xc01e8498 in kill () from /usr/lib/libc=
.2
#0 0xc01e8498 in kill () from /usr/lib/libc.2
(gdb) bt
#0 0xc01e8498 in kill () from /usr/lib/libc.2
#1 0xc01826c4 in raise () from /usr/lib/libc.2
#2 0xc01591f0 in abort () from /usr/lib/libc.2
#3 0xc0159880 in _assert () from /usr/lib/libc.2
#4 0xd507c928 in Strand::decrRefCount () from //home/nasex/lib/libomniORB2=
.sl.8
#5 0xd508cc7c in tcpSocketRendezvouser::run_undetached () from //home/nase=
x/lib/libomniORB2.sl.8
#6 0xc02fea20 in omni_thread_wrapper () from //home/nasex/lib/libomnithrea=
d.sl.2
#7 0xc0ff9c4c in __pthread_create_system () from /usr/lib/libpthread.1
cheers
dejan
From biguo@263.net Thu Dec 9 02:45:04 1999
From: biguo@263.net (biguo@263.net)
Date: Thu, 9 Dec 1999 10:45:04 +0800 (CST)
Subject: [omniORB] Another question about CORBA thread model in embedded system
Message-ID: <384F17B0.29494@mta4>
Hello,folks!I still have a question.In CORBA model,there is a thread scheduler in BOA of server side.These threads is scheduled by ORB and they're invisible to underlying OS.So,I say these threads are user level threads.Is it right?In embedded CORBA,ORB thread is the task of RTOS.These thread/task is visible to ORB and RTOS.Are they scheduled by ORB or RTOS?How to implement it?Anyone can help me?Thanks.
_____________________________________________
Ê×¶¼ÔÚÏß--ÏȽøÖйúÈ˵ÄÍøÉϼÒÔ° http://www.263.net
Ãâ·ÑÓÊÏä ÓʼþÔÓÖ¾ Ç©ÃûÓʼþ Óʼþ¼ÓÃÜ Óʼþ×·Éíºô
ËÑË÷ÒýÇæ ¸öÈËÕ¾µã ÔÚÏßÓÎÏ· ÍøÉÏÁÄÌì ÍøÉϹҺÅ
½ðÈÚÍõ¹ú ÔÚÏßɱ¶¾ ÌøÔéÊг¡ Èí¼þÏÂÔØ ÐÝÏÐÓéÀÖ
ŵ·½°²È«£¬ÖúÄúe·ƽ°²
From biguo@263.net Thu Dec 9 02:46:54 1999
From: biguo@263.net (biguo@263.net)
Date: Thu, 9 Dec 1999 10:46:54 +0800 (CST)
Subject: [omniORB] The relation between minimumCORBA and IIOP engine
Message-ID: <384F181E.12090@mta2>
Hello,folks!In some embedded system,ORB is implemented in form os IIOP engine,such orbix embedded orb,highlander embedded visibroker,etc.Is the IIOP engine implemented by OMG minimumCORBA specifications?Anyone can help me?Thanks.
_____________________________________________
Ê×¶¼ÔÚÏß--ÏȽøÖйúÈ˵ÄÍøÉϼÒÔ° http://www.263.net
Ãâ·ÑÓÊÏä ÓʼþÔÓÖ¾ Ç©ÃûÓʼþ Óʼþ¼ÓÃÜ Óʼþ×·Éíºô
ËÑË÷ÒýÇæ ¸öÈËÕ¾µã ÔÚÏßÓÎÏ· ÍøÉÏÁÄÌì ÍøÉϹҺÅ
½ðÈÚÍõ¹ú ÔÚÏßɱ¶¾ ÌøÔéÊг¡ Èí¼þÏÂÔØ ÐÝÏÐÓéÀÖ
ŵ·½°²È«£¬ÖúÄúe·ƽ°²
From glowstars@gmx.de Thu Dec 9 08:12:10 1999
From: glowstars@gmx.de (Thorsten Roskowetz)
Date: Thu, 9 Dec 1999 09:12:10 +0100 (MET)
Subject: [omniORB] omniidl bug?
References:
Message-ID: <16821.944727130@www7.gmx.net>
Duncan,
although the 'enormous' patch didn't fix Mark's problem I still
have one question: Wouldn't it be better (read: more portable)
to use UINT_MAX from than 0xffffffffU ?
Thorsten
Mark Borges wrote:
> Duncan,
>
> I applied the enormous patch, but sadly it had no effect.
>
> Is there any other diagnostic information I can provide to help find a
> solution? Is there a mini test program I can compile and run here that
> would
> help (sorry, I'm new to C++ so I can't help much -- the omniORB python
> binding is what lured me here in the first place :-).
>
> Mark
>
> > -----Original Message-----
> > From: Duncan Grisby [mailto:dgrisby@uk.research.att.com]
> > Sent: Wednesday, December 08, 1999 2:00 AM
> > To: Borges, Mark
> > Cc: 'omniorb-list@uk.research.att.com'
> > Subject: Re: [omniORB] omniidl bug?
> >
> >
> > On Tuesday 7 December, "Borges, Mark" wrote:
> >
> > > $ /opt/omniORB/scripts/omniidl -I. -bpython cdt.idl
> > > cdt.idl:6: Integer literal is too large for unsigned long
> > > omniidl: 1 error.
> > > --------------------
> > >
> > > Why? Neither omniidl2 nor python-stubber from the
> > XEROX-PARC ILU-2.0beta1
> > > distribution complain.
> >
> > [...]
> >
> > > if (value_ > 0xffffffff) {
> >
> > [...]
> >
> > > $ gcc -dumpversion
> > > 2.95.2
> > > $ gcc -dumpmachine
> > > sparc-sun-solaris2.6
> >
> > I assume the problem is that on Sparc, the 0xffffffff is being
> > sign-extended to be -1. It's not obvious from the C++ spec what the
> > behaviour should be. Can you try the following enormous patch to see
> > if the problem goes away?
> >
> >
> > --- idlexpr.cc 1999/11/02 17:07:26 1.3
> > +++ idlexpr.cc 1999/12/08 09:55:13
> > @@ -144,7 +144,7 @@
> > }
> > _CORBA_ULong IntegerExpr::evalAsULong() {
> > #ifdef HAS_LongLong
> > - if (value_ > 0xffffffff) {
> > + if (value_ > 0xffffffffU) {
> > IdlError(file(), line(), "Integer literal is too large
> > for unsigned long");
> > return 1;
> > }
> >
> >
> > Cheers,
> >
> > Duncan.
> >
> > --
> > -- Duncan Grisby \ Research Engineer --
> > -- AT&T Laboratories Cambridge --
> > -- http://www.uk.research.att.com/~dpg1 --
> >
>
--
Sent through Global Message Exchange - http://www.gmx.net
From glowstars@gmx.de Thu Dec 9 08:48:28 1999
From: glowstars@gmx.de (Thorsten Roskowetz)
Date: Thu, 9 Dec 1999 09:48:28 +0100 (MET)
Subject: [omniORB] omniidl bug?
References: <16821.944727130@www7.gmx.net>
Message-ID: <32350.944729308@www7.gmx.net>
Hate to correct myself but I meant ULONG_MAX of course.
BTW: It should be 0xffffffffUL then...
Thorsten
> Duncan,
>
> although the 'enormous' patch didn't fix Mark's problem I still
> have one question: Wouldn't it be better (read: more portable)
> to use UINT_MAX from than 0xffffffffU ?
--
Sent through Global Message Exchange - http://www.gmx.net
From dgrisby@uk.research.att.com Thu Dec 9 09:29:35 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Thu, 09 Dec 1999 09:29:35 +0000
Subject: [omniORB] omniidl bug?
In-Reply-To: Your message of "Thu, 09 Dec 1999 09:12:10 +0100."
<16821.944727130@www7.gmx.net>
Message-ID: <199912090929.JAA23299@pineapple.cam-orl.co.uk>
On Thursday 9 December, Thorsten Roskowetz wrote:
> although the 'enormous' patch didn't fix Mark's problem I still
> have one question: Wouldn't it be better (read: more portable)
> to use UINT_MAX from than 0xffffffffU ?
It is wrong to use UINT_MAX or ULONG_MAX, since the code in question
is making sure that the number fits in 32 bits. On 64 bit platforms,
ULONG_MAX, and possibly UINT_MAX will be too big.
Anyway, it turns out that the problem is nothing to do with that test,
but to do with reading the number in the first place. There is a fix
in CVS.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From Andrew.Weaver@tecnomen.fi Thu Dec 9 11:39:57 1999
From: Andrew.Weaver@tecnomen.fi (Andrew Weaver)
Date: Thu, 9 Dec 1999 13:39:57 +0200
Subject: [omniORB] ORBInitialPort
Message-ID: <99Dec9.143705gmt+0200.115586@sister.tecnomen.fi>
Moi, running omniORB 2.8 on Linux kernel 2.2.5-15.
I have rebuilt the entire thing receiving some warnings that some refs might
be used uninitialised but no outright failures.
Now, I have the .cfg file created and it contains the entries ORBInitialHost
and ORBInitialPort
I start the omniNames for the first time with ./omniNames -start 70000 and
get the message "Configuration error: Invalid object reference supplied for
ORBInitialPort. Aborted"
I noticed in the mail archive that somebody else had a similar problem but
cannot find any patch or so.
Can anybody tell me what is wrong here please?
Kind Regards
Andy Weaver
From dgrisby@uk.research.att.com Thu Dec 9 11:59:35 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Thu, 09 Dec 1999 11:59:35 +0000
Subject: [omniORB] ORBInitialPort
In-Reply-To: Your message of "Thu, 09 Dec 1999 13:39:57 +0200."
<99Dec9.143705gmt+0200.115586@sister.tecnomen.fi>
Message-ID: <199912091159.LAA00797@pineapple.cam-orl.co.uk>
On Thursday 9 December, Andrew Weaver wrote:
> I start the omniNames for the first time with ./omniNames -start 70000 and
> get the message "Configuration error: Invalid object reference supplied for
> ORBInitialPort. Aborted"
70000 is not a valid port number. Port numbers are unsigned 16 bit
integers, so you have to choose a port less than 65535.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From gdd0@gte.com Thu Dec 9 15:05:51 1999
From: gdd0@gte.com (Gary D. Duzan)
Date: Thu, 09 Dec 1999 10:05:51 -0500
Subject: [omniORB] Call Timeout
Message-ID: <199912091505.KAA00444@duzanmac.gte.com>
Can we please disable timeouts on method calls by default? They
are easy to overlook and I believe it violates the principle of
least surprise to have a method call randomly generate a COMM_FAILURE
when the system becomes a little slower than usual. While this
might be reasonable behavior in, e.g., a client-server situation
where the client or the connection is expected to be unreliable,
I would expect a COMM_FAILURE in a fairly reliable peer-to-peer
situation to indicate that something serious had occurred.
Thanks.
Gary Duzan
GTE Laboratories
From dgrisby@uk.research.att.com Thu Dec 9 15:37:17 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Thu, 09 Dec 1999 15:37:17 +0000
Subject: [omniORB] Another question about CORBA thread model in embedded system
In-Reply-To: Your message of "Thu, 09 Dec 1999 10:45:04 +0800."
<384F17B0.29494@mta4>
Message-ID: <199912091537.PAA04807@pineapple.cam-orl.co.uk>
On Thursday 9 December, biguo@263.net wrote:
> Hello,folks!I still have a question.In CORBA model,there is a thread
> scheduler in BOA of server side.These threads is scheduled by ORB
> and they're invisible to underlying OS.So,I say these threads are
> user level threads.Is it right?In embedded CORBA,ORB thread is the
> task of RTOS.These thread/task is visible to ORB and RTOS.Are they
> scheduled by ORB or RTOS?How to implement it?Anyone can help
> me?Thanks.
In omniORB, all threads are operating system threads. There is no
scheduler in omniORB.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From rgruet@ina.fr Thu Dec 9 15:49:46 1999
From: rgruet@ina.fr (Richard Gruet)
Date: Thu, 09 Dec 1999 16:49:46 +0100
Subject: [omniORB] IDL sequences map to Python lists, not tuples.
Message-ID: <384FCF9A.D43164D5@ina.fr>
Just a detail concerning the Python back-end.
Unlike stated in the submission for the Python mapping, the actual
mapping in OmniORBpy for an IDL sequence
seems to require a Python LIST. Any attempt to pass a TUPLE to a
function (as an in or out parameter)
results in a BAD_PARAM exception.
Maybe it's normal, but I lost some time to find the rule....
cheers,
Richard
From dgrisby@uk.research.att.com Thu Dec 9 15:52:27 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Thu, 09 Dec 1999 15:52:27 +0000
Subject: [omniORB] IDL sequences map to Python lists, not tuples.
In-Reply-To: Your message of "Thu, 09 Dec 1999 16:49:46 +0100."
<384FCF9A.D43164D5@ina.fr>
Message-ID: <199912091552.PAA04865@pineapple.cam-orl.co.uk>
On Thursday 9 December, Richard Gruet wrote:
> Unlike stated in the submission for the Python mapping, the actual
> mapping in OmniORBpy for an IDL sequence
> seems to require a Python LIST. Any attempt to pass a TUPLE to a
> function (as an in or out parameter)
> results in a BAD_PARAM exception.
I added support for tuples a few days ago. If you get the latest
version from CVS or the FTP snapshots, you'll find that it supports
tuples.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From cameron.bruce@mayo.edu Thu Dec 9 17:17:31 1999
From: cameron.bruce@mayo.edu (Bruce Cameron)
Date: Thu, 09 Dec 1999 11:17:31 -0600
Subject: [omniORB] Bug in omniORB 3.0
Message-ID: <384FE42B.E1103CC7@mayo.edu>
I'm running omniORB 3.0 under Irix 6.5.3 using the 7.3 MIPS C++
compiler.
When starting my server, I catch the following exception:
omniORB: Assertion failed. This indicates a bug in omniORB.
file: ../corbaObject.cc
line: 223
info: !_NP_is_pseudo()
Is this a real bug, or am I doing something really wrong in my
code? If it is a real bug, is there a patch yet? Could this be
due to my trying to create a child POA with a nil POAManager?
My server code is:
int main (int argc, char**argv)
{
try {
cerr << "1" << endl;
CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,"omniORB3");
cerr << "2" << endl;
CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);
cerr << "3" << endl;
PortableServer::POAManager_var mgr = poa->the_POAManager();
mgr->activate();
cerr << "4" << endl;
Factory_impl factory_servant(poa); // THROWS EXCEPTION ABOUT HERE?
cerr << "5" << endl;
PortableServer::ObjectId_var oid =
PortableServer::string_to_ObjectId("vrs_WorldFactory");
cerr << "5a" << endl;
poa->activate_object_with_id(oid,&factory_servant);
cerr << "6" << endl;
orb->run();
}
catch (const CORBA::Exception&) {
cerr << "Uncaught corba exception" << endl;
return 1;
}
return 0;
}
and the factory constructor is
Factory_impl::Factory_impl (PortableServer::POA_ptr poa)
{
cerr << "Factory_impl" << endl;
_rootPoa = poa;
cerr << "\t1" << endl;
PortableServer::IdAssignmentPolicy_var assign =
_rootPoa->create_id_assignment_policy(PortableServer::USER_ID);
cerr << "\t2" << endl;
CORBA::PolicyList policyList;
policyList.length(1);
policyList[0] = PortableServer::IdAssignmentPolicy::_duplicate(assign);
PortableServer::POAManager_var mgr =
PortableServer::POAManager::_nil();
cerr << "\t3" << endl;
_worldPoa = _rootPoa->create_POA ("Worlds", mgr, policyList);
cerr << "Factory_impl" << endl;
}
Output from this whole mess is:
1
2
3
4
Factory_impl
1
2
3
Factory_impl
omniORB: Assertion failed. This indicates a bug in omniORB.
file: ../corbaObject.cc
line: 223
info: !_NP_is_pseudo()
Abort (core dumped)
--
--Bruce
From crawley@dstc.edu.au Fri Dec 10 00:29:43 1999
From: crawley@dstc.edu.au (Stephen Crawley)
Date: Fri, 10 Dec 1999 10:29:43 +1000
Subject: [omniORB] Miscellaneous problems with omniEvents 2.0
In-Reply-To: Message from "Poilpret Jean Francois"
of "Fri, 03 Dec 1999 17:24:24 +0700." <000301bf3d78$ab2ac520$0100a8c0@windev>
Message-ID: <199912100029.KAA21943@piglet.dstc.edu.au>
Jean Francois,
You wrote:
> 1. The file CosEventChannelAdmin.idl is not compliant with the "officia=
l" =
> OMG IDL file, since it includes "CosLifeCycle.idl". Moreover, it seems =
> that nothing from CosLifeCycle.idl is used inside CosEventChannelAdmin.=
idl. =
> So I cleared the including line from the file. After this, no problem.
I'm being a bit pedantic but ... the OMG IDL files are provided by the
OMG as a convenience for implementors and users. Compliance is measured
against the specifications from which the IDL on those files was extracte=
d.
The file structure ... and that includes presence or absence of #includes=
of other files ... is not an OMG compliance point.
That having been said, it >>is<< a bad idea for the omniORB version of th=
e
CosEventChannelAdmin.idl file to #include another IDL file that is not us=
ed.
-- Steve
From agranov@redconnect.net Fri Dec 10 06:54:38 1999
From: agranov@redconnect.net (Alex Agranov)
Date: Fri, 10 Dec 1999 01:54:38 -0500
Subject: [omniORB] Any Sun C++ 5.0 updates???
References: <384FE42B.E1103CC7@mayo.edu>
Message-ID: <3850A3AE.E394AE4E@redconnect.net>
Hi folks...
Any news on this front? We're moving to production soon with the 5.0
compiler (client choice, not ours) and the thing makes me feel real uneasy.
I've applied the new libC patch (there's been a new one since the omni 2.8.0
release notes) which is stated as fixing some exception handling snafus but
it doesn't seem to have any effect. And yes, the compile times are
flabbergasting...
Alex
From rgruet@ina.fr Fri Dec 10 10:03:22 1999
From: rgruet@ina.fr (Richard Gruet)
Date: Fri, 10 Dec 1999 11:03:22 +0100
Subject: [omniORB] Mispelling in "CORBA scripting with Python" doc
Message-ID: <3850CFEA.F4D197BB@ina.fr>
There is a mispelling in the "CORBA scripting with Python" document,
paragraph 4.6 (p.20):
The method orb.list_initial_references() doesnt exist.
The right name is: orb.list_initial_services() ... and it works.
Richard
From b.keeping@ic.ac.uk Fri Dec 10 11:58:31 1999
From: b.keeping@ic.ac.uk (b.keeping@ic.ac.uk)
Date: Fri, 10 Dec 1999 11:58:31 GMT
Subject: [omniORB] Call Timeout
In-Reply-To: <199912091505.KAA00444@duzanmac.gte.com> (gdd0@gte.com)
Message-ID: <6420.199912101158@ultra11.ps.ic.ac.uk>
Hi,
Just writing to second Gary's proposal! A useful feature in some
contexts I'm sure, but one which should be consciously activated
rather than on by default.
Ben Keeping
Imperial College
From omniorb@beteigeuze.cs.tu-berlin.de Fri Dec 10 12:09:56 1999
From: omniorb@beteigeuze.cs.tu-berlin.de (Robert Sander)
Date: Fri, 10 Dec 1999 13:09:56 +0100
Subject: [omniORB] omniORBpy: Nameserver IOR via HTTP
Message-ID: <19991210130956.B21801@beteigeuze.cs.tu-berlin.de>
Hi!
In standard omniORB config I have a Nameserver IOR string in omniORB.cfg,
but I have a special case, where I only get the IOR via HTTP, because the
nameserver changes from time to time. Is it possible to set the nameserver
IOR in the program, before calling CORBA.ORB_init. Maybe it is stated
somewhere in the docs, so a reference is also useful.
Thank You.
--
Robert Sander
home.pages.de/~gurubert, pgp available there
tel 0700-GURUBERT
From djr@uk.research.att.com Fri Dec 10 12:36:10 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Fri, 10 Dec 1999 12:36:10 +0000 (GMT)
Subject: [omniORB] omniORBpy: Nameserver IOR via HTTP
In-Reply-To: <19991210130956.B21801@beteigeuze.cs.tu-berlin.de>
Message-ID:
There is an omniORB specific solution:
void _omni_set_NameService(CORBA::Object_ptr ns);
I don't think it is documented though, and certainly not portable.
Cheers,
David
On Fri, 10 Dec 1999, Robert Sander wrote:
> In standard omniORB config I have a Nameserver IOR string in omniORB.cfg,
> but I have a special case, where I only get the IOR via HTTP, because the
> nameserver changes from time to time. Is it possible to set the nameserver
> IOR in the program, before calling CORBA.ORB_init. Maybe it is stated
> somewhere in the docs, so a reference is also useful.
From djr@uk.research.att.com Fri Dec 10 12:44:13 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Fri, 10 Dec 1999 12:44:13 +0000 (GMT)
Subject: [omniORB] OmniNames on omniORB 3 pre
In-Reply-To:
Message-ID:
Hi,
I've tracked down and fixed the problem with the bootstrap agent in
omniORB 3. There was a deadlock if you used the ORBInitialHost
ORBInitialPort mechanism for getting initial references.
The fix wil be in CVS tonight ...
David
On Thu, 2 Dec 1999, David Riddoch wrote:
> I've had a look at this, and yes there is a problem. In theory it should
> have all worked as it used to. It does work in the case where you put
> NAMESERVER IOR:... into the config file, but not when you use
> ORBInitialHost and ORBInitialPort. Looks like I've done something to
> damage the bootstrap agent.
>
> I'll look into it.
>
> Cheers,
> David
>
>
> On Tue, 30 Nov 1999, Kapla, Jami wrote:
>
> > Hello David,
> > We are trying to use the Omniidl3 on linux 6.0
> > and test the echo example. The eg1 works however the eg3_impl
> > fails when the call to orb->resolve_initial_references("NameServece")
> > is called. We are trying to find what exception is being thrown. However
> > I believe it has something to do with either the ORB is configured wrong
> > or the omniORB.cfg file is not configured correctly. There is a mention
> > in the 3.0 release notes of changes to the log file for omniNames but no
> > specifics. currently we start the omniNames:
> >
> > omniNames -start 1234
> > which then seems to start it ok.
> >
> > omniORB.cfg has:
> > ORBInitialHost korea (my machine)
> > ORBInitialPort 1234
> >
> > and OMNIORB_CONFIG is set in the environment to the correct path.
> >
> > However we are using the documentation for OmniOrb2, so maybe this has
> > changed some(?).
> > We simply did a make all and ran eg3.impl but the resolve_initial_refernces
> > call fails. (it also fails for all ID's except "RootPOA").
From omniorb@beteigeuze.cs.tu-berlin.de Fri Dec 10 12:51:55 1999
From: omniorb@beteigeuze.cs.tu-berlin.de (Robert Sander)
Date: Fri, 10 Dec 1999 13:51:55 +0100
Subject: [omniORB] omniORBpy: Nameserver IOR via HTTP
In-Reply-To: ; from djr@uk.research.att.com on Fri, Dec 10, 1999 at 12:36:10PM +0000
References: <19991210130956.B21801@beteigeuze.cs.tu-berlin.de>
Message-ID: <19991210135155.A23134@beteigeuze.cs.tu-berlin.de>
On Fri, Dec 10, 1999 at 12:36:10PM +0000, David Riddoch wrote:
>
> There is an omniORB specific solution:
>
> void _omni_set_NameService(CORBA::Object_ptr ns);
>
> I don't think it is documented though, and certainly not portable.
I'm sure every solution would not be portable, but this is a beginning. I
can get the IOR with Python using urllib.urlopen etc. and then do a
orb.string_to_object to get the NameService object. Using the method above
I could add this object to the avaiable services.
Or I could just use the object as a NameService object directly, without
adding it to the avaiable services. That should work, too.
Thanks
--
Robert Sander
home.pages.de/~gurubert, pgp available there
tel 0700-GURUBERT
From chapmanb@arches.uga.edu Fri Dec 10 21:39:43 1999
From: chapmanb@arches.uga.edu (Brad Chapman)
Date: Fri, 10 Dec 1999 16:39:43 -0500
Subject: [omniORB] FreeBSD and omniORBpy
Message-ID:
--============_-1267260500==_============
Content-Type: text/plain; charset="us-ascii"
Hello all! I have been attempting to get omniORB working on FreeBSD 3.3 so
that I can work with the python bindings (thanks much for them!).
Unfortunately, I have only had partial success doing this, likely due to my
inexperience in this area. I have managed to, I think, get omniORB itself
compiled, but cannot get the test examples to compile (so I can't check how
well my compilation went!). In addition, I am having problems trying to get
the python bindings to compile. So, some solutions, but lots of problems.
I have included as a text file attachment a description of what I
have done/tried to do, and my results. If anyone would be willing to take a
look at it and give my some pointers, etc. I would be extremely
appreciative!
Brad
chapmanb@arches.uga.edu
--============_-1267260500==_============
Content-Type: text/plain; name="ooprob.txt"; charset="us-ascii"
Content-Disposition: attachment; filename="ooprob.txt"
Thank you very much if you took the time to take a look at this. I'm
pretty new at this, but I have tried to detail as much relevant info as I
could below. If you need anything else at all I will, of course, be happy
to
provide it!
First off, this is the info about what I'm using:
FreeBSD
3.3-release
gmake 3.77
gcc/g++ 2.95.2
BUILD PROBLEMS
--------------
In
order to build omniORB, I followed the omniORB 2.7.1 and FreeBSD 3.2
directions with the following changes to x86_freebsd_3.2.mk:
1. I
uncommented the relevant parts at the end to get static linking (I
didn't
want to do this, but I couldn't get it to build otherwise).
2. I changed
the c and c++ compilers from the made up egcs and egcs++ compilers to
gcc295 and g++295, the most recent versions of these I could get my hands
on.
When I compiled, it went fine for a while until I got
here:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
gcc295 -c -O2 -DHOSTS_ACCESS -DLIBC_CALLS_STRTOK -DBROKEN_FGETS
-DHOSTS_DENY=\"/etc/hosts.deny\" -DHOSTS_ALLOW=\"/etc/hosts.allow\"
-DRFC931_TIMEOUT=10 -DSOLARIS_24_GETHOSTBYNAME_BUG -DGETPEERNAME_BUG
-D_REENTRANT -I. -I../.. -I../../.. -I. -I../../../../../../include
-D__x86__ -D__freebsd__ -D__OSVERSION__=3 -o percent_m.o
percent_m.c
percent_m.c:18: conflicting types for
`sys_errlist'
/usr/include/stdio.h:225: previous declaration of
`sys_errlist'
gmake[5]: *** [percent_m.o] Error 1
gmake[5]: Leaving
directory
`/usr/local/omniORB/src/lib/omniORB2/orbcore/gatekeepers/tcpwrapper'
%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Not
wanting to mess around with stdio, I looked at the offending file in
"src/lib/omniORB2/orbcore/gatekeepers/tcpwrapper/percent_m.c" where I
found the following:
extern int errno;
#if !(defined(__GLIBC__) &&
__GLIBC__ >=2)
#if !defined(SYS_ERRLIST_DEFINED) ||
!defined(__freebsd__)
extern char *sys_errlist[];
extern int
sys_nerr;
#endif
#endif
To me, this read that it should not be executing
"extern char
*sys_errlist[];" on FreeBSD so I decided to comment it out
and force it not to
execute (hopefully my interpretation of the code was
not too wrong!).
After doing this everything else compiled without a
problem and I was able
to go through and do everything with omniName
without any problems. Then I
proceeded to try to compile the
examples:
EXAMPLE PROBLEMS
----------------
When I tried to build the
examples to test everything, I did the following:
1. Manually built the
.hh files by running omniidl2 in each directory
2. Tried "gmake all" in the
main examples directory.
Nearly immediately I got the following
compilation errors in the echo test
directory:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%
+ g++295 -pthread -s -o eg1 -O2 -Wall -Wno-unused
-L../../../lib/x86_freebsd_3.2
eg1.o -Wl,-Bstatic -lomniORB2
-lomniDynamic2 -ltcpwrapGK -lomnithread -Wl,-Bdynam
ic
eg1.o: In function
`hello(CORBA::Object *)':
eg1.o(.text+0x23): undefined reference to
`Echo::_narrow(CORBA::Object *)'
eg1.o(.text+0x91): undefined reference to
`Echo_Helper::release(Echo *)'
eg1.o(.text+0x1cc): undefined reference to
`Echo_Helper::release(Echo *)'
eg1.o(.text+0x207): undefined reference to
`Echo_Helper::release(Echo *)'
eg1.o: In function
`main':
eg1.o(.text+0x29e): undefined reference to `Echo::omniObject
virtual table'
eg1.o(.text+0x2a7): undefined reference to
`Echo::CORBA::Object virtual table'
eg1.o(.text+0x2ae): undefined reference
to `Echo virtual table'
eg1.o(.text+0x2fe): undefined reference to
`_sk_Echo::omniObject virtual table'
eg1.o(.text+0x309): undefined
reference to `_sk_Echo::CORBA::Object virtual table
'
eg1.o(.text+0x312):
undefined reference to `_sk_Echo::Echo virtual table'
eg1.o(.text+0x3c6):
undefined reference to `Echo::_duplicate(Echo *)'
eg1.o: In function
`Echo_i::Echo_i(int)':
eg1.o(.text+0x517): undefined reference to
`Echo::omniObject virtual table'
eg1.o(.text+0x520): undefined reference to
`Echo::CORBA::Object virtual table'
eg1.o(.text+0x527): undefined reference
to `Echo virtual table'
eg1.o(.text+0x57e): undefined reference to
`_sk_Echo::omniObject virtual table'
eg1.o(.text+0x589): undefined
reference to `_sk_Echo::CORBA::Object virtual table
'
eg1.o(.text+0x592):
undefined reference to `_sk_Echo::Echo virtual table'
eg1.o: In function
`Echo_i::~Echo_i(void)':
eg1.o(.text+0x664): undefined reference to
`_sk_Echo::~_sk_Echo(void)'
eg1.o(.text+0x672): undefined reference to
`Echo::~Echo(void)'
eg1.o(.rodata+0x1e4): undefined reference to `_sk_Echo
type_info node'
eg1.o: In function `virtual function thunk (delta:0) for
_sk_Echo::76_dispatch(GI
OP_S &, char const *,
bool)':
eg1.o(.gnu.linkonce.t.__thunk_n76_dispatch__8_sk_EchoR6GIOP_SPCcb+0x6):
undefined
reference to `_sk_Echo::dispatch(GIOP_S &, char const *,
bool)'
eg1.o: In function
`__thunk_n76__widenFromTheMostDerivedIntf__8_sk_EchoPCcb':
eg1.o(.gnu.linkonce.t
.__thunk_n76__widenFromTheMostDerivedIntf__8_sk_EchoPCcb+0x6
): undefined
reference to `_sk_Echo::_widenFromTheMostDerivedIntf(char const *,
b
ool)'
eg1.o: In function `Echo_i type_info
function':
eg1.o(.gnu.linkonce.t.__tf6Echo_i+0x16): undefined reference to
`_sk_Echo type_in
fo function'
collect2: ld returned 1 exit
status
gmake[1]: *** [eg1] Error
1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
As
suggested in the README.FreeBSD, I tried to use -lpthread, but this gave
the error: "/usr/libexec/elf/ld: cannot open -lpthread: No such file or
directory" and after searching through FreeBSD archives, it turns out
that,
for some reasons I don't understand, the -pthread is FreeBSD
specific for
gcc/g++ and -lpthread isn't supported.
omniORBpy
PROBLEMS
-------------------
Running gmake export on the omniORBpy
distribution (just cvsed today) gave
the
following:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
gcc295 -c -O2 -DHAVE_CONFIG_H -I. -I. -I../../../../../../include
-D__x86__
-D__freebsd__ -D__OSVERSION__=3 -o cexp.o cexp.c
cexp.y: In
function `yylex':
cexp.y:688: `SIZEOF_UNSIGNED_CHAR' undeclared (first use
in this function)
cexp.y:688: (Each undeclared identifier is reported only
once
cexp.y:688: for each function it appears in.)
cexp.y:694: `SIZEOF_INT'
undeclared (first use in this function)
cexp.y: In function
`left_shift':
cexp.y:1023: `SIZEOF_INT' undeclared (first use in this
function)
cexp.y: In function `right_shift':
cexp.y:1034: `SIZEOF_INT'
undeclared (first use in this function)
gmake[3]: *** [cexp.o] Error
1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I'm
not sure how I should proceed to fix this at all. The real reason I am
trying all of this is to use the python bindings, so I'm very interested
in anything I can do to fix this problem!
Well, if you made it all of
the way here I would like to offer my
sincerest thanks. If you need any
other info at all, please don't hesitate
to ask. Any advice anyone can
offer would be greatly appreciated! Thanks
again.
Brad
chapmanb@arches.uga.edu
--============_-1267260500==_============--
From rodrigc@mediaone.net Sat Dec 11 01:38:17 1999
From: rodrigc@mediaone.net (Craig Rodrigues)
Date: Fri, 10 Dec 1999 20:38:17 -0500
Subject: [omniORB] Support for GIOP 1.2?
Message-ID: <19991210203817.A4180@mediaone.net>
Hi,
Does omniORB support GIOP 1.2?
If not, does anyone know of any of the free CORBA ORB's which support it?
As an aside, has anyone read "IIOP Complete", by William Ruh?
Thanks.
--
Craig Rodrigues
http://www.gis.net/~craigr
rodrigc@mediaone.net
From biguo@263.net Sun Dec 12 07:28:12 1999
From: biguo@263.net (biguo@263.net)
Date: Sun, 12 Dec 1999 15:28:12 +0800 (CST)
Subject: [omniORB] A relation between IIOP Engine and MinimumCORBA
Message-ID: <38534E8C.25821@mta2>
Hello,folks!As we know,OMG MinimumCORBA specifications is uesd in limited resources system.Whereas in embedded system,IIOP Engine presently is a mainstream technology in solving interoperability.IIOP is also a reduced ORB function library.Is IIOP Engine is implemented according to OMG MinimumCORBA specifications?Anyone can help me?Thanks.
_____________________________________________
Ê×¶¼ÔÚÏß--ÏȽøÖйúÈ˵ÄÍøÉϼÒÔ° http://www.263.net
Ãâ·ÑÓÊÏä ÓʼþÔÓÖ¾ Ç©ÃûÓʼþ Óʼþ¼ÓÃÜ Óʼþ×·Éíºô
ËÑË÷ÒýÇæ ¸öÈËÕ¾µã ÔÚÏßÓÎÏ· ÍøÉÏÁÄÌì ÍøÉϹҺÅ
½ðÈÚÍõ¹ú ÔÚÏßɱ¶¾ ÌøÔéÊг¡ Èí¼þÏÂÔØ ÐÝÏÐÓéÀÖ
ŵ·½°²È«£¬ÖúÄúe·ƽ°²
From sekiya@nagoya.ydc.co.jp Mon Dec 13 08:47:27 1999
From: sekiya@nagoya.ydc.co.jp (Masaaki Sekiya)
Date: Mon, 13 Dec 1999 17:47:27 +0900 (JST)
Subject: [omniORB] how to get a RootContext
Message-ID: <199912130847.RAA07577@deer1.nagoya.ydc.co.jp>
Hello there.
I'm new to the omniORB.
And I'm trying to get a RootContextObject of a arbitary Naming Server.
I made a code like below. It works how I expect.
But I am concerned whether this code has some bugs.
Are there any harmful point in this code or a better code ?
If you are aware of , I would be extremely appreciative for it.
===============
const ropeFactoryType* t;
ropeFactory_iterator next(globalOutgoingRopeFactories);
const ropeFactory* f;
while ((f = next())) {
t = f->getType();
if (t->is_IOPprofileId(IOP::TAG_INTERNET_IOP))
break;
}
if (f){
CORBA::Char* host= .. // arbitary
CORBA::UShort port= .. // arbitary
tcpSocketEndpoint addr(host,port);
CORBA::Char objkey[4];
objkey[0] = 'I'; objkey[1] = 'N'; objkey[2] = 'I';
objkey[3] = 'T';
IOP::TaggedProfileList p;
p.length(1);
t->encodeIOPprofile((Endpoint*)&addr,objkey,4,p[0]);
CORBA::String_var ior((char*) IOP::iorToEncapStr(
(const CORBA::Char*)CORBA_InitialReferences_IntfRepoID,&p));
CORBA::Object_var o((CORBA::Object_ptr) (
omni::stringToObject(ior)->_widenFromTheMostDerivedIntf(0)));
CORBA_InitialReferences_var bagent;
bagent = CORBA_InitialReferences::_narrow(o);
bagent->noExistentCheck();
CORBA::Object_ptr obj = pagent->get("NameService");
...
===============
Masaaki Sekiya
From s.starkie@ic.ac.uk Mon Dec 13 17:18:50 1999
From: s.starkie@ic.ac.uk (Stephen Starkie)
Date: Mon, 13 Dec 1999 17:18:50 +0000
Subject: [omniORB] Visual C++ Assertions
Message-ID: <38552A65.8E2FB2DC@ic.ac.uk>
Hi,
I'm just starting with OmniORB (2.8.0) on Visual C++ on Windows NT,
and I have been trying the Name Service version of the Echo example.
It seems to work apart from a whole load of failed assertions at the end
to do with valid heap pointers in the client.
Anybody any ideas as to why? And how I can stop it.
Steve
From gtrudel@mediatrix.com Mon Dec 13 17:57:09 1999
From: gtrudel@mediatrix.com (Guy Trudel)
Date: Mon, 13 Dec 1999 12:57:09 -0500
Subject: [omniORB] Visual C++ Assertions
Message-ID: <80E2FF0AC64DD311AC3700E02910AE0A136985@INTERNAL>
be careful not to mix debug/release static/dll versions of MSVC and OmniOrb
runtimes.
Guy Trudel
From taukerman@logici.com Mon Dec 13 18:04:24 1999
From: taukerman@logici.com (Theo Aukerman)
Date: Mon, 13 Dec 1999 10:04:24 -0800
Subject: [omniORB] static/dll MSVC with omniORB
Message-ID: <9BF81AC2F664D311A56600A0C9AC979A1A9B6F@gateway.logici.com>
On 12/13/99 at 9:57 AM Guy Trudel wrote:
be careful not to mix debug/release static/dll versions of MSVC and OmniOrb
runtimes.
Guy Trudel
_________________________________
While it is clear to me how to determine if I am using a debug vs. release
build of the omniORB dll's, how do I know if I am using omniORB dll's built
with static vs. dll versions of MSVC?
I'm using a 2.7.1 distribution which included binaries, and I have not had a
need (so far) to build the omniORB dll's myself.
Theo Aukerman
From gtrudel@mediatrix.com Mon Dec 13 20:53:42 1999
From: gtrudel@mediatrix.com (Guy Trudel)
Date: Mon, 13 Dec 1999 15:53:42 -0500
Subject: [omniORB] static/dll MSVC with omniORB
Message-ID: <80E2FF0AC64DD311AC3700E02910AE0A136986@INTERNAL>
>From README.win32:
c) Set up macros and libraries:
1. Under Build->Settings, select the "C/C++" tab.
2. In the "Category" box, select "C++ Language". Tick the
"Enable exception handling" box.
3. In the "Category" box, select "Code Generation". In the
"Use run-time library" box, select "Multithreaded DLL".
4. **This is an import step.**
In the "Category" box, select "Preprocessor". In the
"Preprocessor" box, add the macros __WIN32__,__x86__.
If this is NT 4.0, add the macros __NT__ and __OSVERSION__=4 as well.
5. Select the "Link" tab.
6. In the "Category" box, select "Input". In the "Object/library
modules"
box, add the following libraries: wsock32.lib, advapi32.lib,
omniORB280_rt.lib, omnithread2_rt.lib
If you are building a debug executable, the debug version of the
libraries:
omniORB280_rtd.lib and omnithread2_rtd.lib should be used.
d) Your project is now set up, and you can build it.
If you want to use the static versions of omniORB2 and omnithread, you must
add the macro _WINSTATIC (see step (c) 4, above), and replace the libraries
omniORB2_rt.lib and omnithread2_rt.lib with omniORB2.lib and omnithread.lib
(see step (c) 6, above).
From virtualcyber@erols.com Tue Dec 14 05:35:45 1999
From: virtualcyber@erols.com (Ji-Yong D. Chung)
Date: Tue, 14 Dec 1999 00:35:45 -0500
Subject: [omniORB] python and scheme
Message-ID: <000501bf45f5$14467890$0a0a0a0a@cradle>
omniORB developers:
Just a comment on omniORBpy.
I know that there are many advantages to using interpreters for
development -- so it makes sense that you guys wrote python ORB -- I think
it's a great idea.
I wish, though, you guys developed a language binding for "Scheme" (a
dialect of lisp) rather than python. Python is really mutated Scheme. And
as such, Scheme interpreters, provide all the features of python
interpreters, but with better syntax.
Of course, there is no Scheme language mappings published by OMG.
From douglask@dstc.edu.au Tue Dec 14 01:37:53 1999
From: douglask@dstc.edu.au (Douglas Kosovic)
Date: Tue, 14 Dec 1999 11:37:53 +1000
Subject: [omniORB] #pragma version
Message-ID: <38559F71.6C4EC6@dstc.edu.au>
Hi,
Is anyone able to use '#pragma version' in IDL files with the OmniORB
2.8 or later IDL compiler (on Solaris)?
With the following IDL:
interface IRObject {
#pragma version IRObject 2.3
readonly attribute DefinitionKind def_kind;
void destroy();
};
I get the following error message:
line 2: Illegal syntax following interface '{' opener
Currently I'm commenting out all occurrences of '#pragma version' and
then manually modifying the version numbers in the .hh stub that gets
generated.
Thanks,
Doug.
From brent.fulgham@xpsystems.com Tue Dec 14 00:45:16 1999
From: brent.fulgham@xpsystems.com (Brent Fulgham)
Date: Mon, 13 Dec 1999 16:45:16 -0800
Subject: [omniORB] Conflict with other ORBs?
Message-ID:
Hello Omniorber's:
I run omniorb (2.8) on Debian GNU/Linux (potato). This is roughly
comparable
with the most recent release of RedHat (glibc 2.1.2).
I have the omniorb nameservice start up at boot time, and it runs in the
background like any other service on my system.
I have found that if I start the GNOME environment, however, that as soon
as the gnome-orb starts up omniorb dies. I thought initially that it might
be due to them fighting over the same port, but a quick check with `fuser`
does not show this.
Has anyone else experienced problems when orbs from multiple vendors
are running on the same system? I would have thought that they would not
be visible to each other, since the BOA::Init call seems to include
a unique identifier for the Nameservice in use (omniORB in this case).
Thanks,
-Brent
From dgrisby@uk.research.att.com Tue Dec 14 10:17:52 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 14 Dec 1999 10:17:52 +0000
Subject: [omniORB] #pragma version
In-Reply-To: Your message of "Tue, 14 Dec 1999 11:37:53 +1000."
<38559F71.6C4EC6@dstc.edu.au>
Message-ID: <199912141017.KAA12089@pineapple.cam-orl.co.uk>
On Tuesday 14 December, Douglas Kosovic wrote:
> interface IRObject {
> #pragma version IRObject 2.3
> readonly attribute DefinitionKind def_kind;
> void destroy();
> };
>
> I get the following error message:
> line 2: Illegal syntax following interface '{' opener
Unfortunately, omniidl2 is broken, and doesn't support the above
IDL. It is, however, happy with
interface IRObject {
readonly attribute DefinitionKind def_kind;
void destroy();
};
#pragma version IRObject 2.3
We're not especially keen to fix it since our new IDL compiler does
support #pragma inside an interface. The new omniidl is already used
by the Python ORB, and will soon be used with omniORB3.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Tue Dec 14 10:21:47 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 14 Dec 1999 10:21:47 +0000
Subject: [omniORB] omniORBpy: Nameserver IOR via HTTP
In-Reply-To: Your message of "Fri, 10 Dec 1999 13:09:56 +0100."
<19991210130956.B21801@beteigeuze.cs.tu-berlin.de>
Message-ID: <199912141021.KAA12131@pineapple.cam-orl.co.uk>
On Friday 10 December, Robert Sander wrote:
> In standard omniORB config I have a Nameserver IOR string in omniORB.cfg,
> but I have a special case, where I only get the IOR via HTTP, because the
> nameserver changes from time to time. Is it possible to set the nameserver
> IOR in the program, before calling CORBA.ORB_init. Maybe it is stated
> somewhere in the docs, so a reference is also useful.
Is there any particular reason that you have to get the object
reference with resolve_initial_references()? If not, the easiest
thing is to just get the IOR with HTTP and use string_to_object().
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Tue Dec 14 10:41:15 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 14 Dec 1999 10:41:15 +0000
Subject: [omniORB] FreeBSD and omniORBpy
In-Reply-To: Your message of "Fri, 10 Dec 1999 16:39:43 EST."
Message-ID: <199912141041.KAA12185@pineapple.cam-orl.co.uk>
On Friday 10 December, Brad Chapman wrote:
> In order to build omniORB, I followed the omniORB 2.7.1 and FreeBSD
> 3.2 directions with the following changes to x86_freebsd_3.2.mk:
Is anyone successfully using omniORB 2.8.0 on FreeBSD? If so, what
did you need to do to compile it?
> 1. I uncommented the relevant parts at the end to get static linking
> (I didn't want to do this, but I couldn't get it to build
> otherwise).
What problems did you have with dynamic linking? I'd be surprised if
you can successfully build omniORBpy without working dynamic linking.
[...]
> When I tried to build the
> examples to test everything, I did the following:
>
> 1. Manually built the
> .hh files by running omniidl2 in each directory
Why did you manually build the stubs rather than letting the makefiles
do it?
> 2. Tried "gmake all" in the
> main examples directory.
> + g++295 -pthread -s -o eg1 -O2 -Wall -Wno-unused
> -L../../../lib/x86_freebsd_3.2 eg1.o -Wl,-Bstatic -lomniORB2
> -lomniDynamic2 -ltcpwrapGK -lomnithread -Wl,-Bdynamic
> eg1.o(.text+0x23): undefined reference to
> `Echo::_narrow(CORBA::Object *)'
The link line doesn't link with echoSK.o, which is why you got lots of
errors about undefined references. I don't know why the make files
aren't doing the right thing.
> Running gmake export on the omniORBpy distribution (just cvsed
> today) gave the following:
> cexp.y:688: `SIZEOF_UNSIGNED_CHAR' undeclared (first use
You need to edit cccp/config.h to add a FreeBSD configuration file. It
will probably be the same as config-linux.h.
HTH,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Tue Dec 14 10:50:44 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 14 Dec 1999 10:50:44 +0000
Subject: [omniORB] Support for GIOP 1.2?
In-Reply-To: Your message of "Fri, 10 Dec 1999 20:38:17 EST."
<19991210203817.A4180@mediaone.net>
Message-ID: <199912141050.KAA12235@pineapple.cam-orl.co.uk>
On Friday 10 December, Craig Rodrigues wrote:
> Does omniORB support GIOP 1.2?
Support for GIOP 1.2 is on the way, but isn't available quite yet.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Tue Dec 14 10:54:31 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 14 Dec 1999 10:54:31 +0000
Subject: [omniORB] how to get a RootContext
In-Reply-To: Your message of "Mon, 13 Dec 1999 17:47:27 +0900."
<199912130847.RAA07577@deer1.nagoya.ydc.co.jp>
Message-ID: <199912141054.KAA12257@pineapple.cam-orl.co.uk>
On Monday 13 December, Masaaki Sekiya wrote:
> And I'm trying to get a RootContextObject of a arbitary Naming Server.
> I made a code like below. It works how I expect.
> But I am concerned whether this code has some bugs.
> Are there any harmful point in this code or a better code ?
> If you are aware of , I would be extremely appreciative for it.
[...code to talk to bootstrap agent...]
The code you posted will work, provided both the client and the Naming
service are omniORB. It is extremely non-standard. It stands no chance
of working with other ORBs. Once the interoperable naming service
specification is finalised, there will be a standard way to do this
(with much less code).
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Tue Dec 14 13:29:53 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 14 Dec 1999 13:29:53 +0000
Subject: [omniORB] Conflict with other ORBs?
In-Reply-To: Your message of "Mon, 13 Dec 1999 16:45:16 PST."
Message-ID: <199912141329.NAA12605@pineapple.cam-orl.co.uk>
On Monday 13 December, Brent Fulgham wrote:
> I have the omniorb nameservice start up at boot time, and it runs in the
> background like any other service on my system.
>
> I have found that if I start the GNOME environment, however, that as soon
> as the gnome-orb starts up omniorb dies. I thought initially that it might
> be due to them fighting over the same port, but a quick check with `fuser`
> does not show this.
The ORBs should not be visible to each other unless they are
explicitly introduced by passing an IOR between them. Unless ORBit is
maliciously looking for and killing omniNames, it should never see
it. Maybe you could try running omniNames in a console, rather than in
the background, to see if it prints anything meaningful when it dies.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Tue Dec 14 14:04:16 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 14 Dec 1999 14:04:16 +0000
Subject: [omniORB] python and scheme
In-Reply-To: Your message of "Tue, 14 Dec 1999 00:35:45 EST."
<000501bf45f5$14467890$0a0a0a0a@cradle>
Message-ID: <199912141404.OAA12880@pineapple.cam-orl.co.uk>
On Tuesday 14 December, "Ji-Yong D. Chung" wrote:
> I wish, though, you guys developed a language binding for "Scheme" (a
> dialect of lisp) rather than python. Python is really mutated Scheme. And
> as such, Scheme interpreters, provide all the features of python
> interpreters, but with better syntax.
I'd dispute the fact that Python is mutated Scheme. The programming
paradigms are completely different. That's not to say that Python is
more or less useful than Scheme -- some things are best written in a
language like Python, others are best written in a language like
Scheme.
You're welcome to propose a CORBA Scheme mapping, and implement it for
omniORB. We'll add it to our distribution. :-)
In the mean time, ILU from Xerox PARC supports Common Lisp and Guile.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From David.Chung@USPTO.GOV Tue Dec 14 14:16:48 1999
From: David.Chung@USPTO.GOV (Chung, David)
Date: Tue, 14 Dec 1999 09:16:48 -0500
Subject: [omniORB] Using Compare and Swap for 2.8 and 3.0?
Message-ID: <966B307EF37DD311A3B1002048400F1B87C95D@uspto-is-104.uspto.gov>
In email archives, I saw several messages regarding one-time memory
allocation for synchronization objects that are never cleaned up (as they
are needed for orderly shutdown). The objects manifests as memory leaks on
both omniORB 3.0 and 2.8
Perhaps the thing to do here is not to leave this "feature" alone,
but to fix it using more "primitive" synchronization calls, such as compare
and swap (CAS) or Bit Test and Set (BTS). Using these will eliminate the
need to create mutexe/semaphore objects that need to stay around.
Unfortunately, CAS and BTS are not uniformly implemented on
different platforms, so to do this right, you will need to create proper
platform abstraction layer (or wrapper functions). Some would argue that
implementing these are more trouble than they are worth; but then, the same
argument can be made for staying with all kludges, which tend to be good
only as short term solutions.
From Brecht.Vermeulen@rug.ac.be Tue Dec 14 15:06:30 1999
From: Brecht.Vermeulen@rug.ac.be (Brecht Vermeulen)
Date: Tue, 14 Dec 1999 16:06:30 +0100 (MET)
Subject: [omniORB] Naming Server Crash
Message-ID:
Hello,
We've found a bug in the omniNames implementation we think. (sorry, I've
got no time to search the archives, because I don't see it as a big
problem for us now, sorry if it's already mentioned or solved in the newer
versions).
It's with the 2.8.0 version (Linux debian 2.1). If you take the eg3
example and you change in the client
orb->resolve_initial_references("NameService")
by (thus a typo :-) )
orb->resolve_initial_references("NamyService")
then the naming service blocks on next calls. Ideal for denial of service
attacks !
yours sincerely,
Brecht Vermeulen
ATLANTIS IP-ATM testlab
University of Ghent
From dgrisby@uk.research.att.com Tue Dec 14 15:27:23 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 14 Dec 1999 15:27:23 +0000
Subject: [omniORB] Naming Server Crash
In-Reply-To: Your message of "Tue, 14 Dec 1999 16:06:30 +0100."
Message-ID: <199912141527.PAA13800@pineapple.cam-orl.co.uk>
On Tuesday 14 December, Brecht Vermeulen wrote:
> It's with the 2.8.0 version (Linux debian 2.1). If you take the eg3
> example and you change in the client
> orb->resolve_initial_references("NameService")
> by (thus a typo :-) )
> orb->resolve_initial_references("NamyService")
> then the naming service blocks on next calls. Ideal for denial of service
> attacks !
This is sort of a bug. It only arises if omniNames has been started
with -ORBInitialHost and -ORBInitialPort. In that case, it deadlocks
trying to resolve initial references with itself. The workaround for
now is to start omniNames without the ORBInitialHost/Port.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From barbara.mathae@sdm.de Tue Dec 14 18:05:00 1999
From: barbara.mathae@sdm.de (barbara.mathae@sdm.de)
Date: Tue, 14 Dec 1999 19:05:00 +0100
Subject: [omniORB] chrash with MSC++5.0
Message-ID:
Here is the message without the zip file. I hope the listet parts of =
the
source code are enough to get a notion of the problem!
Barbara
> ----------
> From: Math=E4, Barbara
> Sent: Tuesday, December 14, 1999 4:59 PM
> To: 'omniorb-list@uk.research.att.com'
> Subject: chrash with MSC++5.0=20
>=20
> Hello Omniorber's:
>=20
> I run omniorb (2.8) on Windows Nt40. I am using Visual Studio C++ =
5.0. I
> can establish a connection and send data from one side to the other =
and
> vice versa. But when trying to send the following data (see also the
> attached zip file) a crash occurs. HEAP[try50.exe]: Invalid Address
> specified to RtlValidateHeap
> the crash occurs in:
>=20
> operator delete(void * 0x00a07b60) line 49 + 16 bytes
> _CORBA_String_member::~_CORBA_String_member()=20
>=20
> as I can see from the call stack.=20
>=20
> // the idl file
> oneway void putResult(in ImageDecodingResult result);
>=20
> struct ImageDecodingResult {
> ImageId id;
> DecodingResult result;
> };
>=20
> const long IMAGEIDSIZE =3D 32;=20
> typedef sequence ImageId;
>=20
> struct DecodingResult {
> CodingDepth curCodingDepth;
> unsigned long rejectReason;
> unsigned long confLevelDc;
> DistribCode dc;
> unsigned long addInfo;
> AddrElementList elements;
> };
>=20
> struct AddrElement {
> ElementType type;
> unsigned long confLevelNominal;
> unsigned long confLevelReference;
> string<63> nominalElement;
> string<63> referenceElement;
> };
>=20
> typedef sequence AddrElementList;
>=20
> enum CodingDepth { UnknownCodingDepth,=09
> NoCodDepth, =09
> AoiCodDepth, =09
> OutwardCodDepth,=09
> InwardCodDepth,=09
> SequencingCodDepth=09
> };
>=20
> //
>=20
> // a part of the source Code:
>=20
> Imm_var myImm =3D Imm::_narrow(obj);
> =20
> ImageDecodingResult *vdecodingResult =3D new =
ImageDecodingResult();
> // Struktur aufbauen
> vdecodingResult->id.length(1);=20
> vdecodingResult->id[0] =3D 1;
> vdecodingResult->result.curCodingDepth =3D UnknownCodingDepth;
> vdecodingResult->result.rejectReason =3D 0;
> vdecodingResult->result.confLevelDc =3D 0;
> vdecodingResult->result.dc =3D strdup("Test");
> vdecodingResult->result.addInfo =3D 0;
> vdecodingResult->result.elements.length(1);
> vdecodingResult->result.elements[0].type =3D CountryElement;
> vdecodingResult->result.elements[0].confLevelNominal =3D 1;
> vdecodingResult->result.elements[0].confLevelReference =3D 2;
> vdecodingResult->result.elements[0].nominalElement =3D =
strdup("Addr");
> vdecodingResult->result.elements[0].referenceElement =3D =
strdup("Hallo");
> =20
> myImm->putResult( *vdecodingResult );=20
> // =20
>=20
> I have no idea why this happens. I also used the CORBA::string_dup =
for
> copying strings, but the same crash occurs.=20
> I tried the use of CORBA::string_dup standalone. I can transfer a =
string
> only when using strdup instead of CORBA::string_dup!
>=20
> In the attachement you will find the idls and the source code (as a =
zip
> file). =20
> The object implementation you will find in the folder gegenpart. This =
is
> only a quick "hack" to test the transfer of the data I have =
difficulties
> with.=20
>=20
> I am using CORBA for the first time, therefore I am not sure whether =
the
> C++ binding I used is ok. Thank you for every comment or advice in =
this
> case.=20
>=20
> Barbara=20
>=20
From gtrudel@mediatrix.com Tue Dec 14 18:27:56 1999
From: gtrudel@mediatrix.com (Guy Trudel)
Date: Tue, 14 Dec 1999 13:27:56 -0500
Subject: [omniORB] chrash with MSC++5.0
Message-ID: <80E2FF0AC64DD311AC3700E02910AE0A136987@INTERNAL>
Instead of using strdup, try this instead (I think it should work)
decodingResult->result.dc = (const char*)"Test";
doing this it will call
_CORBA_String_member& operator= (const char* s)
which will make the copy.
The need to cast "Test" as (const char*)is because by default string
litteral are char* (and not const char*) with msvc compiler.
Guy Trudel
From chapmanb@arches.uga.edu Tue Dec 14 19:37:02 1999
From: chapmanb@arches.uga.edu (Brad Chapman)
Date: Tue, 14 Dec 1999 14:37:02 -0500
Subject: [omniORB] FreeBSD and omniORBpy
In-Reply-To: <199912141041.KAA12185@pineapple.cam-orl.co.uk>
References: Your message of "Fri, 10 Dec 1999 16:39:43 EST."
Message-ID:
Thanks for getting back with me regarding this!
Duncan Grisby wrote:
>> 1. I uncommented the relevant parts at the end to get static linking
>> (I didn't want to do this, but I couldn't get it to build
>> otherwise).
>
>What problems did you have with dynamic linking? I'd be surprised if
>you can successfully build omniORBpy without working dynamic linking.
>
The lines at the end of the x86_freebsd_3.2.mk makefile, according to the
comments, cause "utils and examples build in this tree to [be] statically
linked with the omniORB libraries." So if I leave these four lines
commented, the compile will proceed okay until I get to the omniNames
directory, when I will get the following error:
-----------------------------------------------------------------------
gmake[2]: Entering directory `/usr/local/omniORB/src/appl/omniNames'
+ rm -f omniNames
+ g++295 -pthread -s -o omniNames -O2 -Wall -Wno-unused
-L../../../lib/x86_freebsd_3.2 omniNames.o NamingContext_i.o log.o
omniNames.o: In function `main':
omniNames.o(.text+0x433): undefined reference to `CORBA::ORB_init(int &,
char **, char const *)'
omniNames.o(.text+0x44a): undefined reference to `CORBA::ORB::BOA_init(int
&, char **, char const *)'
omniNames.o(.text+0x45d): undefined reference to
`CORBA::BOA::impl_is_ready(CORBA::ImplementationDef *, bool)'
omniNames.o(.text+0x4bb): undefined reference to `omni_mutex::omni_mutex(void)'
[...snip a whole lot of pages of this sort of complaining...]
-------------------------------------------------------------------------
However, when the 4 lines at the bottom of the makefile are uncommented,
everything proceeds without a problem.
>
>Why did you manually build the stubs rather than letting the makefiles
>do it?
>
The makefiles didn't build the stubs first. If I don't manually run
omniidl2, the compile with complain about missing echo.hh files.
>
>The link line doesn't link with echoSK.o, which is why you got lots of
>errors about undefined references. I don't know why the make files
>aren't doing the right thing.
I updated to the most recent gmake I could (3.78.1) but still had the same
issues. Any suggestions about anything I could try? :)
>
>You need to edit cccp/config.h to add a FreeBSD configuration file. It
>will probably be the same as config-linux.h.
>
That was exactly the problem. I added config-freebsd.h (just a copy of
config_linux.h) and edited the config.h main file and everything built
without a problem. The catch--I'm having problems once again dealing with
the examples. When I try to run omniidl on the echo_example.idl to generate
the stubs I get the following:
$ omniidl echo.idl
Traceback (innermost last):
File "/usr/local/omniORB/bin/scripts/omniidl", line 30, in ?
import omniidl.main
File "/usr/local/omniORB/lib/python/omniidl/main.py", line 66, in ?
import _omniidl
ImportError: No module named _omniidl
Similary, if I just try to start up the server without generating stubs:
$ ./echo_example_srv.py &
[2] 29419
insomniac# Traceback (innermost last):
File "./echo_example_srv.py", line 4, in ?
from omniORB import CORBA, PortableServer
File "/usr/local/omniORB/lib/python/omniORB/__init__.py", line 88, in ?
import _omnipy
ImportError: No module named _omnipy
I have PYTHONPATH, LD_LIBRARY_PATH and regular ol' PATH set according to
the omniORBpy readme and the README.unix.
Sorry for the continual problems. Any advice anyone could give
would be greatly appreciated. Meanwhile I'm keep messing around!
Brad
chapmanb@arches.uga.edu
From SLatham@acdnj.itt.com Tue Dec 14 19:47:06 1999
From: SLatham@acdnj.itt.com (Latham, Steve)
Date: Tue, 14 Dec 1999 14:47:06 -0500
Subject: [omniORB] omniORB WARNING: - Proxy Object not Released
Message-ID:
Hi, I'm using a port of the omniORB pre 2.80 on linux/strongARM and I
compiled the orb with the static flag. When my client completes its calls it
hangs with the warning (twice) omniORB:WARNING - Proxy Object not Released.
Anything I can do? - I've tried various methods such as exit() etc to force
an exit but I end up having to use cntrl-c to kill it.
Steve
From seefelds@MAGELLAN.UMontreal.CA Tue Dec 14 20:00:12 1999
From: seefelds@MAGELLAN.UMontreal.CA (Stefan Seefeld)
Date: Tue, 14 Dec 1999 20:00:12 +0000
Subject: [omniORB] omniORB WARNING: - Proxy Object not Released
References:
Message-ID: <3856A1CC.BB4356F8@magellan.umontreal.ca>
"Latham, Steve" wrote:
>
> Hi, I'm using a port of the omniORB pre 2.80 on linux/strongARM and I
> compiled the orb with the static flag. When my client completes its calls it
> hangs with the warning (twice) omniORB:WARNING - Proxy Object not Released.
> Anything I can do? - I've tried various methods such as exit() etc to force
> an exit but I end up having to use cntrl-c to kill it.
you probably missed some CORBA::release calls from within your code.
Using var types instead of ptr types will help avoiding such pitfalls.
May be the ORB is not exiting 'cause he thinks therte might still be pending
requests for that object (proxy).
Stefan
_______________________________________________________
Stefan Seefeld
Departement de Physique
Universite de Montreal
email: seefelds@magellan.umontreal.ca
_______________________________________________________
...ich hab' noch einen Koffer in Berlin...
From David.Chung@USPTO.GOV Tue Dec 14 20:13:35 1999
From: David.Chung@USPTO.GOV (Chung, David)
Date: Tue, 14 Dec 1999 15:13:35 -0500
Subject: [omniORB] scheme
Message-ID: <966B307EF37DD311A3B1002048400F1B87C962@uspto-is-104.uspto.gov>
(1) I am just curious to how long did it take you to write python
ORB and the IDL compiler? I'd assume that most efforts were spent on
writing the ORBpy, right?
(2) Is there a plan to implement a CosTransaction service? With
recovery, and other good stuff (that is not par of CORBA spec).
P.S.
There are more similarities than meets the eye between Scheme and
python. See http://www.python.org/doc/pythonVSscheme.html
From brent.fulgham@xpsystems.com Tue Dec 14 22:27:11 1999
From: brent.fulgham@xpsystems.com (Brent Fulgham)
Date: Tue, 14 Dec 1999 14:27:11 -0800
Subject: [omniORB] Naming Server Crash
Message-ID:
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01BF4682.5D3507B4
Content-Type: text/plain;
charset="iso-8859-1"
> > It's with the 2.8.0 version (Linux debian 2.1). If you take the eg3
> > example and you change in the client
> > orb->resolve_initial_references("NameService")
> > by (thus a typo :-) )
> > orb->resolve_initial_references("NamyService")
> > then the naming service blocks on next calls. Ideal for
> denial of service
> > attacks !
>
> This is sort of a bug. It only arises if omniNames has been started
> with -ORBInitialHost and -ORBInitialPort. In that case, it deadlocks
> trying to resolve initial references with itself. The workaround for
> now is to start omniNames without the ORBInitialHost/Port.
>
Would this also occur with an /etc/omniorb.cfg such as:
host blah
port 8088
Or is it only if these are passed on the command line?
-Brent
------_=_NextPart_001_01BF4682.5D3507B4
Content-Type: text/html;
charset="iso-8859-1"
RE: [omniORB] Naming Server Crash
> > It's with the 2.8.0 version (Linux debian 2.1). If you take the eg3
> > example and you change in the client
> > orb->resolve_initial_references("NameService")
> > by (thus a typo :-) )
> > orb->resolve_initial_references("NamyService")
> > then the naming service blocks on next calls. Ideal for
> denial of service
> > attacks !
>
> This is sort of a bug. It only arises if omniNames has been started
> with -ORBInitialHost and -ORBInitialPort. In that case, it deadlocks
> trying to resolve initial references with itself. The workaround for
> now is to start omniNames without the ORBInitialHost/Port.
>
Would this also occur with an /etc/omniorb.cfg such as:
host blah
port 8088
Or is it only if these are passed on the command line?
-Brent
------_=_NextPart_001_01BF4682.5D3507B4--
From mdb@jimi.nwest.mccaw.com Wed Dec 15 06:08:24 1999
From: mdb@jimi.nwest.mccaw.com (Mark Borges)
Date: 14 Dec 1999 22:08:24 -0800
Subject: [omniORB] omniORBpy: segfault/bus errors using Any?
Message-ID:
I'm not sure if this is an obscure compiler/optimization bug, a
misunderstanding of the Python mapping for Any on my part, or
something else entirely different.
Running the following snippet of code (which is boiled down from a
larger application and basically nonsensical as-is) I consistently get
a segmentation fault:
-----------------------------------------------------------------------
$ ./srv.py &
IOR:000000000000001049444c3a592f5265706c793a312e300000000001000000000000002c000100000000000f3134312e3230342e3137382e3638000299e100000000000c38572cf3a7abb22b00000002
$ ./clt.py
xx= PENDING
typecode=
{'dueDate': '01/01/2000', 'woState': PENDING, 'woId': '12345'}
zsh: 16940 segmentation fault (core dumped) ./clt.py
-----------------------------------------------------------------------
Can anyone verify if this is reproducible elsewhere, or if I should
focus more on the local installation of omniORBpy and the specific
build I'm using on this OS:
$ gcc -dumpversion -dumpmachine
2.95.2
$ gcc -dumpmachine
sparc-sun-solaris2.6
$ uname -a
SunOS jimi 5.6 Generic_105181-14 sun4u sparc SUNW,Ultra-5_10
Or if I've done something boneheaded in the appended code?
-----------------------------------------------------------------------
$ cat Y.idl
module Y {
enum jobState {
PENDING,
COMPLETED
};
struct Foo {
string woId;
jobState woState;
string dueDate;
};
interface Reply {
oneway void result (in unsigned long id,
in boolean success,
in any data);
}; //end of interface
}; // end of module
-----------------------------------------------------------------------
$ cat srv.py
#!/usr/bin/env python
import sys
from omniORB import CORBA, PortableServer
# Import the skeletons
import POA_Y
# Initialise the ORB
orb = CORBA.ORB_init(sys.argv, CORBA.ORB_ID)
# Find the POA
poa = orb.resolve_initial_references("RootPOA")
# Activate the POA
poaManager = poa._get_the_POAManager()
poaManager.activate()
class PushMe_i (POA_Y.Reply):
def result(self, id,ok,data):
print "result() called"
print "id=",id
print "ok code=",ok
print data.typecode()
print data.value().woId
print data.value().woState
# Create an instance of it
ei = PushMe_i()
# Create an object reference, and implicitly activate the object
eo = ei._this()
# Print out the IOR
ior = orb.object_to_string(eo)
print ior
# Stash it in a file
open('srv.ior', 'w').write(ior)
# Everything is running now, but if this thread drops out of the end
# of the file, the process will exit. orb.run() just blocks for ever
orb.run()
-----------------------------------------------------------------------
$ cat clt.py
#!/usr/bin/env python
import sys
# Import the CORBA module
from omniORB import CORBA
# Import the stubs
import Y
# Initialise the ORB
orb = CORBA.ORB_init(sys.argv, CORBA.ORB_ID)
# Read the server's stringified IOR from a file.
my_ior = open('srv.ior', 'r').read()
# Convert the IOR to an object reference
object = orb.string_to_object(my_ior)
xx=Y.PENDING
print 'xx=',xx
c = Y.Foo('12345',Y.PENDING,'01/01/2000')
# Now create the "Any".
tc = CORBA.TypeCode('IDL:Y/Foo:1.0')
print "typecode=",tc
# -----------------------------------------------------------------------
aa = CORBA.Any(tc, c)
print aa.typecode
print aa.value().__dict__
id = 3
success = 1
object.result(id,success,aa)
print "oneway push done"
From johannes@ees2.oulu.fi Wed Dec 15 07:27:47 1999
From: johannes@ees2.oulu.fi (Janne Haverinen)
Date: Wed, 15 Dec 1999 09:27:47 +0200
Subject: [omniORB] omniidl3 problem?
Message-ID: <385742F3.7C9D16EE@ee.oulu.fi>
Hi,
I get compilation errors when using following interface (only relevant
parts shown):
interface BMC {
...
struct State
{
float fX;
float fY;
float fZ;
};
...
attribute State Rotation;
attribute State Translation;
};
Here is one error:
../../../..//stub/BMCSK.cc:432: parse error before `&'
../../../..//stub/BMCSK.cc:433: prototype for `void
_objref_BMC::Rotation(...)' does not match any in class `_objref_BMC'
../../../../stub/BMC.hh:187: candidates are: void
_objref_BMC::Rotation(const struct BMC::State &)
../../../..//stub/BMCSK.cc:414: struct BMC::State
_objref_BMC::Rotation()
This is the prototype from BMCSK.cc:
void _objref_BMC::Rotation(const State& arg_0)
{
_0RL_cd_697bfb3c3ca689ef_60000000
_call_desc(_0RL_lcfn_697bfb3c3ca689ef_80000000, "_set_Rotation", 14, 0,
arg_0);
_invoke(_call_desc);
}
And here is the canditate from BMC.hh:
class _objref_BMC :
public virtual CORBA::Object, public virtual omniObjRef
{
public:
...
BMC::State Rotation();
void Rotation(const BMC::State&);
BMC::State Translation();
void Translation(const BMC::State&);
...
Is this a omniidl3 problem or am I doing something wrong?
// Janne Haverinen
From afo@numlock.org Wed Dec 15 08:29:37 1999
From: afo@numlock.org (afo@numlock.org)
Date: Wed, 15 Dec 1999 09:29:37 +0100
Subject: [omniORB] FreeBSD and omniORBpy
In-Reply-To: from "Brad Chapman" at Dec 14, 1999 02:37:02 PM
Message-ID: <19991215082937.26185.qmail@big.muc.de>
Brad Chapman wrote:
>
>
>That was exactly the problem. I added config-freebsd.h (just a copy of
>config_linux.h) and edited the config.h main file and everything built
>without a problem. The catch--I'm having problems once again dealing with
>the examples. When I try to run omniidl on the echo_example.idl to generate
>the stubs I get the following:
>
>$ omniidl echo.idl
>Traceback (innermost last):
> File "/usr/local/omniORB/bin/scripts/omniidl", line 30, in ?
> import omniidl.main
> File "/usr/local/omniORB/lib/python/omniidl/main.py", line 66, in ?
> import _omniidl
>ImportError: No module named _omniidl
>
>Similary, if I just try to start up the server without generating stubs:
>
>$ ./echo_example_srv.py &
>[2] 29419
>insomniac# Traceback (innermost last):
> File "./echo_example_srv.py", line 4, in ?
> from omniORB import CORBA, PortableServer
> File "/usr/local/omniORB/lib/python/omniORB/__init__.py", line 88, in ?
> import _omnipy
>ImportError: No module named _omnipy
>
>I have PYTHONPATH, LD_LIBRARY_PATH and regular ol' PATH set according to
>the omniORBpy readme and the README.unix.
> Sorry for the continual problems. Any advice anyone could give
>would be greatly appreciated. Meanwhile I'm keep messing around!
due to missing FreeBSD sections in
omniORB-2.8.0/src/lib/omniORBpy/omniidl/cxx/dir.mk
and
omniORB-2.8.0/src/lib/omniORBpy/modules/omnipy/dir.mk
neither the _omnipymodule.so nor _omniidlmodule.so native modules
for python were created
after applying the following 2 patches i finally managed to get omniORBpy
working on FreeBSD (3.3-RELEASE,omniORB 2.8.0,omniORBpy 19991214)
at least the echo_example sample runs:
--- tmp/omniORB-2.8.0/src/lib/omniORBpy/modules/omnipy/dir.mk Thu Nov 25 12:49
:32 1999
+++ omniORB-2.8.0/src/lib/omniORBpy/modules/omnipy/dir.mk Wed Dec 15 02:31
:12 1999
@@ -65,6 +65,41 @@
)
endif
+#############################################################################
+# Make rules for FreeBSD #
+#############################################################################
+
+ifdef FreeBSD
+
+CXXOPTIONS += -fPIC
+
+libname = _omnipymodule.so
+soname = $(libname).$(OMNIPY_MAJOR)
+lib = $(soname).$(OMNIPY_MINOR)
+
+$(lib): $(OBJS)
+ (set -x; \
+ $(RM) $@; \
+ $(CXXLINK) $(CXXLINKOPTIONS) -shared -o $@ -Wl,-soname,$(soname) $(IMPOR
T_LIBRARY_FLAGS) $(OMNIORB2_LIB_NODYN_DEPEND)\
+ $(filter-out $(LibSuffixPattern),$^) $(OMNIORB2_LIB)\
+ )
+
+all:: $(lib)
+
+clean::
+ $(RM) $(lib)
+
+export:: $(lib)
+ @$(ExportLibrary)
+ @(set -x; \
+ cd $(EXPORT_TREE)/$(LIBDIR); \
+ $(RM) $(soname); \
+ ln -s $(lib) $(soname); \
+ $(RM) $(libname); \
+ ln -s $(soname) $(libname); \
+ )
+endif
+
#############################################################################
# Make rules for Solaris 2.x #
--- tmp/omniORB-2.8.0/src/lib/omniORBpy/omniidl/cxx/dir.mk Wed Dec 1 12:35
:22 1999
+++ omniORB-2.8.0/src/lib/omniORBpy/omniidl/cxx/dir.mk Wed Dec 15 03:15:41 1999
@@ -87,6 +87,42 @@
endif
+#############################################################################
+# Make rules for FreeBSD #
+#############################################################################
+
+ifdef FreeBSD
+
+CXXOPTIONS += -fPIC
+
+libname = _omniidlmodule.so
+soname = $(libname).$(IDLMODULE_MAJOR)
+lib = $(soname).$(IDLMODULE_MINOR)
+
+all:: $(lib)
+
+$(lib): $(OBJS) $(PYOBJS)
+ (set -x; \
+ $(RM) $@; \
+ $(CXXLINK) $(CXXLINKOPTIONS) -shared -o $@ -Wl,-soname,$(soname) $(IMPOR
T_LIBRARY_FLAGS) \
+ $(filter-out $(LibSuffixPattern),$^) $(LIBS)\
+ )
+
+export:: $(lib)
+ @$(ExportLibrary)
+ @(set -x; \
+ cd $(EXPORT_TREE)/$(LIBDIR); \
+ $(RM) $(soname); \
+ ln -s $(lib) $(soname); \
+ $(RM) $(libname); \
+ ln -s $(soname) $(libname); \
+ )
+
+clean::
+ $(RM) $(lib)
+
+endif
+
#############################################################################
# Make rules for Solaris 2.x #
-------- end diff --------------------------------------------------------
anybody knows why i get the following error for an make export
in omniORBpy ?
make[5]: *** No rule to make target ie.py', needed by xport'. Stop.
make[5]: Leaving directory /home/GLOBAL/src/omniORB-2.8.0/src/lib/omniORBpy/omni
idl/python/be/cxx/header'
after commenting out the the rule for tie.py in dir.mk the make export runs fine
ps: duncan can you please change in config/config.mk line 67
from
#platform = i386_freebsd_3.2
into
#platform = x86_freebsd_3.2
thank you
--
// Andre Fornacon
// afo zlug org
// hardware lebt und ist boese ...
From dgrisby@uk.research.att.com Wed Dec 15 10:23:25 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 15 Dec 1999 10:23:25 +0000
Subject: [omniORB] scheme
In-Reply-To: Your message of "Tue, 14 Dec 1999 15:13:35 EST."
<966B307EF37DD311A3B1002048400F1B87C962@uspto-is-104.uspto.gov>
Message-ID: <199912151023.KAA16760@pineapple.cam-orl.co.uk>
On Tuesday 14 December, "Chung, David" wrote:
> (1) I am just curious to how long did it take you to write python
> ORB and the IDL compiler? I'd assume that most efforts were spent on
> writing the ORBpy, right?
It didn't take too long to write the Python ORB itself -- three or
four months I suppose. Most of the time I spent on the IDL compiler
was writing the new front end. Now that's done, writing back-ends is
pretty easy.
> (2) Is there a plan to implement a CosTransaction service? With
> recovery, and other good stuff (that is not par of CORBA spec).
We have no plans to do a transaction service ourselves, but there is
one commercial one available for omniORB. See:
http://www.uk.research.att.com/omniORB/contribapp.html#OTSArjuna
> P.S.
> There are more similarities than meets the eye between Scheme and
> python. See http://www.python.org/doc/pythonVSscheme.html
That reads to me as saying that they're significantly different. It's
true that to a large extent you can use either language as if it was
the other, but I think that rather perverts the intent of both
languages.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From djr@uk.research.att.com Wed Dec 15 10:21:20 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Wed, 15 Dec 1999 10:21:20 +0000 (GMT)
Subject: [omniORB] omniidl3 problem?
In-Reply-To: <385742F3.7C9D16EE@ee.oulu.fi>
Message-ID:
Hi Janne,
I have just compiled this IDL, and the resulting c++ code without
problems. Do you get this problem if your IDL file contains only the IDL
you have given here?
David
On Wed, 15 Dec 1999, Janne Haverinen wrote:
> Hi,
>
> I get compilation errors when using following interface (only relevant
> parts shown):
>
> interface BMC {
>
> ...
>
> struct State
> {
> float fX;
> float fY;
> float fZ;
> };
>
> ...
>
> attribute State Rotation;
> attribute State Translation;
>
> };
From dgrisby@uk.research.att.com Wed Dec 15 10:56:50 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 15 Dec 1999 10:56:50 +0000
Subject: [omniORB] omniORBpy: segfault/bus errors using Any?
In-Reply-To: Your message of "14 Dec 1999 22:08:24 PST."
Message-ID: <199912151056.KAA18705@pineapple.cam-orl.co.uk>
On Tuesday 14 December, Mark Borges wrote:
> I'm not sure if this is an obscure compiler/optimization bug, a
> misunderstanding of the Python mapping for Any on my part, or
> something else entirely different.
It's an omniORBpy bug! Here's a patch. It will appear in CVS
overnight.
Cheers,
Duncan.
RCS file: /project/omni/cvsroot/omniORBpy/modules/omnipy/pyTypeCode.cc,v
retrieving revision 1.5
diff -u -r1.5 pyTypeCode.cc
--- pyTypeCode.cc 1999/09/24 09:22:02 1.5
+++ pyTypeCode.cc 1999/12/15 10:51:48
@@ -371,7 +371,7 @@
PyObject* mems = PyTuple_GET_ITEM(d_o, 3); assert(PyTuple_Check(mems));
PyObject* mem;
- int cnt = PyTuple_GET_SIZE(t_o);
+ int cnt = PyTuple_GET_SIZE(mems);
for (int i=0; i
Message-ID: <199912151103.LAA18749@pineapple.cam-orl.co.uk>
On Tuesday 14 December, Brent Fulgham wrote:
[...deadlock in omniNames...]
> Would this also occur with an /etc/omniorb.cfg such as:
>
> host blah
> port 8088
Yes. You can easily point omniNames to a different config file by
setting the OMNIORB_CONFIG environment variable. omniNames doesn't
need to know the host and port of the Naming service of course...
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Wed Dec 15 11:18:52 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 15 Dec 1999 11:18:52 +0000
Subject: [omniORB] FreeBSD and omniORBpy
In-Reply-To: Your message of "Wed, 15 Dec 1999 09:29:37 +0100."
<19991215082937.26185.qmail@big.muc.de>
Message-ID: <199912151118.LAA18830@pineapple.cam-orl.co.uk>
On Wednesday 15 December, afo@numlock.org wrote:
> due to missing FreeBSD sections in
> omniORB-2.8.0/src/lib/omniORBpy/omniidl/cxx/dir.mk
> and
> omniORB-2.8.0/src/lib/omniORBpy/modules/omnipy/dir.mk
>
> neither the _omnipymodule.so nor _omniidlmodule.so native modules
> for python were created
Thanks for your make rule contributions. They will appear in CVS
overnight.
> anybody knows why i get the following error for an make export
> in omniORBpy ?
>
> make[5]: *** No rule to make target ie.py', needed by xport'. Stop.
> make[5]: Leaving directory /home/GLOBAL/src/omniORB-2.8.0/src/lib/omniORBpy/omni
> idl/python/be/cxx/header'
>
> after commenting out the the rule for tie.py in dir.mk the make
> export runs fine
tie.py appears to be in the CVS repository now. I guess you managed to
check it out when dir.mk had been updated by tie.py hadn't been added.
As you might have guessed, all the files in be/cxx are
work-in-progress towards the new back-end for omniORB 3. You can
safely ignore it.
> ps: duncan can you please change in config/config.mk line 67
> from
> #platform = i386_freebsd_3.2
> into
> #platform = x86_freebsd_3.2
Will do.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Wed Dec 15 11:22:06 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 15 Dec 1999 11:22:06 +0000
Subject: [omniORB] FreeBSD and omniORBpy
In-Reply-To: Your message of "Tue, 14 Dec 1999 14:37:02 EST."
Message-ID: <199912151122.LAA18848@pineapple.cam-orl.co.uk>
On Tuesday 14 December, Brad Chapman wrote:
[...]
> gmake[2]: Entering directory `/usr/local/omniORB/src/appl/omniNames'
> + rm -f omniNames
> + g++295 -pthread -s -o omniNames -O2 -Wall -Wno-unused
> -L../../../lib/x86_freebsd_3.2 omniNames.o NamingContext_i.o log.o
> omniNames.o: In function `main':
> omniNames.o(.text+0x433): undefined reference to `CORBA::ORB_init(int &,
For some reason, the link command isn't including the omniORB
libraries.
[...]
> The makefiles didn't build the stubs first. If I don't manually run
> omniidl2, the compile with complain about missing echo.hh files.
The makefiles should automatically build the stubs. I think there must
be something broken about either your set-up or the platform file for
FreeBSD. I'm afraid that we don't have any FreeBSD machines here, so
it's very hard for me to help.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From AGONNE@acxiom.co.uk Wed Dec 15 14:19:21 1999
From: AGONNE@acxiom.co.uk (agonne - Andrew Gonnet)
Date: Wed, 15 Dec 1999 14:19:21 -0000
Subject: [omniORB] omniORB on Alpha NT
Message-ID:
Hello,
I want to compile version 2.8.0 to run on an Alpha NT 4.0 machine.
I've found a reference to this in "README.win32", the config/config.mk
setting "platform = alpha_nt_4.0" and the win32.mk/alpha_nt_4.0.mk files.
But this is all.
Is there any further information available, or can anyone tell me what to
do? The sentence under "Building omniORB2 from the source files" in
"README.win32" just says, "For alpha NT, the binary distribution is compiled
under Interix (OpenNT) posix subsystem".
Any help would be very appreciated.
Thanks,
Andrew Gonnet.
P.S. Happy Christmas to everyone on the list!
From brent.fulgham@xpsystems.com Wed Dec 15 17:24:41 1999
From: brent.fulgham@xpsystems.com (Brent Fulgham)
Date: Wed, 15 Dec 1999 09:24:41 -0800
Subject: [omniORB] Naming Server Crash
Message-ID:
> [...deadlock in omniNames...]
>
> > Would this also occur with an /etc/omniorb.cfg such as:
> >
> > host blah
> > port 8088
>
> Yes. You can easily point omniNames to a different config file by
> setting the OMNIORB_CONFIG environment variable. omniNames doesn't
^^^^^^^^^^^^^^^^^
> need to know the host and port of the Naming service of course...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
I'm not sure I follow. If I don't use this configuration file,
then I *must* assign a hostname and port at the command line,
don't I? How does the Nameserver know which port to listen on
otherwise?
-Brent
From dgrisby@uk.research.att.com Wed Dec 15 17:30:25 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Wed, 15 Dec 1999 17:30:25 +0000
Subject: [omniORB] Naming Server Crash
In-Reply-To: Your message of "Wed, 15 Dec 1999 09:24:41 PST."
Message-ID: <199912151730.RAA22065@pineapple.cam-orl.co.uk>
On Wednesday 15 December, Brent Fulgham wrote:
> > Yes. You can easily point omniNames to a different config file by
> > setting the OMNIORB_CONFIG environment variable. omniNames doesn't
> ^^^^^^^^^^^^^^^^^
> > need to know the host and port of the Naming service of course...
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> I'm not sure I follow. If I don't use this configuration file,
> then I *must* assign a hostname and port at the command line,
> don't I? How does the Nameserver know which port to listen on
> otherwise?
ORBInitialHost and ORBInitialPort tell clients of the Naming service
where the Naming service lives. omniNames does not use this mechanism
to decide where to put itself. It obviously knows the host, since it's
running on it; it gets the port number from -start or from the
omniNames log file.
HTH,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From r28558@email.sps.mot.com Thu Dec 16 03:14:19 1999
From: r28558@email.sps.mot.com (David Woodbury)
Date: Wed, 15 Dec 1999 20:14:19 -0700
Subject: [omniORB] oneway messaging question
Message-ID: <3858590B.BDE5F869@email.sps.mot.com>
Hi:
Does OmniOrb's oneway messaging support distribution/broadcast to
multiple concurrent subscribers? I'd try this out myself but am in a
holding pattern while my test system is upgraded with latest compiler.
Thanks!
Dave Woodbury
Motorola SPS
From dgrisby@uk.research.att.com Thu Dec 16 09:39:41 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Thu, 16 Dec 1999 09:39:41 +0000
Subject: [omniORB] oneway messaging question
In-Reply-To: Your message of "Wed, 15 Dec 1999 20:14:19 MST."
<3858590B.BDE5F869@email.sps.mot.com>
Message-ID: <199912160939.JAA24381@pineapple.cam-orl.co.uk>
On Wednesday 15 December, "David Woodbury" wrote:
> Does OmniOrb's oneway messaging support distribution/broadcast to
> multiple concurrent subscribers? I'd try this out myself but am in a
> holding pattern while my test system is upgraded with latest compiler.
No, and that's not what oneways are for. oneway just does a possibly
non-blocking, unreliable, call to a single server. In omniORB, oneways
are non-blocking unless you send so many that the TCP buffer fills up,
and almost always arrive. The only situation in which oneways are lost
is when the server-side closes the TCP connection while a oneway call
is in flight. Since there is no reply to a oneway, the ORB can't
detect this situation.
You can use oneway to make multiple concurrent calls to different
servers by just doing them one after the other, but that's nothing
like a broadcast / multicast. I guess what you want is an event
service which uses multicast to contact all subscribers. omniORB
doesn't have one of them.
HTH,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From brent.fulgham@xpsystems.com Thu Dec 16 19:42:30 1999
From: brent.fulgham@xpsystems.com (Brent Fulgham)
Date: Thu, 16 Dec 1999 11:42:30 -0800
Subject: [omniORB] Conflict with other ORBs?
Message-ID:
[ ... omniorb in the background seems to die when
GNOME is running ...]
>
> The ORBs should not be visible to each other unless they are
> explicitly introduced by passing an IOR between them. Unless ORBit is
> maliciously looking for and killing omniNames, it should never see
> it. Maybe you could try running omniNames in a console, rather than in
> the background, to see if it prints anything meaningful when it dies.
>
I tried this experiment, but it did not reveal too much. One interesting
note is that omniorb does not die when GNOME starts, or even once I've
accessed GNOME applications (running with Gnorba).
However, if I terminate X (CTRL-ALT-BACKSPACE) omniorb gets killed
along with everything running under X. I don't think this is the
only case where omniorb gets killed, because I have experienced
omniorb stopping even when I have not terminated X.
Could signals meant for Gnorba to instruct it to shut down somehow
get passed to OmniORB? There are no interesting messages printed
on the console...
-Brent
From seefelds@MAGELLAN.UMontreal.CA Fri Dec 17 16:35:47 1999
From: seefelds@MAGELLAN.UMontreal.CA (Stefan Seefeld)
Date: Fri, 17 Dec 1999 16:35:47 +0000
Subject: [omniORB] request: omniidl command line options
Message-ID: <385A6663.B6C6BAB5@magellan.umontreal.ca>
I'd like to propose the following two command line options
to make life easier:
* include a user defined header file on top of each generated
header. This could be extremely useful for config.h files
where all the system dependant #define's could be hidden in.
like: omniidl2 -c[onfig] config.hh Graphic.idl
* prefix all include statements for other auto generated headers
with a user defined directory to make it possible to output the
generated headers in a different location without the need of
endlessly long -I options
like: omniidl2 -p[refix] Warsaw Warsaw/Graphic.idl
Thanks, Stefan
_______________________________________________________
Stefan Seefeld
Departement de Physique
Universite de Montreal
email: seefelds@magellan.umontreal.ca
_______________________________________________________
...ich hab' noch einen Koffer in Berlin...
From sxthree@penfeld.tls.mms.fr Fri Dec 17 15:43:20 1999
From: sxthree@penfeld.tls.mms.fr (F. Michel)
Date: Fri, 17 Dec 1999 16:43:20 +0100
Subject: [omniORB] Introduction..
Message-ID: <385A5A17.5501FE96@penfeld.tls.mms.fr>
Hi omniORB users & developpers.
I'm new on this list, though I've been using omniORB
for a few months. My name is Francis Michel (the
email is not really explicit about this), working as
a SW engineer in Matra, Toulouse, south of France.
I'm currently using version 2.8.0 (last stable release) and
my job for now is to provide an "industrial" version of a
product that was initially developped with Iona's Orbix.
I had to make a few changes in the compiler in order to
compile the idls and have them work the way we expected
them to when using Orbix. I tried to introduce fonctionalities
without modifying the nominal behaviour using command line
options to omniidl2 and ifdefs in CORBA.h.
I'd like to know which of those patches may be integrated in
new releases and which may not. Some may have better
implementations, some may break OMG compliance.
Here is a list:
- RefCounting. For explicit object management we need to
know the refount of CORBA objects as well as our local objects.
omniObject only provides a private method for refCount retrieval.
Is there a reason why it couldn't be public (or at least protected) ?
- Naming service. Our product provides its own naming service
with an externalization method. It was initially developped using
OMG specification and now that all ORBs implement this service
we experience lots of name clashes. Well, I won't really agree with
this initial choice, but I have to deal with, so... Could it be possible
to
make omniORB naming service an optional feature ? (few ifdefs...)
- Keep include paths in generated stubs. This is a "nice to have"
feature. I've implemented a "-K" options which allows to keep
include paths and to remove given prefixes from the absolute paths.
- Skeleton generation. The purpose is to generate a dispatch method
inside the interface class rather than generating a skeleton class
for servers. This is a quite personal approach of the BOA but it allows
diamond inheritance between interfaces.
- CORBA::Environment. Orbix provides an additional parameter to
all distributed methods. We never use this parameter but it's in the
code. I've added an option to generate this parameter with default
values for operations and attribute access methods.
Of course each point should be given further explanations, this is just
an introduction.
=========================================================
Something different: I've noticed a problem with name lookup. An
identifier is now searched only in the first inherited level.
( An interface A defines an exception ex. B inherits from A and C
inherits from B. C defines a method which raises an ex. There, ex
is said not to be defined.)
This worked with omniidl2 V 2.7.1.
Is there a change in scoping policy ?
Thanks for any information about this.
salutations.
Nyny
From ceyhun_ozgun@hotmail.com Fri Dec 17 15:11:23 1999
From: ceyhun_ozgun@hotmail.com (Ceyhun ÖZGÜN)
Date: Fri, 17 Dec 1999 07:11:23 PST
Subject: [omniORB] If client deads method continues to run in server ?
Message-ID: <19991217151123.28443.qmail@hotmail.com>
Hi,
I have a question.
A client performs an operation on an object. While server method runs
a while, for example one or two hours, client programs terminates.
I wonder if OmniOrb delete the thread while runnig that long method.
Can OmniOrb distinguish that client terminated?.
I am using omniOrb 2.7. I am doing a long calculation taking hours. And if
client terminates server thread continues running without knowing that
client terminated.
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
From flynch@usa.net Fri Dec 17 17:29:29 1999
From: flynch@usa.net (flynch@usa.net)
Date: 17 Dec 1999 17:29:29 -0000
Subject: ?Re: [omniORB] Introduction..
Message-ID: <19991217172929.16010.qmail@host1.11net.com>
Some comments in-line...
>I'm currently using version 2.8.0 (last stable release) and
>my job for now is to provide an "industrial" version of a
>product that was initially developped with Iona's Orbix.
For "industrial" work I'd recommend a POA based ORB like omniORB3 or Orbix2000
>Here is a list:
>- RefCounting. For explicit object management we need to
>know the refount of CORBA objects as well as our local objects.
>omniObject only provides a private method for refCount retrieval.
>Is there a reason why it couldn't be public (or at least protected) ?
>
I agree 100% being able to get the refCount of a CORBA object is extremely usefull. (Even if it requires a non-standard API :-)
>- Naming service. Our product provides its own naming service
>with an externalization method. It was initially developped using
>OMG specification and now that all ORBs implement this service
>we experience lots of name clashes. Well, I won't really agree with
>this initial choice, but I have to deal with, so... Could it be possible
>to
>make omniORB naming service an optional feature ? (few ifdefs...)
AFAIK Using the omniORB naming service is optional, resolve_initial_references returns an object reference that you have specified (in a strinafied form) in the config file. So provided you have implemented a CORBA compliant namgin service (ie you implement CosNaming::NamingContext) this should not be an issue.
>- Skeleton generation. The purpose is to generate a dispatch method
>inside the interface class rather than generating a skeleton class
>for servers. This is a quite personal approach of the BOA but it allows
>diamond inheritance between interfaces.
I agree with this again, there is no point in having all the generated code linked with both clients and servers. FATWARE is not good. Splitting the client and server side generated code is a good thing.
>- CORBA::Environment. Orbix provides an additional parameter to
>all distributed methods. We never use this parameter but it's in the
>code. I've added an option to generate this parameter with default
>values for operations and attribute access methods.
This CORBA::Environment is used in Orbix to support compilers that do not have native C++ exceptions, and also for timeouts on operation calls.
This parameter has been dropped with Orbix2000, and I don't think that there is any reason that it should be added to omniORB.
BTW Orbix's use of this parameter *IS* CORBA compliant. The spec states that each method *may* take CORBA::Environment as a parameter. I suggest that you consider implementing a portability layer that would allow you to target several different ORB's.
Regards,
Frank
From dgrisby@uk.research.att.com Fri Dec 17 17:58:32 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Fri, 17 Dec 1999 17:58:32 +0000
Subject: [omniORB] Introduction..
In-Reply-To: Your message of "Fri, 17 Dec 1999 16:43:20 +0100."
<385A5A17.5501FE96@penfeld.tls.mms.fr>
Message-ID: <199912171758.RAA07308@pineapple.cam-orl.co.uk>
On Friday 17 December, "F. Michel" wrote:
> - Naming service. Our product provides its own naming service
> with an externalization method. It was initially developped using
> OMG specification and now that all ORBs implement this service
> we experience lots of name clashes. Well, I won't really agree with
> this initial choice, but I have to deal with, so... Could it be possible
> to
> make omniORB naming service an optional feature ? (few ifdefs...)
You don't have to use omniORB's Naming service if you don't want to.
> - Keep include paths in generated stubs. This is a "nice to have"
> feature. I've implemented a "-K" options which allows to keep
> include paths and to remove given prefixes from the absolute paths.
This is a potentially useful feature, but becomes less important if
you use a sensible makefile set-up. If you send us your patches, we'll
consider including them.
> - Skeleton generation. The purpose is to generate a dispatch method
> inside the interface class rather than generating a skeleton class
> for servers. This is a quite personal approach of the BOA but it allows
> diamond inheritance between interfaces.
I don't understand this. Can you explain more? There's nothing
preventing you using diamond inheritance with the current IDL compiler
is there?
> - CORBA::Environment. Orbix provides an additional parameter to
> all distributed methods. We never use this parameter but it's in the
> code. I've added an option to generate this parameter with default
> values for operations and attribute access methods.
The C++ mapping makes Environment an option if you don't have genuine
C++ exceptions. Its use isn't necessary with omniORB, and I think it
would be a backward step to provide an option to include it.
> Something different: I've noticed a problem with name lookup. An
> identifier is now searched only in the first inherited level.
> ( An interface A defines an exception ex. B inherits from A and C
> inherits from B. C defines a method which raises an ex. There, ex
> is said not to be defined.)
> This worked with omniidl2 V 2.7.1.
This is a bug which was introduced in fixing a similar bug :-(. The
fix will appear in CVS and FTP snapshots overnight.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From ceyhun_ozgun@hotmail.com Fri Dec 17 19:14:22 1999
From: ceyhun_ozgun@hotmail.com (Ceyhun ÖZGÜN)
Date: Fri, 17 Dec 1999 11:14:22 PST
Subject: [omniORB] Is not possible to invoke same method from different threads at client?
Message-ID: <19991217191422.53766.qmail@hotmail.com>
Hi,
I am using omniORB 2.7.1.
When one thread invokes a method and while it is running
other threads of client blocks.
I think these threads use same socket. And because server side of that
socket is busy, threads are blocking.
Any idea about this situation.
Thanks.
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
From dcmay@object-workshops.com Fri Dec 17 22:41:50 1999
From: dcmay@object-workshops.com (Dietmar May)
Date: Fri, 17 Dec 1999 17:41:50 -0500
Subject: [omniORB] omniidl3 problem?
Message-ID: <01BF489C.BEDCC260@host254.lan.wythe.naxs.com>
> ../../../..//stub/BMCSK.cc:432: parse error before `&'
This message looks like "State" is not being recognized.
> void _objref_BMC::Rotation(const State& arg_0)
> {
> ...
> }
Should this be
void _objref_BMC::Rotation(const BMC::State& arg_0)
instead of:
void _objref_BMC::Rotation(const /*missing namespace*/State& arg_0)
??
Dietmar
From djr@uk.research.att.com Sat Dec 18 13:18:46 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Sat, 18 Dec 1999 13:18:46 +0000 (GMT)
Subject: [omniORB] If client deads method continues to run in server ?
In-Reply-To: <19991217151123.28443.qmail@hotmail.com>
Message-ID:
On Fri, 17 Dec 1999, Ceyhun =D6ZG=DCN wrote:
> I have a question.
> A client performs an operation on an object. While server method runs
> a while, for example one or two hours, client programs terminates.
> I wonder if OmniOrb delete the thread while runnig that long method.
> Can OmniOrb distinguish that client terminated?.
No, there is no way omniORB can tell if a client has died during a call.
You could implement that yourself though. For example the client could
pass an object reference to the server, and the server would periodically
'ping' that object (in the client) to see if it is still alive.
Cheers,
David
From djr@uk.research.att.com Sat Dec 18 13:20:50 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Sat, 18 Dec 1999 13:20:50 +0000 (GMT)
Subject: [omniORB] Is not possible to invoke same method from different
threads at client?
In-Reply-To: <19991217191422.53766.qmail@hotmail.com>
Message-ID:
On Fri, 17 Dec 1999, Ceyhun =D6ZG=DCN wrote:
> I am using omniORB 2.7.1.
> When one thread invokes a method and while it is running
> other threads of client blocks.
> I think these threads use same socket. And because server side of that=20
> socket is busy, threads are blocking.
No -- omniORB will spawn multiple connections between a client and a
server to support multiple concurrent calls. Unless you are holding on to
some mutex in your server object implementation code, other clients should
not block.
David
From djr@uk.research.att.com Sat Dec 18 14:43:25 1999
From: djr@uk.research.att.com (David Riddoch)
Date: Sat, 18 Dec 1999 14:43:25 +0000 (GMT)
Subject: [omniORB] omniidl3 problem?
In-Reply-To: <01BF489C.BEDCC260@host254.lan.wythe.naxs.com>
Message-ID:
Hi
Ooops -- fixed this a few days ago and forgot to tell anyone!
As Dietmar says, it was a scoping problem for the argument to attribute
mutators.
Its in CVS.
David
On Fri, 17 Dec 1999, Dietmar May wrote:
> > ../../../..//stub/BMCSK.cc:432: parse error before `&'
>
> This message looks like "State" is not being recognized.
>
> > void _objref_BMC::Rotation(const State& arg_0)
> > {
> > ...
> > }
>
> Should this be
> void _objref_BMC::Rotation(const BMC::State& arg_0)
>
> instead of:
> void _objref_BMC::Rotation(const /*missing namespace*/State& arg_0)
>
> ??
> Dietmar
From dgrisby@uk.research.att.com Mon Dec 20 09:37:32 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Mon, 20 Dec 1999 09:37:32 +0000
Subject: [omniORB] Conflict with other ORBs?
In-Reply-To: Your message of "Thu, 16 Dec 1999 11:42:30 PST."
Message-ID: <199912200937.JAA02823@pineapple.cam-orl.co.uk>
On Thursday 16 December, Brent Fulgham wrote:
> [ ... omniorb in the background seems to die when
> GNOME is running ...]
> However, if I terminate X (CTRL-ALT-BACKSPACE) omniorb gets killed
> along with everything running under X. I don't think this is the
> only case where omniorb gets killed, because I have experienced
> omniorb stopping even when I have not terminated X.
Is this when omniNames is running in an Xterm? Or started from one
and running in the background? If not, killing X shouldn't have any
effect on omniNames.
> Could signals meant for Gnorba to instruct it to shut down somehow
> get passed to OmniORB? There are no interesting messages printed
> on the console...
I don't see how a signal for one process could cause another to die.
I suppose one obscure possibility is that your kernel is dodgy, and
randomly sends signals to incorrect processes. I would have thought
that you would see other things dying if that was the case.
Unless anyone else is seeing this problem, I can only assume that
there's something very strange about your set-up.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From dgrisby@uk.research.att.com Mon Dec 20 09:31:03 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Mon, 20 Dec 1999 09:31:03 +0000
Subject: [omniORB] Any Sun C++ 5.0 updates???
In-Reply-To: Your message of "Fri, 10 Dec 1999 01:54:38 EST."
<3850A3AE.E394AE4E@redconnect.net>
Message-ID: <199912200931.JAA02801@pineapple.cam-orl.co.uk>
On Friday 10 December, Alex Agranov wrote:
> Any news on this front? We're moving to production soon with the 5.0
> compiler (client choice, not ours) and the thing makes me feel real uneasy.
> I've applied the new libC patch (there's been a new one since the omni 2.8.0
> release notes) which is stated as fixing some exception handling snafus but
> it doesn't seem to have any effect. And yes, the compile times are
> flabbergasting...
omniORB 2.8.0 works OK with Sun's 5.0 compiler, but I believe you
still need to compile everything with -g, although you can have -O2
-g.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From sxthree@penfeld.tls.mms.fr Mon Dec 20 13:32:28 1999
From: sxthree@penfeld.tls.mms.fr (F. Michel)
Date: Mon, 20 Dec 1999 14:32:28 +0100
Subject: [omniORB] Introduction..
References: <199912171758.RAA07308@pineapple.cam-orl.co.uk>
Message-ID: <385E2FEB.FC72FBD2@penfeld.tls.mms.fr>
Duncan Grisby wrote:
> On Friday 17 December, "F. Michel" wrote:
>
> > - Naming service. Our product provides its own naming service
> > with an externalization method. It was initially developped using
> > OMG specification and now that all ORBs implement this service
> > we experience lots of name clashes. Well, I won't really agree with
> > this initial choice, but I have to deal with, so... Could it be possible
> > to
> > make omniORB naming service an optional feature ? (few ifdefs...)
>
> You don't have to use omniORB's Naming service if you don't want to.
Since, CosNaming::NamingContext is part of libomniORB2, we cannot mixit with
our implementation of this object. An additional compile flag
(NO_OMNI_NAMES for instance) gives us the behaviour we need with
really little changes to the source and does not impact the nominal
behaviour.
>
>
> > - Keep include paths in generated stubs. This is a "nice to have"
> > feature. I've implemented a "-K" options which allows to keep
> > include paths and to remove given prefixes from the absolute paths.
>
> This is a potentially useful feature, but becomes less important if
> you use a sensible makefile set-up. If you send us your patches, we'll
> consider including them.
The patch consists in maintaining a list of prefixes which may beremoved from
absolute paths. The functionality is implemented
in stripped_name in idl.ll. Instead of keeping only the last component
of the path, we remove the given prefix.
In what form do you expect patches, I can join diffs to my next mail.
>
>
> > - Skeleton generation. The purpose is to generate a dispatch method
> > inside the interface class rather than generating a skeleton class
> > for servers. This is a quite personal approach of the BOA but it allows
> > diamond inheritance between interfaces.
>
> I don't understand this. Can you explain more? There's nothing
> preventing you using diamond inheritance with the current IDL compiler
> is there?
Well, this is not a simple issue. I'm currently trying to isolate a
simplecase where the skel inheritance won't work. I'll submit it to you
later.
>
>
> > - CORBA::Environment. Orbix provides an additional parameter to
> > all distributed methods. We never use this parameter but it's in the
> > code. I've added an option to generate this parameter with default
> > values for operations and attribute access methods.
>
> The C++ mapping makes Environment an option if you don't have genuine
> C++ exceptions. Its use isn't necessary with omniORB, and I think it
> would be a backward step to provide an option to include it.
Agreed. Indeed one of our targets does not support C++ eh. However
we can implement locally an additional "portability" layer.
> > Something different: I've noticed a problem with name lookup. An
> > identifier is now searched only in the first inherited level.
> > ( An interface A defines an exception ex. B inherits from A and C
> > inherits from B. C defines a method which raises an ex. There, ex
> > is said not to be defined.)
> > This worked with omniidl2 V 2.7.1.
>
> This is a bug which was introduced in fixing a similar bug :-(. The
> fix will appear in CVS and FTP snapshots overnight.
>
OK applied, thanx.
(The firewall here won't allow cvs access. Is there any repository
where I could find diffs instead of the whole source tree ?)
About refcount retrieval, the patch I'd propose consists in moving
a method of the omniObject class from the private space to the
public. I think omniObject is not part of OMG standard, is it ?
Nyny
From dgrisby@uk.research.att.com Mon Dec 20 14:07:09 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Mon, 20 Dec 1999 14:07:09 +0000
Subject: [omniORB] Introduction..
In-Reply-To: Your message of "Mon, 20 Dec 1999 14:32:28 +0100."
<385E2FEB.FC72FBD2@penfeld.tls.mms.fr>
Message-ID: <199912201407.OAA03790@pineapple.cam-orl.co.uk>
On Monday 20 December, "F. Michel" wrote:
> Since, CosNaming::NamingContext is part of libomniORB2, we cannot mixit with
> our implementation of this object. An additional compile flag
> (NO_OMNI_NAMES for instance) gives us the behaviour we need with
> really little changes to the source and does not impact the nominal
> behaviour.
Oh I see -- you have an interface which calls itself
CosNaming::NamingContext, which has a different interface to the
standard one! I definitely don't think we should encourage such nasty
behaviour by adding make options. Is there any way you can convince
the necessary people to make a different interface, derived from
CosNaming::NamingContext?
[...IDL compiler name stripping...]
> In what form do you expect patches, I can join diffs to my next mail.
Feel free to send some diffs. Note that we won't necessarily include
them in the distribution. Also, we're in the process of re-writing the
IDL compiler to be completely different, so we're not enormously keen
to keep fiddling with the old one.
[...]
> > The C++ mapping makes Environment an option if you don't have genuine
> > C++ exceptions. Its use isn't necessary with omniORB, and I think it
> > would be a backward step to provide an option to include it.
>
> Agreed. Indeed one of our targets does not support C++ eh. However
> we can implement locally an additional "portability" layer.
Are you going to try to run omniORB on a platform without C++
exceptions? omniORB absolutely requires exceptions.
> (The firewall here won't allow cvs access. Is there any repository
> where I could find diffs instead of the whole source tree ?)
I think it would be far too much hassle to automatically maintain
diffs between different revisions. That's what CVS is for afterall.
There is, however,
http://www.uk.research.att.com/omniORB/omniORBbug.html
which contains patches for some bugs.
> About refcount retrieval, the patch I'd propose consists in moving
> a method of the omniObject class from the private space to the
> public. I think omniObject is not part of OMG standard, is it ?
Unfortunately, that change will make the interface incompatible with
the old interface (on some platforms anyway), so it would require a
major version number change. We'll consider making the change to later
versions.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From rceci@master.adams.com Mon Dec 20 22:58:35 1999
From: rceci@master.adams.com (Rob Cecil)
Date: Mon, 20 Dec 1999 17:58:35 -0500
Subject: [omniORB] COMM_FAILURE and shutdown
Message-ID: <385EB49B.B7837F4A@adams.com>
--------------4A0028F4C34D1F65E9079C2B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hello,
I have implemented server process shutdown via the method invocation method,
i.e.
void
Server::shutdown()
{
... cleanup ...
spawn thread to run BOA->impl_shutdown();
}
This technique works fine, with the exception that the client throws
COMM_FAILURE. The server shuts down, but the client aborts (because I am not
handling this exception in this particular case). If the client has not
performed any method calls prior to the shutdown() call, then no COMM_FAILURE
is thrown. However, something simple like invoking a method that sends a
IOR back to the client, will cause subsequent shutdown() calls to throw the
exception. I was under the understanding that spawning a thread in the server
to run the impl_shutdown() is the preferred way, because it allows the client
method call to return. So what am I missing?
Thanks
Rob
ps.
omniORB28
Solaris2.5.1
--
| Rob Cecil | Senior Development Engineer |
| rceci@adams.com | Product Development |
| (734) 913-9351 | Mechanical Dynamics, Inc. (www.adams.com) |
--------------------------------------------------------------------
Modern Quantum Physics has found that the universe is composed of
25% protons, 15% electrons, 15% neutrons, and 45% morons.
--------------4A0028F4C34D1F65E9079C2B
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hello,
I have implemented server process shutdown via the method invocation
method, i.e.
void
Server::shutdown()
{
... cleanup ...
spawn thread to run BOA->impl_shutdown();
}
This technique works fine, with the exception that the client throws
COMM_FAILURE. The server shuts down, but the client aborts (because
I am not handling this exception in this particular case). If the
client has not performed any method calls prior to the shutdown() call,
then no COMM_FAILURE is thrown. However, something simple like invoking
a method that sends a IOR back to the client, will cause subsequent
shutdown() calls to throw the exception. I was under the understanding
that spawning a thread in the server to run the impl_shutdown() is
the preferred way, because it allows the client method call to return.
So what am I missing?
Thanks
Rob
ps.
omniORB28
Solaris2.5.1
--
| Rob Cecil | Senior Development Engineer |
| rceci@adams.com | Product Development |
| (734) 913-9351 | Mechanical Dynamics, Inc. (www.adams.com) |
--------------------------------------------------------------------
Modern Quantum Physics has found that the universe is composed of
25% protons, 15% electrons, 15% neutrons, and 45% morons.
--------------4A0028F4C34D1F65E9079C2B--
From brent.fulgham@xpsystems.com Mon Dec 20 23:39:48 1999
From: brent.fulgham@xpsystems.com (Brent Fulgham)
Date: Mon, 20 Dec 1999 15:39:48 -0800
Subject: [omniORB] Conflict with other ORBs?
Message-ID:
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01BF4B43.84D0696A
Content-Type: text/plain;
charset="iso-8859-1"
> > [ ... omniorb in the background seems to die when
> > GNOME is running ...]
>
> > However, if I terminate X (CTRL-ALT-BACKSPACE) omniorb gets killed
> > along with everything running under X. I don't think this is the
> > only case where omniorb gets killed, because I have experienced
> > omniorb stopping even when I have not terminated X.
>
> Is this when omniNames is running in an Xterm? Or started from one
> and running in the background? If not, killing X shouldn't have any
> effect on omniNames.
>
Right. omniNames starts up during system boot (init.d script). I
can't explain the X11 connection.
> Unless anyone else is seeing this problem, I can only assume that
> there's something very strange about your set-up.
>
Possibly. I just noticed that if I start the name server up at the
console (as root: bash# omninames -start) without passing PORT or
hostname data, things seem to work fine. I am wondering if we might
be seeing the same "bug" we spoke about last week, wherein a slight
typo in the BOA initializaton string might cause a lock condition
or "denial-of-service" type of problem.
In this case, my X11 connection might just have been simple
coincidence.
I will modify my startup script and see how this affects things.
Thanks,
-Brent
------_=_NextPart_001_01BF4B43.84D0696A
Content-Type: text/html;
charset="iso-8859-1"
RE: [omniORB] Conflict with other ORBs?
> > [ ... omniorb in the background seems to die when
> > GNOME is running ...]
>
> > However, if I terminate X (CTRL-ALT-BACKSPACE) omniorb gets killed
> > along with everything running under X. I don't think this is the
> > only case where omniorb gets killed, because I have experienced
> > omniorb stopping even when I have not terminated X.
>
> Is this when omniNames is running in an Xterm? Or started from one
> and running in the background? If not, killing X shouldn't have any
> effect on omniNames.
>
Right. omniNames starts up during system boot (init.d script). I
can't explain the X11 connection.
> Unless anyone else is seeing this problem, I can only assume that
> there's something very strange about your set-up.
>
Possibly. I just noticed that if I start the name server up at the
console (as root: bash# omninames -start) without passing PORT or
hostname data, things seem to work fine. I am wondering if we might
be seeing the same "bug" we spoke about last week, wherein a slight
typo in the BOA initializaton string might cause a lock condition
or "denial-of-service" type of problem.
In this case, my X11 connection might just have been simple
coincidence.
I will modify my startup script and see how this affects things.
Thanks,
-Brent
------_=_NextPart_001_01BF4B43.84D0696A--
From omniorb@beteigeuze.cs.tu-berlin.de Tue Dec 21 13:20:19 1999
From: omniorb@beteigeuze.cs.tu-berlin.de (Robert Sander)
Date: Tue, 21 Dec 1999 14:20:19 +0100
Subject: [omniORB] omniORBpy: import _GlobalIDL
Message-ID: <19991221142019.A27743@beteigeuze.cs.tu-berlin.de>
Hi!
I am experiencing a strange behaviour and can't help myself:
I have an idl-File compiled with "omniidl -bpython", resulting the
directory _GlobalIDL and a file_idl.py, which is imported from
_GlobalIDL/__init__.py
Now when I do an interactive python session starting with the interpreter
and the importing _GlobalIDL by hand, I see everything I need with
dir(_GlobalIDL). But within a "#!/usr/bin/python"-script importing
_GlobalIDL and the dir(_Global_IDL) reveals only ['__doc__', '__name__'].
What can I do?
Thanks for your help
--
Robert Sander
home.pages.de/~gurubert, pgp available there
tel 0700-GURUBERT
From omniorb@beteigeuze.cs.tu-berlin.de Tue Dec 21 13:21:03 1999
From: omniorb@beteigeuze.cs.tu-berlin.de (Robert Sander)
Date: Tue, 21 Dec 1999 14:21:03 +0100
Subject: [omniORB] Re: omniORBpy: import _GlobalIDL
In-Reply-To: <19991221142019.A27743@beteigeuze.cs.tu-berlin.de>; from omniorb on Tue, Dec 21, 1999 at 02:20:19PM +0100
References: <19991221142019.A27743@beteigeuze.cs.tu-berlin.de>
Message-ID: <19991221142103.B27743@beteigeuze.cs.tu-berlin.de>
On Tue, Dec 21, 1999 at 02:20:19PM +0100, Robert Sander wrote:
> _GlobalIDL and the dir(_Global_IDL) reveals only ['__doc__', '__name__'].
^^^^^^^^^^^ surely is _GlobalIDL
--
Robert Sander
home.pages.de/~gurubert, pgp available there
tel 0700-GURUBERT
From dgrisby@uk.research.att.com Tue Dec 21 13:40:15 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Tue, 21 Dec 1999 13:40:15 +0000
Subject: [omniORB] omniORBpy: import _GlobalIDL
In-Reply-To: Your message of "Tue, 21 Dec 1999 14:20:19 +0100."
<19991221142019.A27743@beteigeuze.cs.tu-berlin.de>
Message-ID: <199912211340.NAA27139@pineapple.cam-orl.co.uk>
On Tuesday 21 December, Robert Sander wrote:
> I have an idl-File compiled with "omniidl -bpython", resulting the
> directory _GlobalIDL and a file_idl.py, which is imported from
> _GlobalIDL/__init__.py
>
> Now when I do an interactive python session starting with the interpreter
> and the importing _GlobalIDL by hand, I see everything I need with
> dir(_GlobalIDL). But within a "#!/usr/bin/python"-script importing
> _GlobalIDL and the dir(_Global_IDL) reveals only ['__doc__', '__name__'].
I don't know why it isn't working for you. I've just tried it, and it
works as expected -- the same things are visible from a script as from
the interactive command line. Are you sure that /usr/bin/python is the
same python executable as you get if you just run "python"? Are you
sure that the PYTHONPATH is the same each time?
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From omniorb@beteigeuze.cs.tu-berlin.de Tue Dec 21 16:23:31 1999
From: omniorb@beteigeuze.cs.tu-berlin.de (Robert Sander)
Date: Tue, 21 Dec 1999 17:23:31 +0100
Subject: [omniORB] omniORBpy: import _GlobalIDL
In-Reply-To: <199912211340.NAA27139@pineapple.cam-orl.co.uk>; from dgrisby@uk.research.att.com on Tue, Dec 21, 1999 at 01:40:15PM +0000
References: <19991221142019.A27743@beteigeuze.cs.tu-berlin.de> <199912211340.NAA27139@pineapple.cam-orl.co.uk>
Message-ID: <19991221172331.A29733@beteigeuze.cs.tu-berlin.de>
On Tue, Dec 21, 1999 at 01:40:15PM +0000, Duncan Grisby wrote:
> I don't know why it isn't working for you. I've just tried it, and it
> works as expected -- the same things are visible from a script as from
> the interactive command line. Are you sure that /usr/bin/python is the
> same python executable as you get if you just run "python"? Are you
> sure that the PYTHONPATH is the same each time?
Yes, that is the same. That's why I am so confused.
--
Robert Sander
home.pages.de/~gurubert, pgp available there
tel 0700-GURUBERT
From taras@deka.kp.km.ua Tue Dec 21 08:03:05 1999
From: taras@deka.kp.km.ua (Viacheslav N Tararin)
Date: Tue, 21 Dec 1999 10:03:05 +0200
Subject: [omniORB] omniORBpy and omniORB3
Message-ID: <385F3439.952071B0@deka.kp.km.ua>
Hi.
Is available omniORBpy for omniORB3?
Regards.
From ceyhun_ozgun@hotmail.com Wed Dec 22 07:26:55 1999
From: ceyhun_ozgun@hotmail.com (Ceyhun ÖZGÜN)
Date: Tue, 21 Dec 1999 23:26:55 PST
Subject: [omniORB] Is there another way to get a reference other than NameService
Message-ID: <19991222072655.53484.qmail@hotmail.com>
Hi,
I want to use specific server machines with static IP to implement objects.
And I don't want to use NameService.
I want to get a reference with given an IP address and a port number of
server machine.
Is it possible to do this?
Or is there any other way ?
Thanks in advance.
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
From floris.korbijn@NECS.nl Wed Dec 22 14:18:46 1999
From: floris.korbijn@NECS.nl (Floris Korbijn)
Date: Wed, 22 Dec 1999 15:18:46 +0100
Subject: [omniORB]Reusing IOR on restart.
Message-ID:
Hello,
I have the following problem. I have a Corba server with a main object
registered by the
naming service. When the server restarts I would like the 'new' main object
to reuse the
IOR of the previous instance. The main server object is stateless so
creating a new one
should not be a problem.
I tried to retrieve the IOR from the previous instance and to convert this
IOR to an
omniORB::objectKey using the octetSequenceToKey method. This results in an
CORBA::MARSHAL
exception.
Is this the right approach, and if so, how should I do this.
F.Korbijn.
Sr Software Engineer
Nederlof EC Solutions
From gtrudel@mediatrix.com Wed Dec 22 14:33:09 1999
From: gtrudel@mediatrix.com (Guy Trudel)
Date: Wed, 22 Dec 1999 09:33:09 -0500
Subject: [omniORB] Is there another way to get a reference other than
NameService
Message-ID: <80E2FF0AC64DD311AC3700E02910AE0A136996@INTERNAL>
Glad you ask this question. I found a way to do it using the
omniORB::loader.
My goal is to replace a NT service named pipe server by a Nt service corba
server,
so clients already know the server ip address.
The code below is part of my test (with OmniOrb 2.8) of doing it, I'm quite
new
with OmniOrb, so I don't pretend it's the way to do it.
On the server side:
int main(int argc, char* argv[])
{
int nArcg = 7;
char *ppArg[] = { argv[0] ,
"-ORBInitialHost", "xxx.xxx.xxx.xxx",
"-ORBInitialPort", "1000",
"-BOAiiop_port", "1002" };
CORBA::ORB_ptr orb = CORBA::ORB_init(nArcg,ppArg,"omniORB2");
CORBA::BOA_ptr boa = orb->BOA_init(nArcg,ppArg,"omniORB2_BOA");
// Set the loader (found below)
omniORB::loader::set(loader);
CCorbaServerImpl server;
m_pUniqueServer = &server;
server._obj_is_ready(boa);
cout << orb->object_to_string(&server) << " is ready" << endl;
boa->impl_is_ready();
...
}
static CORBA::Object_ptr loader(const omniORB::objectKey& key)
{
if( (key.hi == 0) && (key.med == 0) && (key.lo == 1) )
{
if( m_pUniqueServer == NULL )
return CORBA::Object::_nil();
else
return CORBA::Object::_duplicate(m_pUniqueServer);
}
else
{
return CORBA::Object::_nil();
}
}
On client side:
void encodeIOPprofile(IOP::TaggedProfile& profile)
{
int objkeysize = sizeof(omniORB::objectKey);
profile.tag = IOP::TAG_INTERNET_IOP;
// ORBInitialHost
CORBA::ULong hlen = strlen((const char *)"xxx.xxx.xxx.xxx") + 1;
{
// calculate the total size of the encapsulated stream
CORBA::ULong total = 8 + hlen; // first 4 bytes + aligned
host
total = ((total + 1) & ~(1)) + 2; // aligned port value
total = ((total + 3) & ~(3)) + 4 + // aligned object key
objkeysize;
profile.profile_data.length(total);
}
profile.profile_data[0] = omni::myByteOrder;
profile.profile_data[1] = 1; // IIOP major version no. = 1
profile.profile_data[2] = 0; // IIOP minor version no. = 0
profile.profile_data[3] = 0;
{
CORBA::ULong &l = (CORBA::ULong &) profile.profile_data[4];
l = hlen;
}
// ORBInitialHost
memcpy((void *)&(profile.profile_data[8]),(void
*)"xxx.xxx.xxx.xxx",hlen);
CORBA::ULong idx = ((8 + hlen) + 1) & ~(1);
{
CORBA::UShort &l = (CORBA::UShort &) profile.profile_data[idx];
//### BOAiiop_port
l = 1002;
}
idx = ((idx + 2) + 3) & ~(3);
{
CORBA::ULong &l = (CORBA::ULong &) profile.profile_data[idx];
l = objkeysize;
}
if (objkeysize)
{
// Put objkey.hi and objkey.med to 0 so loader will know
// it's a "special" load
omniORB::objectKey objkey;
objkey.hi = 0;
objkey.med = 0;
// Use objkey.lo as the object key (see server loader)
objkey.lo = 1;
idx += 4;
memcpy((void *)&profile.profile_data[idx],
(void *)&objkey,objkeysize);
}
}
MyCorbaServer_ptr GetMyCorbaServer()
{
int nArcg = 7;
char *ppArg[] = { argv[0] ,
"-ORBInitialHost", "xxx.xxx.xxx.xxx",
"-ORBInitialPort", "1000",
"-BOAiiop_port", "1002" };
CORBA::ORB_ptr orb = CORBA::ORB_init(nArcg,ppArg,"omniORB2");
MyCorbaServer_ptr pServer = NULL;
IOP::TaggedProfileList taggedProfileList;
taggedProfileList.length(1);
encodeIOPprofile(taggedProfileList[0]);
omniObject* pOmniObject;
pOmniObject = omni::createObjRef(MyCorbaServer_IntfRepoID,NULL,
&taggedProfileList,false);
if( pOmniObject != NULL )
{
CORBA::Object_ptr pCorbaObject;
pCorbaObject =
(CORBA::Object_ptr)pOmniObject->_widenFromTheMostDerivedIntf(0);
if( pCorbaObject != NULL )
{
pServer = MyCorbaServer::_narrow(pCorbaObject);
}
}
return pServer;
}
Guy Trudel
-----Original Message-----
From: Ceyhun ÖZGÜN [mailto:ceyhun_ozgun@hotmail.com]
Sent: Wednesday, December 22, 1999 2:27 AM
To: djr@uk.research.att.com
Cc: omniorb-list@uk.research.att.com
Subject: [omniORB] Is there another way to get a reference other than
NameService
Hi,
I want to use specific server machines with static IP to implement objects.
And I don't want to use NameService.
I want to get a reference with given an IP address and a port number of
server machine.
Is it possible to do this?
Or is there any other way ?
Thanks in advance.
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
From yana@ParadigmGeo.com Wed Dec 22 14:58:38 1999
From: yana@ParadigmGeo.com (Yana Vaisman)
Date: Wed, 22 Dec 1999 16:58:38 +0200
Subject: [omniORB] Naming service.
Message-ID: <3860E71E.5A16E5F@geodepth.com>
Hi,
I'm doing my first steps with omniORB. So, according to the omniORB2
version 2.8 User's Guide recommendation I'm carefully studying the
examples. I compiled /src/examples/echo examples on Unix and tried
to run them.
eg1, eg2_impl examples are OK.
But I have a problem with the eg3_impl example. I've done everything
according to README file explanations:
I've run the COS Naming service, then I've run the eg3_impl.
Everything is seemed all right, the eg3_clt clients successfully get the
particular IOR from the omniNames server. Then I killed the eg3_impl
process and tryed to run it again. As a result, the Naming Service was
crashed (Segmentation fault).
Can you kindly explain me this situation and what can I do to avoid it.
From amcc@uk.research.att.com Wed Dec 22 16:59:22 1999
From: amcc@uk.research.att.com (Aideen McConville)
Date: Wed, 22 Dec 1999 16:59:22 +0000 (GMT)
Subject: [omniORB] Digest version of omniorb-list now available
Message-ID: <14433.333.552370.623777@onion>
A digest version of the omniorb-list (omniorb-list-digest) is now
available. The digest carries the same messages as omniorb-list, but
is posted once a day and contains all of the last day's messages.
To change to the digest, send a message to
majordomo@uk.research.att.com
with the following lines in the body of the message.
unsubscribe omniorb-list
subscribe omniorb-list-digest
For more information see:
See: http://www.uk.research.att.com/omniORB/intouch.html
-- Aideen (list admin)
From amcc@uk.research.att.com Wed Dec 22 17:18:55 1999
From: amcc@uk.research.att.com (Aideen McConville)
Date: Wed, 22 Dec 1999 17:18:55 +0000 (GMT)
Subject: [omniORB] Digest version of omniorb-list now available
In-Reply-To: <14433.333.552370.623777@onion>
References: <14433.333.552370.623777@onion>
Message-ID: <14433.1646.953091.438987@onion>
PS
1) Continue to post messages to omniorb-list (even if you're
subscribed to omniorb-list-digest)
2) NB: ensure that your mailer is configured to send "plain text"
to omniorb-list
Thanks,
-- Aideen
From jdiaz@eunet.es Thu Dec 23 11:58:18 1999
From: jdiaz@eunet.es (=?iso-8859-1?Q?Jos=E9?= Manuel =?iso-8859-1?Q?D=EDaz=20Rodr=EDguez?=)
Date: Thu, 23 Dec 1999 12:58:18 +0100
Subject: [omniORB] CORBA server objects with persistent references with omniORB
Message-ID: <38620E5A.E0FF0A57@eunet.es>
Hi,
I would appreciate any suggestion to solve the following problem:
-- I need a CORBA server object to use the reference I tell it to use,
not the reference associated by the broker by default.
I use the C++ implementation of the broker.
I already create objects from stringified references, but only in the
client side. I now want the implementation or server object to adopt the
reference I pass it through a string variable.
Thank you very much,
--=20
Jos=E9 Manuel D=EDaz Rodr=EDguez
From renzo.tomaselli@tecnotp.it Fri Dec 24 09:43:08 1999
From: renzo.tomaselli@tecnotp.it (Renzo Tomaselli)
Date: Fri, 24 Dec 1999 10:43:08 +0100
Subject: [omniORB] anys and sequence
Message-ID: <000001bf4df3$62e6d570$a8c649c1@big>
This is a multi-part message in MIME format.
------=_NextPart_000_0034_01BF4DFB.AA90F560
Content-Type: text/plain;
charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Hi OmniORB developers,
I noticed as OmniORB 2.8 deals with inserting/extracting sequences =
to/from anys.
Sequence elements are handled one-by-one in tcParser::copyFrom/to (in =
tcParser.cc) resulting in a terrific performance dropping in case of =
long sequences of octets, such as for graphical bitmaps. Each octet goes =
through a long number of operations to be copied in/out the any.
While tcParser::copyFrom(MemBufferedStream& mbuf) is optimized for this, =
resulting in a memcpy for the best case, =
tcParser::copyFrom(tcDescriptor& desc) is not, raising the above =
performance issue. The net result is that sending a octet sequence is =
fast, sending the same into an any is a double disaster.
This topic is somewhat related to a similar one in DynAnys (see a =
related posting sometime ago).
Thanks,
Renzo Tomaselli =20
-------------------------------------------------------------------------=
--
TecnoTP s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi Valsugana, Trento TN ITALY
Tel. +39 0461 773164 Fax. +39 0461 771514
e-mail: renzo.tomaselli@tecnotp.it =20
-------------------------------------------------------------------------=
--
------=_NextPart_000_0034_01BF4DFB.AA90F560
Content-Type: text/html;
charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Hi OmniORB developers,
I noticed as OmniORB 2.8 deals =
with=20
inserting/extracting sequences to/from anys.
Sequence elements are handled one-by-one in=20
tcParser::copyFrom/to (in tcParser.cc) resulting in a terrific =
performance=20
dropping in case of long sequences of octets, such as for graphical =
bitmaps.=20
Each octet goes through a long number of operations to be copied in/out =
the=20
any.
While tcParser::copyFrom(MemBufferedStream& =
mbuf) is=20
optimized for this, resulting in a memcpy for the best case,=20
tcParser::copyFrom(tcDescriptor& desc) is not, raising the above =
performance=20
issue. The net result is that sending a octet sequence is fast, sending =
the same=20
into an any is a double disaster.
This topic is somewhat related to a similar one in =
DynAnys=20
(see a related posting sometime ago).
Thanks,
&nbs=
p;  =
; =
=20
Renzo Tomaselli =20
---------------------------------------------------------------------=
------
TecnoTP=20
s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi=20
Valsugana, Trento TN ITALY
Tel. +39 0461=20
773164 Fax. +39 0461 771514
e-mail: renzo.tomaselli@tecnotp.it=
=20
---------------------------------------------------------------------=
------
------=_NextPart_000_0034_01BF4DFB.AA90F560--
From dgrisby@uk.research.att.com Fri Dec 24 15:05:14 1999
From: dgrisby@uk.research.att.com (Duncan Grisby)
Date: Fri, 24 Dec 1999 15:05:14 +0000
Subject: [omniORB] omniORBpy and omniORB3
In-Reply-To: Your message of "Tue, 21 Dec 1999 10:03:05 +0200."
<385F3439.952071B0@deka.kp.km.ua>
Message-ID: <199912241505.PAA00703@pineapple.cam-orl.co.uk>
On Tuesday 21 December, Viacheslav N Tararin wrote:
> Is available omniORBpy for omniORB3?
Not yet. It will be available some time in the new year.
Cheers,
Duncan.
--
-- Duncan Grisby \ Research Engineer --
-- AT&T Laboratories Cambridge --
-- http://www.uk.research.att.com/~dpg1 --
From omniorb@beteigeuze.cs.tu-berlin.de Mon Dec 27 14:33:43 1999
From: omniorb@beteigeuze.cs.tu-berlin.de (Robert Sander)
Date: Mon, 27 Dec 1999 15:33:43 +0100
Subject: [omniORB] omniORBpy: import _GlobalIDL
In-Reply-To: <19991221172331.A29733@beteigeuze.cs.tu-berlin.de>; from omniorb@beteigeuze.cs.tu-berlin.de on Tue, Dec 21, 1999 at 05:23:31PM +0100
References: <19991221142019.A27743@beteigeuze.cs.tu-berlin.de> <199912211340.NAA27139@pineapple.cam-orl.co.uk> <19991221172331.A29733@beteigeuze.cs.tu-berlin.de>
Message-ID: <19991227153343.A20411@beteigeuze.cs.tu-berlin.de>
Hi!
It works now, I am now importing _GlobalIDL before any other things,
espacially CORBA, maybe that's the trick.
#!/usr/bin/python
import _GlobalIDL
from omniORB import CORBA
Greetings
--
Robert Sander
home.pages.de/~gurubert, pgp available there
tel 0700-GURUBERT
From alik@oxiris.net Tue Dec 28 13:42:54 1999
From: alik@oxiris.net (Alik Kurdjukov)
Date: Tue, 28 Dec 1999 16:42:54 +0300
Subject: [omniORB] omniidl2 bug?
Message-ID:
Hello!
I have a strange bug compiling IDL files on Win32. I need to compile IDL
file that is not in the dir where omniidl2 is running. If I give omniidl2
absolute path to the file it works ok, but if I give it relative path it
makes files ".h" and "SK.cpp", just as I said. In my project I have no
possibility to retrieve full path ;(. What can I do with it?
Best regards,
Alik.
From glowstars@gmx.de Wed Dec 29 13:02:06 1999
From: glowstars@gmx.de (Thorsten Roskowetz)
Date: Wed, 29 Dec 1999 14:02:06 +0100 (MET)
Subject: [omniORB] omniORBpy and attributes in IDL (server side)
Message-ID: <8758.946472526@www11.gmx.net>
Hi,
can someone please enlighten me on how to implement
interface attributes server-side with omniORBpy?
The Python Language Mapping only mentions attributes
client side (basically an attribute is mapped to two
methods on the corresponding Python stub class, an
accessor an a modifier prefixed with '_get_' and
'_set_' respectively).
Cheers,
Thorsten
--
Sent through Global Message Exchange - http://www.gmx.net
From jfd@silicomp.fr Thu Dec 30 09:31:23 1999
From: jfd@silicomp.fr (Jean-Francois Denise)
Date: Thu, 30 Dec 1999 10:31:23 +0100
Subject: [omniORB] Generating IOR
Message-ID: <386B266B.27B01603@silicomp.com>
Hello,
Is it possible using omniorb2 to set at creation time an object IOR. I
need to create a specific multiple profile IOR.
Thanks.
--
^
/ \
/ \ Jean-Francois Denise
+---/ \---+ Software Engineer
| / \ | e-mail : jfd@silicomp.com
| /silicomp \ |
|/ingenierie \| Phone: (33) 4 76 41 66 66 Fax: (33) 4 76 41 66 67
|-------------|
| | 195, rue Lavoisier - BP 1
| G R O U P E | 38330 Montbonnot St Martin
+-------------+ FRANCE
S I L I C O M P
From rgruet@ina.fr Thu Dec 30 10:58:35 1999
From: rgruet@ina.fr (Richard Gruet)
Date: Thu, 30 Dec 1999 11:58:35 +0100
Subject: [omniORB] omniORBpy and attributes in IDL (server side)
References: <8758.946472526@www11.gmx.net>
Message-ID: <386B3ADB.3235EF94@ina.fr>
--------------18426228C7ED9E1DD3444ECC
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Thorsten Roskowetz wrote:
> can someone please enlighten me on how to implement
> interface attributes server-side with omniORBpy?
> The Python Language Mapping only mentions attributes
> client side (basically an attribute is mapped to two
> methods on the corresponding Python stub class, an
> accessor an a modifier prefixed with '_get_' and
> '_set_' respectively).
It's exactly the same on the server side. In your implementation class,
for a given attribute XXX,
you just have to define a pair of methods:
class MyInterfaceImpl(POA_MyModule.MyInterface):
...
def _get_XXX(self):
return theValueOfXXX
def _set_XXX(self, value):
# sets XXX to value
Cheers,
Richard
--------------18426228C7ED9E1DD3444ECC
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
Thorsten Roskowetz wrote:
can someone please enlighten me on how to implement
interface attributes server-side with omniORBpy?
The Python Language Mapping only mentions attributes
client side (basically an attribute is mapped to two
methods on the corresponding Python stub class, an
accessor an a modifier prefixed with '_get_' and
'_set_' respectively).
It's exactly the same on the server side. In your implementation class,
for a given attribute XXX,
you just have to define a pair of methods:
class MyInterfaceImpl(POA_MyModule.MyInterface):
...
def _get_XXX(self):
return theValueOfXXX
def _set_XXX(self, value):
# sets XXX to value
Cheers,
Richard
--------------18426228C7ED9E1DD3444ECC--
From nickr@harlequin.co.uk Thu Dec 30 11:31:22 1999
From: nickr@harlequin.co.uk (Nick Reeves)
Date: Thu, 30 Dec 1999 11:31:22 GMT
Subject: [omniORB] Portable Interceptor
Message-ID: <199912301131.LAA23272@gpo.cam.harlequin.co.uk>
The competing proposals for Portable Interceptors have been formally
merged into a single revised spec orbos/99-12-02, and the nonsense of
the earlier specs has been removed.
Given the wide backing it seems likely to go through with only minor
amendments.
So this seems like a good time to ask what is the official omniORB
position on it.
Thanks again for the great work on adding POA !
--
Nick Reeves nickr@harlequin.co.uk
From glowstars@gmx.de Thu Dec 30 12:50:07 1999
From: glowstars@gmx.de (Thorsten Roskowetz)
Date: Thu, 30 Dec 1999 13:50:07 +0100 (MET)
Subject: [omniORB] omniORBpy and attributes in IDL (server side)
References: <386B3ADB.3235EF94@ina.fr>
Message-ID: <1075.946558207@www12.gmx.net>
Thanks! I was somewhat confused by the C++ mapping which
effectively hides that it invokes the _get_xxxx and _set_xxxx
methods too.
--
Sent through Global Message Exchange - http://www.gmx.net
From tei@elca.ch Thu Dec 30 15:25:31 1999
From: tei@elca.ch (Eicher Thomas)
Date: Thu, 30 Dec 1999 16:25:31 +0100
Subject: [omniORB] use 2.8 client with 2.7.1 server?
Message-ID: <000001bf52da$1f808dd0$1c9248c1@elca.ch>
Is it possible to use a client side built with omniORB 2.8 together with =
a
server side that was built using omniORB 2.7.1? I am not using Any's.
Thanks, Tom
______________________________________________
Tom Eicher ELCA Informatik AG
tei@elca.ch Steinstrasse 21
+41 (0)1 456 32 47 8003 Z=FCrich
http://www.elca.ch Switzerland
From taras@deka.kp.km.ua Thu Dec 30 08:16:42 1999
From: taras@deka.kp.km.ua (Viacheslav N Tararin)
Date: Thu, 30 Dec 1999 10:16:42 +0200
Subject: [omniORB] omniidl2 bug
Message-ID: <386B14EA.25C43720@deka.kp.km.ua>
This is a multi-part message in MIME format.
--------------E14C31724C1DC26ED2606274
Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 7bit
Hi.
1. First idl file:
module a {
module b {
interface Ziro {
short get_short();
};
};
};
2. Second idl file
module a {
typedef long TheLong;
module b {
interface One {
TheLong get_long();
};
};
};
3. Produced omniidl2 test.hh don't contain lines
typedef long TheLong;
I'm attach test files.
Environment: WinNT 4.0 SP3 VC6.0 omniORB2 2.8.0.
Happy New Year.
Tararin Slavik.
--------------E14C31724C1DC26ED2606274
Content-Type: application/x-unknown-content-type-idlfile;
name="test0.idl"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="test0.idl"
bW9kdWxlIGEgew0KICAgIG1vZHVsZSBiIHsNCiAgICAgICAgaW50ZXJmYWNlIFppcm8gew0K
ICAgICAgICAgICAgc2hvcnQgZ2V0X3Nob3J0KCk7DQogICAgICAgIH07DQogICAgfTsNCn07
--------------E14C31724C1DC26ED2606274
Content-Type: application/x-unknown-content-type-idlfile;
name="test.idl"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="test.idl"
I2luY2x1ZGUgPHRlc3QwLmlkbD4NCm1vZHVsZSBhIHsNCiAgICB0eXBlZGVmIGxvbmcgVGhl
TG9uZzsgDQogICAgbW9kdWxlIGIgew0KICAgICAgICBpbnRlcmZhY2UgT25lIHsNCiAgICAg
ICAgICAgIFRoZUxvbmcgZ2V0X2xvbmcoKTsNCiAgICAgICAgfTsNCiAgICB9Ow0KfTs=
--------------E14C31724C1DC26ED2606274--
From taras@deka.kp.km.ua Wed Dec 29 14:58:26 1999
From: taras@deka.kp.km.ua (Viacheslav N Tararin)
Date: Wed, 29 Dec 1999 16:58:26 +0200
Subject: [omniORB] omniidl2 bug
Message-ID: <386A2191.6980C494@deka.kp.km.ua>
Hi.
It's part of CosCollection.idl
interface KeyCollection : Collection {
// c o m p u t i n g t h e k e y s
void key (in any element, out any key)
raises (ElementInvalid);
void keys (in AnySequence elements, out AnySequence keys)
raises (ElementInvalid);
};
Prodused file CosCollection.hh containts:
(5114) virtual void key(const CORBA::Any & element, CORBA::Any *&
key) = 0;
(5115) virtual void _0RL__key(const CORBA::Any & element, CORBA::Any
*& key) {
(5116) key(element, key);
(5117) }
(5118) virtual void keys(const AnySequence & elements, AnySequence *&
keys) = 0;
(5119) virtual void _0RL__keys(const AnySequence & elements,
AnySequence *& keys) {
(5120) keys(elements, keys);
(5121) }
On WinNT it's prodused error
cl.exe /c /nologo /D__x86__ /D__NT__ /D__WIN32__ /GX /TP /MD
-I..\..\..\..\omni\include -I..\..\include -I..\..\include\ui
LLsControlsDynSK.cpp /Fo..\..\obj\LLsControlsDynSK.obj
LLsControlsDynSK.cpp
..\..\include\omg/CosCollection.hh(5114) : error C2064: term does not
evaluate to a function
..\..\include\omg/CosCollection.hh(5118) : error C2064: term does not
evaluate to a function
Environment WinNT 4.0 SP3 VC6.0 omniORB2 (2.8.0).
Happy New Year.
Tararin Slavik.
From jfd@silicomp.com Mon Dec 27 09:30:21 1999
From: jfd@silicomp.com (jfd)
Date: Mon, 27 Dec 1999 10:30:21 +0100
Subject: [omniORB] Implementation over multiple IP hosts
Message-ID: <386731AD.769FDC13@silicomp.com>
Il s'agit d'un message multivolet au format MIME.
--------------C884274C6704C9CD025577FC
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hello,
I need to create an object implementation on a server running on an host
having multiple IP addresses. I want the implementation being accessible
through both IP interfaces. I can set a prefered host IP address or name
using OMNIORB_USEHOSTNAME but not a list of IP addresses.
I know that my question doesn't fit IOR single profile management. Host
name being part of IOR, if an implementation object is created using 2
different IP addresses, 2 profiles must be generated by the BOA when
creating the object implementation.
Is there a way using omniorb to do so.
Thanks.
--------------C884274C6704C9CD025577FC
Content-Type: text/x-vcard; charset=us-ascii;
name="jfd.vcf"
Content-Description: Carte pour jfd
Content-Disposition: attachment;
filename="jfd.vcf"
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by mailhost.ri.silicomp.fr id KAA08294
begin:vcard=20
n:Jean-Fran=E7ois;Denise
tel;work:+33-04/76/634863
x-mozilla-html:FALSE
url:www.ri.silicomp.com
org:Silicomp Research Institute;AppliBus
version:2.1
email;internet:jfd@silicomp.com
title:Research and Development
adr;quoted-printable:;;2 Avenue de Vignate=3D0D=3D0A;Gi=E8res;;F38610;Fra=
nce
fn:Denise Jean-Fran=E7ois
end:vcard
--------------C884274C6704C9CD025577FC--