• Post Reply Bookmark Topic Watch Topic
  • New Topic

SIGXCPU ACCESS_VIOLATION occured outside Interpreter and JITed code  RSS feed

 
Paul Cowan
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was about to post a question about this to the forums, but found the answer first... So I would like to post the answer instead. It's a very tricky problem and I found almost no help googling for it...

If java crashes, and you get an error like this in your stderr;

Unexpected exception has occurred:
ReportedExceptionCode = b, at ExceptionAddress = 412e1ad8
ACCESS_VIOLATION occured outside Interpreter and JITed code
ExecMode = EXECMODE_COMPILEDCODE
stackpointer=0x45ace3e0
stackpointer=0xbfffdd38
Writing Java core file ....
Written Java core to javacore.txt

And the javacore.txt file says something like this;

SIGXCPU received at 0x0xbfffe394 in unknown. Processing terminated.

It means that a files Java has open, (probably your stdout), has grown beyond the filesystem maximum file size limit. Java really crashes hard when this happens because the operating system throws a SIGXCPU error which Java does not handle well.

I think this only occurs on Linux, but maybe on Solaris too. I was using the IBM J2RE 1.3.1 via Websphere 4.

The only solution is to rotate your log file... Probably on newer operating systems the size limit is bigger, but for me on RedHat Linux 7.1 kernel 2.4.7 the limit was 2 gigs.

-Paul
 
Ernest Friedman-Hill
author and iconoclast
Sheriff
Posts: 24217
38
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hmmm. SIGXCPU means that a process's CPU time limit, as set by ulimit, has been exceeded. SIGXFSZ is file size limit exceeded. If you're getting SIGXCPU or SIGXFSZ, run ulimit -a to see what limits have been set on your account, and then either use ulimit to change them, or complain to your sysadmin.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!