I did some more debugging, and I think I have found the issue
- FCompiledAssetTextFilter::PassesFilter sets the string views at the bottom of the function
- If the asset is referenced by dynamic collections (ReferencedDynamicCollections), DynamicCollection.Container->TestDynamicQuery will be called within the PassesFilter function, before the string views have been set, resulting in the string views being accessed before the caller has set them
- So the key repro case is probably that the asset is part of a collection.
[Image Removed]A proper fix is probably to not call any other query functions prior to the FCompiledAssetTextFilter being fully initialized in this function
Moving the block
if ((CollectionContainers.IsValid() || ReferencedDynamicCollections.IsValid()) && bIncludeCollectionNames)
to after the string view initialization(before the call to
const bool bMatched = Evaluator->TestTextFilter(*this);
Seems to be the proper fix
This also explains why the crash is occuring when typing in the letters B, S, C, O or M, because the collection in play here is “Combos”