asciidocfx / AsciidocFX

Asciidoc Editor and Toolchain written with JavaFX 21 (Build PDF, Epub, Mobi and HTML books, documents and slides)
http://www.asciidocfx.com/
Apache License 2.0
1.86k stars 296 forks source link

problem occured while rendering content - empty preview #559

Closed a-worsley closed 1 year ago

a-worsley commented 1 year ago

Sometimes works, other times the preview is blank for the same document. Running the latest windows build 1.7.7. I can't even view the AsciiDoc cheatsheet right now - I get this debug error:

ERROR => Problem occured while rendering content java.nio.file.InvalidPathException: Illegal char <:> at index 5: https://kodedu.com/wp-content/uploads/2017/02/kodedu-logo-e1487527571657.png.cache at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182) at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153) at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92) at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:232) at java.base/java.nio.file.Path.resolve(Path.java:515) at com.kodedu.service.extension.processor.CacheSuffixAppenderProcessor.process(CacheSuffixAppenderProcessor.java:49) at org.asciidoctor.jruby.extension.processorproxies.TreeprocessorProxy.process(TreeprocessorProxy.java:95) at org.asciidoctor.jruby.extension.processorproxies.TreeprocessorProxy$INVOKER$i$1$0$process.call(TreeprocessorProxy$INVOKER$i$1$0$process.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrN.call(JavaMethod.java:967) at org.jruby.RubyMethod.call(RubyMethod.java:119) at org.jruby.RubyMethod$INVOKER$i$call.call(RubyMethod$INVOKER$i$call.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrOneOrNBlock.call(JavaMethod.java:354) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:173) at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:316) at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72) at org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116) at org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:136) at org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:170) at org.jruby.runtime.BlockBody.yield(BlockBody.java:108) at org.jruby.runtime.Block.yield(Block.java:188) at org.jruby.RubyArray.each(RubyArray.java:1865) at org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:560) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:94) at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:546) at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361) at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72) at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:80) at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:164) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:151) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:198) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:142) at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:345) at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72) at org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:92) at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:238) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:225) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:214) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204) at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:325) at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72) at org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:180) at org.jruby.RubyClass.finvoke(RubyClass.java:782) at org.jruby.runtime.Helpers.invoke(Helpers.java:661) at org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:370) at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convert(JRubyAsciidoctor.java:311) at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convert(JRubyAsciidoctor.java:336) at org.asciidoctor.jruby.internal.JRubyAsciidoctor.convert(JRubyAsciidoctor.java:331) at com.kodedu.engine.AsciidocAsciidoctorjConverter.convert(AsciidocAsciidoctorjConverter.java:124) at com.kodedu.engine.AsciidocAsciidoctorjConverter.convert(AsciidocAsciidoctorjConverter.java:97) at com.kodedu.controller.ApplicationController.renderLoop(ApplicationController.java:2314) at com.kodedu.controller.ApplicationController.lambda$initializeApp$14(ApplicationController.java:573) at com.kodedu.service.impl.ThreadServiceImpl$1.call(ThreadServiceImpl.java:52) at javafx.graphics@18.0.1/javafx.concurrent.Task$TaskCallable.call(Task.java:1426) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1375) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

rahmanusta commented 1 year ago

Hi, thanks for reporting the issue. I fixed it. Can you reinstall https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.7 and check if that works?

a-worsley commented 1 year ago

Thanks. That did seem to fix the problem. However, something else I noticed is that sometimes as you swap between .adoc files (in my case by double clicking them in the "Workdir" panel on the LHS), they don't initially render in the preview pane. No error is reported as far as I can see - but nothing to see in the preview either (just "..."). As soon as I make any change to the adoc file (eg add a space char somewhere), the preview comes back to life. OK as a workaround, but still a bit annoying when you're switching between several docs.

a-worsley commented 1 year ago

Update - the Refresh button is another workaround which seems to revive the preview reliably.

cdokolas commented 1 year ago

Hi, thanks for reporting the issue. I fixed it. Can you reinstall https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.7 and check if that works?

The problem is still there in 1.7.8 (Windows)

rahmanusta commented 1 year ago

Hi, thanks for reporting the issue. I fixed it. Can you reinstall https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.7 and check if that works?

The problem is still there in 1.7.8 (Windows)

Can you elaborate the problem?

cdokolas commented 1 year ago

Hi, thanks for reporting the issue. I fixed it. Can you reinstall https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.7 and check if that works?

The problem is still there in 1.7.8 (Windows)

Can you elaborate the problem?

"The problem", being that whenever the user switches document (via the tabs) the preview pane goes blank, containing only a "..." on the top left corner.

To update the preview the user must edit the document or clicking the refresh button (which, coincidentally, has no keyboard shortcut).

rahmanusta commented 1 year ago

Hi, Can you check if https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.9 works ?

cdokolas commented 1 year ago

Hi, Can you check if https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.9 works ?

Looks good. Thanks for fixing!