FS#49114 - [jdk8-openjdk] No LocalVariableTable generated for the entire JDK
Attached to Project:
Arch Linux
Opened by Simon Schäfer (sschaef) - Wednesday, 27 April 2016, 17:17 GMT
Last edited by Toolybird (Toolybird) - Wednesday, 14 June 2023, 07:08 GMT
Opened by Simon Schäfer (sschaef) - Wednesday, 27 April 2016, 17:17 GMT
Last edited by Toolybird (Toolybird) - Wednesday, 14 June 2023, 07:08 GMT
|
Details
A DESCRIPTION OF THE PROBLEM :
The JDK8 doesn't contain enough debug information, the LocalVariableTables are not generated. This means that the Eclipse debugger can't show any variable names. As an example, this is the bytecdoe of java.util.ArrayList#subList: public java.util.List<E> subList(int, int); descriptor: (II)Ljava/util/List; flags: ACC_PUBLIC Code: stack=7, locals=3, args_size=3 0: iload_1 1: iload_2 2: aload_0 3: getfield #1 // Field size:I 6: invokestatic #63 // Method subListRangeCheck:(III)V 9: new #64 // class java/util/ArrayList$SubList 12: dup 13: aload_0 14: aload_0 15: iconst_0 16: iload_1 17: iload_2 18: invokespecial #65 // Method java/util/ArrayList$SubList."<init>":(Ljava/util/ArrayList;Ljava/util/AbstractList;III)V 21: areturn LineNumberTable: line 996: 0 line 997: 9 Signature: #188 // (II)Ljava/util/List<TE;>; In JDK7 the information is present. Here the bytecode looks like this: public java.util.List<E> subList(int, int); flags: ACC_PUBLIC Code: stack=7, locals=3, args_size=3 0: iload_1 1: iload_2 2: aload_0 3: getfield #2 // Field size:I 6: invokestatic #60 // Method subListRangeCheck:(III)V 9: new #61 // class java/util/ArrayList$SubList 12: dup 13: aload_0 14: aload_0 15: iconst_0 16: iload_1 17: iload_2 18: invokespecial #62 // Method java/util/ArrayList$SubList."<init>":(Ljava/util/ArrayList;Ljava/util/AbstractList;III)V 21: areturn LineNumberTable: line 954: 0 line 955: 9 LocalVariableTable: Start Length Slot Name Signature 0 22 0 this Ljava/util/ArrayList; 0 22 1 fromIndex I 0 22 2 toIndex I LocalVariableTypeTable: Start Length Slot Name Signature 0 22 0 this Ljava/util/ArrayList<TE;>; Signature: #214 // (II)Ljava/util/List<TE;>; FULL PRODUCT VERSION : openjdk version "1.8.0_92" OpenJDK Runtime Environment (build 1.8.0_92-b14) OpenJDK 64-Bit Server VM (build 25.92-b14, mixed mode) ADDITIONAL OS VERSION INFORMATION : Linux version 4.5.1-1-ARCH STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : Run: $ javap -v -c -s java.util.ArrayList This bug report is forwarded from the IcedDea bug tracker: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2945 The proposed fix was to add "-g" to the JAVAC_FLAGS. |
This task depends upon
Closed by Toolybird (Toolybird)
Wednesday, 14 June 2023, 07:08 GMT
Reason for closing: Fixed
Additional comments about closing: Old and stale. But seems to work fine these days anyway.
Wednesday, 14 June 2023, 07:08 GMT
Reason for closing: Fixed
Additional comments about closing: Old and stale. But seems to work fine these days anyway.