hg: hsx/hotspot-rt/hotspot: 7182152: Instrumentation hot swap test incorrect monitor count

2013-02-06 Thread daniel . daugherty
Changeset: 8d9fc28831cc
Author:dcubed
Date:  2013-02-06 14:31 -0800
URL:   http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8d9fc28831cc

7182152: Instrumentation hot swap test incorrect monitor count
Summary: Add/refine new tracing support using -XX:TraceRedefineClasses=16384.
Reviewed-by: coleenp, acorn, sspitsyn

! src/share/vm/oops/cpCache.cpp
! src/share/vm/oops/cpCache.hpp
! src/share/vm/oops/klassVtable.cpp
! src/share/vm/oops/klassVtable.hpp
! src/share/vm/oops/method.cpp
! src/share/vm/oops/method.hpp
! src/share/vm/prims/jvmtiRedefineClasses.cpp
! src/share/vm/prims/jvmtiRedefineClasses.hpp
! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp
! src/share/vm/utilities/accessFlags.cpp
! src/share/vm/utilities/accessFlags.hpp



hg: jdk8/tl/jdk: 8006995: java launcher fails to open executable JAR > 2GB

2013-02-06 Thread martinrb
Changeset: 2f1505c49e79
Author:martin
Date:  2013-02-06 17:59 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2f1505c49e79

8006995: java launcher fails to open executable JAR > 2GB
Summary: Use O_LARGEFILE consistently when opening jar files
Reviewed-by: alanb, sherman

! src/share/bin/parse_manifest.c



Re: RR(S): 8007536 Incorrect copyright header in JDP files

2013-02-06 Thread Mikael Vidstedt


Looks good.

Cheers,
Mikael

On 2013-02-06 06:05, Dmitry Samersoff wrote:

Hi Everyone,

Please, review this, copyright-only fix

http://cr.openjdk.java.net/~dsamersoff/8007536.JDP-COPYRIGHT/webrev.01/jdk/

-Dmitry





hg: jdk8/tl/langtools: 8007698: jtreg test T6306137.java won't compile with ASCII encoding

2013-02-06 Thread james . holmlund
Changeset: b386b8c45387
Author:jjh
Date:  2013-02-06 23:10 +
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/b386b8c45387

8007698: jtreg test T6306137.java won't compile with ASCII encoding
Reviewed-by: ksrini

! test/tools/javac/api/T6306137.java



Re: JVM/TI code review request (XS and M) (7182152)

2013-02-06 Thread Daniel D. Daugherty

Thanks Serguei!

Dan


On 2/6/13 1:22 PM, serguei.spit...@oracle.com wrote:

Looks good.

Thanks,
Serguei

On 2/6/13 11:54 AM, Karen Kinnear wrote:
Thank you Dan - this is much better and sets a good model for the 
rest of us.


thanks,
Karen

On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote:


Adding other alias and people back onto the thread...

Thanks for the re-review!


On 2/6/13 6:41 AM, Coleen Phillimore wrote:
This is good that you added the INCLUDE_JVMTI.  I didn't think it'd 
add that much space, but it a good change.

I didn't think it would add much space either, but...

It gave me a chance to check out the MinimalVM stuff a bit and
it serves to identify those pieces of code as being associated
with JVM/TI.

Karen and Serguei, when you get the chance, please re-review.

Again, thanks for the re-review!

Dan



Thumbs up!
Coleen

On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote:

Greetings,

The JPDA stack testing finished with no new regressions on HSX-23.6,
HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed.

I've updated the HSX-25 version of the fix due to Karen's comments
about the MinimalVM configuration in Code Review Round 1. In this
latest round for HSX-25, I've made use of the INCLUDE_JVMTI define
to limit the exposure of new tracing code to configurations that
include JVM/TI support. The MinimalVM does not support JVM/TI so
none of the new code needs to be included there. While I was at it,
I also excluded some other JVM/TI RedefineClasses() support code
from the MinimalVM config that I hadn't previously touched.

In short, none of the functionality has been changed in this round.
Just the way it is built or not built has been changed.

Here is the URL for the latest HSX-25 webrev:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/

Thanks, in advance, for more comments, suggestions or questions.

Dan


On 2/4/13 2:08 PM, Daniel D. Daugherty wrote:

Greetings,

I've updated the fix due to comments in Code Review Round 0.

Here is a summary of changes made to the various files:

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
src/share/vm/oops/klassVtable.cpp
  - removed the new RC_TRACE_NO_CR() macro calls at Coleen's 
request;

these files are outside of JVM/TI RedefineClasses proper so the
tracing/debug style should not be dictated by JVM/TI 
RedefineClasses

style that is currently in use
  - did not touch the existing RC_TRACE... macros in the file; 
removing

the existing macro calls would be outside the scope of this bug

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
  - copy a comment from 
ConstantPoolCacheEntry::is_interesting_method_entry()

to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries()

src/share/vm/oops/klassVtable.cpp
  - Copied the new comment intended to prevent the "break" from
re-materializing again from klassItable::adjust_method_entries()
to klassVtable::adjust_method_entries(); yes, I'm paranoid.

In the HSX-25 version only:
src/share/vm/oops/metadata.hpp
  - revert changes

src/share/vm/oops/cpCacheOop.cpp
src/share/vm/oops/klassVtable.cpp
  - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate

Here are the URLs for the updated webrevs:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/

The JPDA stack testing that I started on Friday is still running on
WinXP so I'm blocked for checking the recompile due to these 
changes.

I'll start a recompile on Solaris X86, but that will take some time.

Thanks, in advance, for more comments, suggestions or questions.

Dan



On 2/1/13 12:55 PM, Daniel D. Daugherty wrote:

Greetings,

I have a fix for the following JVM/TI bug:

7182152 Instrumentation hot swap test incorrect monitor count
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152
https://jbs.oracle.com/bugs/browse/JDK-7182152

The fix for the bug in the product code is one line:

src/share/vm/oops/klassVtable.cpp:

@@ -992,18 +1020,50 @@
   // RC_TRACE macro has an embedded ResourceMark
   RC_TRACE(0x0020, ("itable method update: %s(%s)",
 new_method->name()->as_C_string(),
new_method->signature()->as_C_string()));
 }
-break;
+// cannot 'break' here; see for-loop comment above.
   }
   ime++;
 }
   }
}

and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen
already fixed the bug as part of the Perm Gen Removal (PGR) project
in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR
changeset. Many thanks to Coleen for her help in this bug hunt!

The rest of the code in the webrevs are:

- additional JVM/TI tracing code backported from Coleen's PGR 
changeset
- additional JVM/TI tracing code added by me and forward ported 
to HSX-25

- a new -XX:TraceRedefineClasses=16384 f

Re: JVM/TI code review request (XS and M) (7182152)

2013-02-06 Thread serguei.spit...@oracle.com

Already reviewed. :)
It is good.

Thanks,
Serguei


On 2/6/13 12:09 PM, Daniel D. Daugherty wrote:

Karen,

Thanks for the re-review!

Serguei, just waiting for you to chime in!!

Dan


On 2/6/13 12:54 PM, Karen Kinnear wrote:
Thank you Dan - this is much better and sets a good model for the 
rest of us.


thanks,
Karen

On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote:


Adding other alias and people back onto the thread...

Thanks for the re-review!


On 2/6/13 6:41 AM, Coleen Phillimore wrote:
This is good that you added the INCLUDE_JVMTI.  I didn't think it'd 
add that much space, but it a good change.

I didn't think it would add much space either, but...

It gave me a chance to check out the MinimalVM stuff a bit and
it serves to identify those pieces of code as being associated
with JVM/TI.

Karen and Serguei, when you get the chance, please re-review.

Again, thanks for the re-review!

Dan



Thumbs up!
Coleen

On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote:

Greetings,

The JPDA stack testing finished with no new regressions on HSX-23.6,
HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed.

I've updated the HSX-25 version of the fix due to Karen's comments
about the MinimalVM configuration in Code Review Round 1. In this
latest round for HSX-25, I've made use of the INCLUDE_JVMTI define
to limit the exposure of new tracing code to configurations that
include JVM/TI support. The MinimalVM does not support JVM/TI so
none of the new code needs to be included there. While I was at it,
I also excluded some other JVM/TI RedefineClasses() support code
from the MinimalVM config that I hadn't previously touched.

In short, none of the functionality has been changed in this round.
Just the way it is built or not built has been changed.

Here is the URL for the latest HSX-25 webrev:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/

Thanks, in advance, for more comments, suggestions or questions.

Dan


On 2/4/13 2:08 PM, Daniel D. Daugherty wrote:

Greetings,

I've updated the fix due to comments in Code Review Round 0.

Here is a summary of changes made to the various files:

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
src/share/vm/oops/klassVtable.cpp
  - removed the new RC_TRACE_NO_CR() macro calls at Coleen's 
request;

these files are outside of JVM/TI RedefineClasses proper so the
tracing/debug style should not be dictated by JVM/TI 
RedefineClasses

style that is currently in use
  - did not touch the existing RC_TRACE... macros in the file; 
removing

the existing macro calls would be outside the scope of this bug

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
  - copy a comment from 
ConstantPoolCacheEntry::is_interesting_method_entry()

to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries()

src/share/vm/oops/klassVtable.cpp
  - Copied the new comment intended to prevent the "break" from
re-materializing again from klassItable::adjust_method_entries()
to klassVtable::adjust_method_entries(); yes, I'm paranoid.

In the HSX-25 version only:
src/share/vm/oops/metadata.hpp
  - revert changes

src/share/vm/oops/cpCacheOop.cpp
src/share/vm/oops/klassVtable.cpp
  - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate

Here are the URLs for the updated webrevs:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/

The JPDA stack testing that I started on Friday is still running on
WinXP so I'm blocked for checking the recompile due to these 
changes.

I'll start a recompile on Solaris X86, but that will take some time.

Thanks, in advance, for more comments, suggestions or questions.

Dan



On 2/1/13 12:55 PM, Daniel D. Daugherty wrote:

Greetings,

I have a fix for the following JVM/TI bug:

7182152 Instrumentation hot swap test incorrect monitor count
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152
https://jbs.oracle.com/bugs/browse/JDK-7182152

The fix for the bug in the product code is one line:

src/share/vm/oops/klassVtable.cpp:

@@ -992,18 +1020,50 @@
   // RC_TRACE macro has an embedded ResourceMark
   RC_TRACE(0x0020, ("itable method update: %s(%s)",
 new_method->name()->as_C_string(),
new_method->signature()->as_C_string()));
 }
-break;
+// cannot 'break' here; see for-loop comment above.
   }
   ime++;
 }
   }
}

and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen
already fixed the bug as part of the Perm Gen Removal (PGR) project
in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR
changeset. Many thanks to Coleen for her help in this bug hunt!

The rest of the code in the webrevs are:

- additional JVM/TI tracing code backported from Coleen's PGR 
changeset
- additional JVM/TI tracing code adde

Re: JVM/TI code review request (XS and M) (7182152)

2013-02-06 Thread serguei.spit...@oracle.com

Looks good.

Thanks,
Serguei

On 2/6/13 11:54 AM, Karen Kinnear wrote:

Thank you Dan - this is much better and sets a good model for the rest of us.

thanks,
Karen

On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote:


Adding other alias and people back onto the thread...

Thanks for the re-review!


On 2/6/13 6:41 AM, Coleen Phillimore wrote:

This is good that you added the INCLUDE_JVMTI.  I didn't think it'd add that 
much space, but it a good change.

I didn't think it would add much space either, but...

It gave me a chance to check out the MinimalVM stuff a bit and
it serves to identify those pieces of code as being associated
with JVM/TI.

Karen and Serguei, when you get the chance, please re-review.

Again, thanks for the re-review!

Dan



Thumbs up!
Coleen

On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote:

Greetings,

The JPDA stack testing finished with no new regressions on HSX-23.6,
HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed.

I've updated the HSX-25 version of the fix due to Karen's comments
about the MinimalVM configuration in Code Review Round 1. In this
latest round for HSX-25, I've made use of the INCLUDE_JVMTI define
to limit the exposure of new tracing code to configurations that
include JVM/TI support. The MinimalVM does not support JVM/TI so
none of the new code needs to be included there. While I was at it,
I also excluded some other JVM/TI RedefineClasses() support code
from the MinimalVM config that I hadn't previously touched.

In short, none of the functionality has been changed in this round.
Just the way it is built or not built has been changed.

Here is the URL for the latest HSX-25 webrev:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/

Thanks, in advance, for more comments, suggestions or questions.

Dan


On 2/4/13 2:08 PM, Daniel D. Daugherty wrote:

Greetings,

I've updated the fix due to comments in Code Review Round 0.

Here is a summary of changes made to the various files:

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
src/share/vm/oops/klassVtable.cpp
  - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request;
