Home Comments

calling ice proxy within an AMI callback

alversonalverson Member Dennis AlversonOrganization: Braxton TechnologiesProject: Orbital Analysis

I am calling another ice proxy within an AMI callback. Is there anything inherently wrong with that. The call is blocking and never returning even though I have verified that the call has completed on the server side of the equation.

Client invocation side:

Server object finishes processing and returns:

Client invocation never returns.

Any guidance on what to be looking for or how to handle such a situation would be appreciated.

Comments

  • alversonalverson Member Dennis AlversonOrganization: Braxton TechnologiesProject: Orbital Analysis

    One more piece of info: the proxy being called when visibilitiesWithIntervalsUpdated is invoked was passed to the icebox process as an "observer" proxy to be invoked when data is updated. This mechanism works just fine if it is not invoked from an AMI callback.

  • xdmxdm La Coruña, SpainAdministrators, ZeroC Staff Jose Gutierrez de la ConchaOrganization: ZeroC, Inc.Project: Ice Developer ZeroC Staff

    Making a nested synchronous twoway invocation from an AMI callback, with the default client thread pool configuration (1 thread) results in a deadlock.

    See https://doc.zeroc.com/ice/3.7/client-server-features/the-ice-threading-model/nested-invocations

    You can avoid this by using AMI for the second call, or increase the client side thread pool

  • alversonalverson Member Dennis AlversonOrganization: Braxton TechnologiesProject: Orbital Analysis

    Thanks for the update. I kinda figured that was the case but I couldn't find the exact docs to explain. I appreciate the help.

Sign In or Register to comment.