Zend certified PHP/Magento developer

Enabling GPU on Windows 10 X1 Carbon box results in frequent search index corruption

I’ve had problems with frequent Windows search index corruption over many years and four generations of X1 Carbon boxes. I’m currently on the highest end 10th gen (2022) carbon, Win10 22H2 (19045.2311). The phenomenon is annoying because it takes a couple of days for the index to rebuild (more than 2 million items) and in the meantime Outlook can’t be searched reliably.

One fix that eliminates the problem 100% reproducibly is to disable the Intel Iris XE Graphics driver in device manager, which (I believe) in turn disables the GPU. But of course then I suffer degraded performance.

A typical occurrence includes these events:

SearchIndexer (13192,D,0) Windows: An attempt to write to the file "C:ProgramDataMicrosoftSearchDataApplicationsWindowsedb.jtx" at offset 765952 (0x00000000000bb000) for 12288 (0x00003000) bytes failed after 0.000 seconds with system error 1453 (0x000005ad): "Insufficient quota to complete the requested service. ".  The write operation will fail with error -1011 (0xfffffc0d).  If this error persists then the file may be damaged and may need to be restored from a previous backup.
SearchIndexer (13192,D,10) Windows: Unable to write to section 2 while flushing logfile C:ProgramDataMicrosoftSearchDataApplicationsWindowsedb.jtx. Error -1011 (0xfffffc0d).
SearchIndexer (13192,D,10) Windows: The logfile sequence in "C:ProgramDataMicrosoftSearchDataApplicationsWindows" has been halted due to a fatal error. No further updates are possible for the databases that use this logfile sequence. Please correct the problem and restart or restore from backup.
The search service has detected corrupted data files in the index {id=4811 - onecoreuapbaseappmodelsearchsearchsearchpropstorepropsess.cxx (155)}. The service will attempt to automatically correct this problem by rebuilding the index. 
The Windows Search Service is being stopped because there is a problem with the indexer: The catalog is corrupt. 
SearchIndexer (13192,D,9) Windows: The database engine detected multiple threads illegally using the same database session to perform database operations. 
The search service has detected corrupted data files in the index {id=4810 - onecoreuapbaseappmodelsearchsearchytripcommonutiljetutil.cpp (653)}. The service will attempt to automatically correct this problem by rebuilding the index. 

Note the “quota” error must be a red herring–I have no quota configured on my drive, which is an internal 1TB SSD (Samsung MZVL210THCLR-00BL7) with more than 500GB available. FWIW, Windows.edb is about 27GB when indexing completes.

I have tried all the low hanging fruit:

  • Buying new laptops and starting from scratch over several years
  • Reinstalling or restoring Windows
  • Installing all Windows, Lenovo, and Intel Updates (I’ve tried both OEM drivers and the latest Windows and Intel drivers — makes no difference)
  • sfc /scannow
  • chkdsk /f
  • All relevant troubleshooters (including search index troubleshooter)
  • Manually deleting all search index data and allowing the device to rebuild
  • Triggering a “rebuild index” from the control panel

I hit on the “solution” of disabling the GPU because the search index corruption behavior often coincided with a temporary interruption/”flash” of the screen, particularly when driving one or two large external HD displays connected through a USB-C dock (I’ve tried several models). Disabling the GPU also prevents this other problem, and I have yet to see any search index corruption while GPU is disabled.

I have spent months trying to troubleshoot this with Lenovo to no avail. I’ve also filed an incident with Microsoft but doubt I will get any useful feedback.

Any ideas on how to isolate the cause and solve this other than by disabling GPU?