Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Under a 1 GiB container limit the default image exhausts its 256 MB heap on the first publish, poisons its H2 store and keeps running while answering 401 to every login

Đã đóng Phù hợp với người mới
#8,231 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Một pull request liên quan đã được merge.

  • #8311 của @d-velev — đã merge

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
78/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, java
Lĩnh vực
infrastructure

Hướng nghiên cứu

Bắt đầu với các định nghĩa ENTRYPOINT trong build/application/Dockerfile và build/application-java/Dockerfile, sau đó so sánh cách mỗi image hoạt động dưới các giới hạn được báo cáo là 1 GiB và 768 MiB. Issue nêu việc điều chỉnh kích thước heap và các tùy chọn thoát khi hết bộ nhớ là những thay đổi được mong đợi; công việc hoàn tất khi các image điều chỉnh heap theo container và thoát khi heap cạn, để luồng publish và login được báo cáo không còn khiến container tiếp tục chạy trong trạng thái lỗi.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

  • Image: dirigiblelabs/dirigible:15.1.0-java (sha256:dac354be94f21f222e88b81fd7fc6e68d9616ee7b4e12bcb1e9eef0465bd213f)
  • Reference: dirigiblelabs/dirigible:15.1.0 (sha256:449b8c948738a2bd7a4294a7bec1000a08bc1da1cd20f312f0e54383a7af325d)

The default image fails. The Java edition holds the same sequence only because it is lighter: both Dockerfiles share the same ENTRYPOINT.

Steps
docker run -d --name m1 -p 8080:8080 --memory=1g dirigiblelabs/dirigible:15.1.0
#  ready after 79 s; JVM ergonomics: MaxHeapSize 268435456 (25% of the limit), the Dockerfile sets no -Xmx / MaxRAMPercentage
POST /services/ide/workspaces/QA-m                                      -> 201
POST /services/ide/transport/project/QA-m   (sample-intent-money zip, the IntentSliceSampleIT project)  -> 200
POST /services/ide/publisher/QA-m/sample-intent-money                   -> 200
GET  /services/java/sample-intent-money/gen/money/api/invoiceline/InvoiceLineController?$limit=1  (admin:admin)
Observed
  • The log shows Exception in thread "Lucene Merge Thread #0" java.lang.OutOfMemoryError: Java heap space, then org.h2.mvstore.MVStoreException: java.lang.OutOfMemoryError: Java heap space in the Quartz JobStoreTX and in Hibernate, then MVStoreException: Transaction was illegally transitioned from CLOSED to COMMITTED, and Flowable acquire-jobs ERRORs on every cycle. That is 587 OutOfMemoryError lines.
  • Every basic-auth request answers 401 from then on (the controller, /services/core/version and /actuator/health): the admin user can no longer be loaded.
  • The JVM keeps running and the container stays Up (OOMKilled=false), so nothing restarts it.
  • --memory=768m: 15.1.0 is ready after 226 s, the publish answers 200, and the controller answers 401 for 90 s, with 313 OutOfMemoryError lines.
  • The same steps on 15.1.0-java: 1 GiB gives controller 200 after 15 s, no OOM, RSS 754 MiB. 768 MiB gives ready after 144 s, controller 200, no OOM.
Expected

A 1 GiB container is a common size. The image should size the heap for its container (-XX:MaxRAMPercentage=... in the ENTRYPOINT, as the default 25% leaves ~750 MB unused). It should also exit on heap exhaustion (-XX:+ExitOnOutOfMemoryError), so the orchestrator restarts it instead of serving 401s from a poisoned H2 store.

Where

build/application/Dockerfile and build/application-java/Dockerfile: ENTRYPOINT ["java", ... "-jar", "/dirigible.jar"] without heap sizing or an OOM exit flag.

Ngôn ngữ chính
Java
Star
278
Fork
97
Merge trung bình
15 giờ 33 phút
Pull request đã merge (30 ngày)
310

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của eclipse-dirigible/dirigible

Tất cả issue của eclipse-dirigible/dirigible

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.