The accept() call is the thread where the daemon is waiting for new in-coming connections. There should be a second thread in the process that's servicing the request for the hung process. Since the client process is waiting for a return response, the accept() loop must have created a connection for that request sufficient for a request to be written to the socket.
Rick On Mon, Jul 27, 2009 at 6:09 AM, Rainer Tammer<[email protected]> wrote: > Hello, > > Rick McGuire wrote: >> It's waiting for a reply back from the rxapi daemon for a request to >> create a session queue for that interpreter instance. The problem is >> most likely occurring in the daemon. >> >> > yes, > but I can not imagine a reason why this happens... > I have to admit that my last test on AIX 6.1 was a while back... > > I compile ooRexx on AIX 5.2 an then I test the package usually on 5.2 > and 5.3. > As there were no problems in the past I kind "ignored" 6.1... > > The rxapi daemon hangs here: > > r...@build61 rc:0 # ps -ef | grep rxa > nobody 438274 1 0 11:59:44 - 0:00 ./rxapi > /opt/ooRexx/bin > r...@build61 rc:0 # dbx -a 438274 > Waiting to attach to process 438274 ... > Successfully attached to rxapi. > Type 'help' for help. > reading symbolic information ... > stopped in naccept at 0xd01e1e24 ($t1) > 0xd01e1e24 (naccept+0x264) 80410014 lwz r2,0x14(r1) > (dbx) where > naccept(??, ??, ??) at 0xd01e1e24 > accept(int,sockaddr*,unsigned long*)(socketfd = 0, address = 0x2ff22520, > address_len = 0x2ff22530), line 104 in "socket.h" > connect()(this = 0x30001394), line 552 in "SysCSStream.cpp" > unnamed block in APIServer::listenForConnections()(this = 0x30001358), > line 87 in "APIServer.cpp" > APIServer::listenForConnections()(this = 0x30001358), line 87 in > "APIServer.cpp" > Run(bool)(asService = false), line 86 in "APIService.cpp" > main(argc = 1, argv = 0x2ff22aec), line 308 in "APIService.cpp" > > But this is not very helpful ... > > >> Rick >> >> > Bye > Rainer >> On Mon, Jul 27, 2009 at 5:25 AM, Rainer Tammer<[email protected]> wrote: >> >>> Hello, >>> the hang occurs here: >>> >>> PID: 524304 is rexx >>> >>> r...@build61 rc:0 # dbx -a 524304 >>> Waiting to attach to process 524304 ... >>> Successfully attached to rexx. >>> warning: Directory containing rexx could not be determined. >>> Apply 'use' command to initialize source path. >>> >>> Type 'help' for help. >>> reading symbolic information ... >>> stopped in recv at 0xd01e10d4 ($t1) >>> 0xd01e10d4 (recv+0x274) 80410014 lwz r2,0x14(r1) >>> (dbx) where >>> recv(??, ??, ??, ??) at 0xd01e10d4 >>> SysSocketConnection::read(void*,unsigned long,unsigned long*)(this = >>> 0x30c13978, buf = 0x2ff20260, bufsize = 564, bytesread = 0x2ff20090), >>> line 77 in "SysCSStream.cpp" >>> ServiceMessage::readResult(SysClientStream&)(this = 0x2ff20260, pipe = >>> &(...)), line 167 in "ServiceMessage.cpp" >>> ClientMessage.ClientMessage::send(SysClientStream*)(this = 0x2ff20260, >>> pipe = 0x30c13978), line 82 in "ClientMessage.cpp" >>> ClientMessage.ClientMessage::send()(this = 0x2ff20260), line 59 in >>> "ClientMessage.cpp" >>> unnamed block in establishServerConnection()(this = 0x30c0c428), line >>> 205 in "LocalAPIManager.cpp" >>> establishServerConnection()(this = 0x30c0c428), line 205 in >>> "LocalAPIManager.cpp" >>> initProcess()(this = 0x30c0c428), line 156 in "LocalAPIManager.cpp" >>> LocalAPIManager::getInstance()(), line 62 in "LocalAPIManager.cpp" >>> LocalAPIContext::getAPIManager()(this = 0x2ff20680), line 54 in >>> "LocalAPIContext.cpp" >>> unnamed block in RexxCreateSessionQueue(), line 369 in "QueuesAPI.cpp" >>> RexxCreateSessionQueue(), line 369 in "QueuesAPI.cpp" >>> Interpreter::startInterpreter(Interpreter::InterpreterStartupMode)(mode >>> = Interpreter::RUN_MODE), line 135 in "Interpreter.cpp" >>> unnamed block in >>> Interpreter.Interpreter::createInterpreterInstance(RexxOption*)(options >>> = 0x2ff20808), line 286 in "Interpreter.cpp" >>> Interpreter.Interpreter::createInterpreterInstance(RexxOption*)(options >>> = 0x2ff20808), line 286 in "Interpreter.cpp" >>> Interpreter.InstanceBlock::InstanceBlock(_RXSYSEXIT*,const char*)(this = >>> 0x2ff208a0, exits = (nil), env = "ksh"), line 413 in "Interpreter.cpp" >>> ActivityDispatcher.ActivityDispatcher::invoke(_RXSYSEXIT*,const >>> char*)(this = 0x2ff20900, exits = (nil), env = "ksh"), line 118 in >>> "ActivityDispatcher.cpp" >>> RexxStart(argcount = 0, arglist = 0x2ff229d0, programname = >>> "usepipe.rex", instore = (nil), envname = "ksh", calltype = 0, exits = >>> (nil), retcode = 0x2ff229e0, result = (nil)), line 163 in >>> "InterpreterAPI.cpp" >>> main(argc = 2, argv = 0x2ff22a9c), line 162 in "rexx.cpp" >>> (dbx) >>> >>> I have no idea why this happens. >>> >>> Bye >>> Rainer >>> >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Oorexx-devel mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>> >>> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Oorexx-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >> >> >> > > > ------------------------------------------------------------------------------ > _______________________________________________ > Oorexx-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/oorexx-devel > ------------------------------------------------------------------------------ _______________________________________________ Oorexx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oorexx-devel
