Let me see the Java Gurus
I am having a tomcat application running on solaris 9 and it starts using about 100% CPU after some time. I tried prstat -L and got the threads that were consuming the max CPU. On doing a truss for the process Id I found out the following about those thread. There were about 4 thread that were comsuming all the CPU resources.
The following identical output I got for all the threads:
/102: Incurred fault #6, FLTBOUNDS %pc = 0xF9C4DC24
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: Received signal #11, SIGSEGV [caught]
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: sigprocmask(SIG_SETMASK, 0xCA8FDE5C, 0x00000000) = 0
/102: sigprocmask(SIG_SETMASK, 0xFF17A094, 0xCA8FDC10) = 0
/102: lwp_unpark(102, 1) = 0
/102: setcontext(0xCA8FDC20)
/102: lwp_mutex_lock(0x000566F0) = 0
/102: lwp_cond_broadcast(0x00056708) = 0
/102: lwp_mutex_wakeup(0x000566F0) = 0
/102: lwp_mutex_lock(0x00056780) = 0
/102: Incurred fault #6, FLTBOUNDS %pc = 0xF9C4DC24
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: Received signal #11, SIGSEGV [caught]
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: sigprocmask(SIG_SETMASK, 0xCA8FDE5C, 0x00000000) = 0
/102: sigprocmask(SIG_SETMASK, 0xFF17A094, 0xCA8FDC10) = 0
/102: lwp_unpark(102, 1) = 0
/102: setcontext(0xCA8FDC20)
/102: lwp_mutex_lock(0x000566F0) = 0
/102: lwp_cond_broadcast(0x00056708) = 0
/102: lwp_mutex_wakeup(0x000566F0) = 0
/102: lwp_mutex_lock(0x00056780) = 0
/102: Incurred fault #6, FLTBOUNDS %pc = 0xF9C4DC24
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: Received signal #11, SIGSEGV [caught]
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: sigprocmask(SIG_SETMASK, 0xCA8FDE5C, 0x00000000) = 0
/102: sigprocmask(SIG_SETMASK, 0xFF17A094, 0xCA8FDC10) = 0
/102: lwp_unpark(102, 1) = 0
/102: setcontext(0xCA8FDC20)
/102: lwp_mutex_lock(0x000566F0) = 0
/102: lwp_cond_broadcast(0x00056708) = 0
/102: lwp_mutex_wakeup(0x000566F0) = 0
/102: lwp_mutex_lock(0x00056780) = 0
/102: Incurred fault #6, FLTBOUNDS %pc = 0xF9C4DC24
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: Received signal #11, SIGSEGV [caught]
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: sigprocmask(SIG_SETMASK, 0xCA8FDE5C, 0x00000000) = 0
/102: sigprocmask(SIG_SETMASK, 0xFF17A094, 0xCA8FDC10) = 0
/102: lwp_unpark(102, 1) = 0
/102: setcontext(0xCA8FDC20)
/102: lwp_mutex_lock(0x000566F0) = 0
/102: lwp_cond_broadcast(0x00056708) = 0
/102: lwp_mutex_wakeup(0x000566F0) = 0
/102: lwp_mutex_lock(0x00056780) = 0
/102: Incurred fault #6, FLTBOUNDS %pc = 0xF9C4DC24
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: Received signal #11, SIGSEGV [caught]
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: sigprocmask(SIG_SETMASK, 0xCA8FDE5C, 0x00000000) = 0
/102: sigprocmask(SIG_SETMASK, 0xFF17A094, 0xCA8FDC10) = 0
/102: lwp_unpark(102, 1) = 0
/102: setcontext(0xCA8FDC20)
/102: lwp_mutex_lock(0x000566F0) = 0
/102: lwp_cond_broadcast(0x00056708) = 0
/102: lwp_mutex_wakeup(0x000566F0) = 0
/102: lwp_mutex_lock(0x00056780) = 0
/102: lwp_mutex_wakeup(0x00056780) = 0
/102: Incurred fault #6, FLTBOUNDS %pc = 0xF9C4DC24
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: Received signal #11, SIGSEGV [caught]
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: sigprocmask(SIG_SETMASK, 0xCA8FDE5C, 0x00000000) = 0
/102: sigprocmask(SIG_SETMASK, 0xFF17A094, 0xCA8FDC10) = 0
/102: lwp_unpark(102, 1) = 0
/102: setcontext(0xCA8FDC20)
/102: lwp_mutex_lock(0x000566F0) = 0
/102: lwp_cond_broadcast(0x00056708) = 0
/102: lwp_mutex_wakeup(0x000566F0) = 0
/102: lwp_mutex_lock(0x00056780) = 0
/102: lwp_mutex_wakeup(0x00056780) = 0
/102: Incurred fault #6, FLTBOUNDS %pc = 0xF9C4DC24
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: Received signal #11, SIGSEGV [caught]
/102: siginfo: SIGSEGV SEGV_ACCERR addr=0xFF0F0000
/102: sigprocmask(SIG_SETMASK, 0xCA8FDE5C, 0x00000000) = 0
/102: sigprocmask(SIG_SETMASK, 0xFF17A094, 0xCA8FDC10) = 0
/102: lwp_unpark(102, 1) = 0
/102: setcontext(0xCA8FDC20)
/102: lwp_mutex_lock(0x000566F0) = 0
/102: lwp_cond_broadcast(0x00056708) = 0
/102: lwp_mutex_wakeup(0x000566F0) = 0
/102: lwp_mutex_lock(0x00056780) = 0
/102: Received signal #13, SIGPIPE [ignored]
/102: Received signal #13, SIGPIPE [ignored]
/102: Received signal #13, SIGPIPE [ignored]
Can someone help me debug this? Or else please point me what shall I do next to debug this issue. All that I can get it that the process it accessing memory address out of its address space.

