The stack trace literally says it was trying to do a range check on the tick array in preperation to removing an element and found out the element to be removed did not exist (it was out of bound of the array) This is an unhandled exception in this case so the server stops functioning as it doesn't understand how to recover.
I got them for a while too and I can't quite remember what I did that corrected it. I think I updated Java to the newest version, but I'm not sure. I'd try that though, unless you are using Linux where Java 7 seems to lag excessively. Also if you are running on a 64-bit system, make sure to install 64-bit Java as well.