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
Running gradlew vaadinClean clean build -Pvaadin.productionMode with an empty pnpm cache on Windows 10 will never complete - the command will freeze forever.
Connecting VisualVM to the GradleDaemon process and dumping threads will reveal that the execution is blocked in the pnpm execution:
"Execution worker for ':'" #178 prio=5 os_prio=0 tid=0x0000000018b4b000 nid=0x3d7c runnable [0x0000000029bbb000]
java.lang.Thread.State: RUNNABLE
at java.lang.ProcessImpl.waitForInterruptibly(Native Method)
at java.lang.ProcessImpl.waitFor(ProcessImpl.java:449)
at com.vaadin.flow.server.frontend.TaskRunNpmInstall.runNpmInstall(TaskRunNpmInstall.java:374)
at com.vaadin.flow.server.frontend.TaskRunNpmInstall.execute(TaskRunNpmInstall.java:118)
at com.vaadin.flow.server.frontend.NodeTasks.execute(NodeTasks.java:634)
at com.vaadin.gradle.VaadinBuildFrontendTask.runNodeUpdater(VaadinBuildFrontendTask.kt:132)
at com.vaadin.gradle.VaadinBuildFrontendTask.vaadinBuildFrontend(VaadinBuildFrontendTask.kt:75)
My hypothesis is that pnpm is printing too much stuff into stdout which is not properly piped out. The buffer is rather small; when the buffer overflows, Windows will simply stop pnpm until the stdout buffer drains. Unfortunately there's nothing reading the stdout buffer and thus the buffer never drains.
I have no direct proof, but I have several items supporting this claim:
When a Maven project is built on the same drive, it pre-populates the .pnpm-store folder. This will cause the gradle build to succeed, most probably because pnpm is not doing much download and will thus not overflow the stdout buffer.
As opposed to Maven build, Gradle build prints nothing by default to stdout, not even when the --info switch is used.
Steps to reproduce
Make sure that there is no C:\.pnpm-store, D:\.pnpm-store on any of your hard drives. This will force pnpm to redownload all dependencies, reproducinig the issue.
Run gradlew vaadinClean clean build -Pvaadin.productionMode on this project on master.
The text was updated successfully, but these errors were encountered:
Running
gradlew vaadinClean clean build -Pvaadin.productionMode
with an empty pnpm cache on Windows 10 will never complete - the command will freeze forever.Connecting VisualVM to the GradleDaemon process and dumping threads will reveal that the execution is blocked in the pnpm execution:
My hypothesis is that pnpm is printing too much stuff into stdout which is not properly piped out. The buffer is rather small; when the buffer overflows, Windows will simply stop pnpm until the stdout buffer drains. Unfortunately there's nothing reading the stdout buffer and thus the buffer never drains.
I have no direct proof, but I have several items supporting this claim:
.pnpm-store
folder. This will cause the gradle build to succeed, most probably because pnpm is not doing much download and will thus not overflow the stdout buffer.--info
switch is used.Steps to reproduce
C:\.pnpm-store
,D:\.pnpm-store
on any of your hard drives. This will force pnpm to redownload all dependencies, reproducinig the issue.gradlew vaadinClean clean build -Pvaadin.productionMode
on this project on master.The text was updated successfully, but these errors were encountered: