John E. Malmberg wrote:
Abe Timmerman wrote:

Hi all,

The build stops here:

Running Mkbootstrap for B::C ()
MCR BLDROOT:[000000]miniperl.exe "-I[---.lib]" "-I[---.lib]" "-MExtUtils::Comman
d" -e chmod 644 C.BS
MCR BLDROOT:[000000]miniperl.exe "-I[---.lib]" "-I[---.lib]" "-MExtUtils::Comman
d" -e cp C.bs [---.LIB.AUTO.B.C]C.BS
MCR BLDROOT:[000000]miniperl.exe "-I[---.lib]" "-I[---.lib]" "-MExtUtils::Comman
d" -e chmod 644 [---.LIB.AUTO.B.C]C.BS
%MMS-F-ABORT, For target SUBDIRS, CLI returned abort status: %X10EE8180.
%MMS-F-ABORT, For target DYNEXT, CLI returned abort status: %X10EE8034.

I still do not know what your problem is as I know of only one significant difference from the Perl I am building an the one that you have.

The following patch is to fix a data corruption issue that showed up on one of the test scripts.

I wrote up some more details in the thread:

Re: Data corruption - [EMAIL PROTECTED] - PERL_HV_ARRAY_ALLOC_BYTES?

The summery is that the size of the structure allocated for the HV data was based on the size of a pointer on the host system, and not the size of the structure.

From what I can see, if and when the process access violation that results from this data corruption occurs is dependent on what logical names or symbols exist in the local VMS environment. So this could be what you are seeing or it may not be.


I also have not had time to decode the MMS error, but I have found the ritual to do it:

You need to extract the file MMSMSG.MSG from the DECSET kit with the backup command.

Then you can issue the following commands:

    $MESSAGE/OBJECT=MMSMSG.OBJ MMSMSG.MSG
    $LINK/SHARE=MMSMSG.EXE MMSMSG.OBJ
    $SET MESSAGE []MMSMSG.EXE
    $WRITE SYS$OUTPUT F$MESSAGE("%X10EE8180")

A change request has been put in for the MMS product in the future to ship with the message files so HELP/MESSAGE can use them.

-John
[EMAIL PROTECTED]
Personal Opinion Only
--- hv.h_blead  Sat Jul 30 22:30:05 2005
+++ hv.h        Sat Jul 30 22:31:15 2005
@@ -352,13 +352,13 @@
 /* Default to allocating the correct size - default to assuming that malloc()
    is not broken and is efficient at allocating blocks sized at powers-of-two.
 */   
-#  define PERL_HV_ARRAY_ALLOC_BYTES(size) ((size) * sizeof(HE*))
+#  define PERL_HV_ARRAY_ALLOC_BYTES(size) ((size) * sizeof(HE))
 #else
 #  define MALLOC_OVERHEAD 16
 #  define PERL_HV_ARRAY_ALLOC_BYTES(size) \
                        (((size) < 64)                                  \
-                        ? (size) * sizeof(HE*)                         \
-                        : (size) * sizeof(HE*) * 2 - MALLOC_OVERHEAD)
+                        ? (size) * sizeof(HE)                          \
+                        : (size) * sizeof(HE) * 2 - MALLOC_OVERHEAD)
 #endif
 
 /* Flags for hv_iternext_flags.  */

Reply via email to