read-only reentrancy