Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4652184
Votes 86
Synopsis please compile j2sdk rt.jar with -g (all options)
Category java:build
Reported Against 1.4.2 , 1.4.2_04 , merlin-rc1 , tiger-beta , tiger-beta2
Release Fixed mustang(b28)
State 10-Fix Delivered, request for enhancement
Priority: 4-Low
Related Bugs 4473029
Submit Date 13-MAR-2002
Description




FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

FULL OPERATING SYSTEM VERSION :

 customer  Windows XP [Version 5.1.2600]

A DESCRIPTION OF THE PROBLEM :
If i use a current JDK (1.4) in a IDE (eclipse) or what
ever debugger you choose to use, then when you debug
through the JDK classes you don't see the local vars ect.
This is because the rt.jar of the JDK (so not the
JRE) doesn't have debug attributes for those things. I
believe the only thing that is different from the JRE
rt.jar is that it does have the source attribute because
in Eclipse where i can attach source jar to a class file
jar i can't use the JRE rt.jar.

So if that is already different why don't we also include
full debugging attributes in the JDK? It is not meant for
runtime or performace so that can't be a discussion.


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Just debug in a debugger through the JDK classes

EXPECTED VERSUS ACTUAL BEHAVIOR :
that i see all the local vars ect.

This bug can be reproduced always.

CUSTOMER WORKAROUND :
What i do know is completely recompile the rt.jar and
overwrite this one. But that is not very easy to do.
Because for one thing the JDK classes by itself don't
compile all!! You still need to include other jars. Which
i find very strange. the rt.jar should compile by itself
it should have no dependencies with other things.
(Review ID: 139579) 
======================================================================




A DESCRIPTION OF THE REQUEST :
Currently, although the source code for the java core classes is provided, it is very hard to debug calls to these core libraries because local variable information is not available.

Please provide a separate download of the SDK (for developers) that contains full debug information for the rt.jar and other libraries.

JUSTIFICATION :
Full debug information will be a gread aid for java developers.
Currently I have to either guess what the system code does, or to compile some of the clasees by myself (from the provided source code).
(Review ID: 235567)
======================================================================
Work Around
Grab the SCSL bundles and build a debug j2sdk by setting OTHER_JAVACFLAGS=-g.

  xxxxx@xxxxx   2002-04-17
Evaluation
Adding debug information to the classes in rt.jar, etc., would increase
download size by a beleived-to-be significant amount. 
  xxxxx@xxxxx   2002-04-17

We need to generate debug rt.jar as part of the build.


  xxxxx@xxxxx   2004-04-07

I have done some investigation further on this and try to implement this in our nightly build process. But unfortunately, it is increasing our build timing significantly on our all platform. I am still looking into this and see how we could reduce our build timing.

Hands on issues:- 

o Download size will be increased.
o Increased builds timing all our platform.

I am still looking into this.


  xxxxx@xxxxx   2005-03-02 20:42:08 GMT

We will be building a debug rt.jar with the fastdebug builds. This should satisfy this request.
It's not exactly clear how we will deliver the fastdebug bits (libjvm.so or rt.jar) to external people.


  xxxxx@xxxxx   2005-03-11 23:48:41 GMT
Comments
  
  Include a link with my name & email   

Submitted On 01-JUL-2002
joco
that the download size is increased is not really 
importand for the JDK (so not JRE) and i believe that the 
JDK current size (jdk1.4.1b1) is 22MB and with a recompile 
it is 25MB but that is uncompressed so i that won't be 
much of a problem.


Submitted On 28-JUL-2002
bernie01
Sun, please do not underestimate the value of this for
developers, especially beginners.
With netBeans you are providing an excellent IDE that goes a
long way towards making development easy for anyone.
I must admit that the additional weight of the increased
download size might be considerable, even prohibitive.
However it does not carry any feature
development/maintenance burden. How many man hours of hard
work would have to go into the netBeans IDE for additional
features in comparison to have an equally positive effect on
developers who don't know how to re-compile the JDK for this
purpose?
Please check my argument by examining bug 4201999.
IMHO this trivial bug having 121 votes demonstrates that
there is possibly a large group of developers in this
beginner category. Otherwise I cannot explain it.
So please re-consider the power to weight ratio of this.


Submitted On 27-OCT-2002
jstar
Boy, this is a major pain in the ass for no good reason...
;-)  Include the debugging info in the developer's kit for
God's sake!!!


Submitted On 09-FEB-2003
davidsingleton
I would also like to vote for this change. It makes life
much easier for all developers.

david singleton
david_singleton@compuserve.com


Submitted On 09-APR-2003
grishea
Just a link to me, gregr@sirsi.com (neglected to add thi to the 
previous comment).


Submitted On 09-APR-2003
grishea
While we're all waiting for Sun to address this issue, has any 
one had any luck building a debug version of the JDK 1.4 rt.jar 
themselves?

I tried building both the sources in src.zip and those for the 
JDK extracted from the SCSL without success. I've written an 
Ant script to do this, but this results consistently in only a 
handfull of the class files being built, despite the fact that my 
script takes care to touch all the source files. I've also tried 
using a JBuilder project to do this, but again a rebuild all 
results in only a fraction of the class files being built; 
moreover, trying to build a particular package, e.g. java.awt, 
gives all sorts of nonsensical errors.

I occured to me that problem might have something to do 
with the fact that javac must have rt.jar bootstrapped and 
that this is confusing its type searching.

I don't want to get involved with the JDK makefiles that come 
with the SCSL (they require VC++, MKS, and GnuMake, etc.). 
Anybody have any relevant experience to share?


Submitted On 23-APR-2003
htuneke
This is unbelivable! Am I supposed to buy an MKS Toolkit and 
spend half a day to build a debug j2sdk in order to save a few 
minutes of download time? Please include the _full_ debug info 
at least in rt.jar in the developer's kit!!


Submitted On 08-MAY-2003
bkbonner
I agree.  Include the -g for the rt.jar (maybe even as a
separate download for developers).  Give us a break!


Submitted On 12-MAY-2003
bkbonner
Can sun include the rt.jar with debug info as a separate 
downloadable link for each version?


Submitted On 12-MAY-2003
thegorb
I have to agree that not having access to this information 
makes seeing what is happening within the base swing 
components unnecessarily difficult (impossible for newer 
programmers).

Please provide a full-debug copy that developers can 
download.


Submitted On 29-JUN-2003
pprakash
Puhleeze! provide a separate link to debug version of
libraries . (It should be a no brainer to help Java
developers. Does anyone from Sun read this? Truly amazes me
that Sun won't provide a debug version of their jar files.!)


Submitted On 28-AUG-2003
darabi
I am astonished how people have to yell without being even 
heard by Sun.

So, again: please make a debug version available as a 
separate download.


Submitted On 24-NOV-2003
mattscape
Well I tried it myself and it didn't work out.
I need to debug rt.jar to solve some classloadung issues.
I would really apreciate a debug enabled rt.jar


Submitted On 26-NOV-2003
wrostek
Any comment from Sun why this is not a one day job to 
satisfy all the requests?

Wolfgang R.


Submitted On 04-FEB-2004
stenwick
I can't beleive we are still waiting for this - it's been 
almost 2 years for such a simple fix.


Submitted On 11-FEB-2004
SparkyJones
I'm running into this problem - and it is enough of a pain
this early in the project to make me wonder why something so
simple has not been tackled.  This seems like a silly one to
let slide by.


Submitted On 16-FEB-2004
povarovo
Why not make it available? It has costed me alone 
thousands of $$ in lost productivity!

But wait... something is wrong with the picture. 
Everyone says "Eclipse and other IDE's", yet I've never 
seen non-Eclipse users complain... I remember Visual 
Age for Java handled it nicely some 5 years ago...


Submitted On 02-MAR-2004
marbro
Building from the source is not that trivial and as the
source version is behind the J2SDK release this is something
that should be provided for a DEVELOPMENT kit. The number of
hours we have lost in debugging class loading issues e.g. is
huge, especially because logging besides the RMI
implementation is not that good.


Submitted On 27-APR-2004
L-Oren
PLEASE make a debug rt.jar available!  I can't believe 
the increased download time is significant


Submitted On 30-APR-2004
lrac
Sun, please fix this issue. The increased download 
time is a non-issue, especially because it could be 
separate. Try debugging XML-Serialization problems 
(which are abundant) without local variable debug info. 
This is sorely needed.


Submitted On 05-MAY-2004
pitosalas
Please, you've got to include debug information or at 
least give us an ant script that will rebuild rt.jar reliably!


Submitted On 06-JUN-2004
mrtn_gonzen
Reading thru the numerous posts here makes me think these bug reports are useless. :-(


Submitted On 21-JUL-2004
Dyn@mic
I don't get it. Nobody cares about a slightly bigger download size. And even if there would be anyone: why not offer both - jdk with and without debug info?

In any case this is really a very important issue that would solve a lot of a developers problems in a second. 
On the other side I cannot imagine the effort for you people from sun is more than a few hours.
The first reports are from 2002! 


Submitted On 19-AUG-2004
greenhorse2001
How can I get the debug rt.jar?


Submitted On 01-OCT-2004
christhielen
ATTENTION: I had a typo in the script I pasted above.

Lines 15 and 16 read:
STOCK_RT=${STOCK_JDK}/src.zip
NEW_RT=${NEW_JDK}/src.zip

but they should have read:
STOCK_RT=${STOCK_JDK}/jre/lib/rt.jar
NEW_RT=${NEW_JDK}/jre/lib/rt.jar


Submitted On 01-OCT-2004
christhielen
Here is a shell script that will generate a debug JDK given a base JDK and its SCSL source archive.  This has only been run on Linux w/JDK 1.4.2, but it should be trivial to modify for your own use.

I have stripped any classes that didn't compile outright (com.sun.corba.se.*, org.apache.*).  In the final rt.jar, these  classes will simply be the non-debug versions from the original rt.jar.

Here is the shell script:

#!/bin/sh
# Customize these variables to fit your environment
BUILD_DIR=`pwd`/build_debug_jdk
NEW_JDK=${BUILD_DIR}/debug_jdk
STOCK_JDK=/usr/local/jdk
J2SDK_SCSL_SRC=/home/sone/jdk_build/j2sdk-1_4_2-src-scsl.zip
JDK_VER=1.4

# Shouldn't need to change muche else (I don't think)

# Files
TOOLS_JAR=${STOCK_JDK}/lib/tools.jar
STOCK_SRC_ZIP=${STOCK_JDK}/src.zip
NEW_SRC_ZIP=${NEW_JDK}/src.zip
STOCK_RT=${STOCK_JDK}/src.zip
NEW_RT=${NEW_JDK}/src.zip

# Implicit directories
JDK_SRC=${BUILD_DIR}/jdk_source
SCSL_SRC=${BUILD_DIR}/scsl_source
BUILD_JARS=${BUILD_DIR}/build_jars
JDK_CLASS=${BUILD_DIR}/jdk_classes
SCSL_CLASS=${BUILD_DIR}/scsl_classes

for i in $STOCK_JDK $J2SDK_SCSL_SRC $TOOLS_JAR $STOCK_SRC_ZIP $STOCK_RT ; do
    if [ ! -e ${i} ] ; then
        echo "Required file not found at '${i}'";
        exit;
    fi
done;

for i in ${BUILD_DIR} ${JDK_SRC} ${SCSL_SRC} ${BUILD_JARS} ${JDK_CLASS} ${SCSL_CLASS}  ; do
    [ ! -e $i ] && mkdir $i; 
done

echo "Copying tools.jar from $TOOLS_JAR to $BUILD_JARS"
cp $TOOLS_JAR $BUILD_JARS

BUILD_CP="";
for i in $BUILD_JARS/*.jar; do 
    BUILD_CP=${BUILD_CP}:${i};
done;
BUILD_CP=${BUILD_CP:1};

pushd $JDK_SRC > /dev/null;
    echo "Unjarring stock source from $STOCK_SRC_ZIP";
    jar -xf $STOCK_SRC_ZIP  > /dev/null; 
    echo "Removing org.apache.*";
    rm org/apache -rf
    echo "Removing com.sun.corba.se.*";
    rm com/sun/corba/se -rf
    echo "Compiling JDK source files";
    echo "Javac command line: javac -source $JDK_VER -target $JDK_VER -J-Xms16m -J-Xmx256m -g -classpath $BUILD_CP -d $JDK_CLASS  @filelist";
    find -name "*.java" > filelist && \
            javac -source $JDK_VER -target $JDK_VER -J-Xms16m -J-Xmx256m -g -classpath $BUILD_CP -d $JDK_CLASS  @filelist && \
            rm filelist;
popd > /dev/null;

pushd $SCSL_SRC > /dev/null;
    echo "Unjarring SCSL extra source from $J2SDK_SCSL_SRC (partial package sun.* only)";
    jar -xf $J2SDK_SCSL_SRC j2se/src/share/classes/sun;
    [ -e ./sun ] && rm ./sun -rf;
    mv -f j2se/src/share/classes/sun .;
    rm j2se/src/share/classes -rf;
    rm `find -name "*-template.java"`;
    echo "Compiling SCSL source files";
    echo "Javac command line: javac -source $JDK_VER -target $JDK_VER -J-Xms16m -J-Xmx256m -g -classpath $BUILD_CP -d $SCSL_CLASS  @filelist";
    find -name "*.java" > filelist && \
            javac -source $JDK_VER -target $JDK_VER -J-Xms16m -J-Xmx256m -g -classpath $BUILD_CP -d $SCSL_CLASS  @filelist && \
            rm filelist;
popd > /dev/null;

echo "Copying JDK directory from $STOCK_JDK to $NEW_JDK";
cp -rL $STOCK_JDK $NEW_JDK;

echo "Updating JDK source zip with SCSL sources";
pushd $SCSL_SRC > /dev/null;
jar -uf $NEW_SRC_ZIP *;
popd > /dev/null;

echo "Updating JDK rt.jar with rebuilt JDK classes";
pushd $JDK_CLASS > /dev/null;
jar -uf $NEW_RT *;
popd > /dev/null;

echo "Updating JDK rt.jar with SCSL classes";
pushd $SCSL_CLASS > /dev/null;
jar -uf $NEW_RT *;
popd > /dev/null;

echo "Debug JDK located in $NEW_JDK";




Submitted On 11-NOV-2004
stojanoff
PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE  

FIX  THIS

This is SO SO SO PAINFUL as all of  the previous posts state.

Can't we feel some Sun love ?



Submitted On 21-FEB-2005
amorfis
Please solve this.


Submitted On 02-MAR-2005
the.cleaner
The most frustrating feature to date


Submitted On 31-MAR-2005
psuresh78
This feature is a must for all developers.. Please make rt.jar with debug information available for download to save time spent by each developer.. 


Submitted On 12-AUG-2005
zartc
"Ease of development, which is a key theme for Tiger, will actually be the central theme for J2EE 5.0."

- Graham Hamilton,
Sun Fellow in the Java Platform Team, Sun Microsystems

Please, stand to your words, we need rt.jar with debug information now!!


Submitted On 13-DEC-2006
Mark_Ziesemer
I see this is marked as closed, but where are the "bits" available, or how do we go about obtaining them?

I see the debug rt.jar is available for Mustang (jdk6) only at http://download.java.net/jdk6/binaries/ - which isn't even up-to-date.  The official SDK release is currently at b105, the release on the site is b104.

I don't even want to have to think about compiling myself.  For one, setting up the build environment is a pain.  More notably, there's no way to get the SCSL source that matches the the current SDK version...  (http://www.sun.com/software/communitysource/j2se/java2/download.xml only contains the SCSL source for 5 and earlier, nothing for 6.  And is the source here for 1.5 update 10?  Update 9??)


Submitted On 16-DEC-2006
I spent entirely too much time today trying to compile official Java source code just so I could see what values the variables had! WHY IS THERE NO DEBUG INFORMATION INCLUDED?! 

HELLO?! Are we not programmers here?! ^#$&*^&*, Sun! We don't want to compile the source ourselves! Give us the debug information by default!!

This bug has been here over FOUR YEARS! That is absolutely, ridiculous.

Ridiculous!


Submitted On 16-JAN-2007
JDK SHOULD CONTAIN RT.JAR WITH DEBUG INFORMATIONS !

we don't care about download size
we don't care about your build chain time

we only want something that works


Submitted On 16-JAN-2007
ren.zihui
We really need this. Sun please hear the voice of developers.



PLEASE NOTE: JDK6 is formerly known as Project Mustang