« WUG Leaders' Blog Kickoff | Main | Extending the WUG through Second Life (SL) »

WebSphere 6.1.0.3 NodeAgent won't start...

I have just recent run into and solved a problem where a WebSphere 6.1.0.3 nodeagent process wouldn’t start on Windows. What was odd is that it initially presented itself by not starting via the Windows Service. I was able to start it via startNode.bat just fine. When it didn’t start, the java.exe process would run, get to about 50-60mb, take 100% of cpu and then not get any further.

Next, I tried starting it via startNode.bat while running as the same user that the service was running as, and discovered that it didn’t work running as that user. Now that was interesting. Somehow there was a problem related to a specific user. The fun part was what came next. A look through all of the WebSphere logs didn’t yield anything. I turned tracing on to the highest level and that didn’t reveal anything.On the thought that maybe some file couldn’t be read or written to, I grabbed the filemon utility from Sysinternals.com and noticed a file that was being overwritten under c:\Documents and Settings\Local Settings\Application Data\javasharedresources . That was interesting, but didn’t seem that important.

Next, I used the Windows “runas” command. I logged in as the user that was unable to get startNode.bat to work. With runas, I specified to run as myself using my profile and the nodeagent started just fine. Next, I specified to run as myself, but to use the profile for the user that was broken by specifying /env. And would you believe it, now it wouldn’t start. Hmmm, so the problem was somewhere in the profile and filemon had pointed me to a file that was under the broken user’s profile!

I renamed the file under c:\Documents and Settings\Local Settings\Application Data\javasharedresources and then ran startNode.bat as the user it had not been working for. Whew, it worked! I have no idea what this file is used for, but when it was recreated, all was well. Running a difference on the files yielded nothing and the privileges appeared to be the same between the two files.

Brooke

Comments

I am one of the two leaders of the UK WUG.

The javasharedresources file is a cache of the "ROMClasses", i.e. the parts of classes that don't change, and is an artefact of the IBM J9 JVM controlled by the -Xshareclasses:CACHENAME option. Using this cache saves on memory and startup time when multiple instances are being used inside an OS image.

I am just documenting this behaviour for a magazine and can supply more details if required.

I should also add that in later fixes the use of teh shared classes option can be switched off in server.xml. It isn't controllable any other way because its use is managed in code in the WSServerLauncher class that goes on to load the OSGI/Eclipse runtime underlying WAS 6.1. Its use is also controlled in the com.ibm.cds_1.0 plugin in the plugins directory as the classloader needs to be aware of its use.

On some platforms multiple caches can be configured by running WAS instances under different users/groups as the cache is normally named "webspherev61_GROUPNAME". Sadly, resizing isn't normally possible except through nepharious means....

I'll update this site when the docs I am doing are published by IBM. For now, find the excellent articles on DeveloperWorks.

I happen to land in the same situation. It all started with me changing the JVM Heap size in the Websphere 6.1 Admin Console to 2048 from 1536. Then I restarted the system but the websphere service wont start in the Control Panel. I checked the startServer.log file which showed the JVM had issues with heap size, so it was not initialising and hence the WAS wont start. I then reverted the heap size change in C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\ws-sm1Node01Cell\nodes\ws-sm1Node01\servers\server1\server.xml , that fixed the problem. I was able to start the WAS 6.1 service again. Heap size is calculated as, Heap size = (Total Available Memory/2)/(No. of servers)

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)