[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PSPP-BUG: [GNU PSPP 0.7.8-ge4a2a3] testsuite: 913 923 failed
From: |
Ben Pfaff |
Subject: |
Re: PSPP-BUG: [GNU PSPP 0.7.8-ge4a2a3] testsuite: 913 923 failed |
Date: |
Mon, 23 Jan 2012 20:12:50 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Jeremy Lavergne <address@hidden> writes:
> 913 has an assertion failure/abort trap
> 923 has the same PLUS the output stops where we'd expect "ok 4 - Trap illegal
> variable name"
It's the same problem in each case. What the exact problem is,
I'm not sure. Perhaps it is due to the recent Perl version
upgrade.
In each case, it is aborting due to this Perl code:
my $var0 = PSPP::Var->new ($d, "le");
die "trap illegal variable name" if ref $var0;
die if $d->get_var_cnt () != 0;
which is supposed to be caught by the id_is_plausible() call on
line 329 in PSPP.xs:
INIT:
SV *errstr = get_sv("PSPP::errstr", TRUE);
sv_setpv (errstr, "");
if ( ! id_is_plausible (name, false))
{
sv_setpv (errstr, "The variable name is not valid.");
XSRETURN_UNDEF;
}
but apparently it doesn't and instead passes through to:
CODE:
struct fmt_spec op_fmt;
struct variable *v;
op_fmt = fmt_for_output_from_input (&ip_fmt);
v = dict_create_var (dict, name,
fmt_is_string (op_fmt.type) ? op_fmt.w : 0);
and dict_create_var() internally assert-fails due to the invalid
variable name.
John, you know more about Perl extensions than me. Do you have
any idea about this?
Thanks,
Ben.
--
Ben Pfaff
http://benpfaff.org