我们在日志文件中发现以下内容:
[2012-09-24 00:09:32.590 +0000UTC] ERROR host server1 [] [] somepackage.someclass [] [Unknown] [V3rAqPaDvvAAAAExEXhdWGyh] [pjsQwTGHzxcAAAE5j4YdGvWV] "ThreadName" Some error happened: java.lang.ArrayIndexOutOfBoundsException: null
这只有一行代码,并且没有异常堆栈跟踪。
此异常发生在执行使用javassist创建的动态生成的Java字节码的try
块中。
我有两个疑问:
java.lang.ArrayIndexOutOfBoundsException: null
是什么样的代码会导致日志输出?我尝试使用测试程序重现,但没有成功。我总是得到类似于“java.lang.ArrayIndexOutOfBoundsException:Index:3”或类似的内容。- 缺失的堆栈跟踪是否因为此代码是在运行时动态生成的,因此记录器/JVM不“知道”堆栈跟踪或相关的行编号?
我们目前正在调试和调查以获取更多信息,但也许对某些人来说这听起来很熟悉。