Re: Why stream from BufferedReader::lines is not closing the reader?

2013-11-19 Thread Gernot Neppert
Another idea to solve the long-standing issue with checked IOExceptions in
close() calls is to
add a method to java.io.Closeable, now possible thanks to default methods:

/**
* Invokes #close() and wraps IOExceptions with UncheckedIOExceptions.
*/
default void closeUnchecked() {
   try { close(); } catch(IOException e) { throw new
UncheckedIOException(e); }
}

This would at least make it possible to pass
closeableInstance::closeUnchecked to Stream.onClose(Runnable).


2013/11/18 Peter Levart peter.lev...@gmail.com

 On 11/18/2013 03:28 PM, Brian Goetz wrote:

 Which means that, if your stream holds non-memory resources, the
 flatMapper should create a stream that closes the underlying stream, like:

   blah.flatMap(path - {
  BufferedReader br = new BufferedReader(path);
  return br.lines.onClose(br::close);
   }
   ...


 ...the only problem with above code is that it doesn't compile, because of
 IOException declared on BufferedReader (FileReader actually!) constructor
 and BufferedReader.close() method. The solutions to this have already been
 discussed on the list some time ago, and one of the propositions was to
 create interfaces like:


 public interface IOFunctionT, R extends FunctionT, R {
 default R apply(T t) {
 try {
 return applyIO(t);
 } catch (IOException e) {
 throw new UncheckedIOException(e);
 }
 }

 R applyIO(T t) throws IOException;
 }


 public interface IORunnable  extends Runnable {
 default void run() {
 try {
 runIO();
 } catch (IOException e) {
 throw new UncheckedIOException(e);
 }
 }

 void ruinIO() throws IOException;
 }


 ...etc, and use them in code like this:


 ListString paths = ...
 paths
 .stream()
 .flatMap((IOFunctionString, StreamString) path - {
 BufferedReader br = new BufferedReader(new FileReader(path));
 return br.lines().onClose((IORunnable) br::close);
 })
 .forEach(System.out::println);



 Regards, Peter





RFR: 8028185 - XMLFormatter.format emits incorrect year

2013-11-19 Thread Daniel Fuchs

Hi,

Please find below a webrev for:

8028185: XMLFormatter.format emits incorrect year
https://bugs.openjdk.java.net/browse/JDK-8028185

The fix is trivial:
http://cr.openjdk.java.net/~dfuchs/webrev_8028185/webrev.00/

best regards,

-- daniel


hg: jdk8/tl/jdk: 8028505: Put sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh on ProblemList.txt

2013-11-19 Thread erik . gahlin
Changeset: d6195774dd1f
Author:egahlin
Date:  2013-11-19 11:47 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d6195774dd1f

8028505: Put sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh on 
ProblemList.txt
Reviewed-by: alanb

! test/ProblemList.txt



.split(:).length?

2013-11-19 Thread Weijun Wang

Is this just changed? jdk8b118 shows 1 and now it's 0.

Thanks
Max


Re: .split(:).length?

2013-11-19 Thread Weijun Wang



On 11/19/13, 19:48, Weijun Wang wrote:

Is this just changed? jdk8b118 shows 1 and now it's 0.


Typo. b114.



Thanks
Max


Re: .split(:).length?

2013-11-19 Thread Alan Bateman

On 19/11/2013 11:48, Weijun Wang wrote:

Is this just changed? jdk8b118 shows 1 and now it's 0.

b118 or your own build? I wonder if you have 6559590 but not the un-do.

-Alan.


Re: .split(:).length?

2013-11-19 Thread Weijun Wang

b114: 1
my (previous) own build: 0

I fetched changes for JDK-8028321 (the un-do) and now it's back to 1. So 
we are keeping this compatibility even if it does not look correct?


Thanks
Max

On 11/19/13, 20:03, Alan Bateman wrote:

On 19/11/2013 11:48, Weijun Wang wrote:

Is this just changed? jdk8b118 shows 1 and now it's 0.

b118 or your own build? I wonder if you have 6559590 but not the un-do.

-Alan.


Re: RFR: 8028185 - XMLFormatter.format emits incorrect year

2013-11-19 Thread Alan Bateman

On 19/11/2013 10:23, Daniel Fuchs wrote:

Hi,

Please find below a webrev for:

8028185: XMLFormatter.format emits incorrect year
https://bugs.openjdk.java.net/browse/JDK-8028185

The fix is trivial:
http://cr.openjdk.java.net/~dfuchs/webrev_8028185/webrev.00/

This one is a good reminder as to how fixing warnings can break things.

The change looks good. The test looks okay too (checking for year 
rollover during the test seems excessive but harmless).


-Alan.


Re: .split(:).length?

2013-11-19 Thread Alan Bateman

On 19/11/2013 12:09, Weijun Wang wrote:

b114: 1
my (previous) own build: 0

I fetched changes for JDK-8028321 (the un-do) and now it's back to 1. 
So we are keeping this compatibility even if it does not look correct?
I think it will require careful analysis to see what is possible (as 
there were several problems when this was pushed due to a dependency on 
the long standing behavior).


-Alan.


RFR: 8028583 :Add helper methods to test libraries

2013-11-19 Thread Seán Coffey
Looking to add two helper methods to the OpenJDK test libraries. I'm 
looking to clean up a closed src test case but these methods should be 
of use for future testcase development.


webrev : http://cr.openjdk.java.net/~coffeys/webrev.8028583/webrev/
bug report : https://bugs.openjdk.java.net/browse/JDK-8028583

regards,
Sean.


Request to review JDK-8028094

2013-11-19 Thread Balchandra Vaidya


Hi,

Here is one possible solution for the issue JDK-8028094.
http://cr.openjdk.java.net/~bvaidya/8/8028094/webrev/

I am not sure pkill is available in all Unix flavor at /usr/bin directory,
but it is present in Solaris and OEL 6. I have tested on Solaris
and OEL and sleep  is no longer left over.


Thanks
Balchandra


hg: jdk8/tl/jdk: 8028478: Re-visit JPRT testsets to make it easier to run subsets of the tests

2013-11-19 Thread alan . bateman
Changeset: 2e574350a2b6
Author:alanb
Date:  2013-11-19 14:08 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/2e574350a2b6

8028478: Re-visit JPRT testsets to make it easier to run subsets of the tests
Reviewed-by: dholmes, sla, tbell

! test/Makefile



hg: jdk8/tl: 8028478: Re-visit JPRT testsets to make it easier to run subsets of the tests

2013-11-19 Thread alan . bateman
Changeset: 9937f406e27e
Author:alanb
Date:  2013-11-19 14:11 +
URL:   http://hg.openjdk.java.net/jdk8/tl/rev/9937f406e27e

8028478: Re-visit JPRT testsets to make it easier to run subsets of the tests
Reviewed-by: dholmes, sla, tbell

! make/jprt.properties
! test/Makefile



Re: RFR: 8028583 :Add helper methods to test libraries

2013-11-19 Thread Chris Hegarty

Looks good to me Sean, thanks for adding deleteFileIfExistsWithRetry.

Trivially, you can replace oneLoopRun with a do {} while loop.

-Chris.

On 11/19/2013 01:31 PM, Seán Coffey wrote:

Looking to add two helper methods to the OpenJDK test libraries. I'm
looking to clean up a closed src test case but these methods should be
of use for future testcase development.

webrev : http://cr.openjdk.java.net/~coffeys/webrev.8028583/webrev/
bug report : https://bugs.openjdk.java.net/browse/JDK-8028583

regards,
Sean.


Re: Request to review JDK-8028094

2013-11-19 Thread Chris Hegarty

Look ok to me Balchandra. I can sponsor this for you.

-Chris.

On 11/19/2013 02:07 PM, Balchandra Vaidya wrote:


Hi,

Here is one possible solution for the issue JDK-8028094.
http://cr.openjdk.java.net/~bvaidya/8/8028094/webrev/

I am not sure pkill is available in all Unix flavor at /usr/bin directory,
but it is present in Solaris and OEL 6. I have tested on Solaris
and OEL and sleep  is no longer left over.


Thanks
Balchandra


8022206: Intermittent test failures in java/lang/ProcessBuilder/Basic.java

2013-11-19 Thread Rob McKenna

Hi folks,

Looking for a quick review for a test failure we're encountering. 
Seemingly no bar is too high for our test infrastructure. Hopefully this 
will put this particular failure to rest.


http://cr.openjdk.java.net/~robm/8022206/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8022206

-Rob



Re: RFR: 8028583 :Add helper methods to test libraries

2013-11-19 Thread Seán Coffey
Thanks for review Chris. Will take your do while loop suggestion on 
board and push changes.


regards,
Sean.

On 19/11/13 14:19, Chris Hegarty wrote:

Looks good to me Sean, thanks for adding deleteFileIfExistsWithRetry.

Trivially, you can replace oneLoopRun with a do {} while loop.

-Chris.

On 11/19/2013 01:31 PM, Seán Coffey wrote:

Looking to add two helper methods to the OpenJDK test libraries. I'm
looking to clean up a closed src test case but these methods should be
of use for future testcase development.

webrev : http://cr.openjdk.java.net/~coffeys/webrev.8028583/webrev/
bug report : https://bugs.openjdk.java.net/browse/JDK-8028583

regards,
Sean.




8028589: Instrument tools/jar/JarEntryTime.java to make it easier to diagnose failures

2013-11-19 Thread Alan Bateman


The test tools/jar/JarEntryTime.java has been failing intermittently 
(but very rarely) for some time. The failure seems to be that the 
extracted time it out by more than 10 seconds compared to the original 
file time but it isn't always so (esp. when the test runs in a fraction 
of a second). I'd like to add instrumentation to the test so that if it 
fails again (and someone is good enough to report it) then we  at least 
have the timestamps in the logs. The webrev with the proposed change is 
here:

  http://cr.openjdk.java.net/~alanb/8028589/webrev/

Thanks,
Alan.


Re: 8028589: Instrument tools/jar/JarEntryTime.java to make it easier to diagnose failures

2013-11-19 Thread Chris Hegarty
Looks good to me Alan. It will be nice to see why this test is actually 
failing.


-Chris.

On 11/19/2013 02:43 PM, Alan Bateman wrote:


The test tools/jar/JarEntryTime.java has been failing intermittently
(but very rarely) for some time. The failure seems to be that the
extracted time it out by more than 10 seconds compared to the original
file time but it isn't always so (esp. when the test runs in a fraction
of a second). I'd like to add instrumentation to the test so that if it
fails again (and someone is good enough to report it) then we  at least
have the timestamps in the logs. The webrev with the proposed change is
here:
   http://cr.openjdk.java.net/~alanb/8028589/webrev/

Thanks,
Alan.


hg: jdk8/tl/jdk: 8028583: Add helper methods to test libraries

2013-11-19 Thread sean . coffey
Changeset: d1bb85f0a45a
Author:coffeys
Date:  2013-11-19 14:47 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/d1bb85f0a45a

8028583: Add helper methods to test libraries
Reviewed-by: chegar

! test/java/rmi/testlibrary/TestLibrary.java
! test/lib/testlibrary/jdk/testlibrary/FileUtils.java



Re: 8022206: Intermittent test failures in java/lang/ProcessBuilder/Basic.java

2013-11-19 Thread Chris Hegarty
The change looks ok to me. If for no reason other than to eliminate the 
timeout if this tests fails again in the future.


-Chris.

On 11/19/2013 02:28 PM, Rob McKenna wrote:

Hi folks,

Looking for a quick review for a test failure we're encountering.
Seemingly no bar is too high for our test infrastructure. Hopefully this
will put this particular failure to rest.

http://cr.openjdk.java.net/~robm/8022206/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8022206

 -Rob



Re: Request to review JDK-8028094

2013-11-19 Thread Balchandra Vaidya

Thanks Chris.


Regards
Balchandra



On 19/11/2013 14:23, Chris Hegarty wrote:

Look ok to me Balchandra. I can sponsor this for you.

-Chris.

On 11/19/2013 02:07 PM, Balchandra Vaidya wrote:


Hi,

Here is one possible solution for the issue JDK-8028094.
http://cr.openjdk.java.net/~bvaidya/8/8028094/webrev/

I am not sure pkill is available in all Unix flavor at /usr/bin 
directory,

but it is present in Solaris and OEL 6. I have tested on Solaris
and OEL and sleep  is no longer left over.


Thanks
Balchandra




Re: 8022206: Intermittent test failures in java/lang/ProcessBuilder/Basic.java

2013-11-19 Thread Alan Bateman

On 19/11/2013 14:28, Rob McKenna wrote:

Hi folks,

Looking for a quick review for a test failure we're encountering. 
Seemingly no bar is too high for our test infrastructure. Hopefully 
this will put this particular failure to rest.


http://cr.openjdk.java.net/~robm/8022206/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8022206
It's hard to believe that the 10s is exceeded but the change is harmless 
(and hence okay).


-Alan


Re: 8022206: Intermittent test failures in java/lang/ProcessBuilder/Basic.java

2013-11-19 Thread Daniel Fuchs

Hi Rob,

May I suggest changing System.out.println in Basic.fail into 
System.err.println? Or possibly printing the message on both

out and err?

This would ensure that the error message appears on System err before
the stack trace - which might be better for diagnosis.

-- daniel


On 11/19/13 3:28 PM, Rob McKenna wrote:

Hi folks,

Looking for a quick review for a test failure we're encountering.
Seemingly no bar is too high for our test infrastructure. Hopefully this
will put this particular failure to rest.

http://cr.openjdk.java.net/~robm/8022206/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8022206

 -Rob





hg: jdk8/tl/jdk: 8023978: [TEST_BUG] launcher tests must exclude platforms without server vm

2013-11-19 Thread kumar . x . srinivasan
Changeset: 40462a41b41b
Author:ksrini
Date:  2013-11-19 07:10 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/40462a41b41b

8023978: [TEST_BUG] launcher tests must exclude platforms without server vm
Reviewed-by: dholmes, mchung

! test/tools/launcher/ExecutionEnvironment.java
! test/tools/launcher/Test7029048.java
! test/tools/launcher/TestHelper.java



hg: jdk8/tl/jdk: 8028094: TEST_BUG: java/lang/ProcessBuilder/Basic.java leaves sleep 6666 processes behind

2013-11-19 Thread chris . hegarty
Changeset: cfbee8ee71bf
Author:bvaidya
Date:  2013-11-19 15:31 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cfbee8ee71bf

8028094: TEST_BUG: java/lang/ProcessBuilder/Basic.java leaves sleep  
processes behind
Reviewed-by: chegar

! test/java/lang/ProcessBuilder/Basic.java



hg: jdk8/tl/jdk: 2 new changesets

2013-11-19 Thread vincent . x . ryan
Changeset: e8daf5a83e42
Author:vinnie
Date:  2013-11-19 15:39 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/e8daf5a83e42

8028377: test/sun/security/provider/KeyStore/DKSTest.sh attempts to write to 
${test.src}
Reviewed-by: alanb, weijun

! test/sun/security/provider/KeyStore/DKSTest.java
! test/sun/security/provider/KeyStore/domains.cfg

Changeset: bfd4e632eeda
Author:vinnie
Date:  2013-11-19 15:42 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/bfd4e632eeda

Merge




RFR : 8016728: TEST_BUG: test/java/rmi/transport/closeServerSocket/CloseServerSocket.java failing intermittently with Address already in use

2013-11-19 Thread Seán Coffey

Hope this is a simple one. This issue is a rare intermittent one :

- port 48250 is free
- exported registry: RegistryImpl[UnicastServerRef [liveRef: 
[endpoint:[10.169.79.100:48250](local),objID:[0:0:0, 0

- port 48250 is in use
- unexported registry
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)


Even though we've just unexported the registry, the socket is still in 
use. I believe 1ms is too short a time to sleep to handle any 
environment issues. Let's try 1 second.


bug report : https://bugs.openjdk.java.net/browse/JDK-8016728
proposed change :

t4 $hg diff 
test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
diff --git 
a/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java 
b/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java

--- a/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
+++ b/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
@@ -58,7 +58,7 @@
 verifyPortInUse(PORT);
 UnicastRemoteObject.unexportObject(registry, true);
 System.err.println(- unexported registry);
-Thread.sleep(1);// work around BindException (bug?)
+Thread.sleep(1000);// work around BindException (bug?)
 verifyPortFree(PORT);


regards,
Sean.




Re: .split(:).length?

2013-11-19 Thread Xueming Shen
Yes, I have to pull it back due to the compatibility concern. It appears 
the jdk source code itself has
couple places depending on this incorrect behavior. The typical usage 
is .split(...)[0], in which the
code tries to access the 0th element without even checking the return 
length. I may re-visit this
in jdk9, and may have to provide some mechanism for any possible 
compatibility complain, if we

decide to fix it.

-Sherman

On 11/19/13 4:09 AM, Weijun Wang wrote:

b114: 1
my (previous) own build: 0

I fetched changes for JDK-8028321 (the un-do) and now it's back to 1. 
So we are keeping this compatibility even if it does not look correct?


Thanks
Max

On 11/19/13, 20:03, Alan Bateman wrote:

On 19/11/2013 11:48, Weijun Wang wrote:

Is this just changed? jdk8b118 shows 1 and now it's 0.

b118 or your own build? I wonder if you have 6559590 but not the un-do.

-Alan.




hg: jdk8/tl/jdk: 8022206: Intermittent test failures in java/lang/ProcessBuilder/Basic.java

2013-11-19 Thread rob . mckenna
Changeset: 63b696dafc8a
Author:robm
Date:  2013-11-19 15:36 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/63b696dafc8a

8022206: Intermittent test failures in java/lang/ProcessBuilder/Basic.java
Reviewed-by: chegar, alanb

! test/java/lang/ProcessBuilder/Basic.java



Re: RFR : 8016728: TEST_BUG: test/java/rmi/transport/closeServerSocket/CloseServerSocket.java failing intermittently with Address already in use

2013-11-19 Thread Chris Hegarty

Looks ok to me.

-Chris.

On 11/19/2013 03:58 PM, Seán Coffey wrote:

Hope this is a simple one. This issue is a rare intermittent one :

- port 48250 is free
- exported registry: RegistryImpl[UnicastServerRef [liveRef:
[endpoint:[10.169.79.100:48250](local),objID:[0:0:0, 0
- port 48250 is in use
- unexported registry
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)


Even though we've just unexported the registry, the socket is still in
use. I believe 1ms is too short a time to sleep to handle any
environment issues. Let's try 1 second.

bug report : https://bugs.openjdk.java.net/browse/JDK-8016728
proposed change :


t4 $hg diff
test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
diff --git
a/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
b/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
--- a/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
+++ b/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
@@ -58,7 +58,7 @@
 verifyPortInUse(PORT);
 UnicastRemoteObject.unexportObject(registry, true);
 System.err.println(- unexported registry);
-Thread.sleep(1);// work around BindException (bug?)
+Thread.sleep(1000);// work around BindException (bug?)
 verifyPortFree(PORT);


regards,
Sean.




hg: jdk8/tl/jdk: 8016728: TEST_BUG: test/java/rmi/transport/closeServerSocket/CloseServerSocket.java failing intermittently

2013-11-19 Thread sean . coffey
Changeset: f2ccd3530476
Author:coffeys
Date:  2013-11-19 16:22 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f2ccd3530476

8016728: TEST_BUG: 
test/java/rmi/transport/closeServerSocket/CloseServerSocket.java failing 
intermittently
Reviewed-by: chegar

! test/java/rmi/transport/closeServerSocket/CloseServerSocket.java



Re: Building sorted Spliterators for library authors

2013-11-19 Thread Paul Sandoz

On Nov 19, 2013, at 4:50 PM, Louis Wasserman lowas...@google.com wrote:

 Is there a convenient way of building a Spliterator SORTED by a given
 Comparator, from, say, an array?

Unfortunately not. There are no factory methods in j.u.Splitrerators that 
accept Comparator as a parameter, and as you note below we do not expose the 
Spliterator impls.

You could wrap/proxy a Spliterator instance, but i suspect you will find that 
ugly, so you probably need to roll your own implementation and duplicate as 
appropriate from the JDK impls.


  From what I can tell, SortedSet's default
 implementation uses a private IteratorSpliterator API.
 

Yes, and that is a poorly splitting Spliterator since the default 
implementation can only obtain elements from the Iterator.

If your Spliterator covers an array you will probably want to implement better 
splitting.

Hth,
Paul.




RFR: 6703075: (process) java/lang/ProcessBuilder/Basic.java fails with fastdebug

2013-11-19 Thread Rob McKenna

Hi folks,

Running this test with fastdebug binaries results in a few warning 
messages getting lumped into the commandOutput. I've decided to filter 
these test wide.


https://bugs.openjdk.java.net/browse/JDK-6703075
http://cr.openjdk.java.net/~robm/6703075/webrev.01/

-Rob



Re: RFR: 8028185 - XMLFormatter.format emits incorrect year

2013-11-19 Thread Mandy Chung

On 11/19/13 2:23 AM, Daniel Fuchs wrote:

Hi,

Please find below a webrev for:

8028185: XMLFormatter.format emits incorrect year
https://bugs.openjdk.java.net/browse/JDK-8028185

The fix is trivial:
http://cr.openjdk.java.net/~dfuchs/webrev_8028185/webrev.00/


Looks good.   Nit: the test can use StringBuilder which is generally in 
preference to StringBuffer unless synchronization is required.


The kind of warning fix [1] causing this regression should probably have 
a regression test to go with it to verify the change.


thanks
Mandy
[1] http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1f129f62f36


hg: jdk8/tl/jdk: 8028581: [TESTBUG] java/net/Socket/LingerTest.java failing

2013-11-19 Thread michael . x . mcmahon
Changeset: 79e975dfeb8a
Author:michaelm
Date:  2013-11-19 17:49 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/79e975dfeb8a

8028581: [TESTBUG] java/net/Socket/LingerTest.java failing
Reviewed-by: alanb

! test/java/net/Socket/LingerTest.java



RFR [6968459] JNDI timeout fails before timeout is reached

2013-11-19 Thread Ivan Gerasimov

Hello all!

Would you please help review a fix for the bug?
https://bugs.openjdk.java.net/browse/JDK-6968459

It was reported that creating new InitialLdapContext() can fail with 
javax.naming.NamingException: LDAP response read timed out, timeout 
used:3ms, even though the specified timeout hadn't been elapsed.


The fix was provided by the filer of the bug some time ago.
Here's the webrev with this fix:
http://cr.openjdk.java.net/~igerasim/6968459/0/webrev/

Sincerely yours,
Ivan Gerasimov



Re: RFR [6968459] JNDI timeout fails before timeout is reached

2013-11-19 Thread Ivan Gerasimov



Hello all!

Would you please help review a fix for the bug?
https://bugs.openjdk.java.net/browse/JDK-6968459

It was reported that creating new InitialLdapContext() can fail with 
javax.naming.NamingException: LDAP response read timed out, timeout 
used:3ms, even though the specified timeout hadn't been elapsed.


The fix was provided by the filer of the bug some time ago.


A correction: the fix was recently provided by IBM.


Here's the webrev with this fix:
http://cr.openjdk.java.net/~igerasim/6968459/0/webrev/

Sincerely yours,
Ivan Gerasimov







hg: jdk8/tl/jdk: 8027900: pack200 option is broken due to the incorrect makefile definition for its driver

2013-11-19 Thread alexander . zuev
Changeset: 5aa853ca08a8
Author:kizune
Date:  2013-11-19 22:05 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/5aa853ca08a8

8027900: pack200 option is broken due to the incorrect makefile definition for 
its driver
Reviewed-by: ksrini, ihse

! make/CompileLaunchers.gmk



Re: RFR: 8028185 - XMLFormatter.format emits incorrect year

2013-11-19 Thread Daniel Fuchs

On 11/19/13 6:40 PM, Mandy Chung wrote:

On 11/19/13 2:23 AM, Daniel Fuchs wrote:

Hi,

Please find below a webrev for:

8028185: XMLFormatter.format emits incorrect year
https://bugs.openjdk.java.net/browse/JDK-8028185

The fix is trivial:
http://cr.openjdk.java.net/~dfuchs/webrev_8028185/webrev.00/




Thanks for the review Mandy!


Looks good.   Nit: the test can use StringBuilder which is generally in
preference to StringBuffer unless synchronization is required.


Oh yes good catch - I will change it before pushing...



The kind of warning fix [1] causing this regression should probably have
a regression test to go with it to verify the change.

thanks
Mandy
[1] http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c1f129f62f36




hg: jdk8/tl/jdk: 8015571: OCSP validation fails if ocsp.responderCertSubjectName is set

2013-11-19 Thread vincent . x . ryan
Changeset: f8b24e1a609e
Author:vinnie
Date:  2013-11-19 17:55 +
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f8b24e1a609e

8015571: OCSP validation fails if ocsp.responderCertSubjectName is set
Reviewed-by: mullan, xuelei

! src/share/classes/sun/security/provider/certpath/OCSP.java
! src/share/classes/sun/security/provider/certpath/OCSPRequest.java
! src/share/classes/sun/security/provider/certpath/OCSPResponse.java
! src/share/classes/sun/security/provider/certpath/RevocationChecker.java
! src/share/classes/sun/security/x509/X509CertImpl.java



hg: jdk8/tl/jdk: 8028565: Remove java/lang/management/ThreadMXBean/ThreadStateTest.java from ProblemList.txt

2013-11-19 Thread mandy . chung
Changeset: 48c61808374f
Author:mchung
Date:  2013-11-19 10:19 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/48c61808374f

8028565: Remove java/lang/management/ThreadMXBean/ThreadStateTest.java from 
ProblemList.txt
Reviewed-by: sla

! test/ProblemList.txt



hg: jdk8/tl/jdk: 8028141: test/sun/management/jmxremote/bootstrap/LocalManagementTest|CustomLauncherTest.java failing again

2013-11-19 Thread roger . riggs
Changeset: 3f47e393e1dd
Author:rriggs
Date:  2013-11-19 13:20 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/3f47e393e1dd

8028141: 
test/sun/management/jmxremote/bootstrap/LocalManagementTest|CustomLauncherTest.java
 failing again
Summary: Correct to use the test.class.path instead of test.classes
Reviewed-by: alanb, chegar

! test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
! test/sun/management/jmxremote/bootstrap/LocalManagementTest.java



hg: jdk8/tl/langtools: 6726154: javadoc generated with incorrect version in comment

2013-11-19 Thread alexander . zuev
Changeset: f42a22e2b2cd
Author:kizune
Date:  2013-11-19 22:14 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/f42a22e2b2cd

6726154: javadoc generated with incorrect version in comment
Reviewed-by: jjg, bpatel, erikj, tbell

! make/BuildLangtools.gmk
! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java
! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java



Re: RFR for JDK-6772009 Intermittent test failure: java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java test failed with 'Completed != 2'

2013-11-19 Thread David Holmes

Hi,

Attachments are stripped. Please post on cr.openjdk.java.net (get a 
colleague to host this if you don't have an account yet.)


Thanks,
David

On 19/11/2013 4:12 PM, srikalyan chandrashekar wrote:

Hi all, I am working on bug JDK-6772009
https://bugs.openjdk.java.net/browse/JDK-6772009 .

Root Cause:
The timeout value gives too much grace period on faster machines on
which the TO BE INTERRUPTED threads complete faster before being
interrupted at right time.

Suggested Fix:
a) Decrease the timeout from 100 to 50ms which will ensure that the test
will pass even on faster machines , and ensures the threads will be
canceled when running and anyways there is a Barrier to ensure the test
threads all complete gracefully.
Miscellaneous fixes
b) Convert result from int to long(possible integer overflow otherwise)
c) Catch BrokenBarrierException in more granular fashion in
ReentrantLockLoop to update and print the results (which will be missed
otherwise)
Add more diagnostics
d) Assign names to threads
e) Print which threads update the 'completed' variable.

I have attached the webrev for convenience as the changes are
interleaved and is best viewed as sdiff.
Please let me know if you have any comments or suggestions.



Thank you



RFR: JDK-8028631 - Improve the test coverage to the pathname handling on unix-like platforms

2013-11-19 Thread Dan Xu

Hi All,

We have java/io/pathNames/GeneralWin32.java testcase to do the general 
exhaustive test of pathname handling on windows. I am adding a new test 
GeneralSolaris.java to test the pathname handling in unix-like 
platforms. In the changes, I also make sure the test can run 
successfully in concurrency mode. Please help review it. Thanks!


Bug: https://bugs.openjdk.java.net/browse/JDK-8028631
Webrev: http://cr.openjdk.java.net/~dxu/8028631/webrev/

-Dan


hg: jdk8/tl/jdk: 8028185: XMLFormatter.format emits incorrect year

2013-11-19 Thread daniel . fuchs
Changeset: 67d742c75971
Author:dfuchs
Date:  2013-11-19 20:10 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/67d742c75971

8028185: XMLFormatter.format emits incorrect year
Summary: Fixes a regression where the year in the date was increased by 1900.
Reviewed-by: alanb, mchung

! src/share/classes/java/util/logging/XMLFormatter.java
+ test/java/util/logging/XMLFormatterDate.java



Re: RFR: JDK-8028631 - Improve the test coverage to the pathname handling on unix-like platforms

2013-11-19 Thread Lance Andersen - Oracle
The changes seem OK.  I did not run the tests though
On Nov 19, 2013, at 2:08 PM, Dan Xu wrote:

 Hi All,
 
 We have java/io/pathNames/GeneralWin32.java testcase to do the general 
 exhaustive test of pathname handling on windows. I am adding a new test 
 GeneralSolaris.java to test the pathname handling in unix-like platforms. In 
 the changes, I also make sure the test can run successfully in concurrency 
 mode. Please help review it. Thanks!
 
 Bug: https://bugs.openjdk.java.net/browse/JDK-8028631
 Webrev: http://cr.openjdk.java.net/~dxu/8028631/webrev/
 
 -Dan


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com



hg: jdk8/tl/jdk: 8028049: Tidy warnings cleanup for packages java.nio/java.io

2013-11-19 Thread yuri . nesterenko
Changeset: 19ff80da8283
Author:yan
Date:  2013-11-18 17:00 +0400
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/19ff80da8283

8028049: Tidy warnings cleanup for packages java.nio/java.io
Reviewed-by: alanb, darcy
Contributed-by: Sergey Lugovoy sergey.lugo...@oracle.com

! src/share/classes/java/io/EOFException.java
! src/share/classes/java/io/FilePermission.java
! src/share/classes/java/nio/channels/AsynchronousChannelGroup.java
! src/share/classes/java/nio/channels/AsynchronousFileChannel.java
! src/share/classes/java/nio/channels/FileChannel.java
! src/share/classes/java/nio/charset/Charset.java
! src/share/classes/java/nio/file/FileSystem.java
! src/share/classes/java/nio/file/Files.java
! src/share/classes/java/nio/package.html



Re: declaring class of a default method Was: Bug 8027734

2013-11-19 Thread Yumin Qi

Thanks.

I will look back in hotspot.

Yumin
On 11/12/2013 6:25 AM, Joel Borggren-Franck wrote:

Hi Yumin,

Basically this is due to a difference in declaring class for a Method
representing a default method vs a normal Method.

On 2013-11-11, Yumin Qi wrote:

Hi, Joel

   This bug is a SQE testing bug, see
https://bugs.openjdk.java.net/browse/JDK-8027734
https://bugs.openjdk.java.net/browse/JDK-8027734

   I have commented with the exception stacktrace.


This is easy to reproduce without VM sqe frameworks:

p1/I.java:

package p1;
interface I {
 default void m() {
 System.out.println(Foo!);
 }
}

p2/J.java:

package p1;
public interface J extends I {}

p2/C.java:

package p2;
import p1.J;
import java.lang.reflect.*;
public class C {
 public static void main(String[] args) throws Exception {
 Method m = J.class.getMethod(m, (Class?[])null);
 System.out.println(m +  declaring class:  + m.getDeclaringClass());
 m.invoke(new J() {});
 }
}

Compiling and running this will print:

$ java p2.C
public default void p1.I.m() declaring class: interface p1.I
Exception in thread main java.lang.IllegalAccessException: Class p2.C
can not access a member of class p1.I with modifiers public
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:101)
 at 
java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:295)
 at 
java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:287)
 at java.lang.reflect.Method.invoke(Method.java:476)
 at p2.C.main(C.java:8)

Note that the delcaring class of m is interface p1.I.

Changing this to classes instead:

package p3;
class A {
 public void m() {
 System.out.println(Foo!);
 }
}

package p3;
public class B extends A {}

package p4;
import p3.B;
import java.lang.reflect.*;
public class C2 {
 public static void main(String[] args) throws Exception {
 Method m = B.class.getMethod(m, (Class?[])null);
 System.out.println(m +  declaring class:  + m.getDeclaringClass());
 m.invoke(new B() {});
 }
}

And running this gives:

java p4.C2
public void p3.B.m() declaring class: class p3.B
Foo!

Note that even though m is lexically declared in class A
m.getDeclaringClass() outputs _p3.B_ as it's declaring class.

I'm not sure how we should fix this, but my first impression is that the
VM is wrong here when creating the default method Method in the
interface example.

cheers
/Joel




Request to review JDK-8028094

2013-11-19 Thread Balchandra Vaidya


Hi,

Here is one possible solution for the issue JDK-8028094.
http://cr.openjdk.java.net/~bvaidya/8/8028094/webrev/

I am not sure pkill is available in all Unix flavor at /usr/bin directory,
but it is present in Solaris and OEL 6. I have tested on Solaris
and OEL and sleep  is no longer left over.


Thanks
Balchandra




Bug 8027734

2013-11-19 Thread Yumin Qi

Hi, Joel

  This bug is a SQE testing bug, see
https://bugs.openjdk.java.net/browse/JDK-8027734 
https://bugs.openjdk.java.net/browse/JDK-8027734


  I have commented with the exception stacktrace.

  It only fails when defmeth set call through reflection and passed 
with other two modes: -mode invoke and -mode direct


 The problem I got is from this part: Reflection.java:118 
(verifyMemberAccess)


if (!Modifier.isPublic(getClassAccessFlags(memberClass))) 
{ //  here memberClass is p1.I which is 
not a public
isSameClassPackage = isSameClassPackage(currentClass, 
memberClass); //   Not in same class

gotIsSameClassPackage = true;
if (!isSameClassPackage) {
return false; // so we return false.
}
}

// At this point we know that currentClass can access memberClass.

if (Modifier.isPublic(modifiers)) {
return true;
}

memberClass is p1.I is a private interface, but its sub p1.J is a public 
interface. The default method is in I:


/* In package1:
 * package p1;
 * interface I {
 * default int m() { return 10; };
 * }
 * public interface J extends I {};
 *
 * In package2:
 * class A implements p1.J {}
 * A myA = new A;
 * myA.m();  // should return 10, not throw IllegalAccessError
 * B myB = new B;  // not related
 */

Now defmeth caller is TestContext, which is not in same package with 
interface I, this leads verify failed.
'modifiers' is public, but we check if the caller class and calee class 
in same package first and returned false, since they do not exist in 
same package.  If we check the following statement first, we will return 
true. I am not familiar with this code,  can you or some other people on 
the list give comments?


Thanks
Yumin




On 10/10/2013 6:02 AM, Joel Borggren-Franck wrote:

Hi Karen,

I agree with the others, the code looks good though I like Paul's
suggestion.

Silly question perhaps, do you know if we have good test coverage on
actually reflectively invoking a Method more than 15 times?

cheers
/Joel

On 2013-10-09, Karen Kinnear wrote:

Please review:

webrev: http://cr.openjdk.java.net/~acorn/8026213/webrev/
bug: https://bugs.openjdk.java.net/browse/JDK-8026213

Summary:
Reflection generates code dynamically to speed up reflection processing after 
startup. The first
15 runs of a reflection call  use the vm code path, after that we use the 
generated code path, which
needs to use invokespecial on private methods in interfaces.

Tested:
Test attached to the bug

Also - all the 8011311 private method testing was run with this in the build:
Robert Field's TypeTest
8025475 test
defmeth privatemethodstest with reflection
John Rose's intfbug
jtreg: java.util, java.lang
jck vm, lang

thanks,
Karen






Re: RFR: 6703075: (process) java/lang/ProcessBuilder/Basic.java fails with fastdebug

2013-11-19 Thread Alan Bateman

On 19/11/2013 16:46, Rob McKenna wrote:

Hi folks,

Running this test with fastdebug binaries results in a few warning 
messages getting lumped into the commandOutput. I've decided to filter 
these test wide.


https://bugs.openjdk.java.net/browse/JDK-6703075
http://cr.openjdk.java.net/~robm/6703075/webrev.01/

-Rob

Having warning messages emitted by the VM and interfering with 
application or test output is annoying. What you have is okay for now 
but perhaps there is an option to redirect them to elsewhere.


-Alan


RFR: 8005202 - java/util/logging/CheckLockLocationTest.java fail on solars_10

2013-11-19 Thread Daniel Fuchs

Hi,

Please find below a fix for:

8005202 - java/util/logging/CheckLockLocationTest.java fail on solars_10

This bug complains that java/util/logging/CheckLockLocationTest.java
has been seen failing on a solaris 10 machine, with message:

java.lang.RuntimeException: Test failed: should not have been able to 
create FileHandler for %t/non-writable-dir/log.log in non-writable 
directory.

at CheckLockLocationTest.runTests(CheckLockLocationTest.java:84)
at CheckLockLocationTest.main(CheckLockLocationTest.java:57)
...

I have no idea why this test failed as I have never seen it
failing myself. I suspect however that for some reason the
'non-writable-dir' that the test attempted to create was in
fact writable.

I am therefore proposing to add an additional check in the test's
setUp() method, in order to verify that the directory is indeed
not writable.

webrev:
http://cr.openjdk.java.net/~dfuchs/webrev_8005202/webrev.00/

caveat: I haven't tested my changes on Solaris yet, but I will
do so before pushing :-)

-- daniel


Re: RFR: JDK-8028631 - Improve the test coverage to the pathname handling on unix-like platforms

2013-11-19 Thread Alan Bateman

On 19/11/2013 19:08, Dan Xu wrote:

Hi All,

We have java/io/pathNames/GeneralWin32.java testcase to do the general 
exhaustive test of pathname handling on windows. I am adding a new 
test GeneralSolaris.java to test the pathname handling in unix-like 
platforms. In the changes, I also make sure the test can run 
successfully in concurrency mode. Please help review it. Thanks!


Bug: https://bugs.openjdk.java.net/browse/JDK-8028631
Webrev: http://cr.openjdk.java.net/~dxu/8028631/webrev/
This looks okay to me and I'm happy to see this test fixed to no longer 
walk into other directories when running tests concurrently.


-Alan.


Re: RFR: 8005202 - java/util/logging/CheckLockLocationTest.java fail on solars_10

2013-11-19 Thread Mandy Chung


On 11/19/2013 11:35 AM, Daniel Fuchs wrote:


I am therefore proposing to add an additional check in the test's
setUp() method, in order to verify that the directory is indeed
not writable.



It may be useful to print the owner of the directory in case if it's 
running with root permission.



webrev:
http://cr.openjdk.java.net/~dfuchs/webrev_8005202/webrev.00/



 175 final boolean nonWritable = nonWritableDir.setWritable(false);
 176 final boolean isWritable = Files.isWritable(path);
 177 if (nonWritable  !isWritable) {

Perhaps it should assert isWriteable if File.setWriteable returns true.

Mandy


Re: RFR: 8005202 - java/util/logging/CheckLockLocationTest.java fail on solars_10

2013-11-19 Thread Daniel Fuchs

On 11/19/13 9:04 PM, Mandy Chung wrote:


On 11/19/2013 11:35 AM, Daniel Fuchs wrote:


I am therefore proposing to add an additional check in the test's
setUp() method, in order to verify that the directory is indeed
not writable.



It may be useful to print the owner of the directory in case if it's
running with root permission.


OK - I assume I can find that by foraging into the nio Files API?


webrev:
http://cr.openjdk.java.net/~dfuchs/webrev_8005202/webrev.00/



  175 final boolean nonWritable =
nonWritableDir.setWritable(false);
  176 final boolean isWritable = Files.isWritable(path);
  177 if (nonWritable  !isWritable) {

Perhaps it should assert isWriteable if File.setWriteable returns true.


I'm not sure we want to fail in that case. I mean - the bug
is complaining that the test fails in the first place ;-)
I would be inclined to have the test simply skip the non-writable
test in both cases where it detects that it didn't manage to create
a non-writable dir.

-- daniel


Mandy




Re: RFR: 8005202 - java/util/logging/CheckLockLocationTest.java fail on solars_10

2013-11-19 Thread Mandy Chung


On 11/19/2013 12:12 PM, Daniel Fuchs wrote:

On 11/19/13 9:04 PM, Mandy Chung wrote:


On 11/19/2013 11:35 AM, Daniel Fuchs wrote:


I am therefore proposing to add an additional check in the test's
setUp() method, in order to verify that the directory is indeed
not writable.



It may be useful to print the owner of the directory in case if it's
running with root permission.


OK - I assume I can find that by foraging into the nio Files API?



I think you could use 
java.nio.file.attribute.FileOwnerAttributeView.getOwner() while you may 
need to deal with acl vs posix.




webrev:
http://cr.openjdk.java.net/~dfuchs/webrev_8005202/webrev.00/



  175 final boolean nonWritable =
nonWritableDir.setWritable(false);
  176 final boolean isWritable = Files.isWritable(path);
  177 if (nonWritable  !isWritable) {

Perhaps it should assert isWriteable if File.setWriteable returns true.


I'm not sure we want to fail in that case. I mean - the bug
is complaining that the test fails in the first place ;-)
I would be inclined to have the test simply skip the non-writable
test in both cases where it detects that it didn't manage to create
a non-writable dir.


If File.setWriteable returns true and isWriteable is false, it'd be a 
bug that we want to know about.  Perhaps you want to log if the 
directory is writeable or not instead of adding it to the check.


Mandy


RFR [8027348] (process) Enhancement of handling async close of ProcessInputStream

2013-11-19 Thread Ivan Gerasimov

Hello all!

May I have a review for the improvement contributed by Martin Buchholz?
https://bugs.openjdk.java.net/browse/JDK-8027348

First, it the change performs the code cleanup, and second it makes the 
test much faster.
This should also help to resolve the issue with the current version of 
the test, which was reported to fail intermittently by timeout.

https://bugs.openjdk.java.net/browse/JDK-8028574

Here's the webrev with the change:
http://cr.openjdk.java.net/~igerasim/8027348/0/webrev/

Sincerely yours,
Ivan Gerasimov



Re: RFR: JDK-8027413: Clarify javadoc for j.l.a.Target and j.l.a.ElementType

2013-11-19 Thread Joe Darcy

Hi Joel,

The change looks good; approved to go back.

Thanks,

-Joe

On 11/15/2013 04:26 AM, Joel Borggren-Franck wrote:

Hi

Please review this javadoc clarification for j.l.annnotation.Target and
j.l.annotation.ElementType as part of the type annotations work.

Webrev: http://cr.openjdk.java.net/~jfranck/8027413/webrev.00/
JBS:https://bugs.openjdk.java.net/browse/JDK-8027413

This is based on the update to JLS from Alex:
http://cr.openjdk.java.net/~abuckley/308.pdf (section 1.6).

cheers
/Joel




Re: RFR: 8005202 - java/util/logging/CheckLockLocationTest.java fail on solars_10

2013-11-19 Thread Daniel Fuchs

Hi,

I have modified the test to print the user name as well:

http://cr.openjdk.java.net/~dfuchs/webrev_8005202/webrev.01/

-- daniel

On 11/19/13 9:26 PM, Mandy Chung wrote:


On 11/19/2013 12:12 PM, Daniel Fuchs wrote:

On 11/19/13 9:04 PM, Mandy Chung wrote:


On 11/19/2013 11:35 AM, Daniel Fuchs wrote:


I am therefore proposing to add an additional check in the test's
setUp() method, in order to verify that the directory is indeed
not writable.



It may be useful to print the owner of the directory in case if it's
running with root permission.


OK - I assume I can find that by foraging into the nio Files API?



I think you could use
java.nio.file.attribute.FileOwnerAttributeView.getOwner() while you may
need to deal with acl vs posix.



webrev:
http://cr.openjdk.java.net/~dfuchs/webrev_8005202/webrev.00/



  175 final boolean nonWritable =
nonWritableDir.setWritable(false);
  176 final boolean isWritable = Files.isWritable(path);
  177 if (nonWritable  !isWritable) {

Perhaps it should assert isWriteable if File.setWriteable returns true.


I'm not sure we want to fail in that case. I mean - the bug
is complaining that the test fails in the first place ;-)
I would be inclined to have the test simply skip the non-writable
test in both cases where it detects that it didn't manage to create
a non-writable dir.


If File.setWriteable returns true and isWriteable is false, it'd be a
bug that we want to know about.  Perhaps you want to log if the
directory is writeable or not instead of adding it to the check.

Mandy




Re: RFR: 8005202 - java/util/logging/CheckLockLocationTest.java fail on solars_10

2013-11-19 Thread Mandy Chung


On 11/19/2013 12:58 PM, Daniel Fuchs wrote:

Hi,

I have modified the test to print the user name as well:

http://cr.openjdk.java.net/~dfuchs/webrev_8005202/webrev.01/



Looks good to me.   As we discussed offline, Files.isWritable may return 
true on a non-writable directory if running with root permission.  The 
check you added was fine.


thanks
Mandy


-- daniel

On 11/19/13 9:26 PM, Mandy Chung wrote:


On 11/19/2013 12:12 PM, Daniel Fuchs wrote:

On 11/19/13 9:04 PM, Mandy Chung wrote:


On 11/19/2013 11:35 AM, Daniel Fuchs wrote:


I am therefore proposing to add an additional check in the test's
setUp() method, in order to verify that the directory is indeed
not writable.



It may be useful to print the owner of the directory in case if it's
running with root permission.


OK - I assume I can find that by foraging into the nio Files API?



I think you could use
java.nio.file.attribute.FileOwnerAttributeView.getOwner() while you may
need to deal with acl vs posix.



webrev:
http://cr.openjdk.java.net/~dfuchs/webrev_8005202/webrev.00/



  175 final boolean nonWritable =
nonWritableDir.setWritable(false);
  176 final boolean isWritable = Files.isWritable(path);
  177 if (nonWritable  !isWritable) {

Perhaps it should assert isWriteable if File.setWriteable returns 
true.


I'm not sure we want to fail in that case. I mean - the bug
is complaining that the test fails in the first place ;-)
I would be inclined to have the test simply skip the non-writable
test in both cases where it detects that it didn't manage to create
a non-writable dir.


If File.setWriteable returns true and isWriteable is false, it'd be a
bug that we want to know about.  Perhaps you want to log if the
directory is writeable or not instead of adding it to the check.

Mandy






hg: jdk8/tl/jdk: 8005202: java/util/logging/CheckLockLocationTest.java fail on solars_10

2013-11-19 Thread daniel . fuchs
Changeset: 059530c5ae9a
Author:dfuchs
Date:  2013-11-19 22:28 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/059530c5ae9a

8005202: java/util/logging/CheckLockLocationTest.java fail on solars_10
Summary: this test has been seen failing on Solaris 10, presumably because it 
was run as root. The fix will skip the non-writable case if it can't make a 
non-writable dir.
Reviewed-by: mchung

! test/java/util/logging/CheckLockLocationTest.java



Re: RFR: 6703075: (process) java/lang/ProcessBuilder/Basic.java fails with fastdebug

2013-11-19 Thread Rob McKenna
Great, thanks Martin. I totally overlooked that flag while hunting 
around globals.hpp. I've added your contribution here:


http://cr.openjdk.java.net/~robm/6703075/webrev.02/

-Rob

On 19/11/13 19:58, Martin Buchholz wrote:
I propose a fix like the diff below, that asks the VM to separate 
regular output and JVM output into stdout and stderr, so that we can 
do matching on each independently, and so that we can rely on stdout 
not being corrupted by JVM output.


@@ -555,9 +555,10 @@
 System.getProperty(java.class.path);
 private static final ListString javaChildArgs =
-Arrays.asList(new String[]
-{ javaExe, -classpath, absolutifyPath(classpath),
-  Basic$JavaChild});
+Arrays.asList(javaExe,
+  -XX:+DisplayVMOutputToStderr,
+  -classpath, absolutifyPath(classpath),
+  Basic$JavaChild);
 private static void testEncoding(String encoding, String tested) {
 try {
@@ -1593,8 +1594,8 @@
   javaExe));
 list.add(ArrayOOME);
 ProcessResults r = run(new ProcessBuilder(list));
-  check(r.out().contains(java.lang.OutOfMemoryError:));
-check(r.out().contains(javaExe));
+  check(r.err().contains(java.lang.OutOfMemoryError:));
+check(r.err().contains(javaExe));
 check(r.err().contains(System.getProperty(java.version)));
 equal(r.exitValue(), 1);
 } catch (Throwable t) { unexpected(t); }



On Tue, Nov 19, 2013 at 11:29 AM, Martin Buchholz marti...@google.com 
mailto:marti...@google.com wrote:


Hold on - I'll try to get you alternate fix.


On Tue, Nov 19, 2013 at 11:27 AM, Alan Bateman
alan.bate...@oracle.com mailto:alan.bate...@oracle.com wrote:

On 19/11/2013 16:46, Rob McKenna wrote:

Hi folks,

Running this test with fastdebug binaries results in a few
warning messages getting lumped into the commandOutput.
I've decided to filter these test wide.

https://bugs.openjdk.java.net/browse/JDK-6703075
http://cr.openjdk.java.net/~robm/6703075/webrev.01/
http://cr.openjdk.java.net/%7Erobm/6703075/webrev.01/

-Rob

Having warning messages emitted by the VM and interfering with
application or test output is annoying. What you have is okay
for now but perhaps there is an option to redirect them to
elsewhere.

-Alan







Re: 8022206: Intermittent test failures in java/lang/ProcessBuilder/Basic.java

2013-11-19 Thread Alan Bateman

On 19/11/2013 20:14, Martin Buchholz wrote:
In jsr166 tests we have mostly switched to 10 second timeouts to mean 
forever.
But in ProcessBuilder tests we are starting up new java processes with 
their well-known startup problems, so using a much larger value of 
forever seems reasonable.  I vote for 1 minute.  You can write


waitFor(1, TimeUnit.MINUTES);

I agree that a timeout on that order might be needed when starting 
process. However I think this one is just starting a thread that 
exercises the new waitFor method.


-Alan.



Re: RFR: 6703075: (process) java/lang/ProcessBuilder/Basic.java fails with fastdebug

2013-11-19 Thread Alan Bateman

On 19/11/2013 19:58, Martin Buchholz wrote:
I propose a fix like the diff below, that asks the VM to separate 
regular output and JVM output into stdout and stderr, so that we can 
do matching on each independently, and so that we can rely on stdout 
not being corrupted by JVM output.
Good, it's DisplayVMOutputToStderr or an option to redirect the warnings 
that I was wondering about.  So do you want to take this one?


-Alan.


hg: jdk8/tl/jdk: 8028631: Improve the test coverage to the pathname handling on unix-like platforms

2013-11-19 Thread dan . xu
Changeset: f496565c4eec
Author:dxu
Date:  2013-11-19 13:22 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/f496565c4eec

8028631: Improve the test coverage to the pathname handling on unix-like 
platforms
Summary: Add GeneralSolaris.java testcase and fix the concurrency issue
Reviewed-by: lancea, chegar, alanb

! test/java/io/pathNames/General.java
+ test/java/io/pathNames/GeneralSolaris.java
! test/java/io/pathNames/GeneralWin32.java



RFR: 8028638: java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java fails

2013-11-19 Thread Stuart Marks

Hi all,

Please review this small fix for an intermittent timeout. Nothing seems to be 
going wrong except that if the machine running the test is exceptionally slow, 
spurious timeouts will occur. The solution is to raise the timeout in the RMI 
test infrastructure.


Bug:
https://bugs.openjdk.java.net/browse/JDK-8028638

Diff:
(appended below)

Thanks,

s'marks


