Skip to content

dom.ls.LSException is thrown when QueryOptionsManagerTest is run on open JDK 11 #1034

Closed
@georgeajit

Description

@georgeajit

Version of MarkLogic Java Client API

develop

Version of MarkLogic Server

9.0 nightly build

Java version

open JDK 11

OS and version

Linux

Input: Some code to illustrate the problem, preferably in a state that can be independently reproduced on our end

Run QueryOptionsManagerTest using gradle/gradlew

Actual output: What did you observe? What errors did you see? Can you attach the logs? (Java logs, MarkLogic logs)

<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="com.marklogic.client.test.QueryOptionsManagerTest" tests="3" skipped="0" failures="1" errors="0" timestamp="2018-11-15T17:58:45" hostname="engrlab-129-025.engrlab.marklogic.com" time="0.8">
  <properties/>
  <testcase name="testJSONOptions" classname="com.marklogic.client.test.QueryOptionsManagerTest" time="0.707"/>
  <testcase name="testQueryOptionsManager" classname="com.marklogic.client.test.QueryOptionsManagerTest" time="0.015"/>
  <testcase name="testXMLDocsAsSearchOptions" classname="com.marklogic.client.test.QueryOptionsManagerTest" time="0.078">
    <failure message="org.w3c.dom.ls.LSException: The prefix &quot;xml&quot; cannot be bound to any namespace other than its usual namespace; neither can the namespace for &quot;xml&quot; be bound to any prefix other than &quot;xml&quot;." type="org.w3c.dom.ls.LSException">org.w3c.dom.ls.LSException: The prefix &quot;xml&quot; cannot be bound to any namespace other than its usual namespace; neither can the namespace for &quot;xml&quot; be bound to any prefix other than &quot;xml&quot;.
	at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParserImpl.parse(DOMParserImpl.java:1013)
	at com.marklogic.client.io.DOMHandle.receiveContent(DOMHandle.java:404)
	at com.marklogic.client.io.DOMHandle.receiveContent(DOMHandle.java:61)
	at com.marklogic.client.impl.QueryOptionsManagerImpl.readOptions(QueryOptionsManagerImpl.java:98)
	at com.marklogic.client.test.QueryOptionsManagerTest.testXMLDocsAsSearchOptions(QueryOptionsManagerTest.java:106)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:106)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
	at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:66)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:117)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: ::::1:120:120:The prefix &quot;xml&quot; cannot be bound to any namespace other than its usual namespace; neither can the namespace for &quot;xml&quot; be bound to any prefix other than &quot;xml&quot;.
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:378)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:496)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:250)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3060)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:836)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParserImpl.parse(DOMParserImpl.java:983)
	... 53 more
</failure>
  </testcase>
  <system-out><![CDATA[09:58:45.549 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Putting /config/query/jsonoptions
09:58:46.236 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Getting /config/query/jsonoptions
09:58:46.246 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Getting /config/query/jsonoptions
09:58:46.252 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Deleting /config/query/jsonoptions
09:58:46.255 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Putting /config/query/testempty
09:58:46.266 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Getting /config/query/testempty
09:58:46.268 [Test worker] DEBUG c.m.c.test.QueryOptionsManagerTest - Empty options from server <search:options xmlns:search="http://marklogic.com/appservices/search"/>

09:58:46.268 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Deleting /config/query/testempty
09:58:46.271 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Putting /config/query/invalid
09:58:46.273 [Test worker] DEBUG com.marklogic.client.io.DOMHandle - Serializing DOM document to output stream
09:58:46.337 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Getting /config/query/invalid
09:58:46.340 [Test worker] DEBUG c.m.c.test.QueryOptionsManagerTest - Two XML Strings <?xml version="1.0" encoding="UTF-16"?><options xmlns="http://marklogic.com/appservices/search" xmlns:NS1="http://www.w3.org/XML/1998/namespace" NS1:lang="en"><return-facets>true</return-facets></options> and <options NS1:lang="en" xmlns="http://marklogic.com/appservices/search" xmlns:NS1="http://www.w3.org/XML/1998/namespace">
  <return-facets>true</return-facets>
</options>

09:58:46.340 [Test worker] DEBUG c.m.client.impl.OkHttpServices - Getting /config/query/invalid
09:58:46.343 [Test worker] DEBUG com.marklogic.client.io.DOMHandle - Parsing DOM document from input stream
]]></system-out>
  <system-err><![CDATA[[Fatal Error] :1:120: The prefix "xml" cannot be bound to any namespace other than its usual namespace; neither can the namespace for "xml" be bound to any prefix other than "xml".
]]></system-err>
</testsuite>

Expected output: What specifically did you expect to happen?

Test rans fine

Alternatives: What else have you tried, actual/expected?

N/A

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions