Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2024.2.0-beta.10] docker compose buildがfailする #13177

Closed
1 task
kyong opened this issue Feb 6, 2024 · 4 comments · Fixed by #13598
Closed
1 task

[2024.2.0-beta.10] docker compose buildがfailする #13177

kyong opened this issue Feb 6, 2024 · 4 comments · Fixed by #13598
Assignees
Labels
⚠️bug? This might be a bug

Comments

@kyong
Copy link

kyong commented Feb 6, 2024

💡 Summary

2024.2.0-beta.9, 2024.2.0-beta.10のバージョンでdocker compose buildがエラーで終了する。
2024.2.0-beta.8はビルドできた。
メモリ 2GBインスタンスではもうビルド無理?

🥰 Expected Behavior

docker compose buildが正常終了する

🤬 Actual Behavior

docker compose buildがエラーで終了する

docker compose build
[+] Building 94.6s (41/49)
 => [internal] load .dockerignore                                                                                                                     0.1s
 => => transferring context: 400B                                                                                                                     0.0s
 => [internal] load build definition from Dockerfile                                                                                                  0.2s
 => => transferring dockerfile: 4.52kB                                                                                                                0.0s
 => resolve image config for docker.io/docker/dockerfile:1.4                                                                                          1.4s
 => CACHED docker-image://docker.io/docker/dockerfile:1.4@sha256:9ba7531bd80fb0a858632727cf7a112fbfd19b17e94c4e84ced81e24ef1a0dbc                     0.0s
 => [internal] load metadata for docker.io/library/node:20.10.0-bullseye-slim                                                                         0.9s
 => [internal] load metadata for docker.io/library/node:20.10.0-bullseye                                                                              1.0s
 => [target-builder  1/11] FROM docker.io/library/node:20.10.0-bullseye@sha256:2df369420e9f9c99dac4e7dee72234ba111e5090493b8a163cdf6d07ca7af214       0.0s
 => [runner  1/15] FROM docker.io/library/node:20.10.0-bullseye-slim@sha256:1d0ce9e6debe189a62c553dc989cb07d28e9bccfb315609f3b26ea7f37a220c4          0.0s
 => [internal] load build context                                                                                                                     0.7s
 => => transferring context: 4.09MB                                                                                                                   0.6s
 => CACHED [native-builder  2/17] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked  --mount=type=cache,target=/var/lib/apt,sharing=locked  0.0s
 => CACHED [native-builder  3/17] RUN corepack enable                                                                                                 0.0s
 => CACHED [native-builder  4/17] WORKDIR /misskey                                                                                                    0.0s
 => CACHED [native-builder  5/17] COPY --link [pnpm-lock.yaml, pnpm-workspace.yaml, package.json, ./]                                                 0.0s
 => CACHED [native-builder  6/17] COPY --link [scripts, ./scripts]                                                                                    0.0s
 => CACHED [native-builder  7/17] COPY --link [packages/backend/package.json, ./packages/backend/]                                                    0.0s
 => CACHED [native-builder  8/17] COPY --link [packages/frontend/package.json, ./packages/frontend/]                                                  0.0s
 => CACHED [native-builder  9/17] COPY --link [packages/sw/package.json, ./packages/sw/]                                                              0.0s
 => CACHED [native-builder 10/17] COPY --link [packages/misskey-js/package.json, ./packages/misskey-js/]                                              0.0s
 => CACHED [native-builder 11/17] COPY --link [packages/misskey-reversi/package.json, ./packages/misskey-reversi/]                                    0.0s
 => CACHED [native-builder 12/17] COPY --link [packages/misskey-bubble-game/package.json, ./packages/misskey-bubble-game/]                            0.0s
 => CACHED [native-builder 13/17] RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked  pnpm i --frozen-lockfile --aggregate-o  0.0s
 => CACHED [target-builder  2/11] RUN apt-get update  && apt-get install -yqq --no-install-recommends  build-essential                                0.0s
 => CACHED [target-builder  3/11] RUN corepack enable                                                                                                 0.0s
 => CACHED [target-builder  4/11] WORKDIR /misskey                                                                                                    0.0s
 => CACHED [target-builder  5/11] COPY --link [pnpm-lock.yaml, pnpm-workspace.yaml, package.json, ./]                                                 0.0s
 => CACHED [target-builder  6/11] COPY --link [scripts, ./scripts]                                                                                    0.0s
 => CACHED [target-builder  7/11] COPY --link [packages/backend/package.json, ./packages/backend/]                                                    0.0s
 => CACHED [target-builder  8/11] COPY --link [packages/misskey-js/package.json, ./packages/misskey-js/]                                              0.0s
 => CACHED [target-builder  9/11] COPY --link [packages/misskey-reversi/package.json, ./packages/misskey-reversi/]                                    0.0s
 => CACHED [target-builder 10/11] COPY --link [packages/misskey-bubble-game/package.json, ./packages/misskey-bubble-game/]                            0.0s
 => CACHED [target-builder 11/11] RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked  pnpm i --frozen-lockfile --aggregate-o  0.0s
 => [native-builder 14/17] COPY --link . ./                                                                                                           4.4s
 => CACHED [runner  2/15] RUN apt-get update  && apt-get install -y --no-install-recommends  ffmpeg tini curl libjemalloc-dev libjemalloc2  && ln -s  0.0s
 => CACHED [runner  3/15] WORKDIR /misskey                                                                                                            0.0s
 => [runner  4/15] COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules                                           64.5s
 => [native-builder 15/17] RUN git submodule update --init                                                                                            2.3s
 => ERROR [native-builder 16/17] RUN pnpm build                                                                                                      83.7s
 => [runner  5/15] COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/node_modules ./packages/backend/node_modules          1.0s
 => [runner  6/15] COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-js/node_modules ./packages/misskey-js/node_modules    0.6s
 => [runner  7/15] COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-reversi/node_modules ./packages/misskey-reversi/node  0.5s
 => [runner  8/15] COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-bubble-game/node_modules ./packages/misskey-bubble-g  0.4s
