Oracle Java 8u161 regression in XML Schema Factory

Krystal Mok rednaxelafx at gmail.com
Fri Jan 26 00:23:54 UTC 2018


Hi guys,

A coworker of mine had hit this issue last night on 8u161 and it worked
fine on 8u151:

ERROR: /home/myuser/.cache/bazel/_bazel_myuser/some_hash_code/external/jackson_datatype_joda_shaded/BUILD:5:1:
Building
external/jackson_datatype_joda_shaded/libjackson-datatype-joda-class.jar
(35 source files) failed (Exit 1)
java.lang.InternalError: Cannot find requested resource bundle for locale
en_US
        at
com.sun.tools.javac.util.JavacMessages.getBundles(JavacMessages.java:128)
        at
com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:147)
        at
com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:140)
        at com.sun.tools.javac.util.Log.localize(Log.java:788)
        at com.sun.tools.javac.util.Log.printLines(Log.java:586)
        at
com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:170)
        at
com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:96)
        at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:90)
        at
com.google.devtools.build.buildjar.javac.BlazeJavacMain.compile(BlazeJavacMain.java:105)
        at
com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder$1.invokeJavac(SimpleJavaLibraryBuilder.java:106)
        at
com.google.devtools.build.buildjar.ReducedClasspathJavaLibraryBuilder.compileSources(ReducedClasspathJavaLibraryBuilder.java:53)
        at
com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder.compileJavaLibrary(SimpleJavaLibraryBuilder.java:109)
        at
com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder.run(SimpleJavaLibraryBuilder.java:117)
        at
com.google.devtools.build.buildjar.BazelJavaBuilder.processRequest(BazelJavaBuilder.java:105)
        at
com.google.devtools.build.buildjar.BazelJavaBuilder.runPersistentWorker(BazelJavaBuilder.java:67)
        at
com.google.devtools.build.buildjar.BazelJavaBuilder.main(BazelJavaBuilder.java:45)
Caused by: java.util.MissingResourceException: Can't find bundle for base
name com.google.errorprone.errors, locale en_US
        at
java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1573)
        at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1396)
        at java.util.ResourceBundle.getBundle(ResourceBundle.java:854)
        at
com.sun.tools.javac.util.JavacMessages.lambda$add$0(JavacMessages.java:106)
        at
com.sun.tools.javac.util.JavacMessages.getBundles(JavacMessages.java:125)
        ... 15 more

Resource bundle loading issue...could that be related to this XML issue
here?

Thanks,
Kris

On Thu, Jan 25, 2018 at 8:41 AM, Seán Coffey <sean.coffey at oracle.com> wrote:

> On 25/01/2018 11:58, Bernd wrote:
>
> Hello,
>>
>> some of our unit tests (using PowerMock and xmlunit) fail with 8u161 (and
>> u162) but work with 8u152.
>>
>> I cant reproduce the fault in a stand-alone program so it seems to be
>> related to classloader/reflection magic of those tools, sorry.
>>
>> Is this a regression of 8159240
>> <http://bugs.java.com/view_bug.do?bug_id=JDK-8159240> (not public?)
>>
> Fixes in the CPU releases are kept private - hence the above bug is not
> public. The changesets do become public once the release is made public
> though. See : http://hg.openjdk.java.net/jdk8u/jdk8u/jaxws/rev/06086cb6c34
> 9
>
> I don't think it's a factor for what you're seeing.
>
> Classes nearer to those below were touched via JDK-8186080: Transform XML
> interfaces
> http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/cb84156d54b2
> http://hg.openjdk.java.net/jdk8u/jdk8u/jaxp/rev/08a44c164993
>
> This may be connected with some tools trying to redefine the classes
> perhaps. Needs more investigating. Perhaps the XMLSchemaLoader changes are
> a factor ?
>
> regards,
> Sean.
>
>
>> Here is the stacktrace anyway:
>>
>> com.sun.org.apache.xerces.internal.impl.dv.DVFactoryException: Schema
>> factory class
>> com.sun.org.apache.xerces.internal.impl.dv.xs.SchemaDVFactoryImpl does
>> not
>> extend from SchemaDVFactory.
>>      at
>> com.sun.org.apache.xerces.internal.impl.dv.SchemaDVFactory.
>> getInstance(SchemaDVFactory.java:75)
>>      at
>> com.sun.org.apache.xerces.internal.impl.dv.SchemaDVFactory.
>> getInstance(SchemaDVFactory.java:57)
>>      at
>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.
>> reset(XMLSchemaLoader.java:1024)
>>      at
>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.
>> loadGrammar(XMLSchemaLoader.java:556)
>>      at
>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.
>> loadGrammar(XMLSchemaLoader.java:535)
>>      at
>> com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchema
>> Factory.newSchema(XMLSchemaFactory.java:254)
>>      at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.
>> java:638)
>>      at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.
>> java:654)
>>      at
>> com.seeburger.api.test.helpers.BuilderTestHelper.getCRSchema
>> Validator(BuilderTestHelper.java:57)
>>      at
>> com.seeburger.api.test.helpers.BuilderTestHelper.validateAnd
>> Compare(BuilderTestHelper.java:73)
>>      at
>> com.seeburger.api.test.KSMBuilderTest.testDeletePGP(KSMBuild
>> erTest.java:196)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>> ssorImpl.java:62)
>>      at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>> thodAccessorImpl.java:43)
>>      at java.lang.reflect.Method.invoke(Method.java:498)
>>      at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:68)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit44R
>> unnerDelegateImpl$PowerMockJUnit44MethodRunner.runTestMethod
>> (PowerMockJUnit44RunnerDelegateImpl.java:310)
>>      at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.
>> java:89)
>>      at
>> org.junit.internal.runners.MethodRoadie.runBeforesThenTestTh
>> enAfters(MethodRoadie.java:97)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit44R
>> unnerDelegateImpl$PowerMockJUnit44MethodRunner.executeTest(P
>> owerMockJUnit44RunnerDelegateImpl.java:294)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit47R
>> unnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTestIn
>> Super(PowerMockJUnit47RunnerDelegateImpl.java:127)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit47R
>> unnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTest(P
>> owerMockJUnit47RunnerDelegateImpl.java:82)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit44R
>> unnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThe
>> nTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:282)
>>      at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie
>> .java:87)
>>      at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:50)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit44R
>> unnerDelegateImpl.invokeTestMethod(PowerMockJUni
>> t44RunnerDelegateImpl.java:207)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit44R
>> unnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:146)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit44R
>> unnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:120)
>>      at
>> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassR
>> oadie.java:34)
>>      at
>> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44)
>>      at
>> org.powermock.modules.junit4.internal.impl.PowerMockJUnit44R
>> unnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:122)
>>      at
>> org.powermock.modules.junit4.common.internal.impl.JUnit4Test
>> SuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:106)
>>      at
>> org.powermock.modules.junit4.common.internal.impl.AbstractCo
>> mmonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53)
>>      at
>> org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59)
>>      at
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.
>> run(JUnit4TestReference.java:86)
>>      at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(
>> TestExecution.java:38)
>>      at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe
>> sts(RemoteTestRunner.java:539)
>>      at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe
>> sts(RemoteTestRunner.java:761)
>>      at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(
>> RemoteTestRunner.java:461)
>>      at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(
>> RemoteTestRunner.java:207)
>>
>> on the classpath jaxb-impl-2.2.5.jar but the specific packages are only
>> loaded from rt.jar and redefined. I asume the later is done by Powermock.
>>
>>      Line 611: [Loaded
>> com.sun.org.apache.xerces.internal.impl.dv.SchemaDVFactory from
>> C:\Program
>> Files\Java\jdk1.8.0_161\jre\lib\rt.jar]
>>      Line 616: [Loaded
>> com.sun.org.apache.xerces.internal.impl.dv.xs.BaseSchemaDVFactory from
>> C:\Program Files\Java\jdk1.8.0_161\jre\lib\rt.jar]
>>      Line 617: [Loaded
>> com.sun.org.apache.xerces.internal.impl.dv.xs.SchemaDVFactoryImpl from
>> C:\Program Files\Java\jdk1.8.0_161\jre\lib\rt.jar]
>>      Line 618: [Loaded
>> com.sun.org.apache.xerces.internal.impl.dv.SchemaDVFactory from
>> __JVM_DefineClass__]
>>      Line 619: [Loaded
>> com.sun.org.apache.xerces.internal.impl.dv.xs.BaseSchemaDVFactory from
>> __JVM_DefineClass__]
>>      Line 620: [Loaded
>> com.sun.org.apache.xerces.internal.impl.dv.xs.SchemaDVFactoryImpl from
>> __JVM_DefineClass__]
>>
>> Is that something you are concerned?
>>
>> Gruss
>> Bernd
>> <http://bugs.java.com/view_bug.do?bug_id=JDK-8159240>
>>
>
>


More information about the core-libs-dev mailing list