inpuststream isn't closed if is.read throws an exception