You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking a report from #8 that was not resolved before merge. 1.10.4:0 is on community-beta; this should be settled before promotion to community-prod.
Java heap space — a JVM OutOfMemoryError, surfaced through Bisq's error dialog.
"Your Bisq DAO state needs to be resynced." — recurring, and not fixed by resyncing.
Cannot invoke "javafx.scene.Node.getScene()" — a NullPointerException.
His words: "can any of this changes cause DAO being not synced and needed resyncing and getting it even after resync? I had this before here and there, but struggling with it ever since this update constantly."
That last part matters — it was intermittent before 1.10.4:0 and became constant after.
Working theory
These are most likely one failure, not three. An OOM during DAO block parsing leaves the persisted DAO state inconsistent with the chain; Bisq detects the hash mismatch and prompts for a resync; the resync re-parses the entire BSQ chain, which is the most memory-intensive thing Bisq does, and OOMs again. That loop explains why resyncing never sticks. The Node.getScene() NPE is plausibly downstream of the same exhaustion — once the heap is gone, half-constructed UI is a normal way for it to surface.
Two candidate root causes, and they are not mutually exclusive:
Packaging.Dockerfile sets SELKIES_ENCODER="x264enc,jpeg", so the desktop stream is software-encoded with libx264. That has a materially larger resident footprint than the KasmVNC pipeline it replaced in the same release. On a box where headroom was already marginal, that is the kind of change that turns intermittent into constant. Note that nothing in Update Bisq to 1.10.4 and migrate desktop to Selkies #8 changes the JVM heap ceiling directly — neither master nor the PR branch sets -Xmx — so the mechanism would have to be reduced headroom rather than a smaller ceiling.
Upstream. A 1.10.4 regression or increase in DAO parsing memory requirements, independent of packaging. Both @martinbarilik and @BeeJoe leaned this way initially.
Diagnostics needed
From an affected install:
# JVM ceiling and actual usage, plus what else is resident
start-cli package attach bisq -n bisq-sub -- ps -eo pid,rss,args --sort=-rss
# container memory picture
start-cli package attach bisq -n bisq-sub -- free -m
# does the OOM land inside DAO parsing?
start-cli package attach bisq -n bisq-sub -- grep -n -i "OutOfMemory\|heap space" /config/.local/share/Bisq/bisq.log
For the third, the ~50 lines preceding each hit are the useful part. Also needed: total RAM on the host box, which makes the rest interpretable.
What would distinguish the two causes
If the Selkies/GStreamer processes account for a large share of resident memory and the JVM is hitting a ceiling sized off what's left, that points at (1) and the fix is a packaging change — an explicit -Xmx for Bisq, a lighter encoder setting, or a declared hardwareRequirements.ram.
If the JVM ceiling is unchanged from 1.10.3:4 and the OOM still occurs at the same point in DAO parsing, that points at (2) and belongs upstream at bisq-network/bisq.
Comparing resident memory between 1.10.3:4 and 1.10.4:0 on the same box would separate these directly, if anyone still has the older revision available.
Impact
If (1), this needs a 1.10.4:1 before promotion to community-prod. If (2), it should be reported upstream and noted in instructions.md as a known limitation with a minimum-RAM recommendation.
Tracking a report from #8 that was not resolved before merge.
1.10.4:0is on community-beta; this should be settled before promotion to community-prod.Symptom
@martinbarilik reported, after updating to
1.10.4:0:Java heap space— a JVMOutOfMemoryError, surfaced through Bisq's error dialog.Cannot invoke "javafx.scene.Node.getScene()"— a NullPointerException.His words: "can any of this changes cause DAO being not synced and needed resyncing and getting it even after resync? I had this before here and there, but struggling with it ever since this update constantly."
That last part matters — it was intermittent before
1.10.4:0and became constant after.Working theory
These are most likely one failure, not three. An OOM during DAO block parsing leaves the persisted DAO state inconsistent with the chain; Bisq detects the hash mismatch and prompts for a resync; the resync re-parses the entire BSQ chain, which is the most memory-intensive thing Bisq does, and OOMs again. That loop explains why resyncing never sticks. The
Node.getScene()NPE is plausibly downstream of the same exhaustion — once the heap is gone, half-constructed UI is a normal way for it to surface.Two candidate root causes, and they are not mutually exclusive:
DockerfilesetsSELKIES_ENCODER="x264enc,jpeg", so the desktop stream is software-encoded with libx264. That has a materially larger resident footprint than the KasmVNC pipeline it replaced in the same release. On a box where headroom was already marginal, that is the kind of change that turns intermittent into constant. Note that nothing in Update Bisq to 1.10.4 and migrate desktop to Selkies #8 changes the JVM heap ceiling directly — neithermasternor the PR branch sets-Xmx— so the mechanism would have to be reduced headroom rather than a smaller ceiling.Diagnostics needed
From an affected install:
For the third, the ~50 lines preceding each hit are the useful part. Also needed: total RAM on the host box, which makes the rest interpretable.
What would distinguish the two causes
-Xmxfor Bisq, a lighter encoder setting, or a declaredhardwareRequirements.ram.1.10.3:4and the OOM still occurs at the same point in DAO parsing, that points at (2) and belongs upstream at bisq-network/bisq.Comparing resident memory between
1.10.3:4and1.10.4:0on the same box would separate these directly, if anyone still has the older revision available.Impact
If (1), this needs a
1.10.4:1before promotion to community-prod. If (2), it should be reported upstream and noted ininstructions.mdas a known limitation with a minimum-RAM recommendation.cc @BeeJoe @martinbarilik