Solved

Objectspace's Voyager freezes on Namespace.lookup() call running under java 1.1 on Zaurus-5500 PDA.

Posted on 2003-11-11
6
289 Views
Last Modified: 2010-04-22
I am trying to get an intrusion detection system running on a group of Zarusu-5500 PDA's communicating in an ad-hoc network mode. For this IDS, I would like to use mobile agents and have chosen Objectspace Inc's Voyager platform for my ORB and Messaging layers. I have a working application (IDS) using Voyager on multiple Linux desktop machines, running Java 1.4.2. When I attempt to run the application on the PDA's under java 1.1, I receive an exception:

Could not start agent server:
 RuntimeRemoteException( java.net.ConnectException: Connection timed out: connect )

from the Namespace.lookup( serverName ) call to the PDA, where serverName = "//192.168.50.35:7000/Test" (<-- That is the IP of the PDA I am trying to add as a host for the mobile agent to move to). I know this is not a problem with my PATH or CLASSPATH variables and I know the code is working fine on the desktop machines. I have tried Voyager version 4.5 and 4.6.1, both with the same result. I suspect version 4.6.1 is not fully compatible with java 1.1, but I do not think I am using any calls that java 1.1 would dislike.

A typical run-through consists of:  [on pda terminal, start up voyager orb server]  >voyager tcp://192.168.50.35:7000
                                                 ["voyager orb professional 4.6.1, copyright...." prints on pda terminal screen]
                                                 [on another machine, start up IDS console application for adding in hosts and agents]
                                                           [this console asks for a serverName from input and sends the Namespace.lookup(  
                                                            serverName ) call]
                                                 [nothing returns from the pda, else timeout error as given above]

I don't know if this is relevant, but running 'netstat' on the pda terminal shows messages sitting in the recv-q for the tcp binding, specified during the voyager startup, after a namespace.lookup() is sent to the pda. Netstat also shows a connection gets established between the serverName (on pda) and the host machine doing the lookup() call. Thus, I assume binding works and voyager is binding the 'serverName' when the Namespace.lookup() request arrives and before any pointer is returned. My problem is that nothing gets returned and errors are very rare so I have no idea how to solve this problem.

Any help is greatly appreciated.

0
Comment
Question by:theotron5000
  • 2
  • 2
  • 2
6 Comments
 
LVL 45

Expert Comment

by:sunnycoder
Comment Utility
> My problem is that nothing gets returned and errors are very rare so I have no idea how to solve this problem.
you mean most of the times it works without any errors ...
0
 
LVL 2

Expert Comment

by:asbharadwaj
Comment Utility
>>I have a working application (IDS) using Voyager on multiple Linux desktop machines

Did you try a combination of desktop machines and PDAs?
Try with the ORB server on PDA and the console app on desktop and viceversa
and check if the same error occurs.
That way, we can know whether the problem lies with the client or the server
0
 

Author Comment

by:theotron5000
Comment Utility
In reply to sunnycoder:  when using the PDA as a target destination, it never works. Namespace.lookup fails on the PDA.

In reply to asbharadwaj:  I have the IDS working in a cross-environment (all desktops) of windows and linux. I will try the console app on the PDA, see if it works with other PDA's and desktops, and post when I have details on what happens with that (probably Wednesday or Thursday).

p.s. My initial problem statement was in regards to the ORB server on the PDA and the console app on a desktop. The ORB server works fine on other desktops, but seemingly not on the PDA correctly.
0
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 

Author Comment

by:theotron5000
Comment Utility
When running the console application from the PDA and the ORB server on a desktop machine, the console application throws and exception when trying to bind it's own ip address through Namespace.bind(). That exception is:

RuntimeRemoteException( java.io.IOException: java.lang.NoSuchMethodError: java/util/Vector.add(Ljava/lang/Object;)Z )

Since I am using java 1.1, java/util/Vector does not contain add(), but instead has addElement(). But, Voyager includes 'collections.jar' which has the java 1.2 version of java/util/Vector and supports add().

collections.jar is in my classpath, but it is possible Voyager is not using that newer version of Vector. Inside of collections.jar the path is com/sun/java/util/collections/Vector.class.

Any help on how to get this to use the correct Vector.class would be very helpful, and may be the only real problem I'm having (I hope).
0
 
LVL 45

Expert Comment

by:sunnycoder
Comment Utility
I am not much into java, (all I have to showcase for my java abilities is a hello world) but I have worked on RTOS and embedded systems... I had similar problem on one machine and it turned out that the kernel had not been compiled with some networking options... as far as I remember it was something like netlink sockets enabling...

If you are able to run any networking application, then obviously above is an unlikely issue... you can wait for a couple of days and see if some expert can offer advise on Java... otherwise, you can request deletion for this question and post a fresh question in java programming TA
0
 
LVL 2

Accepted Solution

by:
asbharadwaj earned 500 total points
Comment Utility
Try importing the java.util.collections package and then use the Vector class
or alternatively
prefix each occurrence of Vector with collections.Vector
Try writing a simple program to test if this works
since collections.jar is in your classpath, this should work for you
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Have you ever been frustrated by having to click seven times in order to retrieve a small bit of information from the web, always the same seven clicks, scrolling down and down until you reach your target? When you know the benefits of the command l…
The purpose of this article is to demonstrate how we can upgrade Python from version 2.7.6 to Python 2.7.10 on the Linux Mint operating system. I am using an Oracle Virtual Box where I have installed Linux Mint operating system version 17.2. Once yo…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now