Home Help Center

I have several problems of ice invoking

snowflowersnowflower Member SY JeongOrganization: KNUProject: distributed LBS system
Hi.

my development environment:
- ubuntu 10.04
- ice 3.4.1
- language: c++

my processes are all same which is ice server and client.
In other words, all processes have a server adapter,
and each process can invoke ice function as client at the same time.

And all processes are running at the same time in the local network (tcp).
In this case, I have several problems.

1) processes(as client) can't invoke function of server.
::Ice:: DispatchStatus::...::__dispatch(::IceInternal::Incoming& in, const ::Ice::Current& current)
::...::IceProxy::__function()
::...::IceDelegateM::function()
==> bool __ok = __og.invoke() : NOT RUN!!!

2) same function in running server is not dispatched at the multi-thread environment.
I changed the function to AMD, but I got same result.


pls help me...

Comments

  • benoitbenoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
    Hi,

    It very much sounds like you are running into a deadlocks because of thread starvation. By default, the Ice communicator has only 1 thread in its client and server thread pools. You need to configure more threads if your servers are doing nested invocations and if you need methods to be concurrently dispatched. You can configure more threads with the following properties:
    Ice.ThreadPool.Server.Size=10
    Ice.ThreadPool.Server.SizeMax=100
    

    I recommend reading the Ice Threading Model chapter in the Ice manual for more information.

    Cheers,
    Benoit.
  • snowflowersnowflower Member SY JeongOrganization: KNUProject: distributed LBS system
    Thank you, benoit

    Thank you, benoit

    My problems were solved!!!! :)
Sign In or Register to comment.