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