these files are outside of JVM/TI RedefineClasses proper so the
tracing/debug style should not be dictated by JVM/TI RedefineClasses
style that is currently in use
  - did not touch the existing RC_TRACE... macros in the file; removing
the existing macro calls would be outside the scope of this bug

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
  - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry()
to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries()

src/share/vm/oops/klassVtable.cpp
  - Copied the new comment intended to prevent the "break" from
re-materializing again from klassItable::adjust_method_entries()
to klassVtable::adjust_method_entries(); yes, I'm paranoid.

In the HSX-25 version only:
src/share/vm/oops/metadata.hpp
  - revert changes

src/share/vm/oops/cpCacheOop.cpp
src/share/vm/oops/klassVtable.cpp
  - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate

Here are the URLs for the updated webrevs:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/

The JPDA stack testing that I started on Friday is still running on
WinXP so I'm blocked for checking the recompile due to these changes.
I'll start a recompile on Solaris X86, but that will take some time.

Thanks, in advance, for more comments, suggestions or questions.

Dan



On 2/1/13 12:55 PM, Daniel D. Daugherty wrote:

Greetings,

I have a fix for the following JVM/TI bug:

7182152 Instrumentation hot swap test incorrect monitor count
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152
https://jbs.oracle.com/bugs/browse/JDK-7182152

The fix for the bug in the product code is one line:

src/share/vm/oops/klassVtable.cpp:

@@ -992,18 +1020,50 @@
   // RC_TRACE macro has an embedded ResourceMark
   RC_TRACE(0x0020, ("itable method update: %s(%s)",
 new_method->name()->as_C_string(),
 new_method->signature()->as_C_string()));
 }
-break;
+// cannot 'break' here; see for-loop comment above.
   }
   ime++;
 }
   }
}

and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen
already fixed the bug as part of the Perm Gen Removal (PGR) project
in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR
changeset. Many thanks to Coleen for her help in this bug hunt!

The rest of the code in the webrevs are:

- additional JVM/TI tracing code backported from Coleen's PGR changeset
- additional JVM/TI tracing code added by me and forward ported to HSX-25
- a new -XX:TraceRedefineClasses=16384 flag value for finding these
  elusive old or obsolete methods
- exposure of s

Re: JVM/TI code review request (XS and M) (7182152)

2013-02-06 Thread Daniel D. Daugherty

Karen,

Thanks for the re-review!

Serguei, just waiting for you to chime in!!

Dan


On 2/6/13 12:54 PM, Karen Kinnear wrote:

Thank you Dan - this is much better and sets a good model for the rest of us.

thanks,
Karen

On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote:


Adding other alias and people back onto the thread...

Thanks for the re-review!


On 2/6/13 6:41 AM, Coleen Phillimore wrote:

This is good that you added the INCLUDE_JVMTI.  I didn't think it'd add that 
much space, but it a good change.

I didn't think it would add much space either, but...

It gave me a chance to check out the MinimalVM stuff a bit and
it serves to identify those pieces of code as being associated
with JVM/TI.

Karen and Serguei, when you get the chance, please re-review.

Again, thanks for the re-review!

Dan



Thumbs up!
Coleen

On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote:

Greetings,

The JPDA stack testing finished with no new regressions on HSX-23.6,
HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed.

I've updated the HSX-25 version of the fix due to Karen's comments
about the MinimalVM configuration in Code Review Round 1. In this
latest round for HSX-25, I've made use of the INCLUDE_JVMTI define
to limit the exposure of new tracing code to configurations that
include JVM/TI support. The MinimalVM does not support JVM/TI so
none of the new code needs to be included there. While I was at it,
I also excluded some other JVM/TI RedefineClasses() support code
from the MinimalVM config that I hadn't previously touched.

In short, none of the functionality has been changed in this round.
Just the way it is built or not built has been changed.

Here is the URL for the latest HSX-25 webrev:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/

Thanks, in advance, for more comments, suggestions or questions.

Dan


On 2/4/13 2:08 PM, Daniel D. Daugherty wrote:

Greetings,

I've updated the fix due to comments in Code Review Round 0.

Here is a summary of changes made to the various files:

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
src/share/vm/oops/klassVtable.cpp
  - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request;
these files are outside of JVM/TI RedefineClasses proper so the
tracing/debug style should not be dictated by JVM/TI RedefineClasses
style that is currently in use
  - did not touch the existing RC_TRACE... macros in the file; removing
the existing macro calls would be outside the scope of this bug

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
  - copy a comment from ConstantPoolCacheEntry::is_interesting_method_entry()
to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries()

src/share/vm/oops/klassVtable.cpp
  - Copied the new comment intended to prevent the "break" from
re-materializing again from klassItable::adjust_method_entries()
to klassVtable::adjust_method_entries(); yes, I'm paranoid.

In the HSX-25 version only:
src/share/vm/oops/metadata.hpp
  - revert changes

src/share/vm/oops/cpCacheOop.cpp
src/share/vm/oops/klassVtable.cpp
  - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate

Here are the URLs for the updated webrevs:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/

The JPDA stack testing that I started on Friday is still running on
WinXP so I'm blocked for checking the recompile due to these changes.
I'll start a recompile on Solaris X86, but that will take some time.

Thanks, in advance, for more comments, suggestions or questions.

Dan



On 2/1/13 12:55 PM, Daniel D. Daugherty wrote:

Greetings,

I have a fix for the following JVM/TI bug:

7182152 Instrumentation hot swap test incorrect monitor count
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152
https://jbs.oracle.com/bugs/browse/JDK-7182152

The fix for the bug in the product code is one line:

src/share/vm/oops/klassVtable.cpp:

@@ -992,18 +1020,50 @@
   // RC_TRACE macro has an embedded ResourceMark
   RC_TRACE(0x0020, ("itable method update: %s(%s)",
 new_method->name()->as_C_string(),
 new_method->signature()->as_C_string()));
 }
-break;
+// cannot 'break' here; see for-loop comment above.
   }
   ime++;
 }
   }
}

and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen
already fixed the bug as part of the Perm Gen Removal (PGR) project
in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR
changeset. Many thanks to Coleen for her help in this bug hunt!

The rest of the code in the webrevs are:

- additional JVM/TI tracing code backported from Coleen's PGR changeset
- additional JVM/TI tracing code added by me and forward ported to HSX-25
- a new -XX:TraceRedefineClasses=16384 flag value for finding

Re: JVM/TI code review request (XS and M) (7182152)

2013-02-06 Thread Daniel D. Daugherty

Greetings,

I've revised the tests based on Coleen's and Serguei's feedback
in Code Review Round 0.

