I am writing this partly to help those who experience the problem at least have 
a way out and also to ask if there is another better way to solve this problem

I am using release 4.03 SP1 and a 64 bit linux jvm with 4 GB memory  and heap 
set at 2MB max. Sometimes on startup the jboss crashes with an OutOfMemoryError 
while trying to open a zip file. This can happen on a clean install and no apps 
loaded. When it happens the only solution is to restart the machine and hope. 
The first load normally works.

In Jira the Jboss team says this is a jvm bug, It was supposed to be fixed in 
403Sp1 but it seems that it isn't.  The Jboss team seem to think that this is a 
jvm problem and not really their problem. Accoring to them Java should not run 
out of system  memory opening an invalid jar or xml file. This problem really 
is a result of the jvm using memory mapped files for opening zip files, and 
this looks unlikely to change (its been discussed since jdk V1.3 on the bug 
tracking system).  Unfortunately this make JBOSS unusable on a 64bit machine or 
where you need more then about 1.5 mB of memory.  problem has been around since 
jdk1.3 and it looks like it won't change.  

I spent a very fustrating few weeks trying to find a solution for the problem 
and couldn't. I tried rejaring all the files in the lib directory, making sure 
I had enough heap space and system memory etc. Nothing worked 

Eventually I patched the  RepositoryClassLoader.java file to ignore the 
EOutOfMemoryError. This works, the server loads now and does not crash. The 
services seem to be unaffected. Everything on our machines still run as per 
normal. 

My currently hacked solution is to download the source, patch the 
RepositoryClassLoader.java file with the patched method below and rebuild the 
jboss-jmx.jar and place the new jboss-jmx.jar file in the jboss/lib directory.

If you would rather have the already patched  jboss-jmx.jar please mail me on 
duosp.co.za (at) andrew.  

/---------------snip ------------------------/
  |   /**
  |    * Provides the same functionality as [EMAIL PROTECTED] 
java.net.URLClassLoader#getResource}.
  |    */
  |    public URL getResourceLocally(String name)
  |    {
  |       URL resURL = (URL) resourceCache.get(name);
  |       if (resURL != null)
  |          return resURL;
  |       if (isResourceBlackListed(name))
  |          return null;
  |       try {
  |         if( log.isTraceEnabled()){
  |           log.trace("getResourceLocally("+this+"), name="+name+", 
resURL:"+resURL);      
  |         }
  |         resURL = super.getResource(name);
  |       } catch( OutOfMemoryError e){
  |         resURL = null;
  |         log.error("OutOfMemoryError (sporadic error on AMD64 when opening 
zip files) for getResourceLocally("+this+"), name="+name+", resURL:"+resURL);   
   
  |       }
  |       if (resURL == null)
  |          addToResourceBlackList(name);
  |       else
  |          resourceCache.put(name, resURL);
  |       return resURL;
  |    }
  | /-------------snip -------------------------------------/
  | 

I still feel slightly uneasy about this hack, suffficiently so that i did not 
put it in the Jira. Unfortunately no one else seems to have any solution and I 
can't believe I am the only one who is getting this. It was happening on a 
virgin JBOSS install on some of our machines in the cluster.   

I hope this helps someone else with the same problem 
Any comments on how to solve the problem properly would be welcome.


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3914600#3914600

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3914600


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to