Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le 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

Aperta Adatta ai principianti
#8,231 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@d-velev ci sta già lavorando.

Dal 28/10/2026.

  • #8311 di @d-velev — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
docker, java

Direzione di ricerca

Inizia dalle definizioni ENTRYPOINT in build/application/Dockerfile e build/application-java/Dockerfile, quindi confronta il comportamento di ciascuna immagine con i limiti segnalati di 1 GiB e 768 MiB. L’issue indica il dimensionamento dell’heap e le opzioni per terminare in caso di memoria esaurita come modifiche previste; il lavoro è completato quando le immagini dimensionano l’heap in base al container e terminano quando l’heap si esaurisce, così che il flusso di pubblicazione e accesso segnalato non lasci più il container in esecuzione in uno stato di errore.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

  • 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.

Lingua principale
Java
Stelle
278
Fork
97
Merge medio
15h 42m
PR unite (30g)
299

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di eclipse-dirigible/dirigible

Tutte le issue di eclipse-dirigible/dirigible

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.