0

While going through a crash dump, I encountered following line

j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35

I have few quesions which I eagerly want to understand.

What does IL and L stand for in the string ILjava/awt/Conditional;Ljava/awt/EventFilter;

What is V+35 at the end of the string?

anupamD
  • 862
  • 1
  • 8
  • 21

2 Answers2

0

Those are type strings in a method signature.

(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V

The I means int

The Ljava/awt/Conditional; means java.awt.Conditional

The Ljava/awt/EventFilter; means java.awt.EventFilter

The V means void.

So the method on the callstack is

  void pumpEventsForFilter(int, Conditional, EventFilter)

This internal type string syntax is documented in the javadoc for Class.getName() and also in the JVM specification. (The same syntax appears in the strings generated by Object.toString ... assuming that it hasn't been overridden with something more human friendly.)

And the +35 is a bytecode offset; i.e. an indication of where the method execution had gotten to in this stackframe.

Stephen C
  • 698,415
  • 94
  • 811
  • 1,216
-1

Oracle's documentation on the fatal error log is quite shallow when it comes to answering your questions.

It looks like this answer at least has a thorough explanation for the +35 bit in your crash dump. According to that answer this is giving you the offset in the generated byte code.

IL and L still remain a mystery.

Lizzy
  • 109
  • 4