Skip to content

update erlang hash#21810

Open
getong wants to merge 1 commit into
docker-library:masterfrom
getong:fix-erlang-hash
Open

update erlang hash#21810
getong wants to merge 1 commit into
docker-library:masterfrom
getong:fix-erlang-hash

Conversation

@getong

@getong getong commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

@getong
getong requested a review from a team as a code owner July 9, 2026 04:43
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Diff for cec412c:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 43aaaa4..9759800 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -8,7 +8,7 @@ Directory: 24
 
 Tags: 24.3.4.17-alpine, 24.3.4-alpine, 24.3-alpine, 24-alpine
 Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: c53dea08f070401029225a4942130646be44f377
+GitCommit: 5c0a7956e328ab5f22b1eedd27ebb0d87758b3fd
 Directory: 24/alpine
 
 Tags: 24.3.4.17-slim, 24.3.4-slim, 24.3-slim, 24-slim
@@ -23,7 +23,7 @@ Directory: 25
 
 Tags: 25.3.2.21-alpine, 25.3.2-alpine, 25.3-alpine, 25-alpine
 Architectures: amd64, arm32v7, arm64v8, i386
-GitCommit: c53dea08f070401029225a4942130646be44f377
+GitCommit: 5c0a7956e328ab5f22b1eedd27ebb0d87758b3fd
 Directory: 25/alpine
 
 Tags: 25.3.2.21-slim, 25.3.2-slim, 25.3-slim, 25-slim
@@ -38,7 +38,7 @@ Directory: 26
 
 Tags: 26.2.5.21-alpine, 26.2.5-alpine, 26.2-alpine, 26-alpine
 Architectures: amd64, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: a9c4373805165862f746636ee753b2c5255b260e
+GitCommit: 5c0a7956e328ab5f22b1eedd27ebb0d87758b3fd
 Directory: 26/alpine
 
 Tags: 26.2.5.21-slim, 26.2.5-slim, 26.2-slim, 26-slim
@@ -53,7 +53,7 @@ Directory: 27
 
 Tags: 27.3.4.14-alpine, 27.3.4-alpine, 27.3-alpine, 27-alpine
 Architectures: amd64, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 47a13ae5d75c55c6fa6bbd8228cce83ce8f4bed0
+GitCommit: 5c0a7956e328ab5f22b1eedd27ebb0d87758b3fd
 Directory: 27/alpine
 
 Tags: 27.3.4.14-slim, 27.3.4-slim, 27.3-slim, 27-slim
@@ -68,7 +68,7 @@ Directory: 28
 
 Tags: 28.5.0.3-alpine, 28.5.0-alpine, 28.5-alpine, 28-alpine
 Architectures: amd64, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 47a13ae5d75c55c6fa6bbd8228cce83ce8f4bed0
+GitCommit: 5c0a7956e328ab5f22b1eedd27ebb0d87758b3fd
 Directory: 28/alpine
 
 Tags: 28.5.0.3-slim, 28.5.0-slim, 28.5-slim, 28-slim
@@ -83,7 +83,7 @@ Directory: 29
 
 Tags: 29.0.3.0-alpine, 29.0.3-alpine, 29.0-alpine, 29-alpine, alpine
 Architectures: amd64, arm32v7, arm64v8, i386, ppc64le, s390x
-GitCommit: 47a13ae5d75c55c6fa6bbd8228cce83ce8f4bed0
+GitCommit: 5c0a7956e328ab5f22b1eedd27ebb0d87758b3fd
 Directory: 29/alpine
 
 Tags: 29.0.3.0-slim, 29.0.3-slim, 29.0-slim, 29-slim, slim
diff --git a/erlang_24-alpine/Dockerfile b/erlang_24-alpine/Dockerfile
index bd80b03..bfe7ec9 100644
--- a/erlang_24-alpine/Dockerfile
+++ b/erlang_24-alpine/Dockerfile
@@ -39,8 +39,8 @@ RUN set -xe \
 	  && make install ) \
 	&& rm -rf $ERL_TOP \
 	&& find /usr/local -regex '/usr/local/lib/erlang/\(lib/\|erts-\).*/\(man\|doc\|obj\|c_src\|emacs\|info\|examples\)' | xargs rm -rf \
