Tom Lane wrote:
> Given that CLOBBER_CACHE_ALWAYS seems to make it fail reliably, the
> obvious explanation is that what's being passed is a pointer into
> catcache or relcache storage that isn't guaranteed to be valid for
> long enough. The given backtrace doesn't go down far enough to show
> where the bogus input came from, but I'm betting that something is
> returning to SQL a string it got from cache without pstrdup'ing it.
Yep, that was it -- the bug was in getObjectIdentityParts. I noticed
other three cases of missing pstrdup(), also fixed.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services