You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running a Spring Boot 2.4.3 project with WebFlux and Thymeleaf to render some HTML pages, BlockHound detects blocking calls when the HTML Pages are rendered.
I am running with JDK 11 on Windows 10.
I attachment a sample program to reproduce the problem. If the test class is run, this error is shown:
2021-03-05 19:37:38.199 ERROR 3284 --- [ctor-http-nio-4] a.w.r.e.AbstractErrorWebExceptionHandler : [831b8141-1] 500 Server Error for HTTP GET "/hello"
reactor.blockhound.BlockingOperationError: Blocking call! java.io.RandomAccessFile#readBytes
at java.base/java.io.RandomAccessFile.readBytes(RandomAccessFile.java) ~[na:na]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
|_ checkpoint ? Handler eu.xenit.test.spring.reactor.webflux.blockhound.ThymeLeafController#hello(String, Model) [DispatcherHandler]
|_ checkpoint ? HTTP GET "/hello" [ExceptionHandlingWebHandler]
Stack trace:
at java.base/java.io.RandomAccessFile.readBytes(RandomAccessFile.java) ~[na:na]
at java.base/java.io.RandomAccessFile.read(RandomAccessFile.java:406) ~[na:na]
at java.base/java.io.RandomAccessFile.readFully(RandomAccessFile.java:470) ~[na:na]
at java.base/java.util.zip.ZipFile$Source.readFullyAt(ZipFile.java:1304) ~[na:na]
at java.base/java.util.zip.ZipFile$ZipFileInputStream.initDataOffset(ZipFile.java:998) ~[na:na]
at java.base/java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:1013) ~[na:na]
at java.base/java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:468) ~[na:na]
at java.base/java.util.zip.InflaterInputStream.read(InflaterInputStream.java:159) ~[na:na]
at java.base/java.io.InputStream.readNBytes(InputStream.java:490) ~[na:na]
at java.base/java.util.jar.JarFile.getBytes(JarFile.java:805) ~[na:na]
at java.base/java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:1005) ~[na:na]
at java.base/java.util.jar.JarFile.isMultiRelease(JarFile.java:388) ~[na:na]
at java.base/java.util.jar.JarFile.getEntry(JarFile.java:507) ~[na:na]
at java.base/sun.net.www.protocol.jar.URLJarFile.getEntry(URLJarFile.java:131) ~[na:na]
at java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:137) ~[na:na]
at java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:155) ~[na:na]
at java.base/java.net.URL.openStream(URL.java:1139) ~[na:na]
at java.base/java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1738) ~[na:na]
at org.thymeleaf.util.ClassLoaderUtils.findResourceAsStream(ClassLoaderUtils.java:355) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.util.ClassLoaderUtils.loadResourceAsStream(ClassLoaderUtils.java:324) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.Thymeleaf.(Thymeleaf.java:77) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.ConfigurationPrinterHelper.printConfiguration(ConfigurationPrinterHelper.java:88) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.TemplateEngine.initialize(TemplateEngine.java:346) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.TemplateEngine.getConfiguration(TemplateEngine.java:406) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.thymeleaf.spring5.view.reactive.ThymeleafReactiveView.render(ThymeleafReactiveView.java:334) ~[thymeleaf-spring5-3.0.12.RELEASE.jar:3.0.12.RELEASE]
at org.springframework.web.reactive.result.view.ViewResolutionResultHandler.renderWith(ViewResolutionResultHandler.java:340) ~[spring-webflux-5.3.4.jar:5.3.4]
at org.springframework.web.reactive.result.view.ViewResolutionResultHandler.render(ViewResolutionResultHandler.java:328) ~[spring-webflux-5.3.4.jar:5.3.4]
reactor.blockhound.BlockingOperationError: Blocking call! java.io.FileInputStream#readBytes
at java.base/java.io.FileInputStream.readBytes(FileInputStream.java)
at java.base/java.io.FileInputStream.read(FileInputStream.java:279)
at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:290)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:290)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at java.base/java.io.BufferedReader.read1(BufferedReader.java:212)
at java.base/java.io.BufferedReader.read(BufferedReader.java:287)
at org.thymeleaf.templateparser.reader.BlockAwareReader.readBytes(BlockAwareReader.java:223)
at org.thymeleaf.templateparser.reader.BlockAwareReader.read(BlockAwareReader.java:68)
at org.thymeleaf.templateparser.reader.PrototypeOnlyCommentMarkupReader.read(PrototypeOnlyCommentMarkupReader.java:30)
at org.thymeleaf.templateparser.reader.BlockAwareReader.readBytes(BlockAwareReader.java:223)
at org.thymeleaf.templateparser.reader.BlockAwareReader.read(BlockAwareReader.java:68)
at org.thymeleaf.templateparser.reader.ParserLevelCommentMarkupReader.read(ParserLevelCommentMarkupReader.java:30)
at java.base/java.io.Reader.read(Reader.java:229)
at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:286)
at org.attoparser.MarkupParser.parse(MarkupParser.java:257)
at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:230)
at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone(AbstractMarkupTemplateParser.java:100)
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:649)
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098)
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072)
at org.thymeleaf.spring5.SpringWebFluxTemplateEngine.lambda$createFullStream$0(SpringWebFluxTemplateEngine.java:212)
at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57)
When running a Spring Boot 2.4.3 project with WebFlux and Thymeleaf to render some HTML pages, BlockHound detects blocking calls when the HTML Pages are rendered.
I am running with JDK 11 on Windows 10.
I attachment a sample program to reproduce the problem. If the test class is run, this error is shown:
spring-reactor-webflux-thymeleaf-blockhound.zip
The text was updated successfully, but these errors were encountered: