[comp.lang.perl] problem with "out of memory" in perl debugger

rep@genrad.com (Pete Peterson) (12/12/90)

We have run into a couple problems with the perl debugger in perl3.0
patchlevel 41.  The problems do not occur on the sun4 (sparc) or the pmax
(decstation/mips).

On the vax, perl -d ANYTHING gives segmentation fault core dump.

On the sun3, things the following fail when you try to step into the
"while" loop:
------------------------------
#!/usr/local/perl
@foo = (1, 2, 3, 4);
while (@foo) {
        print shift(foo), "\n";
        }
------------------------------

Actually, any "while" or equivalent "for" seems to do the same thing; it
doesn't seem to relate to array references

------------------------------
#!/usr/local/perl
$i = 4;
while ($i) {
        print $i--, "\n";
        }
------------------------------

Note that the programs work fine when not running under the debugger.

At present, the workaround is to avoid debugging on vax or sun3!

Has anybody seen and fixed this problem?

chk@alias.UUCP (C. Harald Koch) (12/12/90)

In <40012@genrad.UUCP> rep@genrad.com (Pete Peterson) writes:

>On the sun3, things the following fail when you try to step into the
>"while" loop:

>Actually, any "while" or equivalent "for" seems to do the same thing; it
>doesn't seem to relate to array references

>Note that the programs work fine when not running under the debugger.

>Has anybody seen and fixed this problem?

I have seen it on SGI 4D series machines (mips processor) running IRIX3.3,
and I have seen it fail intermittently on IBM RS/6000 machines running the
latest version of their UNIX. I haven't tracked down a cause yet (busy
tracking down a bizarre fileio/regexp bug...)

--
C. Harald Koch  VE3TLA                Alias Research, Inc., Toronto ON Canada
chk%alias@csri.utoronto.ca      chk@gpu.utcs.toronto.edu      chk@chk.mef.org
"Open the Zamboni! We're coming out!" - Kathrin Garland and Anson James, 2299

usenet@carssdf.UUCP (John Watson) (12/13/90)

In article <40012@genrad.UUCP>, rep@genrad.com (Pete Peterson) writes:
> On the vax, perl -d ANYTHING gives segmentation fault core dump.
> Has anybody seen and fixed this problem?

A problem on SCO Xenix similar to this was corrected by changing the
compile options to include -Zp2,  That means pack all structures on
short word (2 byte) boundaries.  The ARG structure has a pointer
followed by three shorts and this seems to be related to the problem.
When the problem hits, "afake" asks for 100 + M Byte of memory.

On the Xenix System, that change also requires you to fix the "stat.h"
include module, or just accept a couple of errors from the make test,
of io.fs and op.stat.   A #pragma pack(4) and ...pack() do
the trick.

John Watson   ...!rutgers!carssdf!usenet

bill@camco.Celestial.COM (Bill Campbell) (12/15/90)

In <278@carssdf.UUCP> usenet@carssdf.UUCP (John Watson) writes:

	In article <40012@genrad.UUCP>, rep@genrad.com (Pete Peterson) writes:
	> On the vax, perl -d ANYTHING gives segmentation fault core dump.
	> Has anybody seen and fixed this problem?

	A problem on SCO Xenix similar to this was corrected by changing the
	compile options to include -Zp2,  That means pack all structures on
	short word (2 byte) boundaries.  The ARG structure has a pointer
	followed by three shorts and this seems to be related to the problem.
	When the problem hits, "afake" asks for 100 + M Byte of memory.

	On the Xenix System, that change also requires you to fix the "stat.h"
	include module, or just accept a couple of errors from the make test,
	of io.fs and op.stat.   A #pragma pack(4) and ...pack() do
	the trick.

	John Watson   ...!rutgers!carssdf!usenet

Is there an equivalent when compiling with gcc?

The current options are '-fpcc-struct-return -UM_I386 -O'

-- 
INTERNET:  bill@Celestial.COM   Bill Campbell; Celestial Software
UUCP:   ...!thebes!camco!bill   6641 East Mercer Way
             uunet!camco!bill   Mercer Island, WA 98040; (206) 947-5591

ronald@robobar.co.uk (Ronald S H Khoo) (12/17/90)

bill@camco.Celestial.COM (Bill Campbell) writes:

> Is there an equivalent [ to -Zp2 ] when compiling with gcc?

No command line option, but recent releases of the Xenix gcc patches
from steve@robobar do support #pragma pack so you could just add a
#pragma pack(2) to a .h file somewhere.  Me, I think I'll just wait for
Larry to fix the bug :-)
-- 
ronald@robobar.co.uk +44 81 991 1142 (O) +44 71 229 7741 (H)

tchrist@convex.COM (Tom Christiansen) (12/17/90)

I get it here, too, sometimes.  Like trying to debug my man program,
if I put a breakpoint at Stat from stat.pl, it dies trying to 
step into there.

--tom
--
Tom Christiansen		tchrist@convex.com	convex!tchrist
"With a kernel dive, all things are possible, but it sure makes it hard
 to look at yourself in the mirror the next morning."  -me

lwall@jpl-devvax.JPL.NASA.GOV (Larry Wall) (12/18/90)

In article <1990Dec16.234606.28557@robobar.co.uk> ronald@robobar.co.uk (Ronald S H Khoo) writes:
: bill@camco.Celestial.COM (Bill Campbell) writes:
: 
: > Is there an equivalent [ to -Zp2 ] when compiling with gcc?
: 
: No command line option, but recent releases of the Xenix gcc patches
: from steve@robobar do support #pragma pack so you could just add a
: #pragma pack(2) to a .h file somewhere.  Me, I think I'll just wait for
: Larry to fix the bug :-)

Gee, I was waiting for someone else to fix the bug.  :-)

Larry