Summary
The antigravity-cli background process rapidly fills available disk space (growing by several GBs per minute) due to an un-throttled tight spin loop logging fsnotify non-blocking read errors (resource temporarily unavailable).
Reproduction & Trigger Conditions
• Reproducibility: 100% Reproducible upon launching antigravity-cli.
• Steps to Reproduce:
1. Launch antigravity-cli on an affected OS/filesystem environment.
2. Monitor the active log file in ~/.gemini/antigravity-cli/logs/.
3. Observe immediate continuous log output at microsecond intervals accumulating several GBs per minute.
Status:
Reproducible
Environment Details
• Component: antigravity-cli (agy)
• OS Platform: FreeBSD 15.1-p2
• Affected Subsystem: File System Watcher / Projects Store (projects.go)
• Log Directory: ~/.gemini/antigravity-cli/logs
Symptom & Impact
• Disk Exhaustion: Log files balloon by several gigabytes within minutes, threatening system disk space.
• High I/O Load: Continuous rapid writes degrade system performance.
Log Sample
Log entries repeat tens of thousands of times per second with microsecond timestamps:
E0804 22:41:19.334259 16672 projects.go:108] projects store: fsnotify error: read : resource temporarily unavailable
E0804 22:41:19.334264 16672 projects.go:108] projects store: fsnotify error: read : resource temporarily unavailable
E0804 22:41:19.334267 16672 projects.go:108] projects store: fsnotify error: read : resource temporarily unavailable
E0804 22:41:19.334272 16672 projects.go:108] projects store: fsnotify error: read : resource temporarily unavailable
E0804 22:41:19.334277 16672 projects.go:108] projects store: fsnotify error: read : resource temporarily unavailable
E0804 22:41:19.334283 16672 projects.go:108] projects store: fsnotify error: read : resource temporarily unavailable
E0804 22:41:19.334287 16672 projects.go:108] projects store: fsnotify error: read : resource temporarily unavailable
E0804 22:41:19.334292 16672 projects.go:108] projects store: fsnotify error: read : resource temporarily unavailable
Technical Root Cause & Analysis
- Non-blocking Read Failure (EAGAIN / EWOULDBLOCK): The fsnotify file descriptor error channel yields syscall.EAGAIN (read: resource temporarily unavailable).
- Missing Backoff / Rate Limiting: In projects.go around line 108, error handling catches the non-fatal transient EAGAIN error and immediately logs it without:
• Throttling or rate-limiting log emissions.
• Exponential backoff / sleep before re-reading the event channel.
• Unregistering or resetting the invalid file descriptor.