AsciidocFX
AsciidocFX copied to clipboard
HTML preview and conversion fails in 1.7.0
OS: Windows 10 64 bit.
- Upgrade from 1.6.8 to 1.7.0
- Window pops up to choose the config settings from previous version.
- Click cancel to create new settings.
- Open any .ad file.
- HTML preview doesn't show and HTML conversion fails as well.
Hi, is it reproducible?
@rahmanusta Yes, it is reproducible on Windows 10. It works fine on MacOS though.
Uninstalling and reinstalling 1.7.0 fixes this issue. This could be an issue with the upgrade from 1.6.8 to 1.7.0.
I was able to reproduce this again with the same version. Here is the error log if that could help. Please let me know if you need more information.
ERROR => Problem occured while converting to HTML
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Task: 62027f75-bd55-40e7-8a66-30b6869203ba is not completed
at com.kodedu.engine.AsciidocWebkitConverter.convert(AsciidocWebkitConverter.java:146)
at com.kodedu.engine.AsciidocWebkitConverter.convertHtml(AsciidocWebkitConverter.java:188)
at com.kodedu.service.convert.html.HtmlBookConverter.convert(HtmlBookConverter.java:68)
at com.kodedu.controller.ApplicationController.lambda$generateHtml$9(ApplicationController.java:516)
at com.kodedu.service.ThreadService$1.call(ThreadService.java:48)
at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1406)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Task: 62027f75-bd55-40e7-8a66-30b6869203ba is not completed
at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2093)
at com.kodedu.engine.AsciidocWebkitConverter.convert(AsciidocWebkitConverter.java:144)
... 12 common frames omitted
Caused by: java.lang.RuntimeException: Task: 62027f75-bd55-40e7-8a66-30b6869203ba is not completed
at com.kodedu.controller.ApplicationController.lambda$completeWebWorkerExceptionally$171(ApplicationController.java:2304)
at java.base/java.util.Optional.ifPresent(Optional.java:183)
at com.kodedu.controller.ApplicationController.lambda$completeWebWorkerExceptionally$172(ApplicationController.java:2303)
... 9 common frames omitted
Do you reproduce it each time or randomly?
@rahmanusta I'm able to reproduce this consistently.
- Reboot the Windows box
- Start AsciidocFx
- Open any .ad file.
- Click on HTML5 button on the preview to save HTML.
- Log message bar says:
Problem occurred while converting to HTML
. - Click on Log button at the bottom bar. The exception is visible now.
- Click on PDF button on the preview to save PDF.
- Log message bar says:
PDF conversion ended
. The PDF file is available on the file system.
I had the same issue, when I removed my previous settings from earlier versions the error went away.
Tried reproducing this with AsciidocFx v1.7.4.
- Start AsciidocFX
- Create a simple ascii doc file
- Click on HTML5 button on the preview to save HTML.
- Log shows below
- Add
:stylesheet: default.css
to the top of the doc and create an emptydefault.css
as follows:= Release Notes Some stuff v1, 2021-04-27 :stylesheet: default.css
- Click on HTML5 button on the preview to save HTML.
- HTML conversion will fail and the log window will show this error.
ERROR => UT005023: Exception handling request to /afx/worker/js/resource.afx
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: Illegal character in path at index 4: ./C:\Users\217216x715132\Code\Capture\CaptureService\docs/default.css
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:517)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:584)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1449)
at java.base/java.lang.Thread.run(Thread.java:853)
Caused by: java.lang.IllegalArgumentException: Illegal character in path at index 4: ./C:\Users\217216x715132\Code\Capture\CaptureService\docs/default.css
at java.base/java.net.URI.create(URI.java:906)
at com.kodedu.helper.IOHelper.getPath(IOHelper.java:593)
at com.kodedu.controller.WebWorkerResource.onrequest(WebWorkerResource.java:102)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
... 50 common frames omitted
Caused by: java.net.URISyntaxException: Illegal character in path at index 4: ./C:\Users\217216x715132\Code\Capture\CaptureService\docs/default.css
at java.base/java.net.URI$Parser.fail(URI.java:2966)
at java.base/java.net.URI$Parser.checkChars(URI.java:3137)
at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3219)
at java.base/java.net.URI$Parser.parse(URI.java:3178)
at java.base/java.net.URI.<init>(URI.java:623)
at java.base/java.net.URI.create(URI.java:904)
... 65 common frames omitted
Additional info on the issue:
While using custom stylesheet, if we use :linkcss:
, then the error goes away. Although now the stylesheets need to be moved along with the html doc.
Any solution to this yet?