7.2.1 (b6516) : Mobile Module Connection reset

Hi,

I’m unable to launch a mobile project from my mobile.
Running from a regular client is ok, but not with iPhone or Android nor iPad.
Below is the sequence :

  • VMCreator starting 1 new client VMs.
  • Client vm 90285409-4363-4287-17c5-f6aa0b101095 closed: IOException during rectangle message: java.net.SocketException: Connection reset
  • Failure in mobiledata/rects (this last one has a longer message in file enclosed)

Can you help me ?

PS : project is a simple windows with only a led display.
mobile launch error.txt (2.01 KB)

There are a few things to try here.

  1. Make sure you’re not running on a headless linux installation.
  2. Set your mobile module’s Callback Interface setting to the specific NIC address of the machine’s main ethernet adapter (e.g. 192.168.1.5)
  3. If that doesn’t help, set the mobile module’s JVM Options to: -Dmobile.debug=true
    Now try to launch a client. If it fails, there should be log files created under %INSTALL_DIR%/contexts/main/mobile_wdir. Post them here.

Well, the problem was that the X-windows server wasn’t properly installed… Cleaned everything and now it’s working.
Once again, thank you for your very good advice.

Should I say IA tech guys are the greatest ?
:smiley:

Glad you got it working! The headless linux thing is something that I’ll have to add to the user manual, that caught a few people off-guard.

[quote=“Carl.Gould”]There are a few things to try here.

  1. Make sure you’re not running on a headless linux installation.
  2. Set your mobile module’s Callback Interface setting to the specific NIC address of the machine’s main ethernet adapter (e.g. 192.168.1.5)
  3. If that doesn’t help, set the mobile module’s JVM Options to: -Dmobile.debug=true
    Now try to launch a client. If it fails, there should be log files created under %INSTALL_DIR%/contexts/main/mobile_wdir. Post them here.[/quote]

This does not make sense to me that a Linux system would need X-Windows installed for mobile view. Are there binaries or libraries that need to be used by Ignition, or does the full X system need to be loaded? Do I need to just install the X-server or do I need full install of Gnome/KDE? I can’t seem to find any documentation on what exactly is required, do these exist?

Having to run a GUI on Linux kind of almost defeats the purpose of running Ignition on Linux.

The mobile module launches virtual client VMs to server the mobile sessions. These mobile client VMs use Java’s AWT subsystem, which requires X. I’m not entirely sure why, but it isn’t too surprising to me. This is still an area we’re trying to iron out. We also are going to add the ability to hook up “slave” machines to your main gateway whose sole purpose is to launch mobile client VMs. That way you could run Ignition on a headless linux server and have other boxes dedicated to the mobile client VM launching task.

Demo’ing 7.2.4 (b48) on suse 11:

having symptoms similar to those in this thread, as well as this one:http://www.inductiveautomation.com/forum/viewtopic.php?f=70&t=5888&p=16382&hilit=mobile+launchclient.jar#p16382

this is not on a headless install- gnome on suse is working nicely. starting ignition as a service results in the same problem described upthread. If i run “ignition.sh start” logged into gui, the system attempts to launch VMs and returns this in wrapper.log:

INFO | jvm 1 | 2011/04/06 13:58:11 | DEBUG [VMManager ] [13:58:11,619]: Starting vm: java -cp /usr/local/ignition/contexts/main/core/launch/launchclient.jar:/usr/local/ignition/contexts/main/mobile_wdir/mobile-common.jar:/usr/local/ignition/contexts/main/mobile_wdir/mobile-client-bootstrap.jar -Dmobile.callback.interface=10.10.11.53 -Dmobile.callback.port=45900 -Dmobile.debug=true -Xmx256M com.inductiveautomation.mobile.MobileMain INFO | jvm 1 | 2011/04/06 13:58:13 | WARN [VMManager ] [13:58:13,143]: Client VM exited unexpectedly with code 1. INFO | jvm 1 | 2011/04/06 13:58:13 | Client err stream: INFO | jvm 1 | 2011/04/06 13:58:13 | Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

system goes on trying to init mouse, keyboard, etc. and fails all.

however…

if i run java -cp /usr/local/ignition/contexts/main/core/launch/launchclient.jar:/usr/local/ignition/contexts/main/mobile_wdir/mobile-common.jar:/usr/local/ignition/contexts/main/mobile_wdir/mobile-client-bootstrap.jar -Dmobile.callback.interface=10.10.11.53 -Dmobile.callback.port=45900 -Dmobile.debug=true -Xmx256M com.inductiveautomation.mobile.MobileMain in terminal, mobile clients can connect- at least until the connection times out.

This feels a lot like i am experiencing permissions problems with the X11 config. logging in to the suse server and X as root gets mobile working. but trying to launch a VM from terminal as another user blows up with complaints about the X11 and displays.

What are recommended perms for the account running ignition- especially with regard to X11 and JVMs? Does anyone have a working x11 config on suse theyd like to share?

Nolan

I am also having the same issue with the Mobile project launch, the mobile device reports “connection reset” after the login screen closes. Enabling the mobile module logging reveals “No X11 Display Variable Set” error, I checked this out on Google where most solutions suggest setting the following environment variable “export Display=0:0”, this had no effect.
I realize this is most likely an issue between the OS and Java, but any help would greatly appreciated, as our customers often ask about mobile connectivity.

OS=CentOS5.5(64Bit)
Ignition=7.2.5

This is an issue that we’re aware of, but don’t have a resolution for yet. I think Nolan’s analysis is spot-on: for some reason the conditions that allow JVMs spawned from the Ignition Gateway process to access the X11 system are elusive.

Unfortunately, I’ve been unable to come up with a solution that allows this to work reliably.

Sorry to dig up a semi-old thread, but is there any progress towards posting what is required to run the Mobile Module on a server? We’ve got an existing Ubuntu 10.04 server at a customer’s site, and they want to run the Mobile Module on their system now. If someone can point me to what additional packages I need to install to get this working, I would be eternally grateful! I REALLY don’t want to have to do a re-install on their server. Thanks!

So, no then? :laughing:

Sorry, there has been no further progress as of yet running the mobile module reliably on linux.

Can anyone who HAS gotten it working in Ubuntu post any pointers?

Also, do I have any options as far as running just the Mobile Module on a Windows machine, and running the rest of the system under Linux? Thanks.

Carl,

Just on the off chance this means anything, I installed X, set up the environment variables as suggested, and I’m throwing a slightly different error. Now when I try to launch the Mobile Module in debug mode, my ClientVM log file shows the following:

Error handling PROTO_SEND message. java.awt.HeadlessException at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source) at java.awt.Window.<init>(Unknown Source) at java.awt.Frame.<init>(Unknown Source) at javax.swing.JFrame.<init>(Unknown Source) at gnu.swing.ToolkitJFrame.<init>(ToolkitJFrame.java:20) at gnu.swing.virtual.VirtualJFrame.<init>(VirtualJFrame.java:20) at gnu.vnc.awt.VNCJFrame.<init>(VNCJFrame.java:25) at com.inductiveautomation.mobile.VirtualBootstrap.<init>(VirtualBootstrap.java:67) at com.inductiveautomation.mobile.MobileMain.init(MobileMain.java:124) at com.inductiveautomation.mobile.MobileMain.access$500(MobileMain.java:35) at com.inductiveautomation.mobile.MobileMain$ControlCommsThread.handleMessage(MobileMain.java:343) at com.inductiveautomation.mobile.MobileMain$ControlCommsThread.handleMessage(MobileMain.java:337) at com.inductiveautomation.mobile.MobileMain$ControlCommsThread.run(MobileMain.java:250) at java.lang.Thread.run(Unknown Source) Cannot request rectangles before initialization.

Any ideas on this front? Thanks.

Joe

Also, is this corrected in 7.3, or does it exist on all versions with the Mobile Module? Thanks.

Like I said, no progress has been made on this front, sorry. There are a variety of errors you may get in this situation, but they all boil down to the virtual client VM that gets started to handle the mobile session being unable to detect that X is running. Java’s AWT subsystem requires an underlying OS windowing system to work. Even when X is running, it seems to get confused especially when the Gateway (which is a headless process) gets startup up before X, or under a different user, or a combination of factors that we haven’t really nailed down.

OK. Back to Windows Server until this gets ironed out. This appears (from Google searches anyway) to be a fairly widespread issue. Hopefully someone gets it ironed out in the JVM soon. I REALLY want to standardize on Linux for our server installations. :stuck_out_tongue: