View Single Post
  #1 (permalink)  
Old 05-14-2008
n2503v n2503v is offline
Registered User
 
Name: Alex Makarenko
Organization: ACFR, University of Sydney
Project: Orca
 
Join Date: Jun 2005
Posts: 77
concurrent calls to IceGrid::Admin?

I get IceGrid Registry to hang when calling IceGrid::Admin::startServer() simultaneously from multiple threads of my client. This only happens when the Ice.ThreadPool.Client.SizeMax>1 (e.g. 5) is set for the Registry/Node.

Here's what I do. The registry has a bunch of servers in the application (e.g. 20). I create a session with the registry and call Session::getAdmin(). Then I give a copy of IceGrid::AdminPrx and one of the server ID's to each of my client's threads (e.g. 20 threads).

I can reproduce this using my multi-threaded client and the Hello Server from the IceGrid simple example. I'm also using the registry/node configs from the same example.

Before I provide code and traces I'd like to ask if what I'm doing is supposed to work? Is there something strange because of the session? Does every client thread need its own session?

Linux, Ice 3.2.1

thanks for the free support,
alex
__________________
Alex Makarenko
Australian Centre for Field Robotics
The University of Sydney
www.cas.edu.au
project: orca-robotics.sf.net
Reply With Quote