The Question is:
When issuing a SYS$CANCEL prior to issuing a SYS$QIO to close down a TCP/IP
connection I get a access violation ??
Sequence of events
1 - Connect
2 - Issue a IO$_READVBLK
3 - sys$cancel
4 - IO$_SETMODE|IO$M_CTRL|IO$M_SHUTDOWN
At stage 4 the access violation occurs. If I execute steps 1,2 & 4 (skipping
3) it works !!
Please advise !!!
The Answer is :
The failing Virtual Address and the program counter (PC) for the Access
Violation (ACCVIO) error -- when interpreted as ASCII text -- reads as
'nnection'. This indicates the potential for severe damage to the call
stack (stack corruptions) within the context of the application. This
corruption could obviously be the primary cause of the error, or it
could easily be secondary to some other error within the run-time
environment. The identification of the specific cause of this and of
most other ACCVIO errors will require application-level debugging, of
The OpenVMS Wizard strongly encourages reading the available debugging
and traceback topics here in Ask The Wizard -- such as topics (4129) and
(7552) -- as well as the various topics on the many potential causes of
the ACCVIO error itself. For virtual memory debugging and for memory
heap corruptions -- and for details on a debugging technique known
colloquially as "fenceposts" -- please see topic (3257). For basic
information on common coding bugs and for pointers to related topics,
please start with topic (1661). Also obviously of some interest here
will be the documentation on the OpenVMS Debugger utility; the debugger
is an invaluable tool for finding and for resolving run-time errors.
If you wish to request formal assistance in debugging this or other
application code, please contact the services organization directly.
For assistance with and for information on patches (if any) available
for the TCPware product, please contact the TCPware product support