pierson@encore.com (Dan L. Pierson) (06/18/91)
I've so far been unable to get Perl 4.0 to pass its test suite on our
Series 91 machines (Motorola 88K, 88Open BCS/OCS System V.3). Perl
3.43 works just fine on the same machines.
The following test case causes a "panic: cmd_exec.":
for (split(' ','a b c d e')) {
$foo .= $_;
}
A -D14 trace is:
EXECUTING...
1 EXPR (41e530) r41b998 t0 a0 n41e4b0 cs0
1 E! ASSIGN (41b998) 2 args:
1 E! A: 1.LEXPR =>
1 E! A: LARRAY (41cf20) 1 args:
1 E! A: L: 1.NULL = ''
1 E! A: LARRAY RETURNS ""
1 E! A: 1.LEXPR = ''
1 E! A: 2.EXPR =>
1 E! A: LIST (41cec0) 1 args:
1 E! A: L: 1.EXPR =>
1 E! A: L: SPLIT (41e940) 3 args:
1 E! A: L: S: 1.SINGLE = 'a b c d e'
1 E! A: L: S: 2.NULL = ''
1 E! A: L: S: 3.NULL = ''
1 E! A: L: S: ITEM (41cde0) 1 args:
1 E! A: L: S: I: 1.SINGLE = ' '
1 E! A: L: S: ITEM RETURNS " "
1 E! A: L: S: 2.SPAT /\s+/
1 E! A: L: SPLIT RETURNS 5 ARGS ("a",...,"e")
1 E! A: L: 1.EXPR = 'e'
1 E! A: LIST RETURNS 5 ARGS ("a",...,"e")
1 E! A: 2.EXPR = 'e'
1 E! ASSIGN RETURNS ("5")
1 WHILE (41e4b0) r41cee0 t41cec0 a41e4f0 n0 cs0
1 W! (Pushing label #0 )
0 W! t_ NULL (41cec0) r10065 t0 a41a7c8 n41a818 cs0
panic: cmd_exec.
Some information from debugging:
1. longjmp() is never called.
2. cmd_exec calls itself once. This call gets its cmdparam from
cmd->ucmd.ccmd.cc_true which looks like this on entry to
cmd_exec:
cdb >*cmd
0x41cec0 struct cmd {
c_next = 0x41a818;
c_expr = 0x10065;
c_head = 0;
c_short = 0x41e940;
c_stab = 0x1;
c_spat = 0x10000;
c_label = "^^@";
ucmd = union ucmd {
acmd = struct acmd {
ac_stab = 0;
ac_expr = 0x41a7c8;
} acmd;
ccmd = struct ccmd {
cc_true = <null pointer>;
cc_alt = "";
} ccmd;
scmd = struct scmd {
sc_next = 0;
sc_offset = 65;
sc_max = -22584;
} scmd;
} ucmd;
c_slen = 1;
c_flags = 57;
c_stash = <null pointer>;
c_filestab = 0x41a6d8;
c_line = 0;
c_type = '^@' (0);
}
It is (the bogus argument to?) this single recursive call that
causes the panic.
Does anyone have a clue to what's wrong?
--
dan
In real life: Dan Pierson, Encore Computer Corporation, Research
UUCP: {talcott,linus,necis,decvax}!encore!pierson
Internet: pierson@encore.com