Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/index.php/Reporting_Bug_Guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

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 freswa (frederik) - Sunday, 13 September 2020, 13:50 GMT
Task Type Bug Report
Category Packages: Extra
Status Assigned
Assigned To Levente Polyak (anthraxx)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

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

Loading...