# HG changeset patch
# User smarks
# Date 1384899795 28800
# Node ID ebbfb1b45a4e6b37d339942568a662268dcb18fe
# Parent  67d742c759717ca17518aaadb17725cac85c5897
8028638: 
java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java fails

Reviewed-by: XXX

diff -r 67d742c75971 -r ebbfb1b45a4e test/java/rmi/testlibrary/RMID.java
--- a/test/java/rmi/testlibrary/RMID.java   Tue Nov 19 20:10:58 2013 +0100
+++ b/test/java/rmi/testlibrary/RMID.java   Tue Nov 19 14:23:15 2013 -0800
@@ -74,6 +74,10 @@
 // +
 //  -Djava.security.debug=all ;

+// Set execTimeout to 60 sec (default is 30 sec)
+// to avoid spurious timeouts on slow machines.
+options +=  -Dsun.rmi.activation.execTimeout=6;
+
 return options;
 }



Re: RFR: 8028638: java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java fails

2013-11-19 Thread Lance Andersen - Oracle
looks fine
On Nov 19, 2013, at 5:24 PM, Stuart Marks wrote:

 Hi all,
 
 Please review this small fix for an intermittent timeout. Nothing seems to be 
 going wrong except that if the machine running the test is exceptionally 
 slow, spurious timeouts will occur. The solution is to raise the timeout in 
 the RMI test infrastructure.
 
 Bug:
   https://bugs.openjdk.java.net/browse/JDK-8028638
 
 Diff:
   (appended below)
 
 Thanks,
 
 s'marks
 
 
 # HG changeset patch
 # User smarks
 # Date 1384899795 28800
 # Node ID ebbfb1b45a4e6b37d339942568a662268dcb18fe
 # Parent  67d742c759717ca17518aaadb17725cac85c5897
 8028638: 
 java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java 
 fails
 Reviewed-by: XXX
 
 diff -r 67d742c75971 -r ebbfb1b45a4e test/java/rmi/testlibrary/RMID.java
 --- a/test/java/rmi/testlibrary/RMID.java Tue Nov 19 20:10:58 2013 +0100
 +++ b/test/java/rmi/testlibrary/RMID.java Tue Nov 19 14:23:15 2013 -0800
 @@ -74,6 +74,10 @@
 // +
 //  -Djava.security.debug=all ;
 
 +// Set execTimeout to 60 sec (default is 30 sec)
 +// to avoid spurious timeouts on slow machines.
 +options +=  -Dsun.rmi.activation.execTimeout=6;
 +
 return options;
 }
 


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com



hg: jdk8/tl/jdk: 8028638: java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java fails

2013-11-19 Thread stuart . marks
Changeset: 19d2e9649138
Author:smarks
Date:  2013-11-19 15:05 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/19d2e9649138

8028638: 
java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java fails
Reviewed-by: lancea

! test/java/rmi/testlibrary/RMID.java



RFR: JDK-8028628 - java/nio/channels/FileChannel/Size.java failed once in the same binary run

2013-11-19 Thread Dan Xu

Hi All,

Please review the simple fix towards Size.java testcase. It failed once 
on windows platform in the recent same binary run, which is mostly due 
to some interferences and the special delete handling on windows.


In the fix, I remove the delete operation in initTestFile() method 
because FileOutputStream will truncate the file content and it is not 
necessary to delete it first. Thanks!


Bug:https://bugs.openjdk.java.net/browse/JDK-8028628
Webrev: http://cr.openjdk.java.net/~dxu/8028628/webrev/ 
http://cr.openjdk.java.net/%7Edxu/8028628/webrev/


-Dan


hg: jdk8/tl/langtools: 8028504: javac generates LocalVariableTable even with -g:none

2013-11-19 Thread vicente . romero
Changeset: 66bcd5d4b3d1
Author:vromero
Date:  2013-11-19 23:35 +
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/66bcd5d4b3d1

8028504: javac generates LocalVariableTable even with -g:none
Reviewed-by: jjg, jlahoda

! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java
+ test/tools/javac/T8028504/DontGenerateLVTForGNoneOpTest.java



答复: RFR for JDK-7190106 RMI benchmark fails intermittently because of use of fixed port

2013-11-19 Thread Tristan Yan
Hi Stuart
Did you get chance to review it again. 
Let me know if you have any new comments or suggestions.
Thanks
Tristan

-邮件原件-
发件人: Tristan Yan 
发送时间: Thursday, November 14, 2013 11:09 PM
收件人: Stuart Marks
抄送: core-libs-dev@openjdk.java.net
主题: 答复: RFR for JDK-7190106 RMI benchmark fails intermittently because of use 
of fixed port

Thank you Stuart
It took me a little time to correct the code. sorry be late. This is new webrev 
for the code change. Please help to review it again.

Description:
1. Convert shell script test to Java program test.
2. Using random server port by reusing Darryl Mocek's 
work(TestLibrary.getUnusedRandomPort) to replace fixed server port.
3. Because TestLibrary doesn't have package. Here is using reflection to call 
TestLibrary.getUnusedRandomPort. This is going to change when TestLibrary moves 
to named package.
4. Using java Process class to start client process. Client and server are 
sharing IO.
5. Also convert other shell script test runSerialBench.sh to java program test 
also.
6. ProblemList has been changed to get back 
java/rmi/reliability/benchmark/runRmiBench.sh test.

http://cr.openjdk.java.net/~pzhang/Tristan/7190106/webrev/

Thank you so much
Tristan


-邮件原件-
发件人: Stuart Marks
发送时间: Tuesday, November 12, 2013 11:38 PM
收件人: Tristan Yan
抄送: core-libs-dev@openjdk.java.net; Alexandre (Shura) Iline
主题: Re: RFR for JDK-7190106 RMI benchmark fails intermittently because of use 
of fixed port

Unfortunately we can't use jdk.testlibrary.Utils.getFreePort() for the RMI 
tests, since RMI's TestLibrary.getUnusedRandomPort() respects a reserved port 
range that's used by some RMI tests that have to used fixed ports.

s'marks

On 11/11/13 2:39 PM, Tristan Yan wrote:
 Hi Stuart
 Also there is one more solution, which is there is one
 jdk.testlibrary.Utils.getFreePort() method under test/lib. It's same 
 function as
 TestLibrary.getUnusedRandomPort() and it has named package. Do you 
 mind I use this one?
 Since these two functions provide same functionality. Maybe we should 
 think about to merge them at the same time.
 Thank you
 Tristan

 On 11/10/2013 11:19 AM, Tristan Yan wrote:
 Hi Stuart
 I tried your suggestion but unfortunately all the benchmarks have 
 dependencies to Main class because they need get stub from server. I 
 suggest we move the benchmark tests to unnamed package unless we do 
 want to put TestLibrary into a named package right now.
 Please let me know if you have objection on this.
 Thank you
 Tristan

 On 11/09/2013 02:28 AM, Stuart Marks wrote:
 Hi Tristan,

 Yes, it's kind of a problem that the RMI TestLibrary is in the 
 unnamed package. Classes in a named package cannot import classes 
 from the unnamed package. We've run into problems with this before.
 Eventually, we should move TestLibrary a named package.

 I think it's possible to work around this without too much 
 difficulty. Note that classes in the unnamed package can import classes 
 from named packages.
 So, perhaps you can put the RmiBench main class in the unnamed 
 package so it has access to TestLibrary. Then have the benchmarks 
 themselves in the bench.rmi package. The config file already 
 references the benchmarks by fully qualified class name (e.g.,
 bench.rmi.NullCalls) so with a bit of tinkering you ought to be able to 
 get this to work.

 s'marks

 On 11/8/13 3:00 AM, Tristan Yan wrote:
 Thank you, Stuart
 There is one review point I want to ask you opinion. Which is the 
 reason that I moved from 
 test/java/rmi/reliability/benchmark/bench/rmi to 
 test/java/rmi/reliability/benchmark is Main.java need access class 
 TestLibrary for supporting random port. TestLibrary is a unpackage 
 class, I couldn't find a way to let a class which has Package to access 
 the class without package. Do you have suggestion on that?
 Thank you so much.
 Tristan

 On 11/06/2013 09:50 AM, Stuart Marks wrote:


 On 11/1/13 9:18 AM, Tristan Yan wrote:
 Hi Everyone
 http://cr.openjdk.java.net/~pzhang/Tristan/7190106/webrev/

 Description:
 1. Convert shell script test to Java program test.
 2. Using random server port by reusing Darryl Mocek's work to 
 replace fixed server port.
 3. Using java Process class to start client process.
 4. Also convert other shell script test runSerialBench.sh to java 
 program test also

 Hi Tristan,

 Several comments on this webrev.


 ** The original arrangement within the 
 test/java/rmi/reliability/benchmark
 directory had the main benchmark files (scripts) at the top, some 
 benchmark framework files in the bench subdirectory, and the 
 actual RMI and serialization benchmarks in bench/rmi and bench/serial 
 subdirectories.

 The webrev moves all the RMI benchmarks to the top benchmark 
 directory but leaves the serial benchmarks in bench/serial. The 
 RMI benchmarks are now all cluttering the top directory, but the 
 main serial benchmark test is now buried in the bench/serial 
 directory. The nice organization that was there before is now 
 