Here is the URL for the webrev for Code Review Round 1:

http://cr.openjdk.java.net/~dcubed/8007420-webrev/1-jdk8-tl/

Summary of the changes:

- RedefineAbstractClass.sh - cleaned up the header comment
- RedefineAbstractClass.sh
  - more clear description of what's being tested
  - add comments describing what the guarantee failure looks like
  - add checks for proper pre-RedefineClasses output
  - add checks for proper post-RedefineClasses output
- RedefineSubclassWithTwoInterfacesApp.java
- RedefineSubclassWithTwoInterfacesRemote.java
  - refactor the test app's echo() method call into echo1() and
echo2() so it is easier to check for the failure mode
- RedefineSubclassWithTwoInterfacesImpl.java
- RedefineSubclassWithTwoInterfacesImpl_1.java
  - add comment to explain why these sources are identical


Diffs are below since the webrev above is relative to JDK8-T&L
and everything is "new".

Dan

Here are diffs (ignoring whitespace) to make it clear what has
changed between Code Review Round 0 and Code Review Round 1:


$ diff -w test/com/sun/jdi/RedefineAbstractClass.sh{.cr0,}
31a32
> # @author Daniel D. Daugherty


$ diff -w 
test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh{.cr0,}

26c26,27
< # @summary Redefining a subclass that implements two interfaces is broken.
---
> # @summary Redefine a subclass that implements two interfaces and
> #   verify that the right methods are called.
101a103,104
>
> echo "INFO: "
102a106,107
> echo "INFO: "
>
108,112c113,127
< MESG="guarantee"
< grep "$MESG" output.log
< result=$?
< if [ "$result" = 0 ]; then
< echo "FAIL: found '$MESG' in the test output"
---
> # When this bug manifests, RedefineClasses() will fail to update
> # one of the itable entries to refer to the new method. The log
> # will include the following line when the bug occurs:
> #
> # guarantee(false) failed: OLD and/or OBSOLETE method(s) found
> #
> # If this guarantee happens, the test should fail in the status
> # check above, but just in case it doesn't, we check for "guarantee".
> #
>
> FAIL_MESG="guarantee"
> grep "$FAIL_MESG" output.log
> status=$?
> if [ "$status" = 0 ]; then
> echo "FAIL: found '$FAIL_MESG' in the test output."
115c130,131
< echo "PASS: did NOT find '$MESG' in the test output"
---
> echo "INFO: did NOT find '$FAIL_MESG' in the test output."
> # be optimistic here
118a135,164
> PASS1_MESG="before any redefines"
> cnt=`grep "$PASS1_MESG" output.log | grep 'version-0' | wc -l`
> case "$cnt" in
> 2)
> echo "INFO: found 2 version-0 '$PASS1_MESG' mesgs."
> ;;
> *)
> echo "FAIL: did NOT find 2 version-0 '$PASS1_MESG' mesgs."
> echo "INFO: grep '$PASS1_MESG' output:"
> grep "$PASS1_MESG" output.log
> result=1
> esac
>
> PASS2_MESG="after redefine"
> cnt=`grep "$PASS2_MESG" output.log | grep 'version-1' | wc -l`
> case "$cnt" in
> 2)
> echo "INFO: found 2 version-1 '$PASS2_MESG' mesgs."
> ;;
> *)
> echo "FAIL: did NOT find 2 version-1 '$PASS2_MESG' mesgs."
> echo "INFO: grep '$PASS2_MESG' output:"
> grep "$PASS2_MESG" output.log
> result=1
> esac
>
> if [ "$result" = 0 ]; then
> echo "PASS: test passed both positive and negative output checks."
> fi
>


$ diff 
test/java/lang/instrument/RedefineSubclassWithTwoInterfacesApp.java{.cr0,}

43,45c43,45
< // make an echo() call before any redefinitions:
< mesg = remote.echo("test message #0");
< System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='"
---
> // make echo() calls before any redefinitions:
> mesg = remote.echo1("test message #1.1");
> System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='"
46a47,49
> mesg = remote.echo2("test message #2.1");
> System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='"
> + mesg + "' before any redefines");
54,56c57,62
< mesg = remote.echo("test message #1");
< System.out.println("RedefineSubclassWithTwoInterfacesApp: mesg='"
< + mesg + "' after redefine #1");
---
> mesg = remote.echo1("test message #1.2");
> System.out.println("RedefineSubclassWithTwoInterfacesApp: echo1 mesg='"
> + mesg + "' after redefine");
> mesg = remote.echo2("test message #2.2");
> System.out.println("RedefineSubclassWithTwoInterfacesApp: echo2 mesg='"
> + mesg + "' after redefine");


$ diff 
test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl.java{.cr0,}

23a24,27
> // Reproducing this bug only requires an EMCP version of the
> // RedefineSubclassWithTwoInterfacesImpl class so
> // RedefineSubclassWithTwoInterfacesImpl.java and
> // RedefineSubclassWithTwoInterfacesImpl_1.java are identical.


$ diff 
test/java/lang/instrument/RedefineSubclassWithTwoInterfacesImpl_1.java{.cr0,}

23a24,27
> // Reproducing this bug only requires an EMCP version of the
> // RedefineSubcla

Re: JVM/TI code review request (XS and M) (7182152)

2013-02-06 Thread Karen Kinnear
Thank you Dan - this is much better and sets a good model for the rest of us.

thanks,
Karen

On Feb 6, 2013, at 9:05 AM, Daniel D. Daugherty wrote:

> Adding other alias and people back onto the thread...
> 
> Thanks for the re-review!
> 
> 
> On 2/6/13 6:41 AM, Coleen Phillimore wrote:
>> 
>> This is good that you added the INCLUDE_JVMTI.  I didn't think it'd add that 
>> much space, but it a good change.
> 
> I didn't think it would add much space either, but...
> 
> It gave me a chance to check out the MinimalVM stuff a bit and
> it serves to identify those pieces of code as being associated
> with JVM/TI.
> 
> Karen and Serguei, when you get the chance, please re-review.
> 
> Again, thanks for the re-review!
> 
> Dan
> 
> 
>> Thumbs up!
>> Coleen
>> 
>> On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote:
>>> Greetings,
>>> 
>>> The JPDA stack testing finished with no new regressions on HSX-23.6,
>>> HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed.
>>> 
>>> I've updated the HSX-25 version of the fix due to Karen's comments
>>> about the MinimalVM configuration in Code Review Round 1. In this
>>> latest round for HSX-25, I've made use of the INCLUDE_JVMTI define
>>> to limit the exposure of new tracing code to configurations that
>>> include JVM/TI support. The MinimalVM does not support JVM/TI so
>>> none of the new code needs to be included there. While I was at it,
>>> I also excluded some other JVM/TI RedefineClasses() support code
>>> from the MinimalVM config that I hadn't previously touched.
>>> 
>>> In short, none of the functionality has been changed in this round.
>>> Just the way it is built or not built has been changed.
>>> 
>>> Here is the URL for the latest HSX-25 webrev:
>>> 
>>> http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/
>>> 
>>> Thanks, in advance, for more comments, suggestions or questions.
>>> 
>>> Dan
>>> 
>>> 
>>> On 2/4/13 2:08 PM, Daniel D. Daugherty wrote:
 Greetings,
 
 I've updated the fix due to comments in Code Review Round 0.
 
 Here is a summary of changes made to the various files:
 
 src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
 src/share/vm/oops/cpCache.cpp (HSX-25)
 src/share/vm/oops/klassVtable.cpp
  - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request;
