| From: AYOV29::JCLARK 1-NOV-1993 11:28:31.32
To: AWARD::MAGNI
CC:
Subj: SCREEN DUMP
TPAS LOGIC RESULTS DISPLAY
PART NO :DEMSA-AB
PARSED PART NO =
FROM STOCKROOM :641 STD COST = 1239.980000
TO STOCKROOM :115 .00
FROM BUSNS TYPE CD:MFG
TO BUSNS TYPE CD :MFG
PRICE TYPE CODE :
BASE PRICE : .000
DISCOUNT PERCENT :.00
STD_COST UPLIFT : .00 TPAS_STD_CST_TYPE_C, PRESS 'Y' OR 'N'
TPAS TRANS STATUS :
F %SYSTEM-F-BREAK, breakpoint fault at PC=00000000, PSL=00000000
WARNING :
%RDMS-I-BUGCHKDMP, generating bugch_DEV2:[DUTY]RDSBUGCHK.DMP;2
|
| From: EIRS::CSC32::C_WUSK "STARS Mail Facility" 4-NOV-1993 13:54:47.10
To: award::magni
CC:
Subj: rdms$$find_valid_seg_crtv
[DEC Rdb 4.2] Bugcheck at RDMS$$FIND_VALID_SEG_CRTV After Upgrade
Copyright (c) Digital Equipment Corporation, 1993, All Rights Reserved.
Unpublished Rights Reserved Under The Copyright Laws Of The United States.
"Without the express written consent of Digital Equipment Corporation, no part
of this information may be copied, downloaded, stored in retrieval systems,
further transmitted or otherwise reproduced, stored, disseminated, in any form
to any party who is not covered under an appropriate, duly executed,
Digital Service Agreement."
PRODUCT: DEC Rdb 4.2, 5.1
OP/SYS: VMS, OpenVMS VAX
SOURCE: Digital Customer Support Center
SUBJECT:
The DEC Rdb V4.1 release notes state that the following problem is fixed in
a future release:
Bugcheck at RDMS$$FIND_VALID_SEG_CRTV + 0000000F on Query
An extract from release notes is included below. It includes a workaround,
which is valid in some, but not all cases.
BACKGROUND:
Section A.2.44 of the RDB 4.1 release notes:
A bugcheck at RDMS$$FIND_VALID_SEG_CRTV + 0000000F occurs for a query
when there is a sorted index with two or more segments, with ORed
range-producing restrictions (for example, <,=,>) defined for some
segment, and with an equality restriction defined for a segment higher
than the ORed-range segment. Most probably, an even more complicated
restriction on the multisegmented index is needed to produce this
bugcheck.
A workaround is to replace the ORed range restriction with its
equivalent having at least one disjunct look different than a simple
comparison or BETWEEN predicate.
For example, instead of using the following expression:
R.X <= 'aaa' or R.X >= 'zzz'
Use this expression:
R.X || ' ' <= 'aaa' or R.X >= 'zzz'
Or, instead of using the following expression:
R.Y <= 1 or R.Y >= 10
Use this expression:
R.Y + 0 <= 1 or R.Y >= 10
This is a known problem in V4.1 that will be fixed in a future release.
ANALYSIS:
The workaround detailed above works under some, but not all, circumstances
in V4.2. The bugcheck was fixed in multiple places in the V4.2 code,
tailored to fit known circumstances. However, new sets of circumstances
have arisen.
RESOLUTION:
There is a special image that addresses this issue in DEC Rdb 4.2.
It is available through DSN VTX as CSCPAT #374.
This image, and future code, should ensure that this fix covers all bases.
Also incorporated in these special images are fixes for bugchecks at
RDMS$$COMPILE_INDEX_MAPS and RDMS$$EXE_LEAF
Several routines in module PREEXE had to be modified to accommodate this
change. In routine REBUILD_BEST_AUGMENTED_OR_INDEX, we now (in this
special image) go through the fresh augmented list and make sure that we
have a valid CRTV sequence: pick only usable CRTVs (i.e. all needed
contexts available) and ensure that their segment numbers are contiguous
and in descending order.
For more information about this patch, see the article titled
*DEC Rdb] CSCPAT_0374 (RDMSHRP, RDMSHRP42) for DEC Rdb V4.2 - ECO Summary
|