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

HighlightJS Nashorn exception in JRE8 #5

Open
jvican opened this issue Oct 12, 2016 · 3 comments
Open

HighlightJS Nashorn exception in JRE8 #5

jvican opened this issue Oct 12, 2016 · 3 comments

Comments

@jvican
Copy link

jvican commented Oct 12, 2016

Running ornate in JRE8 produces the following stack trace:

[I]     c.n.o.PageParser: Parsing 6 source files
[I]      c.n.ornate.Main: Processing site
[I]      c.n.ornate.Main: Rendering site
[E] ghlightJSHighlighter: Error running highlight.js
javax.script.ScriptException: TypeError: [object Object] is not an Object in <eval> at line number 541 at column number 8
    at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:455)
    at jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:387)
    at jdk.nashorn.api.scripting.NashornScriptEngine.invokeMethod(NashornScriptEngine.java:196)
    at com.novocode.ornate.js.NashornSupport$class.call(NashornSupport.scala:74)
    at com.novocode.ornate.highlight.HighlightJSHighlighter.call(HighlightJSHighlighter.scala:14)
    at com.novocode.ornate.highlight.HighlightJSHighlighter.highlightTextAsHTML(HighlightJSHighlighter.scala:71)
    at com.novocode.ornate.theme.HtmlTheme$$anonfun$fencedCodeBlockRenderer$1.apply(HtmlTheme.scala:109)
    at com.novocode.ornate.theme.HtmlTheme$$anonfun$fencedCodeBlockRenderer$1.apply(HtmlTheme.scala:106)
    at com.novocode.ornate.commonmark.SimpleHtmlNodeRenderer$$anon$1.render(SimpleHtmlNodeRenderer.scala:12)
    at org.commonmark.html.HtmlRenderer$MainNodeRenderer.render(HtmlRenderer.java:245)
    at org.commonmark.html.renderer.CoreNodeRenderer.visitChildren(CoreNodeRenderer.java:239)
    at org.commonmark.html.renderer.CoreNodeRenderer.visit(CoreNodeRenderer.java:155)
    at org.commonmark.node.ListItem.accept(ListItem.java:7)
    at org.commonmark.html.renderer.CoreNodeRenderer.render(CoreNodeRenderer.java:49)
    at org.commonmark.html.HtmlRenderer$MainNodeRenderer.render(HtmlRenderer.java:245)
    at org.commonmark.html.renderer.CoreNodeRenderer.visitChildren(CoreNodeRenderer.java:239)
    at org.commonmark.html.renderer.CoreNodeRenderer.renderListBlock(CoreNodeRenderer.java:258)
    at org.commonmark.html.renderer.CoreNodeRenderer.visit(CoreNodeRenderer.java:167)
    at org.commonmark.node.OrderedList.accept(OrderedList.java:10)
    at org.commonmark.html.renderer.CoreNodeRenderer.render(CoreNodeRenderer.java:49)
    at org.commonmark.html.HtmlRenderer$MainNodeRenderer.render(HtmlRenderer.java:245)
    at org.commonmark.html.renderer.CoreNodeRenderer.visitChildren(CoreNodeRenderer.java:239)
    at org.commonmark.html.renderer.CoreNodeRenderer.visit(CoreNodeRenderer.java:155)
    at org.commonmark.node.ListItem.accept(ListItem.java:7)
    at org.commonmark.html.renderer.CoreNodeRenderer.render(CoreNodeRenderer.java:49)
    at org.commonmark.html.HtmlRenderer$MainNodeRenderer.render(HtmlRenderer.java:245)
    at org.commonmark.html.renderer.CoreNodeRenderer.visitChildren(CoreNodeRenderer.java:239)
    at org.commonmark.html.renderer.CoreNodeRenderer.renderListBlock(CoreNodeRenderer.java:258)
    at org.commonmark.html.renderer.CoreNodeRenderer.visit(CoreNodeRenderer.java:167)
    at org.commonmark.node.OrderedList.accept(OrderedList.java:10)
    at org.commonmark.html.renderer.CoreNodeRenderer.render(CoreNodeRenderer.java:49)
    at org.commonmark.html.HtmlRenderer$MainNodeRenderer.render(HtmlRenderer.java:245)
    at org.commonmark.html.renderer.CoreNodeRenderer.visitChildren(CoreNodeRenderer.java:239)
    at org.commonmark.html.renderer.CoreNodeRenderer.visit(CoreNodeRenderer.java:55)
    at org.commonmark.node.Document.accept(Document.java:7)
    at org.commonmark.html.renderer.CoreNodeRenderer.render(CoreNodeRenderer.java:49)
    at org.commonmark.html.HtmlRenderer$MainNodeRenderer.render(HtmlRenderer.java:245)
    at org.commonmark.html.HtmlRenderer.render(HtmlRenderer.java:60)
    at org.commonmark.html.HtmlRenderer.render(HtmlRenderer.java:71)
    at com.novocode.ornate.theme.HtmlTheme$PageModelImpl.<init>(HtmlTheme.scala:175)
    at com.novocode.ornate.theme.HtmlTheme$$anonfun$render$1.apply(HtmlTheme.scala:243)
    at com.novocode.ornate.theme.HtmlTheme$$anonfun$render$1.apply(HtmlTheme.scala:227)
    at scala.collection.Iterator$class.foreach(Iterator.scala:893)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
    at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
    at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
    at com.novocode.ornate.theme.HtmlTheme.render(HtmlTheme.scala:227)
    at com.novocode.ornate.Main$.run(Main.scala:33)
    at com.novocode.ornate.Main$.runToStatus(Main.scala:77)
    at com.novocode.ornate.Main.runToStatus(Main.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.novocode.ornate.sbtplugin.OrnatePlugin$$anonfun$ornateTask$1.apply(OrnatePlugin.scala:62)
    at com.novocode.ornate.sbtplugin.OrnatePlugin$$anonfun$ornateTask$1.apply(OrnatePlugin.scala:39)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: jdk.nashorn.internal.runtime.ECMAException: TypeError: [object Object] is not an Object
    at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)
    at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:213)
    at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:185)
    at jdk.nashorn.internal.runtime.ECMAErrors.typeError(ECMAErrors.java:172)
    at jdk.nashorn.internal.objects.Global.checkObject(Global.java:1673)
    at jdk.nashorn.internal.objects.NativeObject.create(NativeObject.java:261)
    at jdk.nashorn.internal.scripts.Script$Recompilation$61$12886AA$\^eval\_.L:1$L:30$highlight$startNewMode(node_modules/highlight.js/lib/highlight.js:426)
    at jdk.nashorn.internal.scripts.Script$Recompilation$56$13068AA$\^eval\_.L:1$L:30$highlight$processLexeme(node_modules/highlight.js/lib/highlight.js:451)
    at jdk.nashorn.internal.scripts.Script$Recompilation$43$9774AAZA$\^eval\_.L:1$L:30$highlight(node_modules/highlight.js/lib/highlight.js:519)
    at jdk.nashorn.internal.scripts.Script$Recompilation$42$16955AJA$\^eval\_.L:1$L:30$highlightAuto$L:564(node_modules/highlight.js/lib/highlight.js:565)
    at jdk.nashorn.internal.objects.NativeArray$9.forEach(NativeArray.java:1604)
    at jdk.nashorn.internal.runtime.arrays.IteratorAction.apply(IteratorAction.java:110)
    at jdk.nashorn.internal.objects.NativeArray.forEach(NativeArray.java:1607)
    at jdk.nashorn.internal.scripts.Script$Recompilation$40$16706AA$\^eval\_.L:1$L:30$highlightAuto(node_modules/highlight.js/lib/highlight.js:564)
    at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:640)
    at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:229)
    at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:387)
    at jdk.nashorn.api.scripting.ScriptObjectMirror.call(ScriptObjectMirror.java:110)
    at jdk.nashorn.api.scripting.ScriptObjectMirror.callMember(ScriptObjectMirror.java:194)
    at jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:381)
    ... 71 common frames omitted
java.lang.RuntimeException: Ornate run failed with status code 1
    at com.novocode.ornate.sbtplugin.OrnatePlugin$$anonfun$ornateTask$1.apply(OrnatePlugin.scala:63)
    at com.novocode.ornate.sbtplugin.OrnatePlugin$$anonfun$ornateTask$1.apply(OrnatePlugin.scala:39)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Fortunately, running this on JDK8 works fine. This error may be caused because you're accessing a JS object and not a Java object?

Related issue: https://bugs.openjdk.java.net/browse/JDK-8154720

@szeiger
Copy link
Owner

szeiger commented Mar 11, 2017

This is probably a Java bug. Which version of the JRE and JDK did you use? You need something like u100+ of Java 8, earlier releases (including the default Java 8 on Travis CI) don't work.

@sjrd
Copy link

sjrd commented Jul 4, 2017

I got the same problem on Windows with:

>java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

@szeiger
Copy link
Owner

szeiger commented Jul 5, 2017

Hm, either they changed something again or it's really a JRE vs JDK thing (which seems unlikely). I'll have to update my Java installation and investigate.

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

No branches or pull requests

3 participants