develooper Front page | perl.vmsperl | Postings from October 2002

MMK + 7.3-1 = :-( [was Re: Problem building Perl]

Craig A. Berry
October 3, 2002 17:36
MMK + 7.3-1 = :-( [was Re: Problem building Perl]
Message ID:
At 11:06 AM +0100 9/28/02, Steve Wakelin wrote:

>I have an Alphaserver 400 /166 running
>o    OpenVMS V7.3-1
>o    Compaq C V6.2-008 on OpenVMS Alpha V7.3-1
>o    %MMK-I-IDENT, this is the MadGoat Make Utility V3.9-3
>o    5.8.0
>o    5.6.1 easy install
>o    5.7.0
>when attempting to compile the process always appears to go into a loop
>within MMK when entering the @make_ext

I've been able to reproduce this now with Perl 5.6.1, OpenVMS AXP
v7.3-1, C 6.5, and MMK 2.9-2.  The new thing in this configuration is
VMS 7.3-1 with the XFC cache enabled on an 0DS-5 system disk with
hard links enabled.  MMS does not exhibit the problem, so there
appears to be something about MMK and VMS 7.3-1 not liking each
other.  It consumed 3 hours of cpu time in about 3 hours and 10
minutes of elapsed time and did about 850 million direct I/Os (though
with little apparent disk activity) on my DPW 500au.

I've been poking around with linker maps, SHOW PROCESS/CONTINUOUS,
ANALYZE/SYSTEM, and the output of MMK/LOG and so far haven't gotten
much more precise than to be able to say MMK is chasing its own tail.
I haven't gotten further partly because I've forgotten how to get
from an address where something is happening to a line of source code
where something is happening.  The PC values where it gets stuck are
in P2 space, which I think means a system service or AST delivery.
Peeling back the stack by issuing SHOW CALL/NEXT within the SDA
(while logging the output) gives me

$ search sda.log "return address"
        Return address on stack = FFFFFFFF.800B6468       EXE$CMODKRNL_C+00198
        Return address on stack = 00000000.0004D090       ESIS$DEFINE_PPI+00CD0
        Return address on stack = FFFFFFFF.8014D0D0       EXE$AST_RETURN
        Return address on stack = 00000000.7AE57230
        Return address on stack = 00000000.00043FC0       CTF$SRV$INIT+00A80
        Return address on stack = 00000000.00041714       MMK+41714
        Return address on stack = 00000000.00040068       UCB$M_SUPMVMSG+00068
        Return address on stack = 00000000.7AF7FDD8
        Return address on stack = 00000000.7AF7FC18

which I think is telling me that if I can find out what's going on at
41714 bytes (in hex)  into the $CODE psect within MMK then I'll have a clue.

Until then, if anyone would like to remind me how this is done or
have a crack at it, please do.  In the meantime I think the
workaround is to use MMS or build on 7.3 or earlier.
Craig A. Berry

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About