JDK-7043298 : fix for 7028172 causes "Label too long: ..." error message
  • Type: Bug
  • Component: hotspot
  • Sub-Component: svc
  • Affected Version: hs21
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris
  • CPU: generic
  • Submitted: 2011-05-09
  • Updated: 2011-07-29
  • Resolved: 2011-07-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 Other
7Fixed hs21Fixed
Related Reports
Relates :  
Relates :  
Description
Vladimir reports:

I am getting next message for my build on Sol 11 x86 after comp repo was merged with main.

Vladimir

gnumake[1]: Leaving directory `/export/kvn/build/5091921/solaris_i486_compiler2/jvmg'
Label too long:  /^[0-3]\. /b /^5\.[0-9] /b /^5\.10 /b / snv_[0-9][0-9]b / snv_[01][0-4][0-9]b / snv_15[0-8]b s/.*/-DSOLARIS_11_B159_OR_LATER/p
gnumake[1]: Entering directory `/export/kvn/build/5091921/solaris_i486_compiler2/jvmg'

intelsdv39% uname -a
SunOS intelsdv39 5.11 snv_131 i86pc i386 i86pc

It seems, the code was added for next change:

changeset:   2415:405c634f4aaa
user:        dcubed
date:        Mon May 02 14:53:49 2011 -0700
summary:     7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/357d1f583599
13-05-2011

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/357d1f583599
11-05-2011

SUGGESTED FIX Context diffs for the proposed fix: diff -r ededdaaf8ca5 make/solaris/makefiles/saproc.make --- a/make/solaris/makefiles/saproc.make Thu May 05 21:20:21 2011 -0400 +++ b/make/solaris/makefiles/saproc.make Tue May 10 12:12:30 2011 -0700 @@ -57,24 +57,27 @@ endif endif # The libproc Pstack_iter() interface changed in Nevada-B159. -# This logic needs to match +# Use 'uname -r -v' to determine the Solaris version as per +# Solaris Nevada team request. This logic needs to match: # agent/src/os/solaris/proc/saproc.cpp: set_has_newer_Pstack_iter(): # - skip SunOS 4 or older # - skip Solaris 10 or older -# - skip two digit Nevada builds -# - skip three digit Nevada builds thru 149 -# - skip Nevada builds 150-158 +# - skip two digit internal Nevada builds +# - skip three digit internal Nevada builds thru 149 +# - skip internal Nevada builds 150-158 +# - if not skipped, print define for Nevada-B159 or later SOLARIS_11_B159_OR_LATER := \ $(shell uname -r -v \ - | sed -n ' \ - /^[0-3]\. /b \ - /^5\.[0-9] /b \ - /^5\.10 /b \ - / snv_[0-9][0-9]$/b \ - / snv_[01][0-4][0-9]$/b \ - / snv_15[0-8]$/b \ - s/.*/-DSOLARIS_11_B159_OR_LATER/p \ - ') + | sed -n \ + -e '/^[0-4]\. /b' \ + -e '/^5\.[0-9] /b' \ + -e '/^5\.10 /b' \ + -e '/ snv_[0-9][0-9]$/b' \ + -e '/ snv_[01][0-4][0-9]$/b' \ + -e '/ snv_15[0-8]$/b' \ + -e 's/.*/-DSOLARIS_11_B159_OR_LATER/' \ + -e 'p' \ + ) # Uncomment the following to simulate building on Nevada-B159 or later # when actually building on Nevada-B158 or earlier:
10-05-2011

EVALUATION Tom's analysis: It looks like the new sed command isn't written properly. +SOLARIS_11_B159_OR_LATER := \ +$(shell uname -r -v \ + | sed -n ' \ + /^[0-3]\. /b \ + /^5\.[0-9] /b \ + /^5\.10 /b \ + / snv_[0-9][0-9]$/b \ + / snv_[01][0-4][0-9]$/b \ + / snv_15[0-8]$/b \ + s/.*/-DSOLARIS_11_B159_OR_LATER/p \ + ') Each sed command needs to separated by a newline or an explicit -e needs to precede each one. Something like seems to work: SOLARIS_11_B159_OR_LATER := \ $(shell uname -r -v \ | sed -n \ -e '/^[0-3]\. /b' \ -e '/^5\.[0-9] /b' \ -e '/^5\.10 /b' \ -e '/ snv_[0-9][0-9]$$/b' \ -e '/ snv_[01][0-4][0-9]$$/b' \ -e '/ snv_15[0-8]$$/b' \ -e 's/.*/-DSOLARIS_11_B159_OR_LATER/' \ -e p \ )
09-05-2011