We have a VLDB which we purged 50% of the data from. While running dbcc shrinkfile we recieved:
The operating system returned error 38(Reached the end of the file.) to SQL Server during a read at offset 0x00004921e00000 in file 'D:\[Path]\[InstanceName]\[FileName].ndf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information,
This is a recreatable issue (at different offsets after seperate restores.) An integrity chech shows no issues within the database. It appears to be a bug in the shrinkfile logic that attempts a read of the file location after it has been returned to the OS.