[comp.lang.perl] lib.big: Bad free

randy@uokmax.ecn.uoknor.edu (Longshot) (11/13/90)

On our Encore Mulimax, running 4.3BSD, perl 3 pl 40 fails test 51:


lib.big.........Bad free() ignored at (eval) line 1, <DATA> line 56.
FAILED on test 51
Failed 1 test.


Randy
-- 
Randy J. Ray       University of Oklahoma, Norman Campus	(405)/325-5370
!chinet!uokmax!randy	randy@uokmax.uucp    randy@uokmax.ecn.uoknor.edu
Morality is meaningful only in the culture within it exists.	-instructor
{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{][}{]

roy@prism.gatech.EDU (Roy Mongiovi) (11/14/90)

In article <1990Nov13.051155.13407@uokmax.ecn.uoknor.edu>, randy@uokmax.ecn.uoknor.edu (Longshot) writes:
> On our Encore Mulimax, running 4.3BSD, perl 3 pl 40 fails test 51:
> 
> lib.big.........Bad free() ignored at (eval) line 1, <DATA> line 56.

On my Sun386i, I get:

lib.big.........Bad free() ignored at ../lib/bigint.pl line 43, <DATA> line 55.
FAILED on test 42
Failed 1 test.

Also, I had to edit the Makefile because Configure failed to include "-lm"
in the library list.
-- 
Roy J. Mongiovi     Systems Support Specialist     Office of Computing Services
Georgia Institute of Technology	  Atlanta, Georgia  30332-0275   (404) 894-4660
	uucp: ...!{allegra,amd,hplabs,ut-ngp}!gatech!prism!roy
	ARPA: roy@prism.gatech.edu

eay@surf.sics.bu.oz.au (Eric the Young) (11/14/90)

In article <1990Nov13.051155.13407@uokmax.ecn.uoknor.edu>, randy@uokmax.ecn.uoknor.edu (Longshot) writes:

|> lib.big.........Bad free() ignored at (eval) line 1, <DATA> line 56.
|> FAILED on test 51
|> Failed 1 test.

I had lib.big test 51 fail with a core dump on my decstation 3100 ultrix 4.0
(no optimization/volatile) and fail on our microvax 3600 ultrix 3.0.

The error on the decstation was a uualigned memory access in the free()
when using the system malloc.

Test 58 failed instead when using the perl malloc.  The error being an
unaligned data access in malloc.

I recompiled perl using some debugging malloc routines (posted to the
net a few months ago) and they produce a large number of
Warning: free(): Data has overre some-one is doing some random writes :-(.
eric

-- 
Eric Young
System Programmer, SICS Bond Uni.
ACSnet: eay@surf.sics.bu.oz.au

karrer@ethz.UUCP (Andreas Karrer) (11/14/90)

roy@prism.gatech.EDU (Roy Mongiovi) writes:

>In article <1990Nov13.051155.13407@uokmax.ecn.uoknor.edu>, randy@uokmax.ecn.uoknor.edu (Longshot) writes:
>> On our Encore Mulimax, running 4.3BSD, perl 3 pl 40 fails test 51:
>> 
>> lib.big.........Bad free() ignored at (eval) line 1, <DATA> line 56.

>On my Sun386i, I get:

>lib.big.........Bad free() ignored at ../lib/bigint.pl line 43, <DATA> line 55.
>FAILED on test 42
>Failed 1 test.

My $0.02's worth: Perl PL 40 compilation (all "Configure" questions
answered with <cr> except where noted)

Sun3 and Sun4 under SunOS 4.1 pass all tests.

All other systems I work with had problems with the new arbitrary
precision package.

Alliant FX80 Concentrix 5.5.03 passes all tests but gives the following
message on the last "lib.big" test:
	lib.big.........Bad free() ignored at ./lib.big line 14, <DATA> line 60.
	ok
	All tests successful. [???]

Ultrix 4.0 (mips) passes all tests except:
	lib.big.........Fixed up unaligned data access...FAILED on test 59

Sequent Symmetry DYNIX V3.0 needs "i_dirent='undef'" to compile doio.c and
	passes all tests except:
	lib.big.........FAILED on test 51

Convex Unix V7.0 (using cc) passes all tests except:
	lib.big.........FAILED on test 51

HP-UX A.B7.0 needs "+O1" instead of "-O", needs HP's malloc and passes
	all tests except:
	lib.big.........FAILED on test 6
    cd t;./lib.big gives:
     ...ok 5
	Out of memory! [Might be because of the way this machine is set up]

+-----------
  Andi Karrer, Communication Systems, ETH Zuerich, Switzerland
  karrer@ks.id.ethz.ch                  karrer@czheth5a.bitnet

jand@kuling.UUCP (Jan Dj{rv) (11/16/90)

In article <6615@ethz.UUCP> karrer@ethz.UUCP (Andreas Karrer) writes:
>roy@prism.gatech.EDU (Roy Mongiovi) writes:
>
>My $0.02's worth: Perl PL 40 compilation (all "Configure" questions
>answered with <cr> except where noted)
>
>Sun3 and Sun4 under SunOS 4.1 pass all tests.
>
>All other systems I work with had problems with the new arbitrary
>precision package.
>
	[ other machines deleted ]

>HP-UX A.B7.0 needs "+O1" instead of "-O", needs HP's malloc and passes
>	all tests except:
>	lib.big.........FAILED on test 6
>    cd t;./lib.big gives:
>     ...ok 5
>	Out of memory! [Might be because of the way this machine is set up]

Hmm, I've compiled perl 3.0 on HP 9000 system 300 and 800 HP-UX 7.0 and the
only test that ever failed was that PL13 malloc problem, which was fixed in
PL 15. Since then, no tests has ever failed, including lib.big.

You can compile everything on the 800 series with -O but eval.c and toke.c
will use a LOT of memory and CPU (I did this during the day once, some
users thought the machine had crashed, since they didn't get any response
at all). If you don't have the memory or the swap space you might get
'Out of memory' errors.

On the 300 series you can compile everything except eval.c with -O. 
The register allocation scheme used by the compiler goes into an 
infinite loop on eval.c (as told to me by HP persons).
cmd.c and regcomp.c will give global optimizer warnings.
Compiling toke.c with +O1 will save you a lot of time. Again, depending
on how much memory you have, compiling toke.c may give 'Out of memory' error.
You also need to add +Nw500 (increase switch table stack) to cc.

As for malloc, for 800, use perl:s malloc (PL41), for 300, use -lmalloc or
perl:s malloc.
>
>+-----------
>  Andi Karrer, Communication Systems, ETH Zuerich, Switzerland
>  karrer@ks.id.ethz.ch                  karrer@czheth5a.bitnet


	Jan D.