Re: RFR for JDK-6772009 Intermittent test failure: java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java test failed with 'Completed != 2'

2013-11-19 Thread srikalyan chandrashekar
Hi Martin, i incorporated the recent changes from the pointer as well. I 
have reproduced the failure, the logs of which are attached to the bug 
JDK-6772009 https://bugs.openjdk.java.net/browse/JDK-6772009 . The 
failed log is especially interesting .


--
Thanks
kalyan

On 11/18/13 10:15 PM, Martin Buchholz wrote:

Thanks for working on this.
There have been some recent upstream changes to this test as well. 
 Please incorporate them.

http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/test/jtreg/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java?view=co
The jsr166 maintainers haven't been able to reproduce any failures in 
this test.  Do you have any hints that might help us?




On Mon, Nov 18, 2013 at 10:12 PM, srikalyan chandrashekar 
srikalyan.chandrashe...@oracle.com 
mailto:srikalyan.chandrashe...@oracle.com wrote:


Hi all, I am working on bug JDK-6772009
https://bugs.openjdk.java.net/browse/JDK-6772009 .

Root Cause:
The timeout value gives too much grace period on faster machines
on which the TO BE INTERRUPTED threads complete faster before
being interrupted at right time.

Suggested Fix:
a) Decrease the timeout from 100 to 50ms which will ensure that
the test will pass even on faster machines , and ensures the
threads will be canceled when running and anyways there is a
Barrier to ensure the test threads all complete gracefully.
Miscellaneous fixes
b) Convert result from int to long(possible integer overflow
otherwise)
c) Catch BrokenBarrierException in more granular fashion in
ReentrantLockLoop to update and print the results (which will be
missed otherwise)
Add more diagnostics
d) Assign names to threads
e) Print which threads update the 'completed' variable.

I have attached the webrev for convenience as the changes are
interleaved and is best viewed as sdiff.
Please let me know if you have any comments or suggestions.



Thank you

-- 


--
Thanks
kalyan






Re: RFR: JDK-8028628 - java/nio/channels/FileChannel/Size.java failed once in the same binary run

2013-11-19 Thread Lance @ Oracle
Looks ok


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive
Burlington, MA 01803
lance.ander...@oracle.com
Sent from my iPad

On Nov 19, 2013, at 6:57 PM, Dan Xu dan...@oracle.com wrote:

 Hi All,
 
 Please review the simple fix towards Size.java testcase. It failed once on 
 windows platform in the recent same binary run, which is mostly due to some 
 interferences and the special delete handling on windows.
 
 In the fix, I remove the delete operation in initTestFile() method because 
 FileOutputStream will truncate the file content and it is not necessary to 
 delete it first. Thanks!
 
 Bug:https://bugs.openjdk.java.net/browse/JDK-8028628
 Webrev: http://cr.openjdk.java.net/~dxu/8028628/webrev/ 
 http://cr.openjdk.java.net/%7Edxu/8028628/webrev/
 
 -Dan


Re: RFR: JDK-8028628 - java/nio/channels/FileChannel/Size.java failed once in the same binary run

2013-11-19 Thread Mandy Chung


On 11/19/2013 3:57 PM, Dan Xu wrote:

Hi All,

Please review the simple fix towards Size.java testcase. It failed 
once on windows platform in the recent same binary run, which is 
mostly due to some interferences and the special delete handling on 
windows.


In the fix, I remove the delete operation in initTestFile() method 
because FileOutputStream will truncate the file content and it is not 
necessary to delete it first. Thanks!


Bug:https://bugs.openjdk.java.net/browse/JDK-8028628
Webrev: http://cr.openjdk.java.net/~dxu/8028628/webrev/ 
http://cr.openjdk.java.net/%7Edxu/8028628/webrev/


The patch itself is okay.   Would you think if writing to a file in the 
current directory rather than temp is less prone to the interference?


Mandy


Re: RFR: JDK-8028628 - java/nio/channels/FileChannel/Size.java failed once in the same binary run

2013-11-19 Thread Dan Xu

Hi Mandy,

I think that writing to the current directory and writing to the temp 
directory will get the same interference in this testcase. Because the 
interference is mostly coming from the anti-virus software or some 
windows system services. Any file changes in the file system may trigger 
them. Due to the interference, if a test deletes a file and then 
immediately create a file with the same name, the create operation may 
fail with access denied exception. I have described it in detail when 
discussing Chris's webrev, 
http://openjdk.5641.n7.nabble.com/RFR-8022213-Intermittent-test-failures-in-java-net-URLClassLoader-Add-jdk-testlibrary-FileUtils-java-td165561.html. 
Thanks!


-Dan

On 11/19/2013 07:08 PM, Mandy Chung wrote:


On 11/19/2013 3:57 PM, Dan Xu wrote:

Hi All,

Please review the simple fix towards Size.java testcase. It failed 
once on windows platform in the recent same binary run, which is 
mostly due to some interferences and the special delete handling on 
windows.


In the fix, I remove the delete operation in initTestFile() method 
because FileOutputStream will truncate the file content and it is not 
necessary to delete it first. Thanks!


Bug:https://bugs.openjdk.java.net/browse/JDK-8028628
Webrev: http://cr.openjdk.java.net/~dxu/8028628/webrev/ 
http://cr.openjdk.java.net/%7Edxu/8028628/webrev/


The patch itself is okay.   Would you think if writing to a file in 
the current directory rather than temp is less prone to the interference?


Mandy




RFR for JDK-6933803 Bring back test java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java

2013-11-19 Thread Tristan Yan
Hi Everyone

 

We have a test  java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java 
that was put into ProblemList because of bug JDK-6933803, this test has been 
fixed in 
http://hg.openjdk.java.net/jdk8/tl/jdk/diff/cb3ecb5e4ce5/test/java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java.
 We have run a 1000 times loop test for making sure there is no issue in this 
test anymore and we don't see any failure . I think it's good time to bring 
this test back from ProblemList.

http://cr.openjdk.java.net/~ewang/tristan/JDK-6933803/webrev.00/test/ProblemList.txt.sdiff.html

 

Please let me know if you have comment on this.

Thank you.

 

Tristan Yan(Haibo Yan)

 


Re: RFR: JDK-8028628 - java/nio/channels/FileChannel/Size.java failed once in the same binary run

2013-11-19 Thread Mandy Chung
Thanks for the details Dan [1].  It is useful.   The reason why I was 
wondering the difference with temp dir is that the test workdir might be 
excluded from the anti-virus scanner on that test machine. Now you have 
explained it.


thanks
Mandy
[1] http://mail.openjdk.java.net/pipermail/net-dev/2013-November/007783.html

On 11/19/2013 8:13 PM, Dan Xu wrote:

Hi Mandy,

I think that writing to the current directory and writing to the temp 
directory will get the same interference in this testcase. Because the 
interference is mostly coming from the anti-virus software or some 
windows system services. Any file changes in the file system may 
trigger them. Due to the interference, if a test deletes a file and 
then immediately create a file with the same name, the create 
operation may fail with access denied exception. I have described it 
in detail when discussing Chris's webrev, 
http://openjdk.5641.n7.nabble.com/RFR-8022213-Intermittent-test-failures-in-java-net-URLClassLoader-Add-jdk-testlibrary-FileUtils-java-td165561.html. 
Thanks!


-Dan

On 11/19/2013 07:08 PM, Mandy Chung wrote:


On 11/19/2013 3:57 PM, Dan Xu wrote:

Hi All,

Please review the simple fix towards Size.java testcase. It failed 
once on windows platform in the recent same binary run, which is 
mostly due to some interferences and the special delete handling on 
windows.


In the fix, I remove the delete operation in initTestFile() method 
because FileOutputStream will truncate the file content and it is 
not necessary to delete it first. Thanks!


Bug:https://bugs.openjdk.java.net/browse/JDK-8028628
Webrev: http://cr.openjdk.java.net/~dxu/8028628/webrev/ 
http://cr.openjdk.java.net/%7Edxu/8028628/webrev/


The patch itself is okay.   Would you think if writing to a file in 
the current directory rather than temp is less prone to the 
interference?


Mandy






jar command shows bit length overflow

2013-11-19 Thread Weijun Wang

I just rebuild jdk8/tl on Windows and calling jar uvf shows a lot of

  bit length overflow
  code ?? bits ?-?

A little grep shows 
jdk/src/share/native/java/util/zip/zlib-1.2.5/trees.c could print this. 
Something goes wrong or is it just me?


Said that, it looks like the jar file is fine.

Thanks
Max