Justin Pryzby <pry...@telsasoft.com> writes: > A production instance crashed like so.
Oh, interesting. Apparently we got past the "Has cache invalidation fired on this plan?" check: if (!plansource->is_valid || plan != plansource->gplan || !plan->is_valid) return false; because "plan" and "plansource->gplan" were *both* null, which is a case the code wasn't expecting. plansource.c seems to be paranoid about gplan possibly being null everywhere else but here :-( > Note that the prior query seems to have timed out in the same / similar > plpgsql > statement: Hm. Perhaps that helps explain how we got into this state. It must be some weird race condition, given the lack of prior reports. Anyway, adding a check for plan not being null seems like the obvious fix. regards, tom lane