[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: |
John Darrington |
Subject: |
Re: PSPP-BUG: [GNU PSPP 0.7.8-ge4a2a3] testsuite: 913 923 failed |
Date: |
Tue, 24 Jan 2012 07:05:58 +0000 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Mon, Jan 23, 2012 at 08:12:50PM -0800, Ben Pfaff wrote:
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?
Unfortunately I don't. I suspect it might be a character encoding issue, but
that's just a guess.
I suggest Jeremy puts some diagnostics in id_is_plausible to see what is being
passed in, and what it's getting back. Also, try changing "le" to "LE" and
see what happens.
J'
--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://keys.gnupg.net or any PGP keyserver for public key.
signature.asc
Description: Digital signature