Memory Access Violation When Installing Databases
When installing the Universal Addressing Module's U.S. Postal Database on Windows or Linux, you may encounter an error similar to the following:
Memory access violation.
COBOL error at 000000 in <path>\G1DBLOAD.acu
This issue is caused by a limitation in a third-party software library.
There are two workarounds for Windows and one for Linux.
Windows Workaround 1: Modify DEP Settings
- Go to .
- Click the Advanced tab.
- In the Performance area, click Settings.
- Click the Data Execution Prevention tab.
- Do one of these tasks:
- Select Turn on DEP for essential Windows Programs and services only.
- Select Turn on DEP for all programs and services except those I select then click Add and add wrun32.exe located in C:\Program Files\Common Files\Group1\Runtime. You should now see ACUCOBOL-GT 32-bit Runtime listed.
- Click OK.
Windows Workaround 2: Set USE_EXECUTABLE _MEMORY
If you do not want to modify your DEP settings, you can instead set the system-level environment variable USE_EXECUTABLE_MEMORY to TRUE.
Linux Workaround
To work around this issue on Linux, update the kernel configuration to turn off the NX (No eXecute) bit:
- Log in as root.
- Edit /boot/grub/grub.conf.
- Add noexec=off to all kernel option lines. For example:
title Red Hat Enterprise Linux AS (2.4.21-15.ELsmp) root (hd0,1) kernel /boot/vmlinuz-2.4.21-15.ELsmp ro root=LABEL=/ noexec=off initrd /boot/initrd-2.4.21-15.ELsmp.img
- Reboot the system.