Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] error running specs using sbt "run" #14

Open
line-o opened this issue Nov 17, 2020 · 21 comments · May be fixed by #17
Open

[BUG] error running specs using sbt "run" #14

line-o opened this issue Nov 17, 2020 · 21 comments · May be fixed by #17

Comments

@line-o
Copy link
Member

line-o commented Nov 17, 2020

TL;DR: use the assembled JAR

  • sbt clean assemble
  • target/scala-2.13/exist-xqts-runner-assembly-1.0.0.jar -x HEAD

running the command sbt "run -es XQ31" or sbt "run"

A fatal error was thrown starting the test runner for the first time

Below a stack trace polluted by other log output

Uncaught error from thread [17 Nov 2020 19:36:26,784 [XQTSRunnerSystem-akka.actor.default-dispatcher-11] INFO  (slf4j.scala [info]:159) - Parsed XQTS TestSet: work/QT3_1_0/fn/timezone-from-time.xml OK.
17 Nov 2020 19:36:26,784 [XQTSRunnerSystem-akka.actor.default-dispatcher-11] INFO  (slf4j.scala [info]:159) - Parsing XQTS TestSet: work/QT3_1_0/fn/uri-collection.xml...
XQTSRunnerSystem-akka.actor.default-dispatcher-10]: io/lacuna/bifurcan/IEntry, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[XQTSRunnerSystem]
java.lang.NoClassDefFoundError: io/lacuna/bifurcan/IEntry
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at sbt.internal.ManagedClassLoader.findClass(ManagedClassLoader.java:92)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at org.exist.xquery.functions.fn.FnModule.<clinit>(FnModule.java:245)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.exist.xquery.XQueryContext.instantiateModule(XQueryContext.java:1644)
	at org.exist.xquery.XQueryContext.loadDefaults(XQueryContext.java:3028)
	at org.exist.xquery.XQueryContext.<init>(XQueryContext.java:428)
	at org.exist.xquery.XQueryContext.<init>(XQueryContext.java:422)
	at org.exist.xqts.runner.ExistConnection.getCompiledQuery$1(ExistServer.scala:254)
	at org.exist.xqts.runner.ExistConnection.$anonfun$executeQuery$30(ExistServer.scala:289)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:103)
	at cats.effect.internals.IORunLoop$.restart(IORunLoop.scala:40)
	at cats.effect.internals.IOBracket$.$anonfun$apply$1(IOBracket.scala:48)
	at cats.effect.internals.IOBracket$.$anonfun$apply$1$adapted(IOBracket.scala:34)
	at cats.effect.internals.IOAsync$.$anonfun$apply$1(IOAsync.scala:37)
	at cats.effect.internals.IOAsync$.$anonfun$apply$1$adapted(IOAsync.scala:37)
	at cats.effect.internals.IORunLoop$RestartCallback.start(IORunLoop.scala:439)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:155)
	at cats.effect.internals.IORunLoop$.$anonfun$suspendAsync$1(IORunLoop.scala:315)
	at cats.effect.internals.IORunLoop$.$anonfun$suspendAsync$1$adapted(IORunLoop.scala:314)
	at cats.effect.internals.IORunLoop$RestartCallback.start(IORunLoop.scala:439)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:155)
	at cats.effect.internals.IORunLoop$.start(IORunLoop.scala:37)
	at cats.effect.IO.unsafeRunAsync(IO.scala:274)
	at cats.effect.internals.IOPlatform$.unsafeResync(IOPlatform.scala:39)
	at cats.effect.IO.unsafeRunTimed(IO.scala:342)
	at cats.effect.IO.unsafeRunSync(IO.scala:256)
	at org.exist.xqts.runner.ExistConnection.executeQuery(ExistServer.scala:325)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$9(TestCaseRunnerActor.scala:247)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$8(TestCaseRunnerActor.scala:246)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$7(TestCaseRunnerActor.scala:245)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$6(TestCaseRunnerActor.scala:244)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$5(TestCaseRunnerActor.scala:243)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.runTestCase(TestCaseRunnerActor.scala:242)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCaseWithExist$5(TestCaseRunnerActor.scala:206)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:103)
	at cats.effect.internals.IORunLoop$.restartCancelable(IORunLoop.scala:50)
	at cats.effect.internals.IOBracket$BracketStart.run(IOBracket.scala:100)
	at cats.effect.internals.Trampoline.cats$effect$internals$Trampoline$$immediateLoop(Trampoline.scala:67)
	at cats.effect.internals.Trampoline.startLoop(Trampoline.scala:35)
	at cats.effect.internals.TrampolineEC$JVMTrampoline.super$startLoop(TrampolineEC.scala:90)
	at cats.effect.internals.TrampolineEC$JVMTrampoline.$anonfun$startLoop$1(TrampolineEC.scala:90)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
	at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:94)
	at cats.effect.internals.TrampolineEC$JVMTrampoline.startLoop(TrampolineEC.scala:90)
	at cats.effect.internals.Trampoline.execute(Trampoline.scala:43)
	at cats.effect.internals.TrampolineEC.execute(TrampolineEC.scala:42)
	at cats.effect.internals.IOBracket$BracketStart.apply(IOBracket.scala:80)
	at cats.effect.internals.IOBracket$BracketStart.apply(IOBracket.scala:58)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:177)
	at cats.effect.internals.IORunLoop$.restart(IORunLoop.scala:40)
	at cats.effect.internals.IOBracket$.$anonfun$apply$1(IOBracket.scala:48)
	at cats.effect.internals.IOBracket$.$anonfun$apply$1$adapted(IOBracket.scala:34)
	at cats.effect.internals.IOAsync$.$anonfun$apply$1(IOAsync.scala:37)
	at cats.effect.internals.IOAsync$.$anonfun$apply$1$adapted(IOAsync.scala:37)
	at cats.effect.internals.IORunLoop$RestartCallback.start(IORunLoop.scala:439)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:155)
	at cats.effect.internals.IORunLoop$.$anonfun$suspendAsync$1(IORunLoop.scala:315)
	at cats.effect.internals.IORunLoop$.$anonfun$suspendAsync$1$adapted(IORunLoop.scala:314)
	at cats.effect.internals.IORunLoop$RestartCallback.start(IORunLoop.scala:439)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:155)
	at cats.effect.internals.IORunLoop$.start(IORunLoop.scala:37)
	at cats.effect.IO.unsafeRunAsync(IO.scala:274)
	at cats.effect.internals.IOPlatform$.unsafeResync(IOPlatform.scala:39)
	at cats.effect.IO.unsafeRunTimed(IO.scala:342)
	at cats.effect.IO.unsafeRunSync(IO.scala:256)
	at org.exist.xqts.runner.TestCaseRunnerActor.org$exist$xqts$runner$TestCaseRunnerActor$$runTestCaseWithExist(TestCaseRunnerActor.scala:215)
	at org.exist.xqts.runner.TestCaseRunnerActor$$anonfun$receive$1.applyOrElse(TestCaseRunnerActor.scala:189)
	at akka.actor.Actor.aroundReceive(Actor.scala:537)
	at akka.actor.Actor.aroundReceive$(Actor.scala:535)
	at org.exist.xqts.runner.TestCaseRunnerActor.aroundReceive(TestCaseRunnerActor.scala:59)
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:577)
	at akka.actor.ActorCell.invoke(ActorCell.scala:547)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
	at akka.dispatch.Mailbox.run(Mailbox.scala:231)
	at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.ClassNotFoundException: io.lacuna.bifurcan.IEntry
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at sbt.internal.ManagedClassLoader.findClass(ManagedClassLoader.java:92)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 98 more
Uncaught error from thread [XQTSRunnerSystem-akka.actor.default-dispatcher-7]: Could not initialize class org.exist.xquery.functions.fn.FnModule, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[XQTSRunnerSystem]
java.lang.NoClassDefFoundError: Could not initialize class org.exist.xquery.functions.fn.FnModule
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.exist.xquery.XQueryContext.instantiateModule(XQueryContext.java:1644)
	at org.exist.xquery.XQueryContext.loadDefaults(XQueryContext.java:3028)
	at org.exist.xquery.XQueryContext.<init>(XQueryContext.java:428)
	at org.exist.xquery.XQueryContext.<init>(XQueryContext.java:422)
	at org.exist.xqts.runner.ExistConnection.getCompiledQuery$1(ExistServer.scala:254)
	at org.exist.xqts.runner.ExistConnection.$anonfun$executeQuery$30(ExistServer.scala:289)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:103)
	at cats.effect.internals.IORunLoop$.restart(IORunLoop.scala:40)
	at cats.effect.internals.IOBracket$.$anonfun$apply$1(IOBracket.scala:48)
	at cats.effect.internals.IOBracket$.$anonfun$apply$1$adapted(IOBracket.scala:34)
	at cats.effect.internals.IOAsync$.$anonfun$apply$1(IOAsync.scala:37)
	at cats.effect.internals.IOAsync$.$anonfun$apply$1$adapted(IOAsync.scala:37)
	at cats.effect.internals.IORunLoop$RestartCallback.start(IORunLoop.scala:439)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:155)
	at cats.effect.internals.IORunLoop$.$anonfun$suspendAsync$1(IORunLoop.scala:315)
	at cats.effect.internals.IORunLoop$.$anonfun$suspendAsync$1$adapted(IORunLoop.scala:314)
	at cats.effect.internals.IORunLoop$RestartCallback.start(IORunLoop.scala:439)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:155)
	at cats.effect.internals.IORunLoop$.start(IORunLoop.scala:37)
	at cats.effect.IO.unsafeRunAsync(IO.scala:274)
	at cats.effect.internals.IOPlatform$.unsafeResync(IOPlatform.scala:39)
	at cats.effect.IO.unsafeRunTimed(IO.scala:342)
	at cats.effect.IO.unsafeRunSync(IO.scala:256)
	at org.exist.xqts.runner.ExistConnection.executeQuery(ExistServer.scala:325)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$9(TestCaseRunnerActor.scala:247)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$8(TestCaseRunnerActor.scala:246)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$7(TestCaseRunnerActor.scala:245)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$6(TestCaseRunnerActor.scala:244)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCase$5(TestCaseRunnerActor.scala:243)
	at scalaz.$bslash$div.flatMap(Either.scala:141)
	at org.exist.xqts.runner.TestCaseRunnerActor.runTestCase(TestCaseRunnerActor.scala:242)
	at org.exist.xqts.runner.TestCaseRunnerActor.$anonfun$runTestCaseWithExist$5(TestCaseRunnerActor.scala:206)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:103)
	at cats.effect.internals.IORunLoop$.restartCancelable(IORunLoop.scala:50)
	at cats.effect.internals.IOBracket$BracketStart.run(IOBracket.scala:100)
	at cats.effect.internals.Trampoline.cats$effect$internals$Trampoline$$immediateLoop(Trampoline.scala:67)
	at cats.effect.internals.Trampoline.startLoop(Trampoline.scala:35)
	at cats.effect.internals.TrampolineEC$JVMTrampoline.super$startLoop(TrampolineEC.scala:90)
	at cats.effect.internals.TrampolineEC$JVMTrampoline.$anonfun$startLoop$1(TrampolineEC.scala:90)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
	at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:94)
	at cats.effect.internals.TrampolineEC$JVMTrampoline.startLoop(TrampolineEC.scala:90)
	at cats.effect.internals.Trampoline.execute(Trampoline.scala:43)
	at cats.effect.internals.TrampolineEC.execute(TrampolineEC.scala:42)
	at cats.effect.internals.IOBracket$BracketStart.apply(IOBracket.scala:80)
	at cats.effect.internals.IOBracket$BracketStart.apply(IOBracket.scala:58)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:177)
	at cats.effect.internals.IORunLoop$.restart(IORunLoop.scala:40)
	at cats.effect.internals.IOBracket$.$anonfun$apply$1(IOBracket.scala:48)
	at cats.effect.internals.IOBracket$.$anonfun$apply$1$adapted(IOBracket.scala:34)
	at cats.effect.internals.IOAsync$.$anonfun$apply$1(IOAsync.scala:37)
	at cats.effect.internals.IOAsync$.$anonfun$apply$1$adapted(IOAsync.scala:37)
	at cats.effect.internals.IORunLoop$RestartCallback.start(IORunLoop.scala:439)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:155)
	at cats.effect.internals.IORunLoop$.$anonfun$suspendAsync$1(IORunLoop.scala:315)
	at cats.effect.internals.IORunLoop$.$anonfun$suspendAsync$1$adapted(IORunLoop.scala:314)
	at cats.effect.internals.IORunLoop$RestartCallback.start(IORunLoop.scala:439)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:155)
	at cats.effect.internals.IORunLoop$.start(IORunLoop.scala:37)
	at cats.effect.IO.unsafeRunAsync(IO.scala:274)
	at cats.effect.internals.IOPlatform$.unsafeResync(IOPlatform.scala:39)
	at cats.effect.IO.unsafeRunTimed(IO.scala:342)
	at cats.effect.IO.unsafeRunSync(IO.scala:256)
	at org.exist.xqts.runner.TestCaseRunnerActor.org$exist$xqts$runner$TestCaseRunnerActor$$runTestCaseWithExist(TestCaseRunnerActor.scala:215)
	at org.exist.xqts.runner.TestCaseRunnerActor$$anonfun$receive$1.applyOrElse(TestCaseRunnerActor.scala:189)
	at akka.actor.Actor.aroundReceive(Actor.scala:537)
	at akka.actor.Actor.aroundReceive$(Actor.scala:535)
	at org.exist.xqts.runner.TestCaseRunnerActor.aroundReceive(TestCaseRunnerActor.scala:59)
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:577)
	at akka.actor.ActorCell.invoke(ActorCell.scala:547)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270)
	at akka.dispatch.Mailbox.run(Mailbox.scala:231)
	at akka.dispatch.Mailbox.exec(Mailbox.scala:243)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
