Re: Code Review Request: 7183800: TEST_BUG: Update tests to run on Ubuntu 12.04 (localhost is 127.0.1.1)

2012-07-16 Thread Alan Bateman

On 15/07/2012 19:54, Kurchi Subhra Hazra wrote:

Hi,

   Some tests in our test repository assume that 
InetAddress.getLocalHost() will return 127.0.0.1. However, with
linux systems running Ubuntu 12.04 now returning 127.0.1.1 as 
localhost, these tests are failing. I have changed two
of the NIO tests to remove their dependency on 
InetAddress.getLocalHost(). A third test has been added to

the ProblemList.txt since the changes required for it are more involved.

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7183800
Webrev: http://cr.openjdk.java.net/~khazra/7183800/webrev.00/

As Chris pointed out, these tests bind to the wildcard address and you 
need a specific address to setup the address association, otherwise it's 
highly platform/implementation specific as to whether it will do as 
intended. So I think the proposed changes will cause problems where you 
can't connect to 0.0.0.0 and so I think we need to look for another 
solution.


Given that none of the TCP tests fail then it suggests it mean that 
something else is going on, maybe something in the Ubuntu 12 
configuration. Do these tests run if IPv6 is disabled? We've had issues 
with some distributions where multicast tests fail and these have always 
come down to iptables blocking IPv6 multicast packets causing the tests 
to fail. I just wonder if we have something similar here.


-Alan



Re: Code Review Request 7142596: RMI JPRT tests are failing

2012-07-16 Thread Stuart Marks

Hi Darryl,

Sorry, I'm going to have to ask you to update this again. The issues are in 
TestLibrary.java and are all related to catching exceptions and throwing new 
exception instances, discarding the original exception (and probably relevant 
diagnostic information) in the process.


Let's get together today and work on it. I expect it will take only half an 
hour or so to knock things out.


s'marks




On 7/13/12 1:40 PM, Darryl Mocek wrote:


On 07/12/2012 05:13 PM, Stuart Marks wrote:

OK, I took a look at the revised webrev. Most stuff is good. A couple changes
are necessary though.


*** MultipleRegistries.java


Not a big deal, but the comment at lines 65-67 is no longer necessary.

Comment removed.



*** TestLibrary.java


I think the reserved port range stuff still needs to be fixed up.

The comment at lines 81-82 talks about a range 64000-64100 which isn't really
present anywhere. The comment should instead say that PORT_MIN and PORT_MAX
should be kept adjusted so that they specify the range of ports defined by
the constants following. Make sure to do this adjustment; PORT_MAX is 64002
here.

I reserved ports 64000-64100 (even though only 64001-64005 are currently being
used) for fixed port tests (for tests which require fixed ports) so any future
tests which require fixed ports can be assured there are ports available within
a range for their use. In fixing the tests, I saw that those who wrote tests
and used fixed ports grabbed random port numbers all over the place. Providing
a reserved range allows them to just grab the next number and to keep the fixed
port numbers in a group, even when new tests are added. If the ports are
defined in a central place, like TestLibrary, then hopefully developers will
come to TestLibrary to reserve the ports rather then define them in the tests
themselves, like was done previously. I chose 100 ports for
future-proofing...I don't think 100 is too many, but I've reduced it to 10
and lowered the max to 64010. I was also thinking of looking for tests which
used fixed ports outside of RMI tests and standardizing those ports here, but
that's possible future work and I'm not sure it's necessary.


The previous webrev had PORT_MIN and PORT_MAX specify a range of 1024-64000
as the *allowed* range for ports returned by getUnusedRandomPort(). But as I
described previously, this is difficult to enforce given the varying port
allocation schemes on different OSes.

Instead I think we need to invert the sense of the range PORT_MIN..PORT_MAX
and make it be the range of ports reserved by tests that require fixed ports
(64001 through 64005). Then, getUnusedRandomPort() needs to be changed to
*disallow* ports in this range, that is, to retry if the port is within this
range. Thus the condition on the while-loop has to be inverted, something like

while (... unusedRandomPort = PORT_MIN  unusedRandomPort = PORT_MAX)

Yes, this is correct and it has been changed.


So, how could getUnusedRandomPort() have worked in its present state? Well I
think it ends up retrying 10 times, then at the end of the loop
unusedRandomPort is actually some legal port number -- albeit possibly one
within the disallowed range -- and almost certainly not -1, and so the method
returns it and the caller uses it. So, the success-testing logic here will
also have to change so that it retests whether the port is in the disallowed
range.

Correct...done.


The comment on getUnusedRandomPort() also needs to be updated to reflect its
new policy on the reserved range, as well as throwing an exception on
failure. Also (nitpick) it should say less than not less then.

Yes, I always do this. :(


Looking at getUnusedRandomPort() again more closely [sorry] I think the catch
of Exception that does nothing is suspicious. I'm not sure why getting a
ServerSocket would fail, but if it does (maybe the system is out of ports??)
we should just throw out to the caller. Perhaps ideally we'd just have this
method throw IOException, but if that requires all callers to be updated, it
might be easier just to catch IOException and throw a RuntimeException that
wraps the caught IOException.

I see no harm in trying again if it fails. If we have run out of ports, then
possibly one or more used ports will be closed and freed and a subsequent try
will succeed. I don't know all of the cases where a failure might occur.
Anyway, if this is the prevailing way of handling this, I'll change it.


Similar comments apply to the catch(Exception)/do-nothing code in the other
utility methods.

Now throwing RuntimeException in getRegistryPort.


Certainly getRegistryPort() should just throw (or possibly wrap and rethrow)
any exception caught.

For createRegistryOnUnusedPort(), the catching of ExportException is handled
properly. The second catch clause of the outer try-block, and the catch of
the inner try-block, both ignore exceptions. The code will then end up
retrying. Is it reasonable that retrying in these cases will result in a

Re: Code Review Request 7142596: RMI JPRT tests are failing

2012-07-16 Thread Darryl Mocek
After looking at it again, technically, we ought to remove the fixed 
ports from the list of ports available to the RMI Registry (OK, so this 
isn't a BIG deal).  Using SocketFactory's as Alan suggests will solve 
this problem as well.


Darryl

On 07/16/2012 08:42 AM, Stuart Marks wrote:

Hi Darryl,

Sorry, I'm going to have to ask you to update this again. The issues 
are in TestLibrary.java and are all related to catching exceptions and 
throwing new exception instances, discarding the original exception 
(and probably relevant diagnostic information) in the process.


Let's get together today and work on it. I expect it will take only 
half an hour or so to knock things out.


s'marks




On 7/13/12 1:40 PM, Darryl Mocek wrote:


On 07/12/2012 05:13 PM, Stuart Marks wrote:
OK, I took a look at the revised webrev. Most stuff is good. A 
couple changes

are necessary though.


*** MultipleRegistries.java


Not a big deal, but the comment at lines 65-67 is no longer necessary.

Comment removed.



*** TestLibrary.java


I think the reserved port range stuff still needs to be fixed up.

The comment at lines 81-82 talks about a range 64000-64100 which 
isn't really
present anywhere. The comment should instead say that PORT_MIN and 
PORT_MAX
should be kept adjusted so that they specify the range of ports 
defined by
the constants following. Make sure to do this adjustment; PORT_MAX 
is 64002

here.
I reserved ports 64000-64100 (even though only 64001-64005 are 
currently being
used) for fixed port tests (for tests which require fixed ports) so 
any future
tests which require fixed ports can be assured there are ports 
available within
a range for their use. In fixing the tests, I saw that those who 
wrote tests
and used fixed ports grabbed random port numbers all over the place. 
Providing
a reserved range allows them to just grab the next number and to keep 
the fixed

port numbers in a group, even when new tests are added. If the ports are
defined in a central place, like TestLibrary, then hopefully 
developers will
come to TestLibrary to reserve the ports rather then define them in 
the tests

themselves, like was done previously. I chose 100 ports for
future-proofing...I don't think 100 is too many, but I've reduced 
it to 10
and lowered the max to 64010. I was also thinking of looking for 
tests which
used fixed ports outside of RMI tests and standardizing those ports 
here, but

that's possible future work and I'm not sure it's necessary.


The previous webrev had PORT_MIN and PORT_MAX specify a range of 
1024-64000
as the *allowed* range for ports returned by getUnusedRandomPort(). 
But as I
described previously, this is difficult to enforce given the varying 
port

allocation schemes on different OSes.

Instead I think we need to invert the sense of the range 
PORT_MIN..PORT_MAX
and make it be the range of ports reserved by tests that require 
fixed ports
(64001 through 64005). Then, getUnusedRandomPort() needs to be 
changed to
*disallow* ports in this range, that is, to retry if the port is 
within this
range. Thus the condition on the while-loop has to be inverted, 
something like


while (... unusedRandomPort = PORT_MIN  unusedRandomPort = 
PORT_MAX)

Yes, this is correct and it has been changed.


So, how could getUnusedRandomPort() have worked in its present 
state? Well I

think it ends up retrying 10 times, then at the end of the loop
unusedRandomPort is actually some legal port number -- albeit 
possibly one
within the disallowed range -- and almost certainly not -1, and so 
the method
returns it and the caller uses it. So, the success-testing logic 
here will
also have to change so that it retests whether the port is in the 
disallowed

range.

Correct...done.


The comment on getUnusedRandomPort() also needs to be updated to 
reflect its

new policy on the reserved range, as well as throwing an exception on
failure. Also (nitpick) it should say less than not less then.

Yes, I always do this. :(


Looking at getUnusedRandomPort() again more closely [sorry] I think 
the catch
of Exception that does nothing is suspicious. I'm not sure why 
getting a
ServerSocket would fail, but if it does (maybe the system is out of 
ports??)
we should just throw out to the caller. Perhaps ideally we'd just 
have this
method throw IOException, but if that requires all callers to be 
updated, it
might be easier just to catch IOException and throw a 
RuntimeException that

wraps the caught IOException.
I see no harm in trying again if it fails. If we have run out of 
ports, then
possibly one or more used ports will be closed and freed and a 
subsequent try

will succeed. I don't know all of the cases where a failure might occur.
Anyway, if this is the prevailing way of handling this, I'll change it.


Similar comments apply to the catch(Exception)/do-nothing code in 
the other

utility methods.

Now throwing RuntimeException in getRegistryPort.


Certainly getRegistryPort() should just throw (or possibly wrap 

Re: Codereview request for 6653797: Reimplement JDK charset repository charsets.jar

2012-07-16 Thread Xueming Shen



On 7/16/2012 9:30 AM, Ulf Zibis wrote:

Hi Sherman,

as I just said for 7183053, I can't look in the details at the moment, 
as I do not have suitable environment installed at the moment.


Just one comment: I think it should be possible to share the mapping 
data partly across charsets, so the charsets.jar would be decreased 
again more?


Yes,  it might be desirable to share some of the mappings, especially 
among those variants. But as
I suggested at the very beginning of the project, the priority for now 
is to move all the charsets to
the new mapping based/build-time generated implementation, then it opens 
the door for new
optimization,  any improvement on those base classes and the generator 
tools (to share the
mapping, for example) will be shared by all the sub-classes/classes. 
While it might be ideal to
achieve all the goals at one shot, our resource restrict really does not 
allow me to spend most
of my time on it (mapping re-generate really takes time and I have to 
test from various angles
to make sure it does not break anything and not miss any corner case). 
This is more like a
side-project (sure I do have a JEP for it but...) for now and I just 
found two spare weeks to push
these two RFEs out.  I might have more time on charsets later around the 
end development

stage of JDK8.

-Sherman



-Ulf


Am 16.07.2012 00:12, schrieb Xueming Shen:

Hi

This changeset includes the migration of our JIS0201/0208/0212 based 
single/
double-byte charsets to the new mapping based implementation. This is 
the
left-over of the effort we put in JDK7 to re-implement most of our 
charsets in
charsets.jar to (1)have better performance (2) small storage foot 
print and (3)

ease the maintenance burden.

http://cr.openjdk.java.net/~sherman/6653797/webrev/

Notes of the implementation:

(1) jis0201/0208/0212 and their variants are now generated from the 
mapping table

during the build time. (See those new .map *.nr and *.c2b tables)

(2) EUC_JP/LINUX_OPEN, SJIS, PCK, ISO2022_JP and its variants are now 
using these

new jis0201/02080212 charsets.

(3) Those in red (in webrev) are the old implementation, since no 
charset uses them

anymore, I removed them from the repository)

(4) There are two approaches for PCK and SJIS. PCK.java_v1 and 
SJIS.java_v1 are the
one that follows the old implementation, which decode/encodes base on 
the
jis0201/0208 (and the variants) mapping via Ken's algorithm. This is 
known to be
slow and buggy (the algothrim does not take care of illegal sjis cp, 
see #6653797

and http://cr.openjdk.java.net/~sherman/6653797/Sjis2Jis.java)
So in this charset, I generated the direct mapping tables for sjis 
and pck and use
the general DoubleByte base class for these two charsets. This 
results in much
faster decoding/encoding and correct mapping for all code points. The 
downside
of this approach is that it adds about 50k uncompressed side to the 
charsets.jar.
But given this change actually reduces about 300K from the rt.jar, we 
still get
a net 250K, so I decided to go with this approach for better 
performance.


It appears to be lots of files (80+) in the webrev, but that number 
includes the
removed old implementation and the tests I put in to guarantee the 
identical
de/encoding result from the old and new implementations (those OLD... 
test
cases), the change is actually not that big:-) So please help review. 
I can then

put this multi-year efforts into rest.

-Sherman











Re: Codereview request for 6653797: Reimplement JDK charset repository charsets.jar

2012-07-16 Thread Ulf Zibis

Hi Sherman,

as I just said for 7183053, I can't look in the details at the moment, as I do not have suitable 
environment installed at the moment.

All I can see, looks reasonable.
Regarding part 4 of bug 6653797, there is still existing adaptor from my side, 
if desired.

Just one comment: I think it should be possible to share the mapping data partly across charsets, so 
the charsets.jar would be decreased again more?


-Ulf


Am 16.07.2012 00:12, schrieb Xueming Shen:

Hi

This changeset includes the migration of our JIS0201/0208/0212 based single/
double-byte charsets to the new mapping based implementation. This is the
left-over of the effort we put in JDK7 to re-implement most of our charsets in
charsets.jar to (1)have better performance (2) small storage foot print and (3)
ease the maintenance burden.

http://cr.openjdk.java.net/~sherman/6653797/webrev/

Notes of the implementation:

(1) jis0201/0208/0212 and their variants are now generated from the mapping 
table
during the build time. (See those new .map *.nr and *.c2b tables)

(2) EUC_JP/LINUX_OPEN, SJIS, PCK, ISO2022_JP and its variants are now using 
these
new jis0201/02080212 charsets.

(3) Those in red (in webrev) are the old implementation, since no charset uses 
them
anymore, I removed them from the repository)

(4) There are two approaches for PCK and SJIS. PCK.java_v1 and SJIS.java_v1 are 
the
one that follows the old implementation, which decode/encodes base on the
jis0201/0208 (and the variants) mapping via Ken's algorithm. This is known to be
slow and buggy (the algothrim does not take care of illegal sjis cp, see 
#6653797
and http://cr.openjdk.java.net/~sherman/6653797/Sjis2Jis.java)
So in this charset, I generated the direct mapping tables for sjis and pck and 
use
the general DoubleByte base class for these two charsets. This results in much
faster decoding/encoding and correct mapping for all code points. The downside
of this approach is that it adds about 50k uncompressed side to the 
charsets.jar.
But given this change actually reduces about 300K from the rt.jar, we still get
a net 250K, so I decided to go with this approach for better performance.

It appears to be lots of files (80+) in the webrev, but that number includes the
removed old implementation and the tests I put in to guarantee the identical
de/encoding result from the old and new implementations (those OLD... test
cases), the change is actually not that big:-) So please help review. I can then
put this multi-year efforts into rest.

-Sherman











Re: Codereview request for 6653797: Reimplement JDK charset repository charsets.jar

2012-07-16 Thread Xueming Shen



On 7/16/2012 9:57 AM, Ulf Zibis wrote:

Hi Sherman,

as I just said for 7183053, I can't look in the details at the moment, 
as I do not have suitable environment installed at the moment.

All I can see, looks reasonable.
Regarding part 4 of bug 6653797, there is still existing adaptor from 
my side, if desired.


The sun.io has been removed. That will be an alternative if we hear any 
complain.


Thanks!
-Sherman




Just one comment: I think it should be possible to share the mapping 
data partly across charsets, so the charsets.jar would be decreased 
again more?


-Ulf


Am 16.07.2012 00:12, schrieb Xueming Shen:

Hi

This changeset includes the migration of our JIS0201/0208/0212 based 
single/
double-byte charsets to the new mapping based implementation. This is 
the
left-over of the effort we put in JDK7 to re-implement most of our 
charsets in
charsets.jar to (1)have better performance (2) small storage foot 
print and (3)

ease the maintenance burden.

http://cr.openjdk.java.net/~sherman/6653797/webrev/

Notes of the implementation:

(1) jis0201/0208/0212 and their variants are now generated from the 
mapping table

during the build time. (See those new .map *.nr and *.c2b tables)

(2) EUC_JP/LINUX_OPEN, SJIS, PCK, ISO2022_JP and its variants are now 
using these

new jis0201/02080212 charsets.

(3) Those in red (in webrev) are the old implementation, since no 
charset uses them

anymore, I removed them from the repository)

(4) There are two approaches for PCK and SJIS. PCK.java_v1 and 
SJIS.java_v1 are the
one that follows the old implementation, which decode/encodes base on 
the
jis0201/0208 (and the variants) mapping via Ken's algorithm. This is 
known to be
slow and buggy (the algothrim does not take care of illegal sjis cp, 
see #6653797

and http://cr.openjdk.java.net/~sherman/6653797/Sjis2Jis.java)
So in this charset, I generated the direct mapping tables for sjis 
and pck and use
the general DoubleByte base class for these two charsets. This 
results in much
faster decoding/encoding and correct mapping for all code points. The 
downside
of this approach is that it adds about 50k uncompressed side to the 
charsets.jar.
But given this change actually reduces about 300K from the rt.jar, we 
still get
a net 250K, so I decided to go with this approach for better 
performance.


It appears to be lots of files (80+) in the webrev, but that number 
includes the
removed old implementation and the tests I put in to guarantee the 
identical
de/encoding result from the old and new implementations (those OLD... 
test
cases), the change is actually not that big:-) So please help review. 
I can then

put this multi-year efforts into rest.

-Sherman











Re: Codereview request for 6653797: Reimplement JDK charset repository charsets.jar

2012-07-16 Thread Ulf Zibis

Am 16.07.2012 18:59, schrieb Xueming Shen:

Yes,  it might be desirable to share some of the mappings, especially among 
those variants. But as
I suggested at the very beginning of the project, the priority for now is to 
move all the charsets to
the new mapping based/build-time generated implementation, then it opens the 
door for new
optimization,  any improvement on those base classes and the generator tools 
(to share the
mapping, for example) will be shared by all the sub-classes/classes. While it 
might be ideal to
achieve all the goals at one shot, our resource restrict really does not allow 
me to spend most
of my time on it (mapping re-generate really takes time and I have to test from 
various angles
to make sure it does not break anything and not miss any corner case). This is 
more like a
side-project (sure I do have a JEP for it but...) for now and I just found two 
spare weeks to push
these two RFEs out.  I might have more time on charsets later around the end 
development
stage of JDK8.


I totally agree, thanks.
Hopefully I will have more time then.

Sorry for the double-posting. The 2nd one has correct email for the list + one 
more text line.

-Ulf



Re: Codereview request for 7183053: Optimize DoubleByte charset for String.getBytes()/new String(byte[])

2012-07-16 Thread Xueming Shen

Hi Alan,

I gave the continue -else if  a try, it appears the server vm 
obviously likes
the continue approach (it is consistent with what we experienced in 
the past
when we did similar approach for ascii, in which we separate/singled the 
ascii

path out). So I guess we probably want to keep the continue here.

Here are the data. dbcs2_new is to replace the continue with else if and the
dbcs2 is the continue.

http://cr.openjdk.java.net/~sherman/7183053/dbcs2_new
http://cr.openjdk.java.net/~sherman/7183053/dbcs2

-Sherman

On 07/13/2012 10:09 AM, Xueming Shen wrote:
In JDK7,  the decoder and encoder implementation of most of our 
single-byte charsets
and UTF-8 charset are optimized to implement the internal interfce 
sun.nio.cs.ArrayDecoder/
Encoder to provide a fastpath for String.getBytes(...) and new 
String(byte[]...) operations. I

have an old blog regarding this optimization at

https://blogs.oracle.com/xuemingshen/entry/faster_new_string_bytes_cs

This rfe, as the followup for above changes, is to implement 
ArrayDe/Encoder for most
of the sun.nio.cs.ext.DoubleByte based double-byte charsets. Here is 
the webrev


http://cr.openjdk.java.net/~sherman/7183053/webrev
I've taken a pass over this and it's great to see 
DoubleByte.Decoder/Encoder implementing 
sun.nio.cs.ArrayDecoder/Encoder. The results looks good too, a small 
number of regressions (Big5 at len=32 for example) but this is a 
micro benchmark and I'm sure there are fluctuations. I don't see 
anything obviously wrong with the EBCDIC changes I'd need a history 
book to remember how the shifts between DBCS and SBCS. I think our 
tests our good for this area so I'm happy. One minor nit is the 
continue in both encode methods, I think it would be cleaner to use 
else if (bb ... instead.



The continue might make the vm happy, but this is the code I did last 
Oct, so I might be

wrong. Will give a couple run later with else





Re: Code Review Request: 7183800: TEST_BUG: Update tests to run on Ubuntu 12.04 (localhost is 127.0.1.1)

2012-07-16 Thread Kurchi Hazra
  I just tried running these tests with -Djava.net.preferIPv4Stack set 
to true, but they still fail. I remember working on some of these 
failures in networking where ipv6 multicast was buggy,

but absolutely nothing made those tests work.
However, in this case, if we make sure that the address that the sender 
is sending the packets to and the address that the listener is binding 
to is the same, the tests are passing.


The fix in this webrev is not working for Windows since the tests try to 
connect to 0.0.0.0. So we have to think of some other solution.


- Kurchi

On 7/16/2012 3:56 AM, Alan Bateman wrote:

On 15/07/2012 19:54, Kurchi Subhra Hazra wrote:

Hi,

   Some tests in our test repository assume that 
InetAddress.getLocalHost() will return 127.0.0.1. However, with
linux systems running Ubuntu 12.04 now returning 127.0.1.1 as 
localhost, these tests are failing. I have changed two
of the NIO tests to remove their dependency on 
InetAddress.getLocalHost(). A third test has been added to

the ProblemList.txt since the changes required for it are more involved.

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7183800
Webrev: http://cr.openjdk.java.net/~khazra/7183800/webrev.00/

As Chris pointed out, these tests bind to the wildcard address and you 
need a specific address to setup the address association, otherwise 
it's highly platform/implementation specific as to whether it will do 
as intended. So I think the proposed changes will cause problems where 
you can't connect to 0.0.0.0 and so I think we need to look for 
another solution.


Given that none of the TCP tests fail then it suggests it mean that 
something else is going on, maybe something in the Ubuntu 12 
configuration. Do these tests run if IPv6 is disabled? We've had 
issues with some distributions where multicast tests fail and these 
have always come down to iptables blocking IPv6 multicast packets 
causing the tests to fail. I just wonder if we have something similar 
here.


-Alan



--
-Kurchi



hg: jdk8/tl/jdk: 6880559: Enable PKCS11 64-bit windows builds

2012-07-16 Thread vincent . x . ryan
Changeset: 5cee646eaaa7
Author:vinnie
Date:  2012-07-16 22:38 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5cee646eaaa7

6880559: Enable PKCS11 64-bit windows builds
Reviewed-by: valeriep

! THIRD_PARTY_README
! make/sun/security/Makefile
! test/sun/security/pkcs11/PKCS11Test.java
+ test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.chk
+ test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.lib
+ test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.lib
+ test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.lib
+ test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.lib
+ test/sun/security/pkcs11/nss/lib/windows-amd64/nssckbi.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.chk
+ test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.lib
+ test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.chk
+ test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/sqlite3.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.dll
+ test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.lib
+ test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.chk
+ test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.lib
+ test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.lib
+ test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.lib
+ test/sun/security/pkcs11/nss/lib/windows-i586/nss3.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/nss3.lib
+ test/sun/security/pkcs11/nss/lib/windows-i586/nssckbi.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.chk
+ test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.lib
+ test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.chk
+ test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/sqlite3.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.dll
+ test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.lib
+ test/sun/security/pkcs11/nss/src/MD5SUMS
+ test/sun/security/pkcs11/nss/src/SHA1SUMS
+ test/sun/security/pkcs11/nss/src/nss-3.13.1.tar.gz



hg: jdk8/tl: 6880559: Enable PKCS11 64-bit windows builds

2012-07-16 Thread vincent . x . ryan
Changeset: 0562a97bd601
Author:vinnie
Date:  2012-07-16 22:41 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/0562a97bd601

6880559: Enable PKCS11 64-bit windows builds
Reviewed-by: valeriep

! THIRD_PARTY_README



Re: Code Review Request 7142596: RMI JPRT tests are failing

2012-07-16 Thread Darryl Mocek
Here's webrev.05 
(http://cr.openjdk.java.net/~dmocek/7142596/webrev.05).  Changes:


- Simplify createRegistryOnUnusedPort()
- Simplify getUnusedRandomPort()
- Add isReservedPort() method to determine if a port is a reserved port 
# (not just one of the FIXED_PORT's, but also any port which shouldn't 
be used).


Passes all tests.

Darryl

On 07/16/2012 08:42 AM, Stuart Marks wrote:

Hi Darryl,

Sorry, I'm going to have to ask you to update this again. The issues 
are in TestLibrary.java and are all related to catching exceptions and 
throwing new exception instances, discarding the original exception 
(and probably relevant diagnostic information) in the process.


Let's get together today and work on it. I expect it will take only 
half an hour or so to knock things out.


s'marks




On 7/13/12 1:40 PM, Darryl Mocek wrote:


On 07/12/2012 05:13 PM, Stuart Marks wrote:
OK, I took a look at the revised webrev. Most stuff is good. A 
couple changes

are necessary though.


*** MultipleRegistries.java


Not a big deal, but the comment at lines 65-67 is no longer necessary.

Comment removed.



*** TestLibrary.java


I think the reserved port range stuff still needs to be fixed up.

The comment at lines 81-82 talks about a range 64000-64100 which 
isn't really
present anywhere. The comment should instead say that PORT_MIN and 
PORT_MAX
should be kept adjusted so that they specify the range of ports 
defined by
the constants following. Make sure to do this adjustment; PORT_MAX 
is 64002

here.
I reserved ports 64000-64100 (even though only 64001-64005 are 
currently being
used) for fixed port tests (for tests which require fixed ports) so 
any future
tests which require fixed ports can be assured there are ports 
available within
a range for their use. In fixing the tests, I saw that those who 
wrote tests
and used fixed ports grabbed random port numbers all over the place. 
Providing
a reserved range allows them to just grab the next number and to keep 
the fixed

port numbers in a group, even when new tests are added. If the ports are
defined in a central place, like TestLibrary, then hopefully 
developers will
come to TestLibrary to reserve the ports rather then define them in 
the tests

themselves, like was done previously. I chose 100 ports for
future-proofing...I don't think 100 is too many, but I've reduced 
it to 10
and lowered the max to 64010. I was also thinking of looking for 
tests which
used fixed ports outside of RMI tests and standardizing those ports 
here, but

that's possible future work and I'm not sure it's necessary.


The previous webrev had PORT_MIN and PORT_MAX specify a range of 
1024-64000
as the *allowed* range for ports returned by getUnusedRandomPort(). 
But as I
described previously, this is difficult to enforce given the varying 
port

allocation schemes on different OSes.

Instead I think we need to invert the sense of the range 
PORT_MIN..PORT_MAX
and make it be the range of ports reserved by tests that require 
fixed ports
(64001 through 64005). Then, getUnusedRandomPort() needs to be 
changed to
*disallow* ports in this range, that is, to retry if the port is 
within this
range. Thus the condition on the while-loop has to be inverted, 
something like


while (... unusedRandomPort = PORT_MIN  unusedRandomPort = 
PORT_MAX)

Yes, this is correct and it has been changed.


So, how could getUnusedRandomPort() have worked in its present 
state? Well I

think it ends up retrying 10 times, then at the end of the loop
unusedRandomPort is actually some legal port number -- albeit 
possibly one
within the disallowed range -- and almost certainly not -1, and so 
the method
returns it and the caller uses it. So, the success-testing logic 
here will
also have to change so that it retests whether the port is in the 
disallowed

range.

Correct...done.


The comment on getUnusedRandomPort() also needs to be updated to 
reflect its

new policy on the reserved range, as well as throwing an exception on
failure. Also (nitpick) it should say less than not less then.

Yes, I always do this. :(


Looking at getUnusedRandomPort() again more closely [sorry] I think 
the catch
of Exception that does nothing is suspicious. I'm not sure why 
getting a
ServerSocket would fail, but if it does (maybe the system is out of 
ports??)
we should just throw out to the caller. Perhaps ideally we'd just 
have this
method throw IOException, but if that requires all callers to be 
updated, it
might be easier just to catch IOException and throw a 
RuntimeException that

wraps the caught IOException.
I see no harm in trying again if it fails. If we have run out of 
ports, then
possibly one or more used ports will be closed and freed and a 
subsequent try

will succeed. I don't know all of the cases where a failure might occur.
Anyway, if this is the prevailing way of handling this, I'll change it.


Similar comments apply to the catch(Exception)/do-nothing code in 
the other

utility methods.

Now throwing 

hg: jdk8/tl/jdk: 7177045: Rework the TestProviderLeak.java regression test, it is too fragile to low memory errors.

2012-07-16 Thread kurchi . subhra . hazra
Changeset: 1469be7182b4
Author:khazra
Date:  2012-07-16 16:30 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1469be7182b4

7177045: Rework the TestProviderLeak.java regression test, it is too fragile to 
low memory errors.
Summary: Increase Xmx to 20 MB and add mechanisms to eat up most of the JVM 
free memory.
Reviewed-by: wetmore
Contributed-by: dan...@oracle.com

! test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java



hg: jdk8/tl/jdk: 7183203: ShortRSAKeynnn.sh tests intermittent failure

2012-07-16 Thread weijun . wang
Changeset: e2d265c9b592
Author:weijun
Date:  2012-07-17 11:28 +0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e2d265c9b592

7183203: ShortRSAKeynnn.sh tests intermittent failure
Reviewed-by: xuelei

! test/sun/security/mscapi/ShortRSAKey1024.sh
- test/sun/security/mscapi/ShortRSAKey512.sh
- test/sun/security/mscapi/ShortRSAKey768.sh



hg: jdk8/tl/jdk: 7102106: TEST_BUG: sun/security/util/Oid/S11N.sh should be modified

2012-07-16 Thread weijun . wang
Changeset: 2a39c98c1241
Author:weijun
Date:  2012-07-17 11:57 +0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2a39c98c1241

7102106: TEST_BUG: sun/security/util/Oid/S11N.sh should be modified
Reviewed-by: mullan

! test/sun/security/util/Oid/S11N.sh



hg: jdk8/tl: 6 new changesets

2012-07-16 Thread lana . steuck
Changeset: f6a685069274
Author:katleman
Date:  2012-07-05 18:43 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/f6a685069274

Added tag jdk8-b46 for changeset 27fa766a2298

! .hgtags

Changeset: c8d320b48626
Author:erikj
Date:  2012-07-03 16:11 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/c8d320b48626

7181504: Update of latest build-infra Makefiles
Reviewed-by: ohair

! common/autoconf/autogen.sh
! common/autoconf/build-aux/config.guess
! common/autoconf/builddeps.conf.example
! common/autoconf/builddeps.m4
! common/autoconf/configure
! common/autoconf/configure.ac
- common/autoconf/cores.m4
! common/autoconf/help.m4
! common/autoconf/platform.m4
! common/autoconf/spec.gmk.in
! common/bin/compareimage.sh
! common/bin/diffexec.sh
! common/bin/diffjarzip.sh
! common/bin/difflib.sh
! common/makefiles/IdlCompilation.gmk
! common/makefiles/JavaCompilation.gmk
! common/makefiles/MakeBase.gmk
! common/makefiles/Makefile
! common/makefiles/NativeCompilation.gmk
- common/makefiles/RMICompile.gmk

Changeset: 3156dff953b1
Author:erikj
Date:  2012-07-05 18:27 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/3156dff953b1

7182051: Update of latest build-infra Makefiles (missing files)
Reviewed-by: ohair

+ common/autoconf/basics.m4
+ common/autoconf/boot-jdk.m4
+ common/autoconf/build-aux/autoconf-config.guess
+ common/autoconf/build-performance.m4
+ common/autoconf/generated-configure.sh
+ common/autoconf/jdk-options.m4
+ common/autoconf/libraries.m4
+ common/autoconf/source-dirs.m4
+ common/autoconf/spec.sh.in
+ common/autoconf/toolchain.m4
+ common/bin/compare-objects.sh
! common/makefiles/IdlCompilation.gmk
+ common/makefiles/MakeHelpers.gmk
! common/makefiles/NativeCompilation.gmk
+ common/makefiles/RMICompilation.gmk

Changeset: 1dcb4b7b9373
Author:katleman
Date:  2012-07-11 16:00 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/1dcb4b7b9373

Merge

- common/autoconf/cores.m4
- common/makefiles/RMICompile.gmk

Changeset: aaae5471808d
Author:katleman
Date:  2012-07-12 16:47 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/aaae5471808d

Added tag jdk8-b47 for changeset 1dcb4b7b9373

! .hgtags

Changeset: c88aceaf2f3f
Author:lana
Date:  2012-07-16 17:01 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/c88aceaf2f3f

Merge

- common/autoconf/cores.m4
- common/makefiles/RMICompile.gmk



hg: jdk8/tl/corba: 3 new changesets

2012-07-16 Thread lana . steuck
Changeset: cb31b67326bc
Author:katleman
Date:  2012-07-05 18:44 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/corba/rev/cb31b67326bc

Added tag jdk8-b46 for changeset 30141e598d72

! .hgtags

Changeset: 21e46ea21c6a
Author:lana
Date:  2012-07-10 11:40 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/corba/rev/21e46ea21c6a

Merge


Changeset: 7e2b179a5b4d
Author:katleman
Date:  2012-07-12 16:47 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/corba/rev/7e2b179a5b4d

Added tag jdk8-b47 for changeset 21e46ea21c6a

! .hgtags



hg: jdk8/tl/jaxws: 2 new changesets

2012-07-16 Thread lana . steuck
Changeset: fe6a060afc40
Author:katleman
Date:  2012-07-05 18:44 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/fe6a060afc40

Added tag jdk8-b46 for changeset ae368a83c240

! .hgtags

Changeset: efb564de8a8e
Author:katleman
Date:  2012-07-12 16:48 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxws/rev/efb564de8a8e

Added tag jdk8-b47 for changeset fe6a060afc40

! .hgtags



hg: jdk8/tl/hotspot: 2 new changesets

2012-07-16 Thread lana . steuck
Changeset: 0c7bb1f4f9c8
Author:katleman
Date:  2012-07-05 18:44 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/0c7bb1f4f9c8

Added tag jdk8-b46 for changeset cf37a594c38d

! .hgtags

Changeset: fa0c28fabbb1
Author:katleman
Date:  2012-07-12 16:48 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/hotspot/rev/fa0c28fabbb1

Added tag jdk8-b47 for changeset 0c7bb1f4f9c8

! .hgtags



hg: jdk8/tl/jaxp: 4 new changesets

2012-07-16 Thread lana . steuck
Changeset: bf27b857c6ee
Author:katleman
Date:  2012-07-05 18:44 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/bf27b857c6ee

Added tag jdk8-b46 for changeset 300f45e99064

! .hgtags

Changeset: 404521944ac9
Author:lana
Date:  2012-07-10 11:40 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/404521944ac9

Merge


Changeset: 1c88da9a1365
Author:katleman
Date:  2012-07-12 16:48 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/1c88da9a1365

Added tag jdk8-b47 for changeset 404521944ac9

! .hgtags

Changeset: df4092828362
Author:lana
Date:  2012-07-16 17:02 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/jaxp/rev/df4092828362

Merge




hg: jdk8/tl/langtools: 5 new changesets

2012-07-16 Thread lana . steuck
Changeset: c7e62fc9df92
Author:katleman
Date:  2012-07-05 18:44 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/c7e62fc9df92

Added tag jdk8-b46 for changeset 4ca599497172

! .hgtags

Changeset: 01d9911df25d
Author:erikj
Date:  2012-06-28 14:59 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/01d9911df25d

7180594: Fix GenStubs in langtools for build-infra builds
Reviewed-by: ohair

! make/tools/genstubs/GenStubs.java

Changeset: 7e6be2f239c9
Author:ohair
Date:  2012-07-08 20:34 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/7e6be2f239c9

Merge


Changeset: afb0a5231557
Author:katleman
Date:  2012-07-12 16:48 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/afb0a5231557

Added tag jdk8-b47 for changeset 7e6be2f239c9

! .hgtags

Changeset: 1f8fc9e50a1f
Author:lana
Date:  2012-07-16 17:05 -0700
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/1f8fc9e50a1f

Merge