Re: "OpenJDK specific" attribute specifications
Thanks Alan. I am not 100% sure what you mean when you say that the ModuleHashes and ModuleResolution attributes are "JDK-specific". Are you saying that they may appear in Java 9 class files but it is assumed that they will only be used only by Java compilers as opposed to the JVM?
Re: jlink RuntimeException: descriptor returns inconsistent package set
On 10/02/2017 01:47, Jim Connors wrote: It's a JAR file. I used an early access build of NetBeans (supporting JDK9) to build the JAR. MANIFEST.MF contents: Manifest-Version: 1.0 Ant-Version: Apache Ant 1.10.0alpha Created-By: 1.8.0_121-b13 (Oracle Corporation) X-COMMENT: Main-Class will be added automatically by build Main-Class: scoreboard.fx2.Main Is a JDK9 version of jar required to build the JAR file? If so, then I wonder why the example I furnished, with com.jtconnors.socket, worked? It was built the same way. I think I need to see the JAR file to explain this. My guess is that it has the ModulePackages class file attribute with the non-exported packages rather than all packages (the ModulePackages changed a while back to include all packages). I can't be sure of course but we do need to improve the error message from jlink when it finds the mismatch with the JAR file contents. -Alan
Re: jlink RuntimeException: descriptor returns inconsistent package set
C:\tmp\scratch>jlink --module-path .;\Users\jtconnor\jdk-9\jmods --add-modules S coreboard --output reducedImage --compress=2 --strip-debug Error: java.lang.RuntimeException: Module Scoreboard's descriptor returns incons istent package set Jim - is Scoreboard a package module or is it exploded on the file system? If a packaged module is a modular JAR then can you say which version of the `jar` tool was used to create it? It's a JAR file. I used an early access build of NetBeans (supporting JDK9) to build the JAR. MANIFEST.MF contents: Manifest-Version: 1.0 Ant-Version: Apache Ant 1.10.0alpha Created-By: 1.8.0_121-b13 (Oracle Corporation) X-COMMENT: Main-Class will be added automatically by build Main-Class: scoreboard.fx2.Main Is a JDK9 version of jar required to build the JAR file? If so, then I wonder why the example I furnished, with com.jtconnors.socket, worked? It was built the same way. Thanks, -- Jim C
Re: Confusing error message for inner non-public service provider
// Rewording and resending to avoid confusion. On 2/9/2017 4:21 PM, Jonathan Gibbons wrote: On 2/9/17 3:07 PM, Alex Buckley wrote: All the JLS wants is for the class to be 'public'. Does that just apply locally to the declaration of the class itself, or does it also indirectly apply to any enclosing classes, in the case of a nested class? Just the declaration of the class itself. The JLS does NOT want the specified class to be accessible from . That is, the JLS does not care about a chain of access from to the provider class, which might conceivably allow the provider class to have default (package) access. The JLS just wants the 'public' modifier on the class declaration, end of story. Alex
Re: Confusing error message for inner non-public service provider
On 2/9/2017 4:21 PM, Jonathan Gibbons wrote: On 2/9/17 3:07 PM, Alex Buckley wrote: All the JLS wants is for the class to be 'public'. Does that just apply locally to the declaration of the class itself, or does it also indirectly apply to any enclosing classes, in the case of a nested class? Just the declaration of the class itself. The JLS does NOT want the specified class must be accessible from , which would imply a chain of accessibility from to the provider class. The JLS just wants the 'public' modifier on the class declaration, end of story. Alex
Re: Confusing error message for inner non-public service provider
On 2/9/17 3:07 PM, Alex Buckley wrote: All the JLS wants is for the class to be 'public'. Alex: Does that just apply locally to the declaration of the class itself, or does it also indirectly apply to any enclosing classes, in the case of a nested class? -- Jon
Re: Confusing error message for inner non-public service provider
Hi Alex, Thanks for your answer, Vicente On 02/09/2017 06:07 PM, Alex Buckley wrote: On 2/9/2017 2:49 PM, Vicente Romero wrote: Just to double check, the right javac behavior in this case should be to issue similar errors in both cases like: some position here: error: ServiceImpl is not public in com.example.internal; cannot be accessed from outside package It's correct to give an error, but the clause "cannot be accessed from outside package" should be dropped (it's not relevant to ServiceLoader). some other position here: error: Outer.ServiceImpl is not public in com.example.internal; cannot be accessed from outside package It's not correct to give an error at all. The JLS (acting on behalf of ServiceLoader) is not interested in the class Outer.ServiceImpl being "accessible" by some arbitrary client. All the JLS wants is for the class to be 'public'. without mentioning in any case anything about visibility right? Correct. All the types we're discussing are in the same module so they (and their packages) are all visible to each other; package visibility is irrelevant to this example. Alex
Re: Confusing error message for inner non-public service provider
On 2/9/2017 2:49 PM, Vicente Romero wrote: Just to double check, the right javac behavior in this case should be to issue similar errors in both cases like: some position here: error: ServiceImpl is not public in com.example.internal; cannot be accessed from outside package It's correct to give an error, but the clause "cannot be accessed from outside package" should be dropped (it's not relevant to ServiceLoader). some other position here: error: Outer.ServiceImpl is not public in com.example.internal; cannot be accessed from outside package It's not correct to give an error at all. The JLS (acting on behalf of ServiceLoader) is not interested in the class Outer.ServiceImpl being "accessible" by some arbitrary client. All the JLS wants is for the class to be 'public'. without mentioning in any case anything about visibility right? Correct. All the types we're discussing are in the same module so they (and their packages) are all visible to each other; package visibility is irrelevant to this example. Alex
Re: Confusing error message for inner non-public service provider
Hi Alex, Just to double check, the right javac behavior in this case should be to issue similar errors in both cases like: some position here: error: ServiceImpl is not public in com.example.internal; cannot be accessed from outside package some other position here: error: Outer.ServiceImpl is not public in com.example.internal; cannot be accessed from outside package without mentioning in any case anything about visibility right? Thanks, Vicente On 02/07/2017 02:21 PM, Alex Buckley wrote: On 2/7/2017 1:11 AM, Gunnar Morling wrote: --- package com.example; public interface SomeService { public void foo(); } --- package com.example.internal; class Outer { public static class ServiceImpl implements com.example.SomeService { public ServiceImpl() {} public void foo() {} } } --- package com.example.internal; class ServiceImpl implements com.example.SomeService { public ServiceImpl() {} public void foo() {} } --- module com.example { exports com.example; provides com.example.SomeService with com.example.internal.ServiceImpl; provides com.example.SomeService with com.example.internal.Outer.ServiceImpl; } --- Essentially, I'm wondering: * Why Outer.ServiceImpl triggers the error about package visibility while ServiceImpl doesn't (I had a look at the EDR JLS, but I couldn't find an explanation for that, happy about any specific pointers). * Why Outer.ServiceImpl triggers "does not have a default constructor" (ServiceImpl does not). Maybe a hint would be nice that is caused by Outer not having public access. Thanks for showing the code. Since everything in the same module, package visibility is not relevant and javac shouldn't mention it. I suspect that javac is getting tripped up by the fact that Outer.ServiceImpl is declared 'public' (as the JLS and ServiceLoader both demand) but it isn't widely accessible, even within the com.example module, due to Outer's default (package) access. I believe the JLS and ServiceLoader rules are correct, so it's a javac bug. Alex
Re: jlink RuntimeException: descriptor returns inconsistent package set
On 09/02/2017 18:42, Jim Connors wrote: Trying to create JDK9 runtime image that includes only the necessary modules to run a JavaFX program called Scoreboard. It has been converted to a JDK9 module called Scoreboard and has dependencies on system modules as well as another module called com.jtconnors.socket. More details below, this program runs fine when invoked with jdk9-ea+155 as follows (Scoreboard.jar and com.jtconnors.socket.jar are in the current directory): C:\tmp\scratch>java --module-path . -m Scoreboard However when attempting to create the jlink image as follows, this error message appears: C:\tmp\scratch>jlink --module-path .;\Users\jtconnor\jdk-9\jmods --add-modules S coreboard --output reducedImage --compress=2 --strip-debug Error: java.lang.RuntimeException: Module Scoreboard's descriptor returns incons istent package set Jim - is Scoreboard a package module or is it exploded on the file system? If a packaged module is a modular JAR then can you say which version of the `jar` tool was used to create it? -Alan
Re: 8173393: Module system implementation refresh (2/2017)
On 07/02/2017 13:23, Alan Bateman wrote: I will re-generate the webrevs later in the week once jdk-9+156 is promoted before eventually merging with jdk9/dev in advance of the eventual push. I've sync'ed up jake to jdk-9+156 and re-generated the webrevs: http://cr.openjdk.java.net/~alanb/8173393/3/ Assuming that nothing significant comes up then these are the changes that I'd like to push to jdk9/dev for jdk-9+157. -Alan
hg: jigsaw/jake/jdk: 54 new changesets
Changeset: 7bd7a7ffa84b Author:mchung Date: 2017-01-31 20:06 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7bd7a7ffa84b 8173608: Separate JDK management agent from java.management module Reviewed-by: dfuchs, dholmes, erikj - make/copy/Copy-java.management.gmk + make/copy/Copy-jdk.management.agent.gmk - make/gensrc/Gensrc-java.management.gmk + make/gensrc/Gensrc-jdk.management.agent.gmk ! make/lib/Lib-java.management.gmk + make/lib/Lib-jdk.management.agent.gmk ! make/mapfiles/libmanagement/mapfile-vers + make/mapfiles/libmanagement_rmi/mapfile-vers ! src/java.base/share/classes/module-info.java ! src/java.management/share/classes/com/sun/jmx/remote/security/FileLoginModule.java ! src/java.management/share/classes/module-info.java - src/java.management/share/classes/sun/management/Agent.java - src/java.management/share/classes/sun/management/AgentConfigurationError.java - src/java.management/share/classes/sun/management/ConnectorAddressLink.java - src/java.management/share/classes/sun/management/FileSystem.java - src/java.management/share/classes/sun/management/jdp/JdpBroadcaster.java - src/java.management/share/classes/sun/management/jdp/JdpController.java - src/java.management/share/classes/sun/management/jdp/JdpException.java - src/java.management/share/classes/sun/management/jdp/JdpGenericPacket.java - src/java.management/share/classes/sun/management/jdp/JdpJmxPacket.java - src/java.management/share/classes/sun/management/jdp/JdpPacket.java - src/java.management/share/classes/sun/management/jdp/JdpPacketReader.java - src/java.management/share/classes/sun/management/jdp/JdpPacketWriter.java - src/java.management/share/classes/sun/management/jdp/package-info.java - src/java.management/share/classes/sun/management/jmxremote/ConnectorBootstrap.java - src/java.management/share/classes/sun/management/jmxremote/LocalRMIServerSocketFactory.java - src/java.management/share/classes/sun/management/jmxremote/SingleEntryRegistry.java - src/java.management/share/classes/sun/management/jmxremote/package.html - src/java.management/share/classes/sun/management/resources/agent.properties - src/java.management/share/classes/sun/management/resources/agent_de.properties - src/java.management/share/classes/sun/management/resources/agent_es.properties - src/java.management/share/classes/sun/management/resources/agent_fr.properties - src/java.management/share/classes/sun/management/resources/agent_it.properties - src/java.management/share/classes/sun/management/resources/agent_ja.properties - src/java.management/share/classes/sun/management/resources/agent_ko.properties - src/java.management/share/classes/sun/management/resources/agent_pt_BR.properties - src/java.management/share/classes/sun/management/resources/agent_sv.properties - src/java.management/share/classes/sun/management/resources/agent_zh_CN.properties - src/java.management/share/classes/sun/management/resources/agent_zh_TW.properties - src/java.management/share/classes/sun/management/spi/AgentProvider.java - src/java.management/share/conf/jmxremote.access - src/java.management/share/conf/jmxremote.password.template - src/java.management/share/conf/management.properties - src/java.management/share/conf/snmp.acl.template - src/java.management/unix/classes/sun/management/FileSystemImpl.java - src/java.management/unix/native/libmanagement/FileSystemImpl.c - src/java.management/windows/classes/sun/management/FileSystemImpl.java - src/java.management/windows/native/libmanagement/FileSystemImpl.c ! src/java.rmi/share/classes/module-info.java ! src/jdk.jconsole/share/classes/module-info.java ! src/jdk.jconsole/share/classes/sun/tools/jconsole/LocalVirtualMachine.java + src/jdk.management.agent/share/classes/jdk/internal/agent/Agent.java + src/jdk.management.agent/share/classes/jdk/internal/agent/AgentConfigurationError.java + src/jdk.management.agent/share/classes/jdk/internal/agent/ConnectorAddressLink.java + src/jdk.management.agent/share/classes/jdk/internal/agent/FileSystem.java + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_de.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_es.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_fr.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_it.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_ja.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_ko.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_pt_BR.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_sv.properties + src/jdk.management.agent/share/classes/jdk/internal/agent/resources/agent_zh_CN.properties +
hg: jigsaw/jake/hotspot: 94 new changesets
Changeset: c1540251d1b7 Author:mchung Date: 2017-01-31 20:06 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c1540251d1b7 8173608: Separate JDK management agent from java.management module Reviewed-by: dfuchs, dholmes, erikj ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/management.cpp Changeset: 437734e70572 Author:lana Date: 2017-02-02 21:56 + URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/437734e70572 Merge Changeset: 34706140c7ff Author:ihse Date: 2017-02-03 15:20 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/34706140c7ff 8004842: Unify values of boolean make variables set in configure to true/false Reviewed-by: erikj ! make/lib/CompileJvm.gmk ! src/share/vm/precompiled/precompiled.hpp Changeset: b552b596203f Author:dfazunen Date: 2016-12-22 10:17 + URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b552b596203f 8170860: Get rid of the humanReadableByteCount() method in openjdk/hotspot Reviewed-by: mgerdin, mchernov ! test/gc/g1/TestHumongousShrinkHeap.java ! test/gc/g1/TestShrinkDefragmentedHeap.java ! test/gc/parallel/TestDynShrinkHeap.java ! test/gc/testlibrary/Helpers.java Changeset: adac66a3f770 Author:lucy Date: 2016-12-22 15:01 -0600 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/adac66a3f770 8170981: Possible access to char array with negative index Summary: Check arithmetic before trying to access array by index. Reviewed-by: rprotacio, dholmes, gziemski ! src/share/vm/runtime/globals.cpp Changeset: 5fa1aab53b6c Author:iveresov Date: 2016-12-22 17:26 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5fa1aab53b6c 8168792: [AOT] problems in MethodHandle with aot-compiled java.base Summary: Properly support assertions in AOT Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTBackend.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Main.java ! src/jdk.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotNodePlugin.java ! src/share/vm/aot/aotCodeHeap.cpp ! src/share/vm/aot/aotCodeHeap.hpp Changeset: 5e3570b00a30 Author:gtriantafill Date: 2016-12-22 11:37 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5e3570b00a30 8171318: serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java fails latest Jigsaw integration Reviewed-by: sspitsyn, dholmes ! test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapProc.java ! test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java Changeset: a5c9b33c4fc1 Author:goetz Date: 2016-12-22 16:51 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a5c9b33c4fc1 8171924: Use SIZE_FORMAT to print size_t values. Reviewed-by: dholmes, tschatzl, coleenp, goetz Contributed-by: arno.zel...@sap.com ! src/share/vm/code/codeCache.cpp ! src/share/vm/gc/g1/g1BiasedArray.hpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/utilities/copy.cpp Changeset: 9cd4389354c0 Author:coleenp Date: 2016-12-23 15:09 + URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9cd4389354c0 Merge Changeset: 231847e0ffcd Author:mchernov Date: 2016-12-23 20:44 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/231847e0ffcd 8171045: gc/stress/TestStressG1Humongous.java fails to allocate the heap Reviewed-by: tschatzl, kzhaldyb ! test/ProblemList.txt ! test/gc/stress/TestStressG1Humongous.java Changeset: 330f4178b190 Author:iklam Date: 2016-12-15 19:26 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/330f4178b190 8171809: Remove unused CDS code from JDK 9 Reviewed-by: jiangli, ccheung, mseledtsov ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/systemDictionaryShared.hpp ! src/share/vm/memory/metaspaceShared.cpp Changeset: 2577c6ced18e Author:bmoloden Date: 2016-12-21 15:01 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2577c6ced18e 8170918: Remove shell script from test/compiler/c2/cr7200264/TestIntVect.java Reviewed-by: kvn ! test/TEST.ROOT - test/compiler/c2/cr7200264/Test7200264.sh + test/compiler/c2/cr7200264/TestDriver.java ! test/compiler/c2/cr7200264/TestIntVect.java + test/compiler/c2/cr7200264/TestSSE2IntVect.java + test/compiler/c2/cr7200264/TestSSE4IntVect.java Changeset: f92932a08d08 Author:iignatyev Date: 2016-12-23 22:28 + URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f92932a08d08 Merge Changeset: 012eb4e91cf7 Author:jwilhelm Date: 2016-12-27 22:34 +0100
hg: jigsaw/jake/corba: 2 new changesets
Changeset: e81838a0d0ff Author:lana Date: 2017-02-09 17:21 + URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/e81838a0d0ff Added tag jdk-9+156 for changeset 907c26240cd4 ! .hgtags Changeset: 4c5b0c240dcf Author:alanb Date: 2017-02-09 20:53 + URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/4c5b0c240dcf Merge ! .hgtags
hg: jigsaw/jake/langtools: 30 new changesets
Changeset: 1eb97b415d28 Author:rfield Date: 2017-01-31 17:01 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/1eb97b415d28 8173652: jshell tool: store history on fatal exit Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java Changeset: f38d10d479c1 Author:jlahoda Date: 2017-02-01 15:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/f38d10d479c1 8171294: Slow compilation with long classpaths under JDK 9 Summary: Precompute packages contained in jars, to quickly determine at the lookup time whether a jar contains the given package Reviewed-by: jjg Contributed-by: maurizio.cimadam...@oracle.com ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java Changeset: ca18223ce9ee Author:rfield Date: 2017-02-01 09:10 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/ca18223ce9ee 8173577: JShell tests: Some testng tests check nothing Reviewed-by: jlahoda ! src/jdk.jshell/share/classes/jdk/jshell/execution/FailOverExecutionControlProvider.java ! src/jdk.jshell/share/classes/jdk/jshell/execution/JdiDefaultExecutionControl.java ! test/jdk/jshell/ExecutionControlTestBase.java ! test/jdk/jshell/FailOverDirectExecutionControlTest.java ! test/jdk/jshell/FailOverExecutionControlDyingLaunchTest.java Changeset: ec4be8a26914 Author:darcy Date: 2017-02-01 11:25 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/ec4be8a26914 8173676: Improvements to javax.annotation.processing and javax.lang.model doc Reviewed-by: anazarov ! src/java.compiler/share/classes/javax/annotation/processing/Filer.java ! src/java.compiler/share/classes/javax/annotation/processing/FilerException.java ! src/java.compiler/share/classes/javax/annotation/processing/Processor.java ! src/java.compiler/share/classes/javax/annotation/processing/RoundEnvironment.java ! src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java ! src/java.compiler/share/classes/javax/lang/model/UnknownEntityException.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/ModuleElement.java ! src/java.compiler/share/classes/javax/lang/model/element/NestingKind.java ! src/java.compiler/share/classes/javax/lang/model/element/PackageElement.java ! src/java.compiler/share/classes/javax/lang/model/element/Parameterizable.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java ! src/java.compiler/share/classes/javax/lang/model/element/UnknownAnnotationValueException.java ! src/java.compiler/share/classes/javax/lang/model/element/UnknownElementException.java ! src/java.compiler/share/classes/javax/lang/model/element/package-info.java ! src/java.compiler/share/classes/javax/lang/model/type/IntersectionType.java ! src/java.compiler/share/classes/javax/lang/model/type/UnionType.java ! src/java.compiler/share/classes/javax/lang/model/type/UnknownTypeException.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementFilter.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java Changeset: 3163200b0279 Author:ksrini Date: 2017-01-27 10:08 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/3163200b0279 8048628: javadoc strips HTML incorrectly; causes invalid generated HTML files Reviewed-by: jjg ! src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java + test/com/sun/javadoc/testNonInlineHtmlTagRemoval/C.java + test/com/sun/javadoc/testNonInlineHtmlTagRemoval/TestNonInlineHtmlTagRemoval.java + test/jdk/javadoc/doclet/testNonInlineHtmlTagRemoval/C.java + test/jdk/javadoc/doclet/testNonInlineHtmlTagRemoval/TestNonInlineHtmlTagRemoval.java Changeset: b44fd58920e0 Author:jjg Date: 2017-02-01 14:38 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/b44fd58920e0 8173789: Fix broken test header Reviewed-by: darcy ! test/tools/javac/modules/ModulesAndModuleSourcePathTest.java Changeset: e9135022bef8 Author:bpatel Date: 2017-02-01 15:16 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/e9135022bef8 8169813: The index pages are sorted in a confusing manner Reviewed-by: jjg, ksrini ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/jdk/javadoc/doclet/testOrdering/TestOrdering.java Changeset: 23f90afa1006 Author:darcy Date: 2017-02-01 17:04 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/23f90afa1006 8173776: More javax.lang.model improvements to support modules Reviewed-by: jjg, jlahoda ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/element/PackageElement.java ! src/java.compiler/share/classes/javax/lang/model/type/NoType.java !
hg: jigsaw/jake/nashorn: 8 new changesets
Changeset: ea1d4ecf5862 Author:hannesw Date: 2017-02-02 18:23 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/ea1d4ecf5862 8169481: StackOverflowError on start when parsing PAC file to autodetect Proxy settings Reviewed-by: jlaskey, sundar ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/WeighNodes.java ! test/script/basic/JDK-8030182_2.js + test/script/basic/JDK-8169481.js Changeset: e0aab84ee442 Author:hannesw Date: 2017-02-02 22:24 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/e0aab84ee442 8173851: JDK-8008448.js fails to parse test for JDK-8169481 Reviewed-by: jlaskey ! test/script/basic/JDK-8008448.js Changeset: 6a951429deb8 Author:lana Date: 2017-02-02 21:56 + URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/6a951429deb8 Merge Changeset: 0d99a6f2bf82 Author:amlu Date: 2017-02-03 17:32 +0800 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/0d99a6f2bf82 8173864: Problem list src/jdk/nashorn/api/tree/test/ParseAPITest.java for some platforms Reviewed-by: hannesw, sundar ! test/ProblemList.txt Changeset: 7562a97451bb Author:ihse Date: 2017-02-03 13:02 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/7562a97451bb 8173822: Remove dead code in BuildNashorn.gmk Reviewed-by: erikj ! make/BuildNashorn.gmk Changeset: d577398d3111 Author:hannesw Date: 2017-02-03 13:28 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/d577398d3111 8173888: Test for JDK-8169481 causes stack overflows in parser tests Reviewed-by: jlaskey, sundar ! test/ProblemList.txt ! test/script/basic/JDK-8008448.js - test/script/basic/JDK-8169481.js Changeset: c5b9b87b1742 Author:lana Date: 2017-02-09 17:21 + URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/c5b9b87b1742 Added tag jdk-9+156 for changeset d577398d3111 ! .hgtags Changeset: 98ed919f97b1 Author:alanb Date: 2017-02-09 20:53 + URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/98ed919f97b1 Merge ! .hgtags ! make/BuildNashorn.gmk
hg: jigsaw/jake: 19 new changesets
Changeset: 7254856d7081 Author:mchung Date: 2017-01-31 20:06 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/7254856d7081 8173608: Separate JDK management agent from java.management module Reviewed-by: dfuchs, dholmes, erikj ! common/bin/unshuffle_list.txt ! make/common/Modules.gmk Changeset: 1588d044d709 Author:ihse Date: 2017-02-02 12:05 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/1588d044d709 8173107: Fix autoconf/spec.gmk mismatches Reviewed-by: erikj, dholmes ! common/autoconf/basics.m4 ! common/autoconf/boot-jdk.m4 ! common/autoconf/flags.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/hotspot.m4 ! common/autoconf/jdk-options.m4 ! common/autoconf/lib-bundled.m4 ! common/autoconf/platform.m4 ! common/autoconf/spec.gmk.in Changeset: 7f45dad2b358 Author:dfuchs Date: 2017-02-02 16:50 + URL: http://hg.openjdk.java.net/jigsaw/jake/rev/7f45dad2b358 8173607: JMX RMI connector should be in its own module Summary: The JMX RMI connector is moved to a new java.management.rmi module. Reviewed-by: mchung, erikj ! common/bin/unshuffle_list.txt ! make/CompileJavaModules.gmk ! make/Images.gmk ! make/common/Modules.gmk Changeset: 747de1af8677 Author:lana Date: 2017-02-02 21:55 + URL: http://hg.openjdk.java.net/jigsaw/jake/rev/747de1af8677 Merge Changeset: 399e657450f7 Author:ihse Date: 2017-02-03 14:32 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/399e657450f7 8172912: JTReg concurrency value must be limited Reviewed-by: erikj ! test/Makefile Changeset: 96a95d5c0a08 Author:ihse Date: 2017-02-03 14:34 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/96a95d5c0a08 8059000: hgforest: pass options to serve command Reviewed-by: erikj Contributed-by: Michael Duigou! common/bin/hgforest.sh Changeset: 192d08d80725 Author:ihse Date: 2017-02-03 15:19 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/192d08d80725 8004842: Unify values of boolean make variables set in configure to true/false Reviewed-by: erikj ! common/autoconf/build-performance.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! make/common/NativeCompilation.gmk Changeset: 65a40732289f Author:bmoloden Date: 2016-12-21 14:41 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/65a40732289f 8170918: Remove shell script from test/compiler/c2/cr7200264/TestIntVect.java Reviewed-by: kvn ! test/jtreg-ext/requires/VMProps.java Changeset: 06f04261fc85 Author:jwilhelm Date: 2016-12-27 22:34 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/06f04261fc85 Merge Changeset: 8aa52f222681 Author:iignatyev Date: 2016-12-28 18:37 +0300 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/8aa52f222681 8172094: 8171433 changes in generated-configure should be restored Reviewed-by: erikj, kzhaldyb ! common/autoconf/generated-configure.sh Changeset: 5e9026997790 Author:jwilhelm Date: 2017-01-09 17:10 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/5e9026997790 Merge ! common/autoconf/generated-configure.sh Changeset: 2cbdf0b3aa54 Author:jwilhelm Date: 2017-01-13 18:26 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/2cbdf0b3aa54 Merge ! common/autoconf/generated-configure.sh Changeset: d660c00d91bf Author:jcm Date: 2017-01-17 21:39 -0800 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/d660c00d91bf 8166002: Emulate client build on platforms with reduced virtual address space Summary: The default VM ergonomics on Windows/x86 (32-bit) are changed to client like. Reviewed-by: kvn, iveresov ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java Changeset: 80194979fde3 Author:gtriantafill Date: 2017-01-19 10:55 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/80194979fde3 8152206: Simplify jvmstat modules Reviewed-by: alanb, mchung, hseigel ! common/bin/unshuffle_list.txt ! make/CompileJavaModules.gmk Changeset: bb5dc9acb43b Author:jwilhelm Date: 2017-01-24 00:30 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/bb5dc9acb43b Merge ! common/autoconf/generated-configure.sh ! make/CompileJavaModules.gmk Changeset: 6f4d9e237e78 Author:jwilhelm Date: 2017-02-04 03:29 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/6f4d9e237e78 Merge ! common/autoconf/generated-configure.sh ! common/bin/unshuffle_list.txt ! make/CompileJavaModules.gmk Changeset: 783ec7542cf7 Author:lancea Date: 2017-02-04 14:02 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/783ec7542cf7 8173604: Rename module 8173604 java.annotations.common to java.xml.ws.annoations Reviewed-by: dfuchs, alanb, psandoz, mchung ! common/bin/unshuffle_list.txt ! make/common/Modules.gmk Changeset: 2b376ad027b6 Author:lana Date: 2017-02-09 17:21 +
hg: jigsaw/jake/jaxws: 3 new changesets
Changeset: 7c829eba7814 Author:lancea Date: 2017-02-04 14:03 -0500 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/7c829eba7814 8173604: Rename module 8173604 java.annotations.common to java.xml.ws.annoations Reviewed-by: dfuchs, alanb, psandoz, mchung - src/java.annotations.common/share/classes/javax/annotation/Generated.java - src/java.annotations.common/share/classes/javax/annotation/PostConstruct.java - src/java.annotations.common/share/classes/javax/annotation/PreDestroy.java - src/java.annotations.common/share/classes/javax/annotation/Resource.java - src/java.annotations.common/share/classes/javax/annotation/Resources.java - src/java.annotations.common/share/classes/module-info.java + src/java.xml.ws.annotation/share/classes/javax/annotation/Generated.java + src/java.xml.ws.annotation/share/classes/javax/annotation/PostConstruct.java + src/java.xml.ws.annotation/share/classes/javax/annotation/PreDestroy.java + src/java.xml.ws.annotation/share/classes/javax/annotation/Resource.java + src/java.xml.ws.annotation/share/classes/javax/annotation/Resources.java + src/java.xml.ws.annotation/share/classes/module-info.java ! src/java.xml.ws/share/classes/module-info.java Changeset: 78a7ade93491 Author:lana Date: 2017-02-09 17:21 + URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/78a7ade93491 Added tag jdk-9+156 for changeset 7c829eba7814 ! .hgtags Changeset: 09abcf67bf67 Author:alanb Date: 2017-02-09 20:53 + URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/09abcf67bf67 Merge ! .hgtags - src/java.annotations.common/share/classes/javax/annotation/Generated.java - src/java.annotations.common/share/classes/javax/annotation/PostConstruct.java - src/java.annotations.common/share/classes/javax/annotation/PreDestroy.java - src/java.annotations.common/share/classes/javax/annotation/Resource.java - src/java.annotations.common/share/classes/javax/annotation/Resources.java - src/java.annotations.common/share/classes/module-info.java + src/java.xml.ws.annotation/share/classes/module-info.java ! src/java.xml.ws/share/classes/module-info.java
hg: jigsaw/jake/jaxp: 3 new changesets
Changeset: e930c373aaa4 Author:clanger Date: 2017-02-06 11:03 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/e930c373aaa4 8173602: JAXP: TESTBUG: javax/xml/jaxp/unittest/transform/TransformerTest.java needs refactoring Reviewed-by: dfuchs ! test/javax/xml/jaxp/unittest/transform/TransformerTest.java + test/javax/xml/jaxp/unittest/transform/util/TransformerTestTemplate.java Changeset: d488b3eda964 Author:lana Date: 2017-02-09 17:21 + URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/d488b3eda964 Added tag jdk-9+156 for changeset e930c373aaa4 ! .hgtags Changeset: ef8daebf2401 Author:alanb Date: 2017-02-09 20:53 + URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/ef8daebf2401 Merge ! .hgtags
Fwd: libjvm.so, jmods and --with-native-debug-symbols=internal
My assumption is that this was intentional. Forwarding to the jigsaw team for clarification. The native libraries associated with java.base are needed in the jmod file in order to allow developers to run jlink to produce custom Java runtimes. So, independent of having debug information, delivering a JDK with jmods provides the additional benefit of allowing custom runtimes to be produces but comes with an increased distribution cost. I suppose we could store stripped shared libraries, but this would result in a loss of information and capability when generating custom Java runtimes with jlink. Bob. > Begin forwarded message: > > From: Omair Majid> Subject: libjvm.so, jmods and --with-native-debug-symbols=internal > Date: February 9, 2017 at 12:41:09 PM EST > To: build-dev > > Hi, > > I have been working on building preview versions of OpenJDK 9 for > Fedora. You can see the latest build here: > https://copr.fedorainfracloud.org/coprs/omajid/openjdk9/build/509314/ > > One thing that I just realized is that we build OpenJDK 9 using the > configure option --with-native-debug-symbols=internal. As far as I > understand the build, this is what happens: > > 1. libjvm.so is built > 2. libjvm.so is not stripped of any debug information > 3. a jmod - java.base.jmod - containing libjvm.so is created > 4. the jmod containing libjvm.so is extracted to create images/jdk/ (and > images/jre/) > > Then the linux packaging tools (rpmbuild in my case) take over and do > the following: > > 5. strip libjvm.so in images/jdk/, put stripped symbols in a separate > location > 6. Package up images/jdk/ into the distribution package > 7. make a -debuginfo package (or -dbg in case of Debian) that contains > the stripped symbols from libjvm.so > > So now users get a libjvm.so in the default package that's stripped and > less than 20MB. They also get an optional -debuginfo (or -dbg) package > that contains just the debug symbols. This lets them use the small > package containing libjvm and but also lets them download a large > package to debug libjvm.so if they wish. This is all great so far and > works like it should. > > One new change that happened with OpenJDK 9 only is that the jmod > (java.base.jmod here) contains the original and unstripped libjvm.so. > This jmod also gets included into the images/jdk/. This bumps up the > images/jdk/jmods directory size to hundreds of megabytes. Anyone who now > wants to use jmods now ends up installing all the unstripped debuginfo, > unintentionally, eating up disk space. > > Is this intentional or an unintended side-effect of various changes? Is > it a known issue? > > Thanks, > Omair > > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681
jlink RuntimeException: descriptor returns inconsistent package set
Trying to create JDK9 runtime image that includes only the necessary modules to run a JavaFX program called Scoreboard. It has been converted to a JDK9 module called Scoreboard and has dependencies on system modules as well as another module called com.jtconnors.socket. More details below, this program runs fine when invoked with jdk9-ea+155 as follows (Scoreboard.jar and com.jtconnors.socket.jar are in the current directory): C:\tmp\scratch>java --module-path . -m Scoreboard However when attempting to create the jlink image as follows, this error message appears: C:\tmp\scratch>jlink --module-path .;\Users\jtconnor\jdk-9\jmods --add-modules S coreboard --output reducedImage --compress=2 --strip-debug Error: java.lang.RuntimeException: Module Scoreboard's descriptor returns incons istent package set Here are step-by-step details, First thing shown here is what worked: Example 1: create was a reduced Jdk9 runtime image that includes just the com.jtconnors.socket module with all it's dependencies. Here's what the module-info.java file for com.jtconnors.socket looks like: module com.jtconnors.socket { requires java.base; requires java.logging; exports com.jtconnors.socket; exports com.jtconnors.socket.test; } Here's my PATH: C:\tmp\scratch>echo %PATH% C:\users\jtconnor\jdk-9\bin;C:\ProgramData\Oracle\Java\javapath;D:\Oracle\jdk8\b in;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\W indowsPowerShell\v1.0\;C:\Program Files\nodejs\;D:\Oracle\mysql-5.7.16-winx64\bi n\;C:\Users\jtconnor\jdk-9\bin;C:\Users\jtconnor\AppData\Roaming\npm And here's what java -version says: C:\tmp\scratch>java -version java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+155) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+155, mixed mode) The com.jtconnors.socket.jar file is in the C:\tmp\scratch directory: C:\tmp\scratch>dir Volume in drive C has no label. Volume Serial Number is 5C29-8814 Directory of C:\tmp\scratch 02/08/2017 07:39 PM . 02/08/2017 07:39 PM .. 02/08/2017 07:03 PM60,051 com.jtconnors.socket.jar 1 File(s) 60,051 bytes 2 Dir(s) 299,772,723,200 bytes free jdeps output for com.jtconnors.socket: C:\tmp\scratch>jdeps -s com.jtconnors.socket.jar com.jtconnors.socket -> java.base com.jtconnors.socket -> java.logging Created a runtime image as follows: C:\tmp\scratch>jlink --module-path .;\users\jtconnor\jdk-9\jmods --add-modules com.jtconnors.socket --output reducedImage --compress=2 --strip-debub Run java -version with thereducedImage runtime C:\tmp\scratch>reducedImage\bin\java -version java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+155) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+155, mixed mode) List the modules in the reducedImage runtime: C:\tmp\scratch>reducedImage\bin\java --list-modules com.jtconnors.socket java.base@9-ea java.logging@9-ea Run test program that comes with the com.jtconnors.socket module: C:\tmp\scratch>reducedImage\bin\java -m com.jtconnors.socket/com.jtconnors.socke t.test.SocketServerReceiver Feb 08, 2017 7:48:32 PM com.jtconnors.socket.test.SocketServerReceiver initSocke tConnection INFO: Waiting for connection Example 2: Trying to create a jlink image for the Scoreboard application, this is where jlink produces a RuntimeException Here's what Scoreboard's module-info.java file looks like: module Scoreboard { requires java.base; requires com.jtconnors.socket; requires java.logging; requires java.xml; requires javafx.base; requires javafx.controls; requires javafx.graphics; requires javafx.media; exports scoreboard.fx2; } jdeps output for Scoreboard.jar: C:\tmp\scratch>jdeps --module-path . -s Scoreboard.jar Scoreboard -> com.jtconnors.socket Scoreboard -> java.base Scoreboard -> java.logging Scoreboard -> java.xml Scoreboard -> javafx.base Scoreboard -> javafx.controls Scoreboard -> javafx.graphics Scoreboard -> javafx.media Attempted to create a runtime image as follows and got this output: C:\tmp\scratch>jlink --module-path .;\Users\jtconnor\jdk-9\jmods --add-modules S coreboard --output reducedImage --compress=2 --strip-debug Error: java.lang.RuntimeException: Module Scoreboard's descriptor returns incons istent package set
[9] RFR: 8169715: jimage fails with IAE when attempts to inspect an empty file
Hi, Could please someone review the fix for JDK-8169715. The problem occurs when jimage tool is attempting to read an empty or incomplete image. The current implementation works with ByteBuffer and always relies on that there's enough data to inspect the image. This results in IAE inside of BasicImageReader.slice method when the buffer is smaller then it's expected. I added a few checks to avoid IAE and throw IOException with a more descriptive text. BUGURL: https://bugs.openjdk.java.net/browse/JDK-8169715 WEBREV: http://cr.openjdk.java.net/~dkononenko/8169715/webrev.01 Thank you, Denis.
hg: jigsaw/jake/jdk: 3 new changesets
Changeset: 01d8583c6ecd Author:alanb Date: 2017-02-09 11:25 + URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/01d8583c6ecd Add missing @JPMS tags, minor javadoc updates ! src/java.base/share/classes/java/lang/IllegalCallerException.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/module/ModuleDescriptor.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! test/java/lang/module/ModuleDescriptorTest.java Changeset: ed5e88027114 Author:alanb Date: 2017-02-09 15:38 + URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ed5e88027114 More tests for jlr.Module::addXXX + test/java/lang/reflect/Module/addXXX/Driver.java + test/java/lang/reflect/Module/addXXX/m1/module-info.java + test/java/lang/reflect/Module/addXXX/m1/p1/C.java + test/java/lang/reflect/Module/addXXX/m2/module-info.java + test/java/lang/reflect/Module/addXXX/m2/p2/C.java + test/java/lang/reflect/Module/addXXX/m2/p2/internal/C.java + test/java/lang/reflect/Module/addXXX/m3/module-info.java + test/java/lang/reflect/Module/addXXX/m3/p3/C.java + test/java/lang/reflect/Module/addXXX/m4/module-info.java + test/java/lang/reflect/Module/addXXX/m4/p4/C.java + test/java/lang/reflect/Module/addXXX/test/module-info.java + test/java/lang/reflect/Module/addXXX/test/test/C.java + test/java/lang/reflect/Module/addXXX/test/test/Main.java + test/java/lang/reflect/Module/addXXX/test/test/Service.java Changeset: ee4732b0e6e0 Author:alanb Date: 2017-02-09 15:50 + URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ee4732b0e6e0 Remove @revised/@spec from RB.Control.toBundleName ! src/java.base/share/classes/java/util/ResourceBundle.java
Re: [9] RFR 8170113: jimage extract to readonly directory causes MissingResourceException
On 09/02/2017 10:03, Denis Kononenko wrote: : I think we might have to defer such big change to the next release. If there's no objections I'd propose to deliver this fix AS IS and open a new enhancement request to re-implement 'extract' method. Okay but can you create a bug in JBS so that it's not forgotten? -Alan
Re: [9] RFR 8170113: jimage extract to readonly directory causes MissingResourceException
Hi, looks ok for me. Simple and safe fix. —Andrey > On 9 Feb 2017, at 13:03, Denis Kononenkowrote: > > > Hi, > >> >> On 06/02/2017 10:27, Denis Kononenko wrote: >>> Hi, >>> >>> Could someone please review this very small fix. >>> >>> The class JImageTask >> (src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java) has >> references to an info message by 'err.cannot.create.dir' key. >> Unfortunately the corresponding resource file >> (src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage.properties) >> doesn't contain this key. This results in long not user friendly >> stacktraces in output when jimage cannot create a directory. The fix >> is very small, I added the missing definition into the resource file. >>> >>> BUGURL: https://bugs.openjdk.java.net/browse/JDK-8170113 >>> WEBREV: http://cr.openjdk.java.net/~dkononenko/8170113/webrev.00 >>> >> This looks okay as a short term fix but I think that extract need to >> be-implemented to use the new file system API so that the reasons why >> >> the directory can be printed too. Also there is an anomaly in errors >> related to the directory result in an error message whereas any errors >> >> extracting to the directory lead to an exception. >> >> -Alan > > > I think we might have to defer such big change to the next release. If > there's no objections I'd propose to deliver this fix AS IS and open a new > enhancement request to re-implement 'extract' method. > > Thank you, > Denis.
Re: [9] RFR 8170113: jimage extract to readonly directory causes MissingResourceException
Hi, > > On 06/02/2017 10:27, Denis Kononenko wrote: > > Hi, > > > > Could someone please review this very small fix. > > > > The class JImageTask > (src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java) has > references to an info message by 'err.cannot.create.dir' key. > Unfortunately the corresponding resource file > (src/jdk.jlink/share/classes/jdk/tools/jimage/resources/jimage.properties) > doesn't contain this key. This results in long not user friendly > stacktraces in output when jimage cannot create a directory. The fix > is very small, I added the missing definition into the resource file. > > > > BUGURL: https://bugs.openjdk.java.net/browse/JDK-8170113 > > WEBREV: http://cr.openjdk.java.net/~dkononenko/8170113/webrev.00 > > > This looks okay as a short term fix but I think that extract need to > be-implemented to use the new file system API so that the reasons why > > the directory can be printed too. Also there is an anomaly in errors > related to the directory result in an error message whereas any errors > > extracting to the directory lead to an exception. > > -Alan I think we might have to defer such big change to the next release. If there's no objections I'd propose to deliver this fix AS IS and open a new enhancement request to re-implement 'extract' method. Thank you, Denis.
Re: "OpenJDK specific" attribute specifications
On 09/02/2017 08:18, Ess Kay wrote: Remi Forax has explained that the ModuleHashes attribute is "OpenJDK specific" and so is not part of the JMP spec. Is there an up to date specification of OpenJDK specific Java 9 class file changes anywhere? ModuleHashes and ModuleResolution are JDK-specific. I'm not aware of a document where such class file attributes are specified. For now, ModuleHashes is: * ModuleHashes_attribute { * // index to CONSTANT_utf8_info structure in constant pool representing * // the string "ModuleHashes" * u2 attribute_name_index; * u4 attribute_length; * * // index to CONSTANT_utf8_info structure with algorithm name * u2 algorithm_index; * * // the number of entries in the hashes table * u2 hashes_count; * { u2 module_name_index (index to CONSTANT_Module_info structure) * u2 hash_length; * u1 hash[hash_length]; * } hashes[hashes_count]; * * } -Alan
"OpenJDK specific" attribute specifications
Remi Forax has explained that the ModuleHashes attribute is "OpenJDK specific" and so is not part of the JMP spec. Is there an up to date specification of OpenJDK specific Java 9 class file changes anywhere?