The Case of the Jittery Java
Java. It is that program that is always installed on a system and is always asking to run updates. We don’t even consider it when troubleshooting an issue, but maybe we should…
Recently, a client requested for us to come out and give a tutorial on how to use their new smart barcode scanning units. These units are not dummy terminal barcodes. They are fully functional, windows mobile enabled, barcode units…very similar to what UPS uses in their major warehouse distribution centers. It is not a basic point and scan unit, there is some complexity to them. Fortunately, you normally setup these devices and they always work.
Anyway, we powered the unit on, connected to the WiFi, and everything ran perfect during the setup process. But when we told it to connect to our OI application through CTO, it was failing. Normally this means that there is a disconnection between the server and the unit (bad WiFi, packet-loss, etc). But after running diagnostics on the device, everything appeared to be solid.
Now remember, this was working just a few weeks prior, so we knew something had to have changed recently that caused this connection to fail. We began by reviewing the configuration records for CTO, no issues. We checked the server IP address, no changes. We checked local firewall and other security, no changes.
That leaves the server as being the issue, so we checked the OI application and everything was running correctly. We checked the OEServer service and that is when we started noticing an issue. It was reporting an unknown error, saying that the services failed to run. We restarted the services, same error. We uninstalled and reinstalled the services, same error. We restarted the server, same error.
So now we are down to the basics of what OEServer require to run? Java. We run a command prompt and enter “java –version”. It returns this screen:
Well, that explains a lot. We reviewed the Java folder on the server and found it contained a single empty folder. Java was simply not installed on the server, at least as far as Windows knew. So we reinstalled Java, restarted OEServer services, and everything worked like magic. We check the barcode units and they automatically started into our CTO connection.
Moral of the story, when troubleshooting, never assume that you can rely on base level software to be installed. Always check for the next clue and always follow the trail.
One of my clients has had a similar experience with Java on at least 2 or 3 occasions. That being, that after a Java update has run on the server, the Java folders that are in use by oEngineServer have been mostly deleted. It doesn’t happen with every Java update, but has occurred a number of times. Not being a Java expert, I am not sure what is happening, but I suspect the 32 bit version of Java is removed by the update. A manual re-install of Java has resolved the problem each time.
Pingback: SRP and Sprezzatura Blog Postings | Martyn's RevSoft UK Blog