mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[GH-ISSUE #297] ublk-daemon: idle-pool refill retries add_dev indefinitely (EACCES) once ublk slots are exhausted — burns CPU and may exhaust the disk #80
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#80
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @emailcannotbeblank on GitHub (Sep 16, 2026).
Original GitHub issue: https://github.com/kvcache-ai/AgentENV/issues/297
Affected component
ublk / ublk-daemon
AgentENV version
339e81b(fix(tools-image): bootstrap required paths for minimal images), main branchHost environment
uname -a):6.6.0-98.0.0.103.oe2403sp2.aarch64ublk_drvmodule, version6.6.0-98.0.0.103.oe2403sp2.aarch64(ships with the kernel; the driver has no separateMODULE_VERSION);ublks_max = 64(module parameter, default, not resizable while devices are in use); device nodes/dev/ublkcN(char) and/dev/ublkbN(block)Operation and configuration
Steps to reproduce
ublks_max = 64and[pool.block] high_watermarkabove 64 (e.g. 100).ls /dev/ublkc[0-9]* | wc -lreaches 64)./var/lib/aenv/logs/ublk-daemon.logbehavior while the idle pool is below target: it attemptsadd_dev, fails, and reschedules — indefinitely.Expected behavior
add_dev(persistent slot exhaustion), instead of retrying at full speed.Actual behavior
add_devat ~14k attempts/second. A 10,000-line sample from the live log spans 0.34 s; atail -30sample from the previous day shows the identical pattern (~85 µs per attempt).truncate, it regrew to 9.1 GiB in under 20 hours, with 1,579,118 "Permission denied" occurrences counted in that regrowth.Logs and diagnostics
Reproduction frequency
Always
Regression information
No response
Additional context
No response
Pre-submission checklist
@yingdi-shan commented on GitHub (Sep 16, 2026):
Could you please upgrade your kernel to see if the problem still exist?
@emailcannotbeblank commented on GitHub (Sep 16, 2026):
In general, the semantics of
ublks_maxdiffer by kernel version:ublks_maxlimits the total number of ublk devices.ublks_maxlimits only unprivileged ublk devices.On older kernels where
ublks_maxis the global ublk device limit, ifhigh_watermark > ublks_max, theublk-daemoncan get stuck in a tight loop:schedule_idle_pool_refill→ refill failure → immediate retry.Each failed retry emits log entries, so the log file keeps growing until it can eventually exhaust the filesystem.
From the code path, this issue specifically applies to kernels with the older
ublks_maxsemantics, together with a configuration wherehigh_watermark > ublks_max.