It seems as though the Database is getting stuck on a specific file, or file(s), possibly due to file-system corruption.
In the settings, enable:
System - Debug (Keep Out!) - Metadata log
And then attempt to scan initiate the database again. If/when it fails, reboot the device and you will find a log in the root of the devices storage, the last entry in that log is the last entry the database was able to read, implying that the next file in line on the device storage is the problematic one.
Scanning the file-system would possibly also be a wise move.
[Saint]