Browse all forums dedicated to the Rocket® COBOL product family.
Recently active
This article addresses the ASLM 2046 semaphore error message "rerun as root" on HP-UX. Problem: We have received the following error message on HP-UX: ASLM: Semaphore failure. Rerun as root ASLM: Errno 2046 Resolution: The error number indicates that this is a locking problem. /* System record lock table was full */ Try raising the system limit for the number of locks to resolve this problem. The parameter "nflocks" is the tunable which controls the maximum number of file locks. Raise the system limit on this parameter. Sizing the system record lock table limit (nflocks) depends upon the workload type in the user's environment. The number of record locks the system requires is highly dependent on the activity in the system at any point in time. Monitor this over a period that would be using the most locks and then set nflocks appropriately. The error occurs when other activities in the system causes
This article explains why the Memory Allocation Error 105 occurs on an AIX 32 bit program. Problem: We are receiving the error RTS 105, Memory Allocation Error, even after setting user ulimits to "unlimited". The program uses CBL_ALLOC_MEM and/or malloc() to obtain memory which, in total, amounts to more than 256 megabytes. RTS105 occurs when 256 megabyte total program memory usage is exceeded. This is due to an AIX system limitation, not a Micro Focus product limitation. Resolution: AIX allocates 256 megabyte segments to a 32 bit process. Up to fifteen addtional segments are available (total of two gigabytes), if the LDR_CNTRL environment variable is set appropriately. Please note that LDR_CNTRL is an AIX system variable and is not used directly by any Micro Focus component. IBM terminology for use of the additional segments is "Large address space model" or "Very large address space model".
This article explains what to do when invoking a series of Object COBOL classes is producing an apparent memory leak. Problem: We are running a mainline COBOL application which loops calling / invoking a series of Object COBOL classes is producing an apparent memory leak. What should we do? Resolution: The most common cause of memory management problems associated with classes is a failure to finalize objects before exiting the program. The cause of the performance problem is a memory leak, the amount of memory allocated to the running process grows continually and in small incements on every iteration of the processing loop. The memory leak is occuring because there is one (or more) object invoked that is not finalized or deleted. To test for this condition do the following: - Added the 'Behaviour class to the first class invoked i.e. Behavior is class "behavior" - Insert the following code j
This article explains how to set a runtime switch when executing a program that calls a web service. Problem: If we are using the following to set a runtime switch when executing a program that does not call a web service, then how do you set the switch if you are running a web service? export COBSW=-F cobrun -F cobol-pgm-name Resolution: To set the switch for a program that calls a web service, in the Server Properties there is a box called Configuration Information. Enter the following: [ES-Environment] COBSW=-F Anything under the [ES-Environment] (case is important) will be set in the server's environment. Old KB# 14039
This article explains how to resolve the Load error : file 'mfjsub' error code. Problem: How can the following error be resolved: Load error : file 'mfjsub' error code: 173, pc=0, call=1, seg=0 173 Called program file not found in drive/directory Resolution: The program mfjsub is an internal Server Express program. To ensure every Micro Focus program can be found at runtime the library path must be set correctly for the Operating system and Server Express product: AIX - LIBPATH=$COBDIR/lib:$LIBPATH HP/UX - SHLIB_PATH=$COBDIR/lib:$SHLIB_PATH all others -LD_LIBRARY_PATH=$COBDIR/lib:$LD_LIBRARY_PATH Ensure the environment variable is exported to the shell. Old KB# 14050
This article explains that the option -N FASTCALL can be used to decrease the time taken when the verb CALL is used often. Problem: In my application , the verb CALL is used very often . Is it possible to reduce the time? Resolution: Yes, the option -N FASTCALL can be used to decrease the time. However, if it is generated with -N FASTCALL, a module can't be a main program and any module called by this module must be generated with -N FASTCALL . Old KB# 14044
This article explains how to recover a corrupt Development (LMF) and Runtime (ASLMF) database. Problem: How do I recover corrupt Development (LMF) and Runtime (ASLMF) databases? I am getting the following error message: Micro Focus LMF - 002: The license database is corrupt. License Key database is corrupt. Resolution: You should refer to Recovering from a Corrupt Database in the chapter Installing and Administering Licenses in your Deployment Licensing Guide. With Server Express version 4.0 ServicePack1 onwards, there are utilities to assist with database recovery. For Deployment License Database (Application Server), if the license database is deleted or damaged, you can recover it using the utility aslmdbrecover and then reinstall the license. This utility deletes the license database and any system associated files and recreates the database. It starts the AppTrack utility and prompts you to reinstall the licenses. To recover from a corrupt database: Run th
This article explains how to produce a core file for every error. Problem: Is it possible to produce a core file for every error? Resolution: With Server Express 4.0 ServicePack2 and Server Express 5.0, the core file can be created for every error. echo '123456 01 Z1 PIC 9(4).' > prog.cbl echo '123456 add 1 TO Z1.' >> prog.cbl cob prog.cbl echo 'set core_on_error=2' > my.cfg COBCONFIG=./my.cfg export COBCONFIG cobrun prog.int In this way a core file is created . Old KB# 14043
This article explains a Load error 173 on 'cobchecker64' when compiling a COBOL program in the runtime environment. Problem: We are experiencing a Load error 173 on 'cobchecker64' when tyring to compile a COBOL program in the runtime environment: Called program file not found in drive/directory on cobchecker64 Why is this? Resolution: Ensure that the compiler product Server Express is installed on the development machine. Note: The compiler is called Server Express and the runtime product is called Server for COBOL (this latter product was also known as Application Server for Server Express in versions 4.0 and earlier of the product). Old KB# 14055
This article explains why an RTS 114 error occurs when compiling the Web Service client programs with directives like: DIALECT(ENTCOBOL) or similar. Problem: Compiling the Web Service client programs with directives like DIALECT(ENTCOBOL) or similar may lead to 114 errors. Why is this? Resolution: When using mainframe dialects some data types have an internal representation different to the default. The solution is to compile the -proxy.cbl programs with the default directives, and compile the -app.cbl main program with the required mainframe directives, taking care that the parameters past between both programs are compatible. Old KB# 14042
This article describes the differences between the Model 1 and Model 2 UNIX runtime licenses. Problem: Historically all UNIX runtime licences were Model 1, however from Server Express 4.0 ServicePack 1 and onwards, Model 2 licenses were issued by default to new Micro Focus customers. What is the difference between a Model 1 and a Model 2 license? Resolution: For the purposes of this article, please note that from Server Express 5.0 onwards the runtime product changed its name from 'Application Server for Server Express' to 'Server for Server Express'. Model 1 Licenses Model 1 licenses are the old form of licenses (pre Server Express 5.0). Although Model 1 licenses are no longer supplied, if you have Model 1 licenses from an earlier product, you can continue to use them with Micro Focus Server. There are three types of Model 1 licenses: Standard License - this is the normal Application Server license required to run an application. It includes the five free Applicati
This article explains the internal logic error when trying to animate a process-id. Problem: When trying to animate a process-id, during session one when running the COBOL program, the program waits for input from an Accept statement. In session two, the process-id of session one is found (ps -u<user-name>, and then animated using anim <process-id>. When the Accept was satisfied in window one, the following error is displayed: rts64: Fatal Error while attempting to process error 200 Resolution: Animating a process-id is called Unsolicited Dynamic Attachment Debugging or Attaching Animator to a running COBOL application process. The RTS 200 error is a catch-all error meaning that the run-time system has stopped as a result of an internal logic error from which it cannot recover and a more specific error code can not be determined. One possible cause for this error is that the environment variable COBDIR is pointing to the Server Express directory, but
This article explains why the 164 Run-Time subprogram not found error occurred. Problem: Why are we encountering the following runtime error? Load error : file 'cobmffh64.so.2' error code: 164, pc=0, call=1, seg=0 164 Run-Time subprogram not found Resolution: This error occurred because the UNIX/Linux command sudo was used to submit the programs. sudo (super user do) is a program that allows users to run programs with the security privileges of another user (normally the superuser). Each command is logged. It also initializes the environment, leaving TERM unchanged, setting HOME, SHELL, USER, LOGNAME, and PATH, and unsetting all other environment variables. The LD_LIBRARY_PATH must be set in order for the Run-Time system to be able to find the subprogram file cobmffh64.so.2. The COBOL programs are called from a job submission system using wrapper scripts. The error is resolved by exporting LD_LIBRARY_PATH=$COBDIR/lib in the script. Old KB# 1
This article explains what to do if a License Key database is unusable due to copying, restoration or tampering. Problem: What do we do when getting a "License key database unusable" error while trying to fire up the License Manager? Does this message mean the license database has become corrupted for some reason, for example copying, restoration, or tampering? Resolution: Yes, this error will ocurr if there has been a problem with the database. To circumvent the problem, take the following steps: Change directory to */*/mflmf. Type the command ./lmfgetpv k to shut down the License Manager process. Remove the directory mflmf and its contents. Change directory to $COBDIR/lmf. At the DOS command prompt type ./lmfinstall. Change directory to */*/mflmf.. Type sh mflmcmd (prompt I (capital "i") in order to install). Insert the serial number and the license key. Type mflmman to restart the License Manager process. Type./lmfgetpv to ping the License Manager in order to ve
This article explains why a new license is attached to the repertory /opt/cobol/d40SP3 and not attached to /opt/cobol/d50. Problem: When I use the following script file and install a new license, it attaches to the repertory /opt/cobol/d40SP3 and not to /opt/cobol/d50. Why is this? AA=/opt/cobol/d50 export AA PATH=$AA/bin:$PATH export PATH LD_LIBRARY_PATH=$AA/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH $AA/aslmf/apptrack Resolution: The reason this is happening is because AppTrack reads the environment variable $COBDIR to define the repertory of the new license, therefore the command echo $COBDIR must display /opt/cobol/d40SP3.Old KB# 14089#COBOL#ServerExpress#Licensing#netexpress
This article explains that in SQL, character literals should be enclosed with single quotes, rather than double quotes. Problem: This SQL statement returned an ORA-00904 error (invalid column name): EXEC SQL SELECT COL1 INTO :HOSTVAR FROM TABLENAME WHERE COL2 = "VALUE" END-EXEC Resolution: In SQL, character literals should be enclosed within single quotes, rather than double quotes. The above statement should therefore be changed to read: EXEC SQL SELECT COL1 INTO :HOSTVAR FROM TABLENAME WHERE COL2 = 'VALUE' END-EXEC Old KB# 14045
This article provides the ability to create a log file of License Manager activity showing users and processes. Problem: How can a License Manager activity log file be created? I would like to know the number of used development licenses and, at times, the process that uses a development license. Resolution: To achieve this, you need to: Stop the License manager by the command ./lmfgetpv k. Start the License manager by the command sh mflmman TRACE. The log file is MF-LMF.log. However, do not use this option by default, because the log file can become very large. Old KB# 14048#Licensing#ServerExpress#COBOL
This article explains that a difference in Classic versus ANSI C runtime creates linking issues. Problem: We are experiencing linking issues after upgrading to advanced versions of C/C on HP-UX. Why is this? > aCC -V aCC: HP ANSI C B3910B A.03.37 C/C advanced versions requires libCsup_v2 & libstd_v2 ldd -r libcobccsupport.sl /usr/lib/libc.2 => /usr/lib/libc.2 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libc.2 => /usr/lib/libc.2 /usr/lib/libcl.2 => /usr/lib/libcl.2 /usr/lib/libisamstub.1 => /usr/lib/libisamstub.1 /usr/lib/libdld.2 => /usr/lib/libdld.2 /usr/lib/libm.2 => /usr/lib/libm.2 /usr/lib/libCsup.2 => /usr/lib/libCsup.2 /usr/lib/libstream.2 =>  
This article explains what to do if a license database cannot be created and how to retrieve the correct installation with Net Express 4.0 Application Server. Problem: When removing Net Express 4.0 Application Server, and performing a manual clean of the Windows registry and installation folder, we reinstalled it onto the same server machine without typing in the serial number and license key while running the install. APPTRACK was used to complete the task, but we are receiving the message License database cannot be created. We checked that the license key fits the product. How do we get a correct installation? Check if the environment variable ASLMFNET was set erroneously, because it is intended to use ASLMFNET for local machines only, not for a networking license database on a server machine itself. Set the ASLMFNET environment variable to point to the location of the network license database, as follows: set ASLMFNET=r:\\license-db-dir Where: r: is the net
This article is specific to ACUCOBOL-GT and describes how to show your own icon (as opposed to the standard icon) on the task bar when your application is executed. Problem: Your application shows the standard icon on the task bar and on the left top corner of the screens. You want to display your own icon. Resolution: In the ACUCOBOL-GT runtime configuration file, set the ICON variable to the path where the .ico file that contains a 16-bit icon for your application resides. For example: ICON c:\\test\\myicon.ico Old KB# 14108
This article describes how to set up the ACUCOBOL-GT configuration file so that an application can use the F10 key on Windows. Problem: You are working on a graphical application on Windows and you want to be able to use the F10 key in your program. Resolution: Set the F10_IS_MENU runtime configuration variable to "0". By default F10_IS_MENU is set to "1", which does not allow you to use it inside your program. When set to "0" you will be able to recover the control of the key in your program. Incident Number: 2180697 Old KB# 14106
The ACUCOBOL-GT Runtime halts with file status 94,10 even after increasing MAX_FILES to the maximum. Problem: When executing a particular application, the ACUCOBOL-GT Runtime halts with file status 94,10, Too many files open by the current process. The runtime configuration MAX_FILES was increased to its maximum of 32767; however the same error occurs. The application opens less than 50 files which reside on a separate server and are accessed via AcuServer. Resolution: The MAX_FILES setting was made in the Runtime configuration file. The files are being served by AcuServer which is governed by a MAX_FILES setting of its own. MAX_FILES must be set for both the Runtime and AcuServer. The solution is to stop AcuServer, add a MAX_FILES setting in the a_srvcfg configuration file, and then restart AcuServer. As noted in the MAX_FILES documentation, the operating system may limit the number of files open per process. You might need to also adjust the appr
Configuring the AcuXDBC DSN fails with system error code 126. Problem: While AcuXDBC appears to be working because the data from the linked tables appears in MS Access, the following error occurs when you try to configure the existing AcuXDBC DSN in the Windows ODBC Data Source Administrator:The setup routines for the Acucorp AcuXDBC ODBC driver could not be loaded due to system error code 126. Also, the Drivers tab of the Windows ODBC Data Source Administrator shows the Acucorp AcuXDBC Version and Company as Not marked. Resolution: Access can still see the data because the path to the AcuXDBC driver is stored in the registry entry for the DSN itself. That registry entry is not corrupted. However the registry entries used by the Windows ODBC Data Source Administrator are corrupted. To resolve this: Start the registry editor and navigate to HKEY_LOCAL_MACHINE > SOFTWARE > ODBC > ODBCINST.INI > Acucorp AcuXDBC. Edit the Driver and Setup keys as necessary to reflect the
This article is specific to ACUCOBOL-GT and describes how to write a menu handling routine that creates menus dynamically by reading a file. Problem: You need to write menus that will change (dynamic menus) if you change the content of a file, without recompiling the program. Resolution: Attached to this KB article is an AcuBench demo project that contains sample code for creating dynamic menus, and a sample file for testing. The important parts of the code are described below. Read a file and create the level and the branches needed for your menu. The demo project uses the following code to accomplish this: Screen1-Aft-Initdata. open input filemenu/* Create a new menu */ call "w$menu" using wmenu-new giving menu-handle if menu-handle = zero go to acu-menudina-mn-1-exit end-if move low-values to filemenu-exception start filemenu key is greater than filemenu-exception
This article provides a matrix describing which versions of IBM DB2 are compatible with which versions of Acu4GL. Problem: Which versions of IBM DB2 are compatible with which versions of Acu4GL? Resolution: Acu4GL Version Compatible DB2 Versions 6.0 6.1, 7.1, 7.2, 8.0, 8.1 6.1.0 6.1, 7.1, 7.2, 8.0, 8.1 6.2.0.1 6.1, 7.1, 7.2, 8.0, 8.1 7.0.0 8.1, 8.2 7.2.0 8.1, 8.2 7.2.2 8.1, 8.2 8.0.0 8.1, 8.2, 9.0 Old KB# 14071
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.