Kbase 11481: How to troubleshoot Errors 48 and 49 on VMS
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
How to troubleshoot Errors 48 and 49 on VMS
This Progress Notebook Entry suggests ways in which to troubleshoot
Progress Errors 48 and 49 on VMS.
This entry can be used as a starting point in dealing with these
errors. Please note that these are suggestions to help in determining
the underlying causes. Please reference the Knowledgebase entry on
common causes of memory violations, error 49, as well.
Error 48 (Bus error) Corrective action
-------------------- -----------------
Corrupted code (.r files) Recompile code
Memory problems Check systems memory for errors
Index corruption Rebuild index using idxbuild
Database corruption Dump and Reload
Stacks low Increase -s parameter
Error 49 (Memory violations) Corrective Action
---------------------------- -----------------
Corrupt code Recompile code (.r files)
Corrupt data Scan db for bad data
Direct I/O count < 20 Make sure BIOLM & DIOLM is at least 20
Low or corrupted memory Check memory on system for errors
Low configured swap space Allocate more swap space
Hardware failures Check hardware for errors
Corrupted Progress executable Reinstall executable
Software Bug Report it to Technical Support
To check a VMS system's memory:
At the DCL $ prompt: SHOW MEMORY, to see if there is enough memory
available to start the server. The .shm file size in the database
directory is close to the amount of global pages required by Progres
to bring up the server.
To check the number of global pages available:
At the DCL $ prompt: WRITE SYS$OUTPUT F$GETSYI("FREE_GBLPAGES")
This will display the number of free global pages available on the
VMS system at the time the command was executed.
Tools that can be used:
o AUTHORIZE - from $ enter MCR AUTHORIZE or RUN SYS$SYSTEM:AUTHORIZE
User Process Parameters. Verify that system resources are adequate
WSDEF - Default working set size.
WSQUOTA - Working set quota.
WSEXTENT - Working set extent.
BYTLM - Buffered I/O Count Limit.
DIOLM - Direct I/O Count Limit.
See the VMS Installation Notes for minimum pages recommended.
Both WSEXTENT and WSQUOTA are controlled by the WSMAX SYSGEN
parameter. The combination of all WSEXTENT and WSQUOTA's cannot
exceed the WSMAX parameter. Note that some SYSGEN parameters
changes require a system re-boot for new value to take affect.
o MONITOR - from $ enter MCR MONITOR or RUN SYS$SYSTEM:MONITOR
Monitor current system performance for entire system or specific
classes such as processes, disks, states, etc.
MONITOR SYSTEM - Will show current memory usage, direct I/O rate
Look for memory usage, memory resources available, paging, swapping
and determine if the amount of memory used by all processes running
on a VMS system exceeds the amount of allocated physical memory.
o SHOW MEMORY/FULL - from the $ enter SHOW MEMORY/FULL
Shows memory usage at the time the command was executed.
PROGRESS is an application that runs on VMS. It runs in the same
layer as other applications. It runs in user mode normally, and
mode intermittently, as VMS requires. When a VMS machine is
rebooted, memory, specifically global pages, is completely cleared
Any resources that were allocated are de-allocated. Memory is
re-initialized. Shared memory is re-initialized when you start the
server. What part of shared memory is used? GLOBAL PAGES. Shared
memory is actually a UNIX term. Progress has "shared memory" with
the .shm file, which is a MAP of shared memory, that is, GLOBAL
PAGES.
What would Bedford Tech Support do to troubleshoot error 48 or 49
- The strategy to be implemented is as follows:
1. What resources are available?
2. What resources are required?
3. What was going on in VMS at the time of the error?
4. What error(s) are in the log file?
These errors may help in determining the direction to take.
5. What caused the error? Is it reproducible?
6. What was Progress doing at the time?
7. Is it occurring in one part of the application, against a
particular procedure?
8. Is it occurring when a particular Progress command is invoked
Paging on VMS is caused when the amount of memory used by all
processes running on a VMS system exceeds the amount of allocated
physical memory. The size of the page and swap files can be set
when configuring the system. To determine how much should be
allocated, see VMS Installation Notes, Section 2 on Memory
Requirements and System Resources. The information there is to
be used as a guideline for MINIMUM requirements. Trial and error
is used, as each system is different.
What is normal?
Normal is running without errors 48 or 49.
For normal memory requirements - each system is unique. Trial and
error, experience, configuration, load on the system, number of user
startup parameters for server and client. See the VMS Installation
Notes, Section 2 on Memory Requirements and System Resources for
guidelines on determining appropriate memory settings.
What EXACTLY is it in the o/s that Progress uses, that could possibly
cause a problem that a reboot would clear?
Progress uses global pages, that is memory, that is "shared memory".
If for some reason, shared memory becomes corrupt, or is not
re-initialized properly, problems may result. The previous
problem starting the server and getting memory violation (49)
errors due to a bug re-initializing the .shm file, has been fixed
in 6.2L10. Rebooting the machine clears the global pages, that is
memory, that is "shared memory". Resources previously allocated are
de-allocated. When the server starts up, a .shm file is created
using the server startup parameters. Global pages, that is memory,
that is "shared memory" are pre-allocated. The size of the .shm
file is directly related to the number of global pages required
for Progress.
How can you simulate a reboot, without bringing the system down?
IF the problem is with "shared memory", then by deleting the
.shm file, that is the snapshot of shared memory, the global
pages that were allocated are de-allocated.
Additional recommendations to resolve or address the memory violation
(49) error are to consider increasing:
1. page file size
2. swap file size
3. Direct IO limits as well as Buffered IO limits
For further documentation, see System Administration I, II and
VMS Installation Notes.
?
Progress Software Technical Support Note # 11481