these files are outside of JVM/TI RedefineClasses proper so the
tracing/debug style should not be dictated by JVM/TI RedefineClasses
style that is currently in use
  - did not touch the existing RC_TRACE... macros in the file; removing
the existing macro calls would be outside the scope of this bug
 
 src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
 src/share/vm/oops/cpCache.cpp (HSX-25)
  - copy a comment from 
 ConstantPoolCacheEntry::is_interesting_method_entry()
to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries()
 
 src/share/vm/oops/klassVtable.cpp
  - Copied the new comment intended to prevent the "break" from
re-materializing again from klassItable::adjust_method_entries()
to klassVtable::adjust_method_entries(); yes, I'm paranoid.
 
 In the HSX-25 version only:
 src/share/vm/oops/metadata.hpp
  - revert changes
 
 src/share/vm/oops/cpCacheOop.cpp
 src/share/vm/oops/klassVtable.cpp
  - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate
 
 Here are the URLs for the updated webrevs:
 
 http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/
 http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/
 http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/
 
 The JPDA stack testing that I started on Friday is still running on
 WinXP so I'm blocked for checking the recompile due to these changes.
 I'll start a recompile on Solaris X86, but that will take some time.
 
 Thanks, in advance, for more comments, suggestions or questions.
 
 Dan
 
 
 
 On 2/1/13 12:55 PM, Daniel D. Daugherty wrote:
> Greetings,
> 
> I have a fix for the following JVM/TI bug:
> 
>7182152 Instrumentation hot swap test incorrect monitor count
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152
>https://jbs.oracle.com/bugs/browse/JDK-7182152
> 
> The fix for the bug in the product code is one line:
> 
> src/share/vm/oops/klassVtable.cpp:
> 
> @@ -992,18 +1020,50 @@
>   // RC_TRACE macro has an embedded ResourceMark
>   RC_TRACE(0x0020, ("itable method update: %s(%s)",
> new_method->name()->as_C_string(),
> new_method->signature()->as_C_string()));
> }
> -break;
> +// cannot 'break' here; see for-loop comment above.
>   }
>   ime++;
> }
>   }
> }
> 
> and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen
> already fi

hg: jdk8/tl/jdk: 8006505: additional changes for JSR 310 support

2013-02-06 Thread lance . andersen
Changeset: 1574fa3df1c0
Author:lancea
Date:  2013-02-06 14:15 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1574fa3df1c0

8006505: additional changes for JSR 310 support
Reviewed-by: naoto, ulfzibis

! src/share/classes/java/sql/JDBCType.java
! src/share/classes/java/sql/SQLInput.java
! src/share/classes/java/sql/SQLOutput.java
! src/share/classes/java/sql/Types.java



hg: jdk8/tl: 8004726: Link bug ids to jbs rather than monaco.

2013-02-06 Thread mike . duigou
Changeset: 168dd033604a
Author:mduigou
Date:  2013-02-06 11:09 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/168dd033604a

8004726: Link bug ids to jbs rather than monaco.
Reviewed-by: ohair, chegar, katleman

! make/scripts/webrev.ksh



Re: 8007277: JDK-8002048 testcase fails to compile

2013-02-06 Thread Dmitry Samersoff
Mandy,

The test designed to leave as much as possible to JTReg but work without
JTRreg as well.

so if test run under JTReg, --no-compile option used and test is
compiled by JTReg it requires both @compile header tag and explicit
compilation code.

Actual changes contains a comment explaining it.

_testclasses variable points to ${TESTCLASSES} under JTreg or
to `pwd`/.classes directory common for all my tests, if run standalone.

-Dmitry



