CAVE setup problems

General discussion area.
glickenstein
Posts: 10
Joined: Wed 30. Jun 2010, 22:03

CAVE setup problems

Post by glickenstein » Wed 30. Jun 2010, 22:17

We are trying to set up jreality in our CAVE, and are having some problems. We have followed the directions at the jR VE tutorial. The smrj seems to run okay, but when we try to run ViewerApp or ViewerVR (from eclipse) we get the following error:

Code: Select all

Jun 30, 2010 12:17:00 PM de.smrj.tcp.TCPBroadcasterNIO$ClientConnectListener acceptClient
INFO: client connected: java.nio.channels.SocketChannel[connected local=/192.168.128.201:8844 remote=/192.168.128.201:33484]
accepting client
Exception in thread "main" java.lang.NullPointerException
	at de.jreality.ui.viewerapp.ViewerApp.setupViewer(ViewerApp.java:496)
	at de.jreality.ui.viewerapp.ViewerApp.init(ViewerApp.java:250)
	at de.jreality.ui.viewerapp.ViewerApp.<init>(ViewerApp.java:214)
	at de.jreality.ui.viewerapp.ViewerApp.main(ViewerApp.java:312)
(We ran it exactly as you recommended, but had to take out -Xms256M -Xmx512M flags)

The smrj is clearly getting some contact, but only the control window pops up and not the display window.

We have also tried running just cube5 and icosohedron, and they did not give any errors, but also did not pop up a display window.

Some other strange things happen. Occasionally we get a blank window pop up (resized to zero by zero), but I'm not sure when (it may happen after I've terminated some programs and running another without restarting smrj). Also, when we start trackd, it does not pop up a tracking window the first time you run ViewerVR, but does the second time (or if you run ViewerApp right afterwards).

When we don't run the smrj, it seems to work fine (including jogl). Any thoughts?

Thanks,
Dave

User avatar
steffen
Posts: 186
Joined: Fri 16. Jun 2006, 13:30
Location: TU Berlin
Contact:

Re: CAVE setup problems

Post by steffen » Thu 1. Jul 2010, 11:40

I am trying to reproduce the problem... Right now it runs fine when started from eclipse but fails from command line. I don't see the difference yet.

Steffen.

User avatar
steffen
Posts: 186
Joined: Fri 16. Jun 2006, 13:30
Location: TU Berlin
Contact:

Re: CAVE setup problems

Post by steffen » Thu 1. Jul 2010, 12:03

Works for me now, it was just an error in the CLASSPATH. Please post exactly the directory structure, classpath, and the commands you are using...

glickenstein
Posts: 10
Joined: Wed 30. Jun 2010, 22:03

Re: CAVE setup problems

Post by glickenstein » Thu 1. Jul 2010, 19:11

The directory in which everything resides is:

/home/vrco/geocam/workspace/jreality


The CLASSPATH (and these other environment variables) are set in .cshrc:

setenv CLASSPATH
/home/vrco/geocam/workspace/jreality/jReality.jar:/home/vrco/geocam/workspace/jreality/lib:/home/vrco/geocam/workspace/jreality/bin:/home/vrco/geocam/workspace/jreality/tutorial

setenv LD_LIBRARY_PATH
${LD_LIBRARY_PATH}:/home/vrco/geocam/workspace/jreality/jni/linux64

setenv PATH ${PATH}:/home/vrco/geocam/workspace/jreality/bin


The command for running the srmj-client is:

java -Xms512M -Xmx1248M
-Djava.library.path=/home/vrco/geocam/workspace/jreality/jni/linux64
-Djreality.config=/home/vrco/geocam/workspace/jreality/bin/portal.center
-Djreality.jogl.quadBufferedStereo=false -jar
/home/vrco/geocam/workspace/jreality/lib/smrj-client.jar


We are running the ViewerApp from Eclipse with the following VM arguments:

-Djava.library.path=/usr/vrco/geocam/workspace/jreality/jni/linux64
-Dde.jreality.scene.Viewer=de.jreality.portal.PortalServerViewer
-Dde.jreality.viewerapp.env=portal -Dde.jreality.scene.tool.Config=portal
-Dde.jreality.portal.localViewer=de.jreality.jogl.Viewer


And finally I captured the entire output in the ViewerApp console in Eclipse
and the output from the smrj-client and have attached those as text files to
this message.

Thanks!

glickenstein
Posts: 10
Joined: Wed 30. Jun 2010, 22:03

Re: CAVE setup problems

Post by glickenstein » Thu 1. Jul 2010, 19:14

Not sure if those text files worked. Here is the viewerapp console:

Code: Select all

Jul 1, 2010 8:40:05 AM de.smrj.tcp.TCPBroadcaster$ClientConnectListener run
INFO: binding
ClientListener.run(): bound to azlive.rc.arizona.edu/192.168.128.201:8844Jul 1, 2010 8:40:05 AM de.smrj.tcp.TCPBroadcaster <init>
INFO: TCPBroadcaster started.  port=8,844

accepting client
accepting connections
sent: new-connection: azlive.rc.arizona.edu 8844
sent: response-type: 1
sent: cp-server: azlive.rc.arizona.edu 8845
sent: cp-element: /home/vrco/geocam/workspace/jreality/bin/
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/antlr.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/jogl.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/jterm.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/smrj.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/janino.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/sunflow.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/xpp3.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/xstream.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/jinput.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/smrj-app.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/bsh.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/iText-2.1.3.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/colorpicker.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/gluegen-rt.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/vrData.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/jjack_min.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/netutil.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/vrExamples.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/jrworkspace.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/lib/beans.jar
sent: cp-element: /home/vrco/geocam/download/eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar
sent: cp-element: /home/vrco/geocam/download/eclipse/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar
sent: do-connect: de.jreality.scene.proxy.smrj.ClientFactory
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
Jul 1, 2010 8:40:05 AM de.smrj.tcp.TCPBroadcasterNIO$ClientConnectListener acceptClient
INFO: client connected: java.nio.channels.SocketChannel[connected local=/192.168.128.201:8844 remote=/192.168.128.201:34202]
accepting client
Exception in thread "main" java.lang.NullPointerException
	at de.jreality.ui.viewerapp.ViewerApp.setupViewer(ViewerApp.java:496)
	at de.jreality.ui.viewerapp.ViewerApp.init(ViewerApp.java:250)
	at de.jreality.ui.viewerapp.ViewerApp.<init>(ViewerApp.java:214)
	at de.jreality.ui.viewerapp.ViewerApp.main(ViewerApp.java:312)
Here is the smjr window:

Code: Select all

connecting to azlive.rc.arizona.edu:8844 with de.jreality.scene.proxy.smrj.ClientFactory
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/bin/?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/bin/
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/antlr.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/antlr.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/jogl.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/jogl.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/jterm.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/jterm.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/smrj.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/smrj.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/janino.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/janino.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/sunflow.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/sunflow.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/xpp3.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/xpp3.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/xstream.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/xstream.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/jinput.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/jinput.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/smrj-app.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/smrj-app.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/bsh.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/bsh.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/iText-2.1.3.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/iText-2.1.3.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/colorpicker.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/colorpicker.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/gluegen-rt.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/gluegen-rt.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/vrData.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/vrData.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/jjack_min.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/jjack_min.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/netutil.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/netutil.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/vrExamples.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/vrExamples.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/jrworkspace.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/jrworkspace.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/workspace/jreality/lib/beans.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/lib/beans.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/download/eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar?exists
USING LOCAL: /home/vrco/geocam/download/eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar
URL=http://azlive.rc.arizona.edu:8845/home/vrco/geocam/download/eclipse/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar?exists
USING LOCAL: /home/vrco/geocam/download/eclipse/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar
Jul 1, 2010 8:45:43 AM de.smrj.tcp.TCPReceiver connect
INFO: Receiver: connected to azlive.rc.arizona.edu:8,844
Jul 1, 2010 8:45:45 AM de.smrj.ClientFactory registerNewObject
INFO: registering disconnect callbackde.jreality.portal.HeadTrackedViewer
initing gl
ClientFactory.dispose()
TCPReceiver.shutdown() -> done.

