# error: read: unexpected EOF (0 bytes read)

- **ID:** `go/io-reader-returns-zero-bytes-no-error`
- **Domain:** go
- **Category:** io_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

An I/O read returned 0 bytes without an error, which is unexpected and may indicate a bug in the reader implementation.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.20 | active | — | — |
| 1.21 | active | — | — |

## Workarounds

1. **Check for zero-length reads and treat as error** (90% success)
   ```
   n, err := reader.Read(buf)
if n == 0 && err == nil { return errors.New("zero-length read") }
   ```

## Dead Ends

- **Assuming it's a transient error** — May cause infinite loop if retried; check for zero-length reads. (70% fail)
