Timeout when building v0.37.3

I’ve noticed since v0.37.1, build script has changed. And I’m having trouble to finish a custom build with a timeout message as follows

Step failed: Timed out after 900000 ms.
{:via
[{:type clojure.lang.ExceptionInfo,
:message “Timed out after 900000 ms.”,
:data {},
:at [metabuild_common.shell$deref_with_timeout invokeStatic “shell.clj” 21]}],
:trace
[[metabuild_common.shell$deref_with_timeout invokeStatic “shell.clj” 21]
[metabuild_common.shell$deref_with_timeout invoke “shell.clj” 18]
[metabuild_common.shell$sh_STAR_$fn__409 invoke “shell.clj” 65]
[metabuild_common.steps$do_step invokeStatic “steps.clj” 85]
[metabuild_common.steps$do_step invoke “steps.clj” 79]
[metabuild_common.shell$sh_STAR_ invokeStatic “shell.clj” 44]
[metabuild_common.shell$sh_STAR_ doInvoke “shell.clj” 26]
[clojure.lang.RestFn applyTo “RestFn.java” 137]
[clojure.core$apply invokeStatic “core.clj” 665]
[clojure.core$apply invoke “core.clj” 660]
[metabuild_common.shell$sh invokeStatic “shell.clj” 74]
[metabuild_common.shell$sh doInvoke “shell.clj” 69]
[clojure.lang.RestFn invoke “RestFn.java” 436]
[build$build_frontend_BANG_$fn__2638$fn__2641 invoke “build.clj” 35]
[metabuild_common.steps$do_step invokeStatic “steps.clj” 85]
[metabuild_common.steps$do_step invoke “steps.clj” 79]
[build$build_frontend_BANG_$fn__2638 invoke “build.clj” 34]
[metabuild_common.steps$do_step invokeStatic “steps.clj” 85]
[metabuild_common.steps$do_step invoke “steps.clj” 79]
[build$build_frontend_BANG_ invokeStatic “build.clj” 31]
[build$build_frontend_BANG_ invoke “build.clj” 26]
[build$fn__2656 invokeStatic “build.clj” 65]
[build$fn__2656 invoke “build.clj” 64]
[build$build_BANG_$fn__2668 invoke “build.clj” 90]
[metabuild_common.steps$do_step invokeStatic “steps.clj” 85]
[metabuild_common.steps$do_step invoke “steps.clj” 79]
[build$build_BANG_ invokeStatic “build.clj” 79]
[build$build_BANG_ invoke “build.clj” 71]
[build$_main$fn__2679 invoke “build.clj” 95]
[metabuild_common.entrypoint$do_exit_when_finished_nonzero_on_exception invokeStatic “entrypoint.clj” 8]
[metabuild_common.entrypoint$do_exit_when_finished_nonzero_on_exception invoke “entrypoint.clj” 6]
[build$_main invokeStatic “build.clj” 94]
[build$_main doInvoke “build.clj” 93]
[clojure.lang.RestFn invoke “RestFn.java” 397]
[clojure.lang.AFn applyToHelper “AFn.java” 152]
[clojure.lang.RestFn applyTo “RestFn.java” 132]
[clojure.lang.Var applyTo “Var.java” 705]
[clojure.core$apply invokeStatic “core.clj” 665]
[clojure.main$main_opt invokeStatic “main.clj” 514]
[clojure.main$main_opt invoke “main.clj” 510]
[clojure.main$main invokeStatic “main.clj” 664]
[clojure.main$main doInvoke “main.clj” 616]
[clojure.lang.RestFn applyTo “RestFn.java” 137]
[clojure.lang.Var applyTo “Var.java” 705]
[clojure.main main “main.java” 40]],
:cause “Timed out after 900000 ms.”,
:data {}}
Step “$ “./node_modules/.bin/webpack” “–bail”” failed with error “Timed out after 900000 ms.”

I’m using a debian based docker image for that. Any ideas what I should I do to properly build the new version?

Hi @vitor.hirota
There has been many changes to the build scripts since 0.37 - almost a complete rewrite.
Looks like something in webpack is failing. Try with a completely clean branch without any of your changes.
Post the output of the following:

# OS and version
 sed -nE 's/^PRETTY_NAME="([^"]+)"$/\1/p' /etc/os-release
# Git branch and commit
 echo `git status | head -1 && git log -1 --format="commit %H"`
# Java version and architecture
 java -version
# Java variable configuration
 echo $JAVA_HOME
# Java path configuration
 echo $PATH | grep --color=never -oe "/usr/lib/jvm/[^:]*"
# Lein version
 lein --version
# NodeJS version
 nodejs --version
# Yarn version
 yarn --version

Thanks for the reply @flamber

I did manage to complete a build by just updating the timeout value to a obscenely high value in shell.clj
I’ll also try again in a fresh branch, as you suggested.

Here it goes the output asked:

$ # OS and version
$  sed -nE 's/^PRETTY_NAME="([^"]+)"$/\1/p' /etc/os-release
Debian GNU/Linux 10 (buster)
$ # Git branch and commit
$  echo `git status | head -1 && git log -1 --format="commit %H"`
Refresh index: 100% (3313/3313), done.
HEAD detached at v0.37.3 commit 2f1e7839b3e28a1ec648dc4701dfddd20393d7c0
$ # Java version and architecture
$  java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.265-b01, mixed mode)
$ # Java variable configuration
$  echo $JAVA_HOME
/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java
$ # Java path configuration
$  echo $PATH | grep --color=never -oe "/usr/lib/jvm/[^:]*"
/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin
$ # Lein version
$  lein --version
Warning: implicit hook found: lein-environ.plugin/hooks 
Hooks are deprecated and will be removed in a future version.
Leiningen 2.9.0 on Java 1.8.0_265 OpenJDK 64-Bit Server VM
$ # NodeJS version
$  nodejs --version
v12.18.4
$ # Yarn version
$  yarn --version
1.22.5

@vitor.hirota I cannot see which yarn version you’re using, but everything else seems a-okay.
It’s failing after 15 minutes. How long does a build take after you have adjusted the timeout value?
Does the container has some resource restrictions?

Sorry about missing the last output, but yarn is at version 1.22.5.

It took the whole night. Docker container is set to 4 CPUs with 2Gb RAM and 1 Gb swap on an MBP 2.8Ghz i7 quad-core with 16Gb RAM and SSD running on Catalina.

If running directly in macos, I would not be able to build translations, probably due to my lack of skills fixing PATH for node/system libraries, so figured it would just be easier to do it in a container.

Should I just drop the container and build in macos?

@vitor.hirota I’m not sure what is causing this. We build and run all tests in less than 35 minutes on CI with similar resources, so I would think there’s something wrong in the environment, but I just don’t what.

Appreciate the support @flamber
If I ever manage to figure this out, I will post back here for future reference.

Cheers!