I have gotten a response from Tom over on the pgsql-bug list. He doesn't have a solution yet but was able to recreate the problem. He had this to say in his note:
Hm. I notice that postgres.sql hardwires the location of the plpgsql handler: create function plpgsql_call_handler() RETURNS opaque as '/usr/local/pgsql/lib/plpgsql.so' language 'c'; create trusted procedural language 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL'; If this were to suck in a wrong-version copy of plpgsql.so (and yes, I think 7.1 vs 7.1.1 could be wrong version) then that could cause failures. postgres-pgtcl.sql is equally unwise about the pltcl handler. This is *not* the source of your problem, since I was able to reproduce the crash even with a proper "createlang plpgsql" used instead of the bogus commands. But you might want to pass on the observation to the OpenACS guys.