On 2013-02-06 19:50, Mandy Chung wrote:
> 
> On 2/6/2013 2:47 AM, Alan Bateman wrote:
>>
>> diff --git a/test/sun/management/jdp/JdpTest.sh
>> b/test/sun/management/jdp/JdpTest.sh
>> --- a/test/sun/management/jdp/JdpTest.sh
>> +++ b/test/sun/management/jdp/JdpTest.sh
>> @@ -23,7 +23,7 @@
>>
>>  # @test
>>  # @bug 7169888
>> -# @build JdpUnitTest JdpClient JdpDoSomething
>> +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java
>> JdpDoSomething.java
>>  # @run shell JdpTest.sh --jtreg --no-compile
>>  # @summary No word Failed expected in the test output
>>
>> @@ -55,7 +55,7 @@
>>  rm -f ${_testclasses}/*.class
>>
>>  # Compile testcase
>> -${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \
>> +${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses}
>> JdpUnitTest.java \
>>   JdpDoSomething.java  \
>>   JdpClient.java
> 
> The fix itself looks good.   This question is more for the original test:
>   Is @compile line needed?  Is $_testclasses same as $TESTCLASSES?
> 
> Mandy


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* Give Rabbit time, and he'll always get the answer


hg: jdk8/tl/langtools: 8007566: DocLint too aggressive with not allowed here:

2013-02-06 Thread jonathan . gibbons
Changeset: 153d20d0cac5
Author:jjg
Date:  2013-02-06 07:49 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/153d20d0cac5

8007566: DocLint too aggressive with not allowed here: 
Reviewed-by: mcimadamore

! src/share/classes/com/sun/tools/doclint/Checker.java
+ test/tools/doclint/ParaTagTest.java



Re: 8007277: JDK-8002048 testcase fails to compile

2013-02-06 Thread Mandy Chung


On 2/6/2013 2:47 AM, Alan Bateman wrote:


diff --git a/test/sun/management/jdp/JdpTest.sh 
b/test/sun/management/jdp/JdpTest.sh

--- a/test/sun/management/jdp/JdpTest.sh
+++ b/test/sun/management/jdp/JdpTest.sh
@@ -23,7 +23,7 @@

 # @test
 # @bug 7169888
-# @build JdpUnitTest JdpClient JdpDoSomething
+# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java 
JdpDoSomething.java

 # @run shell JdpTest.sh --jtreg --no-compile
 # @summary No word Failed expected in the test output

@@ -55,7 +55,7 @@
 rm -f ${_testclasses}/*.class

 # Compile testcase
-${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \
+${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} 
JdpUnitTest.java \

  JdpDoSomething.java  \
  JdpClient.java


The fix itself looks good.   This question is more for the original test:
  Is @compile line needed?  Is $_testclasses same as $TESTCLASSES?

Mandy


Re: RFR (S) 8007142: Add utility classes for writing better multiprocess tests in jtreg

2013-02-06 Thread Yekaterina Kantserova

Alan,

thanks for the review!

// Katja

On 02/05/2013 12:54 PM, Alan Bateman wrote:

On 05/02/2013 10:51, Yekaterina Kantserova wrote:

On 02/04/2013 02:18 PM, Alan Bateman wrote:

On 04/02/2013 11:03, Yekaterina Kantserova wrote:


But JDKToolFinder.getJDKTool is used even for finding java, e.g. I 
need to fork a java process - JDKToolFinder.getJDKTool("java") for 
some JRE tests?
It might be better to rename JDKToolFinder to something like 
JdkFinder and have it define getJavaLauncher() and getTool(String 
tool) methods. 
I think it's good idea to separate java launcher and tools. Here is 
the new JdkFinder: 
http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java.html. 
It now possible to retrieve java/tools both from the test.jdk and 
compile.jdk.


If you don't agree then you could at least change 
ProcessTools.createJavaProcessBuilder so that it looks like "java" 
in the JDK/JRE under test.


JDKToolFinder.getJDKTool("java") became JdkFinder.getJavaLauncher  in 
the createJavaProcessBuilder 
(http://cr.openjdk.java.net/~ykantser/8007142/webrev.02/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java.html).

-Alan.



It looks right to me now.

-Alan




hg: jdk8/tl/langtools: 2 new changesets

2013-02-06 Thread maurizio . cimadamore
Changeset: 1df20330f6bd
Author:mcimadamore
Date:  2013-02-06 14:03 +
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1df20330f6bd

8007463: Cleanup inference related classes
Summary: Make Infer.InferenceContext an inner class; adjust bound replacement 
logic in Type.UndetVar
Reviewed-by: jjg

! src/share/classes/com/sun/tools/javac/code/Type.java
! src/share/classes/com/sun/tools/javac/code/Types.java
! src/share/classes/com/sun/tools/javac/comp/Attr.java
! src/share/classes/com/sun/tools/javac/comp/Check.java
! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
! src/share/classes/com/sun/tools/javac/comp/Infer.java
! src/share/classes/com/sun/tools/javac/comp/Resolve.java
! src/share/classes/com/sun/tools/javac/util/List.java
! test/tools/javac/generics/inference/7154127/T7154127.out
! test/tools/javac/lib/DPrinter.java

Changeset: 8cdd96f2fdb9
Author:mcimadamore
Date:  2013-02-06 14:04 +
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/8cdd96f2fdb9

8007479: Refactor DeferredAttrContext so that it points to parent context
Summary: Move DeferredAttrNode out of DeferredAttrContext; add support for 
nested deferred contexts
Reviewed-by: jjg

! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
! src/share/classes/com/sun/tools/javac/comp/Infer.java
! src/share/classes/com/sun/tools/javac/comp/Resolve.java



RR(S): 8007536 Incorrect copyright header in JDP files

2013-02-06 Thread Dmitry Samersoff
Hi Everyone,

Please, review this, copyright-only fix

http://cr.openjdk.java.net/~dsamersoff/8007536.JDP-COPYRIGHT/webrev.01/jdk/

-Dmitry

-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* Give Rabbit time, and he'll always get the answer


Re: JVM/TI code review request (XS and M) (7182152)

2013-02-06 Thread Daniel D. Daugherty

Adding other alias and people back onto the thread...

Thanks for the re-review!


On 2/6/13 6:41 AM, Coleen Phillimore wrote:


This is good that you added the INCLUDE_JVMTI.  I didn't think it'd 
add that much space, but it a good change.


I didn't think it would add much space either, but...

It gave me a chance to check out the MinimalVM stuff a bit and
it serves to identify those pieces of code as being associated
with JVM/TI.

Karen and Serguei, when you get the chance, please re-review.

Again, thanks for the re-review!

Dan



Thumbs up!
Coleen

On 2/6/2013 12:59 AM, Daniel D. Daugherty wrote:

Greetings,

The JPDA stack testing finished with no new regressions on HSX-23.6,
HSX-24 or HSX-25. The HSX-24 version of the fix has been pushed.

I've updated the HSX-25 version of the fix due to Karen's comments
about the MinimalVM configuration in Code Review Round 1. In this
latest round for HSX-25, I've made use of the INCLUDE_JVMTI define
to limit the exposure of new tracing code to configurations that
include JVM/TI support. The MinimalVM does not support JVM/TI so
none of the new code needs to be included there. While I was at it,
I also excluded some other JVM/TI RedefineClasses() support code
from the MinimalVM config that I hadn't previously touched.

In short, none of the functionality has been changed in this round.
Just the way it is built or not built has been changed.

Here is the URL for the latest HSX-25 webrev:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/2-hsx25/

Thanks, in advance, for more comments, suggestions or questions.

Dan


On 2/4/13 2:08 PM, Daniel D. Daugherty wrote:

Greetings,

I've updated the fix due to comments in Code Review Round 0.

Here is a summary of changes made to the various files:

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
src/share/vm/oops/klassVtable.cpp
  - removed the new RC_TRACE_NO_CR() macro calls at Coleen's request;
these files are outside of JVM/TI RedefineClasses proper so the
tracing/debug style should not be dictated by JVM/TI 
RedefineClasses

style that is currently in use
  - did not touch the existing RC_TRACE... macros in the file; removing
the existing macro calls would be outside the scope of this bug

src/share/vm/oops/cpCacheOop.cpp (HSX-23.6, HSX-24)
src/share/vm/oops/cpCache.cpp (HSX-25)
  - copy a comment from 
ConstantPoolCacheEntry::is_interesting_method_entry()

to ConstantPoolCacheEntry::check_no_old_or_obsolete_entries()

src/share/vm/oops/klassVtable.cpp
  - Copied the new comment intended to prevent the "break" from
re-materializing again from klassItable::adjust_method_entries()
to klassVtable::adjust_method_entries(); yes, I'm paranoid.

In the HSX-25 version only:
src/share/vm/oops/metadata.hpp
  - revert changes

src/share/vm/oops/cpCacheOop.cpp
src/share/vm/oops/klassVtable.cpp
  - wrap uses of is_valid() in NOT_PRODUCT macro as appropriate

Here are the URLs for the updated webrevs:

http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx23.6/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx24/
http://cr.openjdk.java.net/~dcubed/7182152-webrev/1-hsx25/

The JPDA stack testing that I started on Friday is still running on
WinXP so I'm blocked for checking the recompile due to these changes.
I'll start a recompile on Solaris X86, but that will take some time.

Thanks, in advance, for more comments, suggestions or questions.

Dan



On 2/1/13 12:55 PM, Daniel D. Daugherty wrote:

Greetings,

I have a fix for the following JVM/TI bug:

7182152 Instrumentation hot swap test incorrect monitor count
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7182152
https://jbs.oracle.com/bugs/browse/JDK-7182152

The fix for the bug in the product code is one line:

src/share/vm/oops/klassVtable.cpp:

@@ -992,18 +1020,50 @@
   // RC_TRACE macro has an embedded ResourceMark
   RC_TRACE(0x0020, ("itable method update: %s(%s)",
 new_method->name()->as_C_string(),
 new_method->signature()->as_C_string()));
 }
-break;
+// cannot 'break' here; see for-loop comment above.
   }
   ime++;
 }
   }
 }

and is applicable to JDK7u10/HSX-23.6 and JDK7u14/HSX-24. Coleen
already fixed the bug as part of the Perm Gen Removal (PGR) project
in HSX-25. Yes, we found a 1-line bug fix buried in the monster PGR
changeset. Many thanks to Coleen for her help in this bug hunt!

The rest of the code in the webrevs are:

- additional JVM/TI tracing code backported from Coleen's PGR 
changeset
- additional JVM/TI tracing code added by me and forward ported to 
HSX-25

- a new -XX:TraceRedefineClasses=16384 flag value for finding these
  elusive old or obsolete methods
- exposure of some printing code to the PRODUCT build so that the new
  tracing is available in a PRODUCT build

You might be wondering why the new tracing code is exposed in a 
PRODUCT
build. Well, it appears that more and more

hg: jdk8/tl/jdk: 8007277: JDK-8002048 testcase fails to compile

2013-02-06 Thread dmitry . samersoff
Changeset: 0e7d5dd84fdf
Author:dsamersoff
Date:  2013-02-06 16:53 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/0e7d5dd84fdf

8007277: JDK-8002048 testcase fails to compile
Summary: sun.* classes is not included to ct.sym file and symbol file have to 
be ignored
Reviewed-by: alanb

! test/sun/management/jdp/JdpTest.sh



Re: RR(S) Re: 8007277: JDK-8002048 testcase fails to compile

2013-02-06 Thread Alan Bateman

On 06/02/2013 12:28, Dmitry Samersoff wrote:

Hi Everyone,

Please review the fix:

http://cr.openjdk.java.net/~dsamersoff/8007277.JDP-TEST/webrev.01/jdk/

-Dmitry


This looks fine to me (and good to get this one fixed as it is failing 
everywhere since the original changes were pushed).


-Alan


RR(S) Re: 8007277: JDK-8002048 testcase fails to compile

2013-02-06 Thread Dmitry Samersoff
Hi Everyone,

Please review the fix:

http://cr.openjdk.java.net/~dsamersoff/8007277.JDP-TEST/webrev.01/jdk/

-Dmitry


On 2013-02-06 14:47, Alan Bateman wrote:
> 
> Dmitry - I realize you might be looking at this already but
> test/sun/management/jdp/JdpTest.sh is failing on all platforms since it
> was pushed. We can either put it on the exclude list (ProblemList.txt)
> or fix it. Since it is trivial to fix then I'd like to do that -
> attached is the proposed patch.
> 
> -Alan.
> 
> diff --git a/test/sun/management/jdp/JdpTest.sh
> b/test/sun/management/jdp/JdpTest.sh
> --- a/test/sun/management/jdp/JdpTest.sh
> +++ b/test/sun/management/jdp/JdpTest.sh
> @@ -23,7 +23,7 @@
> 
>  # @test
>  # @bug 7169888
> -# @build JdpUnitTest JdpClient JdpDoSomething
> +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java
> JdpDoSomething.java
>  # @run shell JdpTest.sh --jtreg --no-compile
>  # @summary No word Failed expected in the test output
> 
> @@ -55,7 +55,7 @@
>  rm -f ${_testclasses}/*.class
> 
>  # Compile testcase
> -${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \
> +${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses}
> JdpUnitTest.java \
>   JdpDoSomething.java  \
>   JdpClient.java


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* Give Rabbit time, and he'll always get the answer


Re: 8007277: JDK-8002048 testcase fails to compile

2013-02-06 Thread Dmitry Samersoff
Alan,

Thank you! I plan to fix it shortly.

-Dmitry

On 2013-02-06 14:47, Alan Bateman wrote:
> 
> Dmitry - I realize you might be looking at this already but
> test/sun/management/jdp/JdpTest.sh is failing on all platforms since it
> was pushed. We can either put it on the exclude list (ProblemList.txt)
> or fix it. Since it is trivial to fix then I'd like to do that -
> attached is the proposed patch.
> 
> -Alan.
> 
> diff --git a/test/sun/management/jdp/JdpTest.sh
> b/test/sun/management/jdp/JdpTest.sh
> --- a/test/sun/management/jdp/JdpTest.sh
> +++ b/test/sun/management/jdp/JdpTest.sh
> @@ -23,7 +23,7 @@
> 
>  # @test
>  # @bug 7169888
> -# @build JdpUnitTest JdpClient JdpDoSomething
> +# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java
> JdpDoSomething.java
>  # @run shell JdpTest.sh --jtreg --no-compile
>  # @summary No word Failed expected in the test output
> 
> @@ -55,7 +55,7 @@
>  rm -f ${_testclasses}/*.class
> 
>  # Compile testcase
> -${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \
> +${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses}
> JdpUnitTest.java \
>   JdpDoSomething.java  \
>   JdpClient.java


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* Give Rabbit time, and he'll always get the answer


hg: jdk8/tl: 8007625: race with nested repos in /common/bin/hgforest.sh

2013-02-06 Thread chris . hegarty
Changeset: 8dd61906da5f
Author:chegar
Date:  2013-02-06 11:36 +
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/8dd61906da5f

8007625: race with nested repos in /common/bin/hgforest.sh
Reviewed-by: dholmes, ohair, ohrstrom

! common/bin/hgforest.sh
! get_source.sh



8007277: JDK-8002048 testcase fails to compile

2013-02-06 Thread Alan Bateman


Dmitry - I realize you might be looking at this already but 
test/sun/management/jdp/JdpTest.sh is failing on all platforms since it 
was pushed. We can either put it on the exclude list (ProblemList.txt) 
or fix it. Since it is trivial to fix then I'd like to do that - 
attached is the proposed patch.


-Alan.

diff --git a/test/sun/management/jdp/JdpTest.sh 
b/test/sun/management/jdp/JdpTest.sh

--- a/test/sun/management/jdp/JdpTest.sh
+++ b/test/sun/management/jdp/JdpTest.sh
@@ -23,7 +23,7 @@

 # @test
 # @bug 7169888
-# @build JdpUnitTest JdpClient JdpDoSomething
+# @compile -XDignore.symbol.file JdpUnitTest.java JdpClient.java 
JdpDoSomething.java

 # @run shell JdpTest.sh --jtreg --no-compile
 # @summary No word Failed expected in the test output

@@ -55,7 +55,7 @@
 rm -f ${_testclasses}/*.class

 # Compile testcase
-${TESTJAVA}/bin/javac -d ${_testclasses} JdpUnitTest.java \
+${COMPILEJAVA}/bin/javac -XDignore.symbol.file -d ${_testclasses} 
JdpUnitTest.java \

  JdpDoSomething.java  \
  JdpClient.java


Re: jmx-dev [PATCH] JDK-8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows

2013-02-06 Thread Jaroslav Bachorik
On 02/05/2013 11:47 PM, Stuart Marks wrote:
> Hi, thanks for the updates.
> 
> Capturing the Client output in a file seems preferable to putting a
> shell pipeline in backquotes. But, the old code piped both stdout and
> stderr into grep using 2>&1, whereas the new code redirects only stdout,
> which is then searched by grep. Was that intentional? I'm not sure
> whether the error message in question occurs in stdout or stderr.

Argh. I missed the redirect :/ Thanks!
I will update the webrev shortly.

> 
> Otherwise, it looks like you've taken care of the common failure modes.
> It just goes to show how deceptively simple shell programming can be,
> when in fact catching all the potential errors can be quite tedious.
> 
> The following discussion is mainly for your information, to consider the
> next time you decide to write a shell test. :-) I'm not suggesting any
> action for this changeset.
> 
> You had mentioned earlier (see thread below) that you needed to compile
> incompatible versions of the same class. It's indeed difficult to coerce
> jtreg to do that, so this is the rationale for writing a shell test.
> 
> It's possible and somewhat hacky to use jtreg for this, though; see
> 
> http://hg.openjdk.java.net/lambda/lambda/jdk/file/tip/test/java/io/Serializable/defaultSVID/
> 
> 
> Basically it uses the @compile tag to compile the first version of the
> file, then @run with an arg that tells the test to move the generated
> classfile somewhere, another @compile tag to compile the second version
> of the file, and finally an @run tag to run the test for real.
> 
> I don't suggest that you copy this technique. :-)
> 
> Jon Gibbons suggested invoking the compiler API directly from java
> instead of writing a shell script. Doing this seems fairly simple, and I
> think it would be advantageous to keep things entirely in Java. I may
> attempt to rewrite the defaultSVID test using the compiler API.

This seems rather feasible. I had just assumed that writing the shell
script would have been easier. But apparently wasn't ...

Anyway, thanks for going through this extensive review.

-JB-

> 
> s'marks
> 
> 
> On 2/5/13 6:40 AM, Jaroslav Bachorik wrote:
>> Updates in http://cr.openjdk.java.net/~jbachorik/8005472/webrev.05
>>
>> Comments inline
>>
>> On 01/10/2013 10:44 PM, Stuart Marks wrote:
>>> On 1/10/13 7:20 AM, Jaroslav Bachorik wrote:
 Update: http://cr.openjdk.java.net/~jbachorik/8005472/webrev.04
>>>
>>> Thanks for the update.
>>>
>>> Note, argv[0] is used before argv.length is checked, so if no args are
>>> passed this gives index out of bounds instead of the usage message.
>>
>> It's gone. Shouldn't have been left there anyway.
>>
>>>
>>> I see you take pains to write and flush the URL to stdout before writing
>>> the signaling file. Good. The obvious alternative (which I started
>>> writing but then erased) is just to put the URL into the signaling file.
>>> But this has a race between creation of the file and the writing of its
>>> contents. So, what you have works. (This kind of rendezvous problem
>>> occurs a lot; it seems like there ought to be a simpler way.)
>>>
>>> I suspect the -e option caused hangs because if something failed, it
>>> would leave the server running, spoiling the next test run. The usual
>>> way to deal with this is to use the shell 'trap' statement, to kill
>>> subprocesses and remove temp files before exiting the shell. Probably a
>>> good practice in general, but perhaps too much shell hackery for this
>>> change. (Up to you if you want to tackle it.)
>>
>> I would rather not ...
>>
>>>
>>> Regarding how the test is detecting success/failure, the concern is that
>>> if the client fails for some reason other than the failure being checked
>>> for, the test will still report passing. Since the error message is
>>> coming out of the client JVM, in principle it ought to be possible to
>>> redirect it somehow in order to do the assertion checking in Java. With
>>> the current shell scheme, not only are other failures reported as the
>>> test passing, these other failures are erased in the grep pipeline, so
>>> they're not even visible in the test log.
>>
>> I've changed the logic slightly to check for the java process exit
>> status as well as for the presence of the trigger text in the process
>> output. This should catch all the regular failures.
>>
>> Unfortunately, the way the notification handling is implemented now it
>> is not really possible to check for the error from within the
>> application - the error state is captured by the *NotificationForwarder
>> class and only reported to the logger.
>>
>> -JB-
>>
>>>
>>> This last issue is rather far afield from this webrev, and fixing it
>>> will probably require some rearchitecting of the test. So maybe it
>>> should be considered independently. I just happened to notice this going
>>> on, and I noticed the similarity to what's going on in the RMI tests.
>>>
>>> s'marks
>>>
>>>
>>>
 On 01/10/2013 09:52 AM, Stuart M