[comp.lang.perl] dbm TEST failure: SS1 w/ SunOS 4.1.1

grendel@opos.arc.nasa.gov (That monstrous man-eating descendant of Cain) (03/07/91)

From the README in the perl.4.0.beta

>If it doesn't say "All tests successful" then something went wrong.

op/chop........ok
op/cond........ok
op/dbm.........FAILED on test 0
op/delete......ok
op/do..........ok

I am using a SparcStation1+ runing SunOS 4.1.1, I have tried gcc -O,
gcc (no -O), and cc.

The test, when run by hand gives:

siren.arc.nasa.gov# pwd
/usr/local/perl/perl.4.0.beta/t
siren.arc.nasa.gov# op/dbm.t
1..10
ok 1
ok 2
Segmentation fault (core dumped)

Has anyone seen this with their Sparc?  It happened when I built
perl-3.0.44 also... What am I missing!!??  I'm new to perl...

-------------------------------------------------------------------------
Ray Suorsa, grendel@opos.arc.nasa.gov, NASA/Ames (415) 604-6334
-------------------------------------------------------------------------

davel@bedbug.arc.nasa.gov (Dave Liebreich) (03/07/91)

grendel@opos.arc.nasa.gov writes:

   op/dbm.........FAILED on test 0

   I am using a SparcStation1+ runing SunOS 4.1.1, I have tried gcc -O,
   gcc (no -O), and cc.


On a Sparcstation 1+ running SunOS 4.1.1, using Sun's malloc, yacc,
and lex, the dbm test works fine.

So don't sweat it Larry.

Roy: send me mail and your config results

-Dave
--
=========================================================================
Dave Liebreich                                  davel@george.arc.nasa.gov
Computer Security Specialist                    (415) 604-4794
Sterling Software @ NASA Ames Research Center
Mail Stop 233-15
Moffett Field, CA 94035
 "The opinions expressed above are not necessarily those of my employer"
                           doo dah doo dah

creiman@headroom.ncsa.uiuc.EDU (Chuck Reiman) (03/09/91)

I am also new to perl, and am also having problems with
gcc/sun4. I did eventually figure out that you must use
the -fpcc-struct-return option, but that hasn't fixed
all of my problems. By the way, this is perl 3.44, not
the 4.0 beta version. And sun OS 4.0.3, not 4.1.1.
Alright, nothing in common, really, but I would have
posted anyway.

Specifically: op.dbm fails inconsistently, usually in
hfetch or hiterval. It receives invalid pointers somewhere
along the line, then passes them to dbm calls.
In hiterval, the call to dbm_fetch (hash.c:539) has a
key.dptr of 3. Just plain 3. Not a vaild pointer at all.
The bomb in hfetch isn't catchable, it never gets there once
I set the breakpoint.

Op.regexp also fails, on test 45. It appears to be an out of 
bounds array check, which then calls fatal which calls mess.
mess then dies a violent death in vsprintf. The problem starts
in regclass:regcomp.c:958. The array apprears to be out of bounds,
then the error printing dies. I want to run some tests with 
varargs to see if the slightly strange way that mess and fatal 
interact is legal or not.

Fortunately, everything works fine with good 'ole cc. That is why
I want to isolate these problems; to see if gcc isn't working 
properly or if perl is not quite perfect.

One last thing: in the readme, it states to insert the following
define for suns: ( something like this)

#define fputs( s, file ) fprintf ( file, "%s", s )

Why? I know that fgets has a bug, but I was unaware (and haven't
found) any bug with fputs. What gives?

-----------
I'm a Comp E. and I'm okay,                     Charlie Reiman
I work all night and I work all day.            creiman@ncsa.uiuc.edu
I SKIP and JUMP,                                c-reiman@uiuc.edu
I crash PCs,                                    National Center for
I sort with binary trees.                       Superb Acronyms