[omniORB] onewat message disappears

Mark Rabotnikov mark@netmanage.co.il
Wed, 10 Jun 1998 12:45:25 +0300


This is a multi-part message in MIME format.
--------------20E2AEE8BAC022288FB7AD42
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello,

I'm attaching my posting from 17 Feb 1998. May be it will help in recognizing the problem...

Thanks.

Sai-Lai Lo wrote:

> This sounds bad.
>
> One explanation is that a System Exception was raised in the server but
> because this is a oneway call it is not propagated back to the client.
> Hence the oneway seems to disappear.
>
> One reason this could happen is the message size has exceeded the limit
> (2Mbytes in 2.5.0). This value can be increased using
> omniORB::MaxMessageSize.
>
> To verify if this is the problem, apply the patch to giopServer.cc at the
> end of this message and run the server with -ORBtraceLevel 20 and see if
> any of the additional trace message comes up.
>
> I'm interested to know if you see any of the new trace messages popping up.
>
> Regards,
>
> Sai-Lai

--

Mark Rabotnikov   mailto:mark@netmanage.co.il

Phone: +972-4-8550123 (ext. 561)


--------------20E2AEE8BAC022288FB7AD42
Content-Type: text/plain; charset=us-ascii; name="msg.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="msg.txt"

Subject: Re: oneway calls
Date: Tue, 17 Feb 1998 09:51:33 +0200
From: Mark Rabotnikov <mark@netmanage.co.il>
Organization: NetManage Inc.
To: OmniORB mailing list <omniorb-list@cam-orl.co.uk>

Sorry. My example just executes a oneway call as a last command
(before destructors of  "_var"s). Sometimes server does receive these
calls and sometimes not. I suspect this occurs because of the termination
of the client, and it does not complete the last oneway call.

int main()
{
    CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,"omniORB2");

    try
    {
    //...

    CORBA::Object_var obj = orb->string_to_object(s);
    assert(!CORBA::is_nil(obj));

    Logger_var logger = Logger::_narrow(obj);
    assert(!CORBA::is_nil(logger));

    logger->log();     // oneway call
    }

    catch(...)
    {
    cerr << "Caught an exception." << endl;
    }

    return 0;
}

Thanks,
Mark

Sai-Lai Lo wrote:

> >>>>> Mark Rabotnikov writes:
>
> > I've noticed that sometimes oneway calls do not reach their
> > implementation in the server. Why does it happen ?
>
> > I use omniORB-2.4.0 on Windows NT 4.0.
>
> There is too little information to deduce what is happening.
>
> A general comment:
>
> When one submit a report on problems in using omniORB, it would be helpful
> to everyone on the list if one do some investigations and provide more
> details on the symptoms and how to reproduce the problem. It is more
likely
> one will get help from the list this way.
>
> Sai-Lai

--

Mark Rabotnikov   mailto:mark@netmanage.co.il

Phone: +972-4-8550123 (ext. 484)

--------------20E2AEE8BAC022288FB7AD42--