Kbase 35521: Access and Memory Violations due to VTAs not enabled
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
Solution ID: P5521
FACT(s) (Environment):
Open VMS 6.1
Progress 8.1A
SYMPTOM(s):
Access violations
SYSTEM ERROR: Memory violation. (49)
Using VMS Servers Virtual Terminals
CAUSE:
Virtual Terminals are not enabled.
FIX:
Make sure that virtual terminals are enabled. This is a requirement for all connection types and protocols. Terminals should show as VTAx. If they do not, then they need to be enabled.
Process to implement virtual terminals on VMS:
----------------------------------------------------------------------
$ set def sys$system
$ run sysgen
SYSGEN> show/hex tty_defchar2
Param Name Current Default Minimum Maximum Unit Dynamic
------------------- ---------- ----------- -------------- ------------- -------- ------------------
TTY_DEFCHAR2 00001002 00001002 00000000 FFFFFFFF Bit-Encoded
SYSGEN>
Take the current value, in this case 1002, add 20000 (hex) to this value which equals 21002.
Convert this value to decimal.
(The easiest way to do this is exit to the $ and type the following:
$ a=%x21002
$ sho sym a
A = 135170 Hex = 00021002 Octal = 00000410002
The decimal value is 135170.)
SYSGEN> use current
SYSGEN> set tty_defchar2 135170
SYSGEN> write current (Command to update the system parameter file
- vaxvmssys.par which gets read when system reboots)
SYSGEN> connect vta0:
oadapter/driver=ttdriver (FOR VMS < 6.2)
(command to have the system load the driver)
For Alpha OpenVMS 6.2+:
--------------------------------------
1) $ sysmanio = "$sysman io"
$ sysmanio
_IO function:
connect vta0:
oadapter/driver=sys$loadable_images:sys$ttdriver.exe
$
2) Reboot machine for values to take effect
3) Add the following lines into sys$startup:systartup_v5.com
or systartup_vms.com on V6 of VMS, to make sure that the driver is loaded
on every reboot:
$ run sys$system:sysgen
connect vta0:
oadapter/driver=ttdriver
exit
$
For OpenVMS 6.2+:
-----------------------------
1) Add the following into systartup_vms.com:
$ SYSMANIO = "SYSMAN IO"
$ SYSMANIO CONNECT
VTA0:/NOADAPTER/DRIVER=SYS$LOADABLE_IMAGES:SYS$TTDRIVER.EXE
$
2) Reboot
Command to use to validate that virtual terminals have been implemented:
$ show terminal
The terminal should have changed from LTAn: to VTAn:
To enable virtual terminals when connecting via TCP using DEC TCP/IP Services
for VMS (UCX) do the following:
1) UCX> set communication/remote_terminal=virtual_terminal
2) Stop and restart UCX to implement the virtual terminals.
These are the only terminal types that Progress will support on VMS. If a user
ctrl-y's or disconnects abnormally, Progress will clean up properly if virtual terminals are enabled. If they are not enabled this can result in access violations and memory violations.