-	&& find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true \
-	&& find /usr/local -name src | xargs -r find | xargs rmdir -vp || true \
+	&& { find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true; } \
+	&& { find /usr/local -name src | xargs -r find | xargs rmdir -vp || true; } \
 	&& scanelf --nobanner -E ET_EXEC -BF '%F' --recursive /usr/local | xargs -r strip --strip-all \
 	&& scanelf --nobanner -E ET_DYN -BF '%F' --recursive /usr/local | xargs -r strip --strip-unneeded \
 	&& runDeps="$( \
diff --git a/erlang_25-alpine/Dockerfile b/erlang_25-alpine/Dockerfile
index eeef77f..59472c8 100644
--- a/erlang_25-alpine/Dockerfile
+++ b/erlang_25-alpine/Dockerfile
@@ -39,8 +39,8 @@ RUN set -xe \
 	  && make install ) \
 	&& rm -rf $ERL_TOP \
 	&& find /usr/local -regex '/usr/local/lib/erlang/\(lib/\|erts-\).*/\(man\|doc\|obj\|c_src\|emacs\|info\|examples\)' | xargs rm -rf \
-	&& find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true \
-	&& find /usr/local -name src | xargs -r find | xargs rmdir -vp || true \
+	&& { find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true; } \
+	&& { find /usr/local -name src | xargs -r find | xargs rmdir -vp || true; } \
 	&& scanelf --nobanner -E ET_EXEC -BF '%F' --recursive /usr/local | xargs -r strip --strip-all \
 	&& scanelf --nobanner -E ET_DYN -BF '%F' --recursive /usr/local | xargs -r strip --strip-unneeded \
 	&& runDeps="$( \
diff --git a/erlang_26-alpine/Dockerfile b/erlang_26-alpine/Dockerfile
index 5ac4637..a29e9bf 100644
--- a/erlang_26-alpine/Dockerfile
+++ b/erlang_26-alpine/Dockerfile
@@ -39,8 +39,8 @@ RUN set -xe \
 	  && make install ) \
 	&& rm -rf $ERL_TOP \
 	&& find /usr/local -regex '/usr/local/lib/erlang/\(lib/\|erts-\).*/\(man\|doc\|obj\|c_src\|emacs\|info\|examples\)' | xargs rm -rf \
-	&& find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true \
-	&& find /usr/local -name src | xargs -r find | xargs rmdir -vp || true \
+	&& { find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true; } \
+	&& { find /usr/local -name src | xargs -r find | xargs rmdir -vp || true; } \
 	&& scanelf --nobanner -E ET_EXEC -BF '%F' --recursive /usr/local | xargs -r strip --strip-all \
 	&& scanelf --nobanner -E ET_DYN -BF '%F' --recursive /usr/local | xargs -r strip --strip-unneeded \
 	&& runDeps="$( \
diff --git a/erlang_27-alpine/Dockerfile b/erlang_27-alpine/Dockerfile
index 9eda6db..d1e10b3 100644
--- a/erlang_27-alpine/Dockerfile
+++ b/erlang_27-alpine/Dockerfile
@@ -39,8 +39,8 @@ RUN set -xe \
 	  && make install ) \
 	&& rm -rf $ERL_TOP \
 	&& find /usr/local -regex '/usr/local/lib/erlang/\(lib/\|erts-\).*/\(man\|doc\|obj\|c_src\|emacs\|info\|examples\)' | xargs rm -rf \
-	&& find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true \
-	&& find /usr/local -name src | xargs -r find | xargs rmdir -vp || true \
+	&& { find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true; } \
+	&& { find /usr/local -name src | xargs -r find | xargs rmdir -vp || true; } \
 	&& scanelf --nobanner -E ET_EXEC -BF '%F' --recursive /usr/local | xargs -r strip --strip-all \
 	&& scanelf --nobanner -E ET_DYN -BF '%F' --recursive /usr/local | xargs -r strip --strip-unneeded \
 	&& runDeps="$( \
diff --git a/erlang_28-alpine/Dockerfile b/erlang_28-alpine/Dockerfile
index 4e56569..1a6766b 100644
--- a/erlang_28-alpine/Dockerfile
+++ b/erlang_28-alpine/Dockerfile
@@ -39,8 +39,8 @@ RUN set -xe \
 	  && make install ) \
 	&& rm -rf $ERL_TOP \
 	&& find /usr/local -regex '/usr/local/lib/erlang/\(lib/\|erts-\).*/\(man\|doc\|obj\|c_src\|emacs\|info\|examples\)' | xargs rm -rf \
