Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Test and Performance Tools Platform (TPTP) » Extending TPTP Attach problem - client never receives response from legacy agent
Extending TPTP Attach problem - client never receives response from legacy agent [message #106785] Fri, 27 July 2007 11:30 Go to next message
Natasha D'Silva is currently offline Natasha D'Silva
Messages: 25
Registered: July 2009
Junior Member
Hi,
I wrote a basic agent for TPTP 4.4. that runs as a JVMPI agent in Java 1.4,
and I extended the AbstractDCMutualLauncher class so that I get notified
when the attach is complete. In
AbstractMutualDCLauncher#launch(AgentSelection[]), I spawn a thread to
attach to the agent, send it a command, and wait for the response. The
agent receives the response and sends the command back, but the client
doesn't receive a response. I have tried testing this with 4.2+ versions
of the agent controller, with no success. I have also tested extracting the
code that attaches to the agent, and sends waits for the command and running
it as a standalone java application and that always works. I noticed this
in the AC log:
The log messages in order from agent launch to attach:

msg="Incoming connection request from agent mysample.agent in process 4544
with uuid 2c7700f7-11fd-4b36-895d-b737f821da80" severity="10"
version="1.0.1">
msg="Agent not found mysample.agent 
" severity="10"
version="1.0.1">msg="Registering process 4544
org.eclipse.tptp.legacy.mysample.agent" severity="10" version="1.0.1">
msg="Agent Controller allowed multiple clients to attach to a legacy
agent." severity="50" version="1.0.1">
msg="Agent Controller allowed multiple clients to attach to a legacy
agent." severity="50" version="1.0.1">
msg="Preparing Agent active" severity="10" version="1.0.1">
msg="The requested connection (107d) could not be found during sendMessage"
<---This is where I think my problem isI have tried debugging the code that
leads up to the attach and I'm pretty sure that the agent only gets attached
to once, so I'm not sure why the AC thinks its previously been attached to.
I have tested this with AC v4.1.0 and it appears to work fine, which means
its probably a compatibility issue.

Command sending snippet:
agent.addAgentListener(new CustomAgentListener());
CustomCommand customCommand = new CustomCommand();
customCommand.setData("sendData");
synchronized (lock) {
agent.invokeCustomCommand(customCommand);
lock.wait(); //lock.notify is called in the handleCommand() method
of the agent listener.
}
The listener is able to receive agent active notification as well as the
"KILLED" custom command.
Here is what the agent uses to send the response:
ra_message_t *message;
ra_command_t *command;
message = ra_createMessage( RA_CONTROL_MESSAGE, 0 );
command = ra_addCommandToMessage(message, NULL); //sending in null allocates
space for the command
command->tag = RA_CUSTOM_COMMAND;
command->info.custom_command.processId= ra_getProcessId();
command->info.custom_command.context= context;
command->info.custom_command.message.data = responseData;
ra_createRASTRING(&command->info.custom_command.agent,AGENT_NAME );
ra_createRASTRING(&command->info.custom_command.message, responseData );
int sentMsgLen = ra_sendMessage(handle, message);
ra_destroyMessage(message, TRUE);
fprintf(stderr, "sent %d message bytes\n", sentMsgLen);



Any tips on how to debug this further or on what I'm doing incorrectly would
be greatly appreciated,

Thanks.

Natasha
Re: Extending TPTP Attach problem - client never receives response from legacy agent [message #106880 is a reply to message #106785] Mon, 30 July 2007 07:08 Go to previous message
Igor Alelekov is currently offline Igor Alelekov
Messages: 139
Registered: July 2009
Senior Member
Hi Natasha,
Please send me code for the client and agent to investigate the problem.
Regards,
Igor
Previous Topic:profiler not working
Next Topic:Do I really need PDE to run TPTP on XP?
Goto Forum:
  


Current Time: Fri Aug 22 05:49:43 EDT 2014

Powered by FUDForum. Page generated in 0.06081 seconds