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

Reply via email to