Actually, this may well be Ubuntu-specific: it looks like a compiler bug. xdr_ypresp_val() should be passing the xdrs it was given into xdr_valdat() but as can be seen from the backtrace it isn't. It looks rather like the first argument has been dropped and the remaining arguments are being passed one ahead of where they should be.
Rebuilding with NOOPT avoids the segfault; I guess a bug should be filed against GCC but it's probably worth checking to see that this isn't fixed already before doing so,
Actually, this may well be Ubuntu-specific: it looks like a compiler bug. xdr_ypresp_val() should be passing the xdrs it was given into xdr_valdat() but as can be seen from the backtrace it isn't. It looks rather like the first argument has been dropped and the remaining arguments are being passed one ahead of where they should be.
Rebuilding with NOOPT avoids the segfault; I guess a bug should be filed against GCC but it's probably worth checking to see that this isn't fixed already before doing so,