darcy@druid.net (D'Arcy J.M. Cain) writes:
> I'm also not sure why these functions are involved
> in reading the chkpass type.
Precisely my point: they're not. That backtrace is false data.
> Hmm. I just rebooted and reran the test (SELECT 'hello'::chkpass) and
> it gave me a different stacktrace. It looks like this.
> #0 0x0 in ?? () from (unknown load module)
> #1 0xd1085a60 in chkpass_in (fcinfo=0x0) at chkpass.c:88
> #2 0x1004b874 in OidFunctionCall3 (functionId=269952520, arg1=269952532,
> arg2=269952540, arg3=269952548) at fmgr.c:1136
> #3 0x1007f350 in stringTypeDatum (tp=0x10172694, string=0x101726a0 "pendant",
> atttypmod=269952680) at parse_type.c:181
> #4 0x10060630 in parser_typecast_constant (expr=0x10172794,
> typename=0x101727a0) at parse_expr.c:876
This one I believe to the extent of the series of function calls, but
it's still giving you wrong info about the passed parameters, which
is pretty common if you compiled at -O2 or higher. Try recompiling with
"-O0 -g" if you need trustworthy parameter info from the backtrace.
regards, tom lane