On Sun, 14 Mar 2021 17:34:12 GMT, Сергей Цыпанов 
<github.com+10835776+stsypa...@openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/jmod/JmodFile.java line 58:
>> 
>>> 56:             byte[] magic = in.readNBytes(4);
>>> 57:             if (magic.length != 4) {
>>> 58:                 throw new IOException("Header expected to be of length 
>>> 4, but was " + magic.length);
>> 
>> Thanks for the update. If magic != 4 then it means the file is not a JMOD 
>> file or that it has been truncated.
>
> It turned out, that with this latest update some of tier2_tools tests are 
> failing, e.g. `JLinkNegativeTest`:
> test JLinkNegativeTest.testMalformedJmod(): failure
> java.lang.AssertionError: Output does not fit regexp: Error: 
> java.io.IOException: Invalid JMOD file
>       at tests.Result.assertFailure(Result.java:70)
>       at JLinkNegativeTest.testMalformedJmod(JLinkNegativeTest.java:201)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>       at 
> org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
>       at org.testng.internal.Invoker.invokeMethod(Invoker.java:639)
>       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:821)
>       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1131)
>       at 
> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
>       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
>       at org.testng.TestRunner.privateRun(TestRunner.java:773)
>       at org.testng.TestRunner.run(TestRunner.java:623)
>       at org.testng.SuiteRunner.runTest(SuiteRunner.java:357)
>       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)
>       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)
>       at org.testng.SuiteRunner.run(SuiteRunner.java:259)
>       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
>       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
>       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)
>       at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)
>       at org.testng.TestNG.run(TestNG.java:1018)
>       at 
> com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>       at 
> com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
>       at java.base/java.lang.Thread.run(Thread.java:831)
> ...
> java.lang.module.FindException: java.io.IOException: Invalid JMOD file: 
> /home/s.tsypanov/IdeaProjects/jdk-github/build/linux-x86_64-server-release/test-support/jtreg_test_jdk_tier2/scratch/3/jmods/hacked4.jmod
>       at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:253)
>       at 
> java.base/jdk.internal.module.ModulePath.scanNextEntry(ModulePath.java:190)
>       at java.base/jdk.internal.module.ModulePath.find(ModulePath.java:154)
>       at 
> java.base/java.lang.module.Resolver.findWithBeforeFinder(Resolver.java:842)
>       at java.base/java.lang.module.Resolver.resolve(Resolver.java:119)
>       at 
> java.base/java.lang.module.Configuration.resolve(Configuration.java:421)
>       at 
> java.base/java.lang.module.Configuration.resolve(Configuration.java:255)
>       at 
> jdk.jlink/jdk.tools.jlink.internal.JlinkTask.limitFinder(JlinkTask.java:545)
>       at 
> jdk.jlink/jdk.tools.jlink.internal.JlinkTask.newModuleFinder(JlinkTask.java:466)
>       at 
> jdk.jlink/jdk.tools.jlink.internal.JlinkTask.initJlinkConfig(JlinkTask.java:374)
>       at jdk.jlink/jdk.tools.jlink.internal.JlinkTask.run(JlinkTask.java:267)
>       at jdk.jlink/jdk.tools.jlink.internal.Main.run(Main.java:54)
>       at 
> jdk.jlink/jdk.tools.jlink.internal.Main$JlinkToolProvider.run(Main.java:65)
>       at tests.JImageGenerator$JLinkTask.call(JImageGenerator.java:715)
>       at tests.Helper.generateDefaultImage(Helper.java:257)
>       at tests.Helper.generateDefaultImage(Helper.java:244)
>       at JLinkNegativeTest.testSectionsAreFiles(JLinkNegativeTest.java:307)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>       at 
> org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
>       at org.testng.internal.Invoker.invokeMethod(Invoker.java:639)
>       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:821)
>       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1131)
>       at 
> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
>       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
>       at org.testng.TestRunner.privateRun(TestRunner.java:773)
>       at org.testng.TestRunner.run(TestRunner.java:623)
>       at org.testng.SuiteRunner.runTest(SuiteRunner.java:357)
>       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)
>       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)
>       at org.testng.SuiteRunner.run(SuiteRunner.java:259)
>       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
>       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
>       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)
>       at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)
>       at org.testng.TestNG.run(TestNG.java:1018)
>       at 
> com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>       at 
> com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
>       at java.base/java.lang.Thread.run(Thread.java:831)
> Caused by: java.io.IOException: Invalid JMOD file: 
> /home/s.tsypanov/IdeaProjects/jdk-github/build/linux-x86_64-server-release/test-support/jtreg_test_jdk_tier2/scratch/3/jmods/hacked4.jmod
>       at java.base/jdk.internal.jmod.JmodFile.checkMagic(JmodFile.java:62)
>       at java.base/jdk.internal.jmod.JmodFile.<init>(JmodFile.java:180)
>       at 
> java.base/jdk.internal.module.ModulePath.readJMod(ModulePath.java:392)
>       at 
> java.base/jdk.internal.module.ModulePath.readModule(ModulePath.java:343)
>       at 
> java.base/jdk.internal.module.ModulePath.scanDirectory(ModulePath.java:284)
>       at java.base/jdk.internal.module.ModulePath.scan(ModulePath.java:232)
>       ... 44 more
> 
> java.lang.Exception: failures: 1
>       at 
> com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:96)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>       at 
> com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
>       at java.base/java.lang.Thread.run(Thread.java:831)
> 
> So if you don't mind, I'll revert the latest commit

JLinkNegativeTest depends on the exception message, it should be easy to update.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2992

Reply via email to