divide by zero in sleep

Asa Hardcastle <[email protected]> Mon, 26 Jun 2006 12:09:17 -0400
Newsgroups gmane.comp.java.openjms.user
Message-ID <[email protected]>
Hello,

I am running openjms 0.7.6.1 on several mac os x Tiger machines  
(running intel core duos).  One is running the server and others are  
using the client library.  All three are receiving a java native  
crash that can be tracked down to the "Clock.java" class, and more  
specifically "sleep(_unsynchTicks);" in the run class.

     public void run() {
         while (true) {
             try {
                 for (int i = 0; i < _synchEvery; ++i) {
                     sleep(_unsynchTicks);
                     synchronized (Clock.class) {
                         _clock += _unsynchTicks + _adjust;
                     }
                 }
                 synchronize();
             } catch (Throwable exception) {
                 _log.error("Internal error in clock daemon",  
exception);
             }
         }
     }


What happens is that I get a fatal crash that kills the JVM and  
reports the following in the java native crash log:

	at java.lang.Thread.sleep(Native Method)
	at org.exolab.jms.util.Clock.run(Clock.java:210)


in the java log I get:

Exception:  EXC_ARITHMETIC (0x0003)
Codes:      EXC_I386_DIV (divide by zero)

Apparently a PPC chip would not have a fatal error on a divide by zero.

This crash is intermittent and does not seem to follow any pattern,  
other than it happens a few times a week.

Any help would be greatly appreciated.

thanks,

asa




Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642