#CALC! is a newer error for dynamic arrays — e.g. an empty array result, or a nested array Excel can't return. It signals the calculation engine couldn't produce a result.
Provide an empty fallback
Give FILTER an [if_empty] argument, e.g. FILTER(rng, cond, "None").
#SPILL! means there's no room to output; #CALC! means the calculation itself failed (e.g. empty array).