Refer to https://github.com/stsp/dosemu2/issues/474
In PDISKIO.C:622 (of FDISK 1.3.1), it checks for an "extra cylinder" beyond the size indicated by the BIOS, by trying to access the last sector of that extra cylinder (if it exists). If "sector not found" is returned by the int13 handler, Read_Physical_Sectors doesn't return but instead terminates the process.
For this, and other places which do error handling after Read_Physical_Sectors if they exist, Read_Physical_Sectors should not do error handling and leave it to the calling code to handle errors.