-	&& find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true \
-	&& find /usr/local -name src | xargs -r find | xargs rmdir -vp || true \
+	&& { find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true; } \
+	&& { find /usr/local -name src | xargs -r find | xargs rmdir -vp || true; } \
 	&& scanelf --nobanner -E ET_EXEC -BF '%F' --recursive /usr/local | xargs -r strip --strip-all \
 	&& scanelf --nobanner -E ET_DYN -BF '%F' --recursive /usr/local | xargs -r strip --strip-unneeded \
 	&& runDeps="$( \
diff --git a/erlang_alpine/Dockerfile b/erlang_alpine/Dockerfile
index 4213e18..dee5d45 100644
--- a/erlang_alpine/Dockerfile
+++ b/erlang_alpine/Dockerfile
@@ -39,8 +39,8 @@ RUN set -xe \
 	  && make install ) \
 	&& rm -rf $ERL_TOP \
 	&& find /usr/local -regex '/usr/local/lib/erlang/\(lib/\|erts-\).*/\(man\|doc\|obj\|c_src\|emacs\|info\|examples\)' | xargs rm -rf \
-	&& find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true \
-	&& find /usr/local -name src | xargs -r find | xargs rmdir -vp || true \
+	&& { find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true; } \
+	&& { find /usr/local -name src | xargs -r find | xargs rmdir -vp || true; } \
 	&& scanelf --nobanner -E ET_EXEC -BF '%F' --recursive /usr/local | xargs -r strip --strip-all \
 	&& scanelf --nobanner -E ET_DYN -BF '%F' --recursive /usr/local | xargs -r strip --strip-unneeded \
 	&& runDeps="$( \

Relevant Maintainers:

@yosifkit

yosifkit commented Jul 9, 2026

Copy link
Copy Markdown
Member

Any thoughts on these build failures? Should I open an issue in erlang/docker-erlang-otp?

Looks like we're getting a weird Alpine + amd64 only build failure, but it only occurs on our EC2 build instances -- we can't reproduce in GHA or locally. 😭

I fed a few details into an LLM and it came back with it possibly being related to AMX support on that CPU (c7i) plus a newer GCC in Alpine 3.24 causing the kernel to dynamically require a larger minimum signal stack size of like >10k (MINSIGSTKSZ) and Alpine musl libc only setting that to a static 2048 and thus the error to setup signals (likely an ENOMEM).

make[2]: Leaving directory '/usr/src/otp_src_29.0.3/lib/parsetools'
make[2]: Entering directory '/usr/src/otp_src_29.0.3/lib/wx'
=== Entering application wx
make[3]: Entering directory '/usr/src/otp_src_29.0.3/lib/wx/src'
 ERLC	../ebin/gl.beam
sys/unix/sys_signal_stack.c:103:sys_sigaltstack(): Internal error: Failed to set alternate signal stack
make[3]: *** [Makefile:115: ../ebin/gl.beam] Aborted (core dumped)
make[3]: Leaving directory '/usr/src/otp_src_29.0.3/lib/wx/src'
make[2]: *** [/usr/src/otp_src_29.0.3/make/otp_subdir.mk:31: opt] Error 2
make[2]: Leaving directory '/usr/src/otp_src_29.0.3/lib/wx'
make[1]: *** [/usr/src/otp_src_29.0.3/make/otp_subdir.mk:31: opt] Error 2
make[1]: Leaving directory '/usr/src/otp_src_29.0.3/lib'
make: *** [Makefile:693: tertiary_bootstrap] Error 2

@getong

getong commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

@mkonrad
Do you have EC2 instance for this issue? I don't have this for test. Need help.
also see #21757

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants