United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7168520 No jdk8 TL Nightly linux builds due to broken link in b39-2012-05-13_231
JDK-7168520 : No jdk8 TL Nightly linux builds due to broken link in b39-2012-05-13_231

Details
Type:
Bug
Submit Date:
2012-05-14
Status:
Closed
Updated Date:
2013-11-28
Project Name:
JDK
Resolved Date:
2012-05-22
Component:
infrastructure
OS:
generic
Sub-Component:
build
CPU:
generic
Priority:
P1
Resolution:
Fixed
Affected Versions:
1.1
Fixed Versions:

Related Reports
Backport:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
Broken link exist in TL today's nightly ( b39-2012-05-13_231 ) linux build
$ pwd
/net/rehudson/n/mustang/hudsonjobs/jdk8_tl-1-prebuild/workspace/ws-b39-2012-05-13_231/build/linux-i586/j2sdk-image/jre/lib/i386/server

$ ls -l libjsig.debuginfo
lrwxrwxrwx 1 nobody java_re 20 2012-05-13 18:03 libjsig.debuginfo -> ../libjsig.debuginfo

$ ls -l ../libjsig.debuginfo
ls: cannot access ../libjsig.debuginfo: No such file or directory

$ cd ..
bash-3.00$ ls -l libjsig*
-rwxr-xr-x   1 nobody   java_re     4406 May 13 17:30 libjsig.diz
-rwxr-xr-x   1 nobody   java_re     8211 May 13 17:47 libjsig.so


Same to linux-i586/j2sdk-image/jre/lib/i386/client/libjsig.debuginfo
same issue in linux-amd64

                                    

Comments
EVALUATION

Here are what I found:

1. libjsig.debuginfo is added on 5/11 because when I look at the past few nightly builds, that was the first time it showed up.
Someone added a symlink libjsig.debuginfo, but the actual file it links to does not exist.

2. Then I check the hg log. Lana did an integration on 5/11. Then olagneau did a push after the merge.
I have cc  Olivier and Lana in this email.

changeset:   5367:f131d4361faf
user:        olagneau
date:        Fri May 11 14:13:29 2012 -0700
summary:     7144861: speed up RMI activation tests

I have sent an email to Olivier and Lana.
                                     
2012-05-15
EVALUATION

A bit of historical background:

The <arch>/client/libjsig.debuginfo and <arch>/server/libjsig.debuginfo
symlinks are created by the 'jdk' repo. Just like the <arch>/client/libjsig.so
and <arch>/server/libjsig.so symlinks are created by the 'jdk' repo.

The <arch>/libjsig.debuginfo file is created by the 'hotspot' repo just like
the <arch>/libjsig.so file is created by the 'hotspot' repo. However, debug
info files are now ZIP'ed by default to save disk space so a default hotspot
build will create <arch>/libjsig.diz instead of <arch>/libjsig.debuginfo.

When we added the ZIP_DEBUGINFO_FILES feature, we left the libjsig.debuginfo
symlinks alone since a symlink can't really be compressed any further. During
all of our pre-integration testing, we never saw a failure due to the "dangling"
symlink and I'm very surprised to see this one.

It looks like some hudson tool or another is trying to read what the symlink
refers to instead of processing symlinks as they are. That's a little
worrisome in that I wonder if this tool is also making a copy of the file
to which the symbolic link refers instead of copying the symlink itself.
With FDS that could result in multiple copies of some very large files...


And an e-mail reply to Lana:

> Thank you for the explanation. However I think that Christine was saying the link is broken.
>
> $ ls -l libjsig.debuginfo
> lrwxrwxrwx 1 nobody java_re 20 2012-05-13 18:03 libjsig.debuginfo -> ../libjsig.debuginfo
>
> $ ls -l ../libjsig.debuginfo
> ls: cannot access ../libjsig.debuginfo: No such file or directory

Yes, the link is "broken" or "dangling" and that is intentional.
Whatever is being used to copy this tree is missing the "don't
follow symlinks" option. The '-y' option for zip... I think...
                                     
2012-05-15
EVALUATION

Yes, use -y for zip, or avoid zip and use tar.
                                     
2012-05-15
EVALUATION

I pushed the changeset mentioned in #1 above:

changeset:   5367:f131d4361faf
user:        olagneau
date:        Fri May 11 14:13:29 2012 -0700
summary:     7144861: speed up RMI activation tests

This changes files the JDK repo only in the test/java/rmi and test/sun/rmi directories. I'm pretty certain this has nothing to do with libjsig.debuginfo.
                                     
2012-05-15
EVALUATION

The following hotspot repo changeset is what added the
ZIP_DEBUGINFO_FILES feature:

Changeset: d652a62d6e03
Author:    dcubed
Date:      2012-03-23 11:50 -0700
URL:       http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/d652a62d6e03

7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
Summary: Add support for ENABLE_FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES build flags. Add support for .diz files.
Reviewed-by: dholmes, ohair, sspitsyn


The above changeset is what causes the

    jre/lib/<arch>/libjsig.debuginfo

files to be ZIPed into:

    jre/lib/<arch>/libjsig.diz

files in order to reduce on-disk footprint.

The following symbolic links:

    jre/lib/<arch>/client/libjsig.debuginfo
    jre/lib/<arch>/server/libjsig.debuginfo

were added by the following jdk repo changeset:

Changeset: 029ba13aa0df
Author:    dcubed
Date:      2011-09-20 19:16 -0700
URL:       http://hg.openjdk.java.net/jdk8/tl/jdk/rev/029ba13aa0df

7085944: 3/3 FDS: gdb does not find debug symbols for libjsig link
Summary: Add support for importing .debuginfo files from HSX.
Reviewed-by: phh

! make/common/Defs-linux.gmk
! make/common/Defs-solaris.gmk
! make/java/redist/Makefile
! make/java/redist/sajdi/Makefile

In particular, the symlinks are created by the
make/java/redist/Makefile.
                                     
2012-05-16
SUGGESTED FIX

See attached 7168520-webrev-cr0.tgz for the proposed fix.
                                     
2012-05-17
EVALUATION

The work around to make aurora happy is to create a libjsig.diz
file in the client and server VM directories that contains the
libjsig.debuginfo symlink.
                                     
2012-05-17
EVALUATION

http://hg.openjdk.java.net/jdk8/tl/jdk/rev/ce165aa48dcb
                                     
2012-05-17
EVALUATION

http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/a9cf66e39b38
                                     
2012-05-17
Transitioned from Resolved to Closed / Not Verified on behalf of mikhail.kondratyev@oracle.com.
                                     
2013-11-28



Hardware and Software, Engineered to Work Together