StorePage cover/date loaders were never removed from tracking once their thread finished, and _populate/_begin_scan dropped the whole list while threads were still running. That garbage-collected QObjects whose QThread had already been deleted, leaving a dangling thread affinity that crashed Qt (SIGSEGV) when searching the store after it fully loaded. Loaders now remove themselves and deleteLater on their finished signal, and the tracking list is kept until each thread winds down.