------
 > [native-builder 16/17] RUN pnpm build:
#30 1.549
#30 1.549 > misskey@2024.2.0-beta.10 build /misskey
#30 1.549 > pnpm build-pre && pnpm -r build && pnpm build-assets
#30 1.549
#30 2.318
#30 2.318 > misskey@2024.2.0-beta.10 build-pre /misskey
#30 2.318 > node ./scripts/build-pre.js
#30 2.318
#30 3.403 Scope: 7 of 8 workspace projects
#30 3.409 packages/misskey-bubble-game build$ node ./build.js
#30 3.422 packages/misskey-js build$ npm run ts
#30 3.422 packages/misskey-reversi build$ node ./build.js
#30 4.303 packages/misskey-reversi build: Done
#30 4.310 packages/misskey-bubble-game build: Done
#30 5.320 packages/misskey-js build: > misskey-js@2024.2.0-beta.8 ts
#30 5.322 packages/misskey-js build: > npm run ts-esm && npm run ts-dts
#30 5.790 packages/misskey-js build: > misskey-js@2024.2.0-beta.8 ts-esm
#30 5.791 packages/misskey-js build: > tsc --outDir built/esm
#30 17.91 packages/misskey-js build: > misskey-js@2024.2.0-beta.8 ts-dts
#30 17.91 packages/misskey-js build: > tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true
#30 27.45 packages/misskey-js build: npm notice
#30 27.45 packages/misskey-js build: npm notice New minor version of npm available! 10.2.3 -> 10.4.0
#30 27.46 packages/misskey-js build: npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.4.0>
#30 27.46 packages/misskey-js build: npm notice Run `npm install -g npm@10.4.0` to update!
#30 27.47 packages/misskey-js build: npm notice
#30 27.48 packages/misskey-js build: Done
#30 27.51 packages/frontend build$ vite build
#30 27.51 packages/backend build$ swc src -d built -D
#30 27.52 packages/sw build$ node build.js
#30 27.75 packages/sw build: (node:223) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
#30 27.75 packages/sw build: (Use `node --trace-warnings ...` to show where the warning was created)
#30 29.16 packages/sw build: Starting SW building...
#30 29.30 packages/sw build: done
#30 29.32 packages/sw build: Done
#30 29.69 packages/backend build: Successfully compiled: 798 files, copied 27 files with swc (655.25ms)
#30 29.72 packages/backend build: Done
#30 30.00 packages/frontend build: vite v5.0.12 building for production...
#30 30.14 packages/frontend build: transforming...
#30 59.59 packages/frontend build: ../misskey-bubble-game/built/esm/index.js (1:30) "Mono" is not exported by "../misskey-bubble-game/built/esm/game.js", imported by "../misskey-bubble-game/built/esm/index.js".
#30 81.47 packages/frontend build: ✓ 2376 modules transformed.
#30 81.65 packages/frontend build: <--- Last few GCs --->
#30 81.66 packages/frontend build: [210:0x74f7af0]    53967 ms: Scavenge 964.7 (997.5) -> 962.3 (997.5) MB, 3.44 / 0.00 ms  (average mu = 0.820, current mu = 0.817) allocation failure;
#30 81.66 packages/frontend build: [210:0x74f7af0]    53990 ms: Scavenge 965.1 (997.5) -> 962.7 (997.5) MB, 3.87 / 0.00 ms  (average mu = 0.820, current mu = 0.817) allocation failure;
#30 81.66 packages/frontend build: [210:0x74f7af0]    54013 ms: Scavenge 966.8 (998.0) -> 963.6 (1006.5) MB, 3.77 / 0.00 ms  (average mu = 0.820, current mu = 0.817) allocation failure;
#30 81.66 packages/frontend build: <--- JS stacktrace --->
#30 81.66 packages/frontend build: FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
#30 81.68 packages/frontend build:  1: 0xc9e850 node::Abort() [node]
#30 81.68 packages/frontend build:  2: 0xb720ff  [node]
#30 81.68 packages/frontend build:  3: 0xec1a70 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
#30 81.68 packages/frontend build:  4: 0xec1d57 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [node]
#30 81.69 packages/frontend build:  5: 0x10d3dc5  [node]
#30 81.69 packages/frontend build:  6: 0x10ebc48 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
#30 81.69 packages/frontend build:  7: 0x10c1d61 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
#30 81.69 packages/frontend build:  8: 0x10c2ef5 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
#30 81.69 packages/frontend build:  9: 0x10a0466 v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
#30 81.69 packages/frontend build: 10: 0x14fb386 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]
#30 81.70 packages/frontend build: 11: 0x1934ef6  [node]
#30 82.18 packages/frontend build: Aborted (core dumped)
#30 82.26 packages/frontend build: Failed
#30 82.40 /misskey/packages/frontend:
#30 82.40  ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  frontend@ build: `vite build`
#30 82.40 Exit status 134
#30 83.04  ELIFECYCLE  Command failed with exit code 1.
------
failed to solve: rpc error: code = Unknown desc = process "/bin/sh -c pnpm build" did not complete successfully: exit code: 1

