On Thu, Nov 6, 2008 at 09:00, Andrew Gierth <[EMAIL PROTECTED]> wrote: > If it helps any, I've tracked down in the perl guts exactly why this > happens:
Cool > Notice, though, that without ithreads, the COP points directly to the > stash, but with ithreads, it points instead to the _name_ of the stash > (e.g. "main"). The problem arises because with Safe in use, the > package created by Safe to use as a container _thinks_ that its name > is "main" even though it's not, so the COPs compiled inside it point > to the name "main" rather than to the real name of the container. Ok so I kind of analyzed it right, just missed the threading issue. (namely that its referencing a different main when we execute it outside of "Safe") FYI the commit that changd it is http://perl5.git.perl.org/?p=perl.git;a=commitdiff;h=18537ab8315c273284bfe269f1678095c399c053;hp=89cb812aee601e19db5eb36b2c6e74980a348661 It been this way since 1999 with the descriptive commit message 'avoid stash pointers in optree under USE_ITHREADS' -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs