- Required resource not available
- Doesn't return a resource
- Doesn't indicate that it's done with a device
- Doesn't erase old files from mass storage
- Doesn't return unused memory
- Wastes computer time
- No available large memory areas
- Input buffer or queue not deep enough
- Doesn't clear items from queue, buffer, or stack
- Lost messages
- Performance costs
- Race condition windows expand
- Doesn't abbreviate under load
- Doesn't recognize that another process abbreviates output under load
- Low priority tasks not put off
- Low priority tasks never done
HARDWARE
- Wrong device
- Wrong device address
- Device unavailable
- Device returned to wrong type of pool
- Device use forbidden to caller
- Specifies wrong privilege level for a device
- Noisy channel
- Channel goes down
- Time-out problems
- Wrong storage device
- Doesn't check directory of current disk
- Doesn't close a file
- Unexpected end of file
- Disk sector bugs and other length-dependent errors
- Wrong operation or instruction codes
- Misunderstood status or return code
- Device protocol error
- Underutilizes device intelligence
- Paging mechanism ignored or misunderstood
- Ignores channel throughput limits
- Assumes device is or isn't, or should be or shouldn't be initialized
- Assumes programmable function keys are programmed correctly