9.1.0: Invalid or missing parameter to M$ALLOC

0 Likes

Problem:

Invalid or missing parameter to "M$ALLOC"

COBOL error at 000021 in XZ_MOP

Resolution:

XZ_MOP is a module of XZOOM, a third-party tool once provided to ACU customers to open and review Vision files.


Since this is a very old tool it is no longer supported.

A possible workaround to fix the reported COBOL error is to recompile the whole tool using one of the latest versions of the compiler: 8.1.3.1 or 9.1.2.1.

This of course requires the possibility to have the COBOL source code of the tool itself.

Since this tool is quite old, it may be that it was originally compiled with old versions and/or with even older retro-compatibility options.

I.e.: release 6.2 and "-z52 -Dv=32".

The solution usually is to recompile XZOOM with recent compilers, removing the -zNN -cNN compiler options.

Another reason that may cause COBOL errors at run time is the bit version of the compiled objects.

In the previous example, the compiled objects were compliant with 32-bit servers, but not with 64-bit ones.
To fix the error, the option "-Dv=32" must be removed.

From the extend(R) Documentation Set:
-Dv
Allows you to specify the default byte (initial value) used to initialize any data item not otherwise initialized when the program is loaded. The option must be followed by an equals sign ("=") and the decimal value of the byte to use (for all current platforms, this is the ASCII value of the desired character). For example, to fill memory with the NULL character, use "-Dv=0". To fill memory with the ASCII space character, use "-Dv=32".

The default value is the space character.

Claudio Contardi
Product Support Engineer, Senior
Micro Focus

Comment List
Anonymous
Related Discussions
Recommended