📝 Steps to Reproduce

git checkout tags/2024.2.0-beta.10
docker compose build

💻 Frontend Environment

* Model and OS of the device(s):
* Browser:
* Server URL: chunchun.world
* Misskey:2024.2.0-beta.10

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service:docker compose
* Misskey:2024.2.0-beta.10
* Node:20.10.0-bullseye
* PostgreSQL:15-alpine
* Redis:7-alpine
* OS and Architecture: Ubuntu 22.04.3 LTS
* etc: ConoHa Memory 2GB/CPU 3Core

Do you want to address this bug yourself?

  • Yes, I will patch the bug myself and send a pull request
@kyong kyong added the ⚠️bug? This might be a bug label Feb 6, 2024
@kakkokari-gtyih
Copy link
Contributor

shikiがesmとしてバンドルされるようになったのでそのせいかも

@u1-liquid
Copy link
Sponsor Contributor

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

👀

@tamaina
Copy link
Contributor

tamaina commented Feb 6, 2024

viteのメモリ不足かしらね (shikiのせいだとは思う)

@hohinohi
Copy link

hohinohi commented Feb 17, 2024

2024.2.0でもメモリ2GBサーバでビルドを試みて

[web native-builder 16/17] RUN pnpm build

で JavaScript heap out of memory が出てFailになったので、私も同じ問題に引っかかったっぽいです。

単純にヒープのメモリ容量が足りてないようだったので、一応Swap領域を増やしてからDockerfileに

ENV NODE_OPTIONS=--max-old-space-size=4096

を一行加えて明示的に増やしたところ、こちらの環境ではビルドが通りました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚠️bug? This might be a bug
Projects
None yet
6 participants