User avatar
steffen
Posts: 186
Joined: Fri 16. Jun 2006, 13:30
Location: TU Berlin
Contact:

Re: CAVE setup problems

Post by steffen » Thu 1. Jul 2010, 23:23

The problem comes from an UnsatisfiedLinkError, because the libJavaTrackdAPI.so file is missing. You need to compile the C code from jreality/native/trackd). To compile the lib you need the Trackd API. I think you can get it from mechdyne. However I could not yet figure out why it fails so badly (the program should not crash because of that missing lib) - I'll check that tomorrow.

To test, just leave out the -Dde.jreality.scene.tool.Config=portal flag. This should start up the local viewer with standard mouse/keyboard input, and pop up the "center" window. It becomes more interesting when you run de.jreality.vr.ViewerVR instead of ViewerApp.

We are currently also working on our cave setup - we are going to write some documentation during that process.


Some remarks to your setup:

- The classpath for the smrj-client.jar is not required. I suggest you remove it. It gets all the information via remote calls.
- Setting the LD_LIBRARY_PATH and also passing -Djava.library.path=/home/vrco/... is redundant.
- There is an inconsistancy in the java.library.path - /home/vrco/... vs. /usr/vrco/... is this a typo?


Maybe you give some details on the CAVE setup - especially tracking (what TrackD version) and screen setup.

Good luck ;-)

Steffen.

glickenstein
Posts: 10
Joined: Wed 30. Jun 2010, 22:03

Re: CAVE setup problems

Post by glickenstein » Fri 2. Jul 2010, 23:14

My system administrator seems to have gotten the center window to pop up, and will try the other ones on Tuesday. We are in the process of getting the trackd software so we can compile (it should be sent soon). Thanks for your help. I'll let you know how it is going next week.

Dave

csm5125
Posts: 19
Joined: Tue 6. Jul 2010, 19:45

Re: CAVE setup problems

Post by csm5125 » Tue 6. Jul 2010, 21:58

I'm having similar problems. I'm running the ViewerApp/Viewer VR in eclipse with the VM arguments:

-Dde.jreality.scene.Viewer=de.jreality.portal.PortalServerViewer
-Dde.jreality.viewerapp.env=portal
-Dde.jreality.portal.localViewer=de.jreality.jogl.Viewer

(the same arguments in the CAVE tutorial)

When I run this, the viewing window does not pop up. Here is my console output:

Jul 6, 2010 2:51:59 PM de.smrj.tcp.TCPBroadcaster$ClientConnectListener run
INFO: binding
ClientListener.run(): bound to hawaii/10.32.11.224:8844
Jul 6, 2010 2:51:59 PM de.smrj.tcp.TCPBroadcaster <init>
INFO: TCPBroadcaster started. port=8,844
accepting client
accepting connections
sent: new-connection: hawaii 8844
sent: response-type: 1
sent: cp-server: hawaii 8845
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/bin/
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/antlr.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/jogl.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/jterm.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/smrj.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/janino.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/sunflow.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/xpp3.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/xstream.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/jinput.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/smrj-app.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/bsh.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/iText-2.1.3.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/colorpicker.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/gluegen-rt.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/vrData.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/jjack_min.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/netutil.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/vrExamples.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/jrworkspace.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/workspace/jreality_trunk/lib/beans.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/My%20Documents/eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar
sent: cp-element: /C:/Documents%20and%20Settings/csm5125/My%20Documents/eclipse/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar
sent: do-connect: de.jreality.scene.proxy.smrj.ClientFactory
waiting...
waiting...
...

I intend to use this in a CAVE, but I don't have the option to test it right now, so I don't know if this will display anything in the cave or not.

What am I doing wrong?

User avatar
steffen
Posts: 186
Joined: Fri 16. Jun 2006, 13:30
Location: TU Berlin
Contact:

Re: CAVE setup problems

Post by steffen » Wed 7. Jul 2010, 11:24

I think there is no client connecting - are you running the smrj-client.jar on a different machine? Then maybe this machine does not receive broadcast messages. Please post also the client console...

csm5125
Posts: 19
Joined: Tue 6. Jul 2010, 19:45

Re: CAVE setup problems

Post by csm5125 » Wed 7. Jul 2010, 17:19

I am now able to connect and am experiencing problems similar to the original poster. I'm going to follow the same advice.

Thanks

csm5125
Posts: 19
Joined: Tue 6. Jul 2010, 19:45

Re: CAVE setup problems

Post by csm5125 » Thu 8. Jul 2010, 22:38

Ok, I've run into another problem in compiling the trackd dll. I'm using Cygwin on top of Windows xp.

I have a directory with the following files:

TrackdApi.c (from the native folder)
TrackdAPI.o (compiled using: gcc -c -mno-cygwin -I /usr/include -I $JAVA_HOME/include/win32 -I . TrackdAPI.c)
de_jreality_devicedriver_TrackdJNI.h (created using javah)
trackdAPI.h (from mechdyne)
libtrackdAPI.a (from mechdyne)

I'm trying to compile using :
gcc -shared -mno-cygwin -Wl -o libJavaTrackdAPI.dll -I de_jreality_devicedriver_TrackdJNI.h TrackdAPI.o libtrackdAPI.a
(basically copied from the included build file)

which results in:
TrackdAPI.o:TrackdAPI.c:(.text+0xf): undefined reference to `_trackdGetNumberOfSensors'
TrackdAPI.o:TrackdAPI.c:(.text+0x26): undefined reference to `_trackdGetNumberOfButtons'
TrackdAPI.o:TrackdAPI.c:(.text+0x7a): undefined reference to `_trackdGetMatrix'
TrackdAPI.o:TrackdAPI.c:(.text+0x12a): undefined reference to `_trackdGetButton'
TrackdAPI.o:TrackdAPI.c:(.text+0x148): undefined reference to `_trackdGetValuator'
TrackdAPI.o:TrackdAPI.c:(.text+0x15f): undefined reference to `_trackdGetNumberOfValuators'
TrackdAPI.o:TrackdAPI.c:(.text+0x19c): undefined reference to `_trackdInitTrackerReader'
TrackdAPI.o:TrackdAPI.c:(.text+0x1ac): undefined reference to `_trackdInitControllerReader'
collect2: ld returned 1 exit status

I've searched google for related problems, but they have not helped in this case
does anyone know what's going on here?

glickenstein
Posts: 10
Joined: Wed 30. Jun 2010, 22:03

Re: CAVE setup problems

Post by glickenstein » Fri 9. Jul 2010, 00:02

We got the trackd working, but are still having trouble communicating between computers.

This is from our CAVE administrator:

I am now having problems trying to get the smrj stuff working on the side and floor computers. Since my original attempts were unsuccessful in getting displays up on the non-center screens, I decided to test the smrj communications with the simple println("Hi there!") example found at the beginning of the JReality Virtual Environment Tutorial web page. So I entered and compiled the 3 sample examples on that page and tried this:

On all the clients (center, right, left, and floor) I ran the smrj-client:

java -jar smrj-client.jar

Then on the master machine (center), I ran the SMRJDemo app (the one that does the println):

java -cp smrj.jar:. SMRJDemo

The master connects to the smrj-client being run on that same center machine and prints "Hi there!" in the client window. But it never connects (and therefore does not print "Hi there!") to any of the other client machines (right, left, or floor). The clients on those other machines just sit there waiting for a connection. I've looked through all the documentation I can find but do not see anything that needs to be configured to get those connections to take place.

Just for completeness, here is the output from the master window after running the SMRJDemo app:

Jul 7, 2010 1:49:33 PM de.smrj.tcp.TCPBroadcaster$ClientConnectListener run
INFO: binding
ClientListener.run(): bound to azlive.rc.arizona.edu/192.168.128.201:8868
accepting client
accepting connections
Jul 7, 2010 1:49:33 PM de.smrj.tcp.TCPBroadcaster <init>
INFO: TCPBroadcaster started. port=8,868
sent: new-connection: azlive.rc.arizona.edu 8868
sent: response-type: 1
sent: cp-server: azlive.rc.arizona.edu 8869
sent: cp-element: /home/vrco/geocam/workspace/jreality/tutorial/smrj.jar
sent: cp-element: /home/vrco/geocam/workspace/jreality/tutorial/
sent: do-connect: de.smrj.ClientFactory
JAR-SERVER: accepting /192.168.128.201
JAR-SERVER: accepting /192.168.128.201
Jul 7, 2010 1:49:33 PM de.smrj.tcp.TCPBroadcasterNIO$ClientConnectListener
acceptClient
INFO: client connected: java.nio.channels.SocketChannel[connected
local=/192.168.128.201:8868 remote=/192.168.128.201:32813]
accepting client


And here is the output in the center machine's smrj-client window:

connecting to azlive.rc.arizona.edu:8868 with de.smrj.ClientFactory
URL=http://azlive.rc.arizona.edu:8869/home/ ... reality/tu
torial/smrj.jar?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/tutorial/smrj.jar
URL=http://azlive.rc.arizona.edu:8869/home/ ... reality/tu
torial/?exists
USING LOCAL: /home/vrco/geocam/workspace/jreality/tutorial/
Jul 7, 2010 1:17:12 PM de.smrj.tcp.TCPReceiver connect
INFO: Receiver: connected to azlive.rc.arizona.edu:8,868
Hi there!


The other machines' smrj-client windows just sit there with no output at all.

The center machine's IP address is 192.168.128.201 (which can be seen in the master output above). The other machines are on a dedicated network with the addresses 192.168.128.202, 192.168.128.203, and 192.168.128.204

Thanks.
Dave

glickenstein
Posts: 10
Joined: Wed 30. Jun 2010, 22:03

Re: CAVE setup problems

Post by glickenstein » Fri 9. Jul 2010, 00:08

Okay, so it seems that the master is not broadcasting to the client machines. We watched network traffic when running SMRJDemo and the local machine sees udp packets being sent and received when the demo is started and terminated, but the client machines never report seeing those packets. It was also tried without a firewall, so that does not appear to be the problem.

How to we ensure that the master sends messages to non-local clients? Do we need to specify the addresses of the other machines somewhere?

Thanks again.
Dave

User avatar
steffen
Posts: 186
Joined: Fri 16. Jun 2006, 13:30
Location: TU Berlin
Contact:

Re: CAVE setup problems

Post by steffen » Fri 9. Jul 2010, 00:59

I think I can add a mode to initialize connections via TCP instead of UDP messages this weekend...

Right now it broadcasts messages to 230.0.0.1:4445, hardcoded... ;-( I'll also improve that.

Steffen.

User avatar
steffen
Posts: 186
Joined: Fri 16. Jun 2006, 13:30
Location: TU Berlin
Contact:

Re: CAVE setup problems

Post by steffen » Fri 9. Jul 2010, 14:45

Ok, it should be possible now (update from SVN lib/smrj.jar and smrj-client.jar) to specify the clients directly. Then broadcasting is not used. To use that, run the smrj-client.jar with parameters tcp 4444 (4444 is the port, you can choose something else), i.e.

Code: Select all

java -jar smrj-client.jar tcp 4444
On the center machine, specify the clients via the system property de.smrj.clients and the port with de.smrj.clients.port, i.e.

Code: Select all

java -Dde.smrj.clients="192.168.128.201 192.168.128.202 192.168.128.203 192.168.128.204" -Dde.smrj.clients.port=4444 -cp smrj.jar:. SMRJDemo
If ViewerApp/ViewerVR fails(SMRJDemo will probably run with the default values), increase the two timeout values for the center machine: de.smrj.jarserver.initialDelay (is 1000) and de.smrj.jarserver.incrementalDelay (is 100). Especially the second might be too small. The values are milliseconds.

Let me know how it is going...

Steffen.

Post Reply