@line-o line-o changed the title [BUG] errors downloading specs [BUG] error downloading specs Nov 17, 2020
@line-o line-o changed the title [BUG] error downloading specs [BUG] error running specs Nov 17, 2020
@adamretter
Copy link
Contributor

adamretter commented Nov 17, 2020

This looks like an API mismatch. Which revision of eXist-db 5.3.0-SNAPSHOT are you testing against?

@line-o
Copy link
Member Author

line-o commented Nov 17, 2020

Against the PR eXist-db/exist@8e52a85

@adamretter
Copy link
Contributor

Can you rebase your PR atop the HEAD of develop and try again?

@line-o
Copy link
Member Author

line-o commented Nov 17, 2020

After rebasing the first error (of many) changed to:

Uncaught error from thread [XQTSRunnerSystem-akka.actor.default-dispatcher-11]: Could not initialize class org.exist.xquery.functions.fn.FnModule, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[XQTSRunnerSystem]
java.lang.NoClassDefFoundError: Could not initialize class org.exist.xquery.functions.fn.FnModule

@line-o
Copy link
Member Author

line-o commented Nov 17, 2020

Oh, the other one still is thrown, just later

Uncaught error from thread [XQTSRunnerSystem-akka.actor.default-dispatcher-9]: io/lacuna/bifurcan/IEntry, shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[XQTSRunnerSystem]
java.lang.NoClassDefFoundError: io/lacuna/bifurcan/IEntry

@line-o
Copy link
Member Author

line-o commented Nov 17, 2020

Same happens for the current revision of develop eXist-db/exist@9ad24bd

@adamretter
Copy link
Contributor

@line-o Interesting. I have been unable to reproduce this here on my MacBook. I know @joewiz had the issue previously, but he solved it by installing newer eXist-db artifacts (which you have done already). I will spin up a clean Linux VM shortly and see if I get the same issue as you...

@joewiz
Copy link
Member

joewiz commented Nov 18, 2020

@adamretter I can still run individual tests like fn-analyze-string, but I tried running the full suite via sbt "run" (after building and installing eXist's develop at current HEAD (building with Java 8, as we discovered was needed on my system in that previous thread), and the runner appears to have stalled after 9 minutes. Here's the log from my terminal:
exist-xqts-runner-log.txt. And here's the target/junit/data folder just after I halted the runner:
data.zip. Should we perhaps be running something more targeted that sbt "run"?

@line-o
Copy link
Member Author

line-o commented Nov 18, 2020

@adamretter Are you building and running this from within IDEA or using a terminal.
I performed all these actions on ZSH in iTerm2.
Did you install sbt from home-brew?

@joewiz
Copy link
Member

joewiz commented Nov 18, 2020

(FWIW, I install sbt, as well as maven and bell-sw/liberica/liberica-jdk8-full, via homebrew. I perform all building and execution of the project via command line - i.e., macOS Terminal with zsh.)

@line-o
Copy link
Member Author

line-o commented Nov 18, 2020

Does sbt have to use the same Java version as existdb was built with?

@joewiz
Copy link
Member

joewiz commented Nov 18, 2020

@line-o I don't think so. See @adamretter's comments here, including the version he's using: #11 (comment).

@line-o
Copy link
Member Author

line-o commented Nov 18, 2020

@joewiz try sbt clean assemble
It made a huge difference to run the assembled jar. Now, it seems to be doing what it should.
/cc @adamretter

@line-o
Copy link
Member Author

line-o commented Nov 18, 2020

🎉 Completed XQTS in (701819 ms)

@joewiz
Copy link
Member

joewiz commented Nov 18, 2020

@line-o Oh right, I forgot that I'd been running it that way before! I'll try too.

@joewiz
Copy link
Member

joewiz commented Nov 18, 2020

@line-o You just ran target/scala-2.13/exist-xqts-runner-assembly-1.0.0.jar, no flags, right?

@line-o
Copy link
Member Author

line-o commented Nov 18, 2020

yup

@adamretter
Copy link
Contributor

adamretter commented Nov 19, 2020

Okay @line-o and @joewiz , so I built a completely new and clean VM to ensure no problems. I then installed the following:

  • Git 2.29.2
  • OpenJDK 8 1.8.0_275
  • Maven 3.6.3
  • Scala 2.13.1
  • SBT 1.4.3

I then performed the following steps:

mkdir code && cd code
git clone https://github.com/exist-db/exist.git
cd exist
mvn clean install -DskipTests

cd ..
git clone https://github.com/exist-db/exist-xqts-runner.git
cd exist-xqts-runner
sbt clean assembly

From there I then ran the assembly using the command:

target/scala-2.13/exist-xqts-runner-assembly-1.0.0.jar -x HEAD

The HEAD part indicates that it should use the latest XQTS set of tests maintained on GitHub; the default otherwise is to use the XQTS 3.1 from the W3C which is a little aged and has a few bugs.

I did not see any of the errors that @line-o that look like: Caused by: java.lang.ClassNotFoundException: io.lacuna.bifurcan.IEntry.

The full XQTS test run ran to completion. I captured the console output and have attached the log for your reference -
HEAD.log

@adamretter
Copy link
Contributor

@line-o @joewiz It sounds like you both have it running successfully now too.

Does sbt have to use the same Java version as existdb was built with?

No.

Can we close this now? Do you feel that there is anything missing that you would like to contribute anything to the README.md?

@line-o
Copy link
Member Author

line-o commented Nov 19, 2020

The readme needs to change, yes. It is frustrating to go through the above process and disenfranchises developers to run the XQTS themselves and regularly.
I would like to keep it open until a PR to the readme was merged. I will update this ticket to reflect the outcome of the discussion.

@line-o line-o changed the title [BUG] error running specs [BUG] error running specs using sbt "run" Nov 19, 2020
@adamretter
Copy link
Contributor

@line-o Okay, so does that mean you will send a PR?

line-o added a commit to line-o/exist-xqts-runner that referenced this issue Nov 19, 2020
@line-o line-o linked a pull request Nov 19, 2020 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants