| Title: | Oracle Rdb - Still a strategic database for DEC on Alpha AXP! |
| Notice: | RDB_60 is archived, please use RDB_70 .. |
| Moderator: | NOVA::SMITHI SON |
| Created: | Fri Mar 18 1994 |
| Last Modified: | Thu May 29 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 5118 |
| Total number of notes: | 28246 |
Hi,
I have a customer running RDB V6.0-13 (AlphaServer 1000/233
OpenVMS 6.2) and he has a bugcheck LCKCCH$LOCK_SIMPLEX + 00000120.
I've seen similar error in other note. Is it the same problem?
Someone could help me?
Thanks...Pedro
================================================================================
Bugcheck dump DISK$USERS:[N_MARCOS]RDSBUGCHK.DMP;1
================================================================================
This file was generated by DEC Rdb V6.0-13 upon detection of a
fatal, unexpected, error. Please return this file, the query or
program that produced the bugcheck, the database, monitor log,
and any other pertinent information with an SPR.
Current time is 18-FEB-1997 16:35:28.08
7-NOV-1995 23:59:36.23: Linked RDMSHRP (RDBVMS_BUILD) RDMS$ALPHA_V06013_STD:[S`
2-NOV-1995 06:46:52.49: Compiled KOD$LIBRARY (KODA) KOD$ALPHA_V06013:[CODE]
<FF>
================================================================================
Stack Dump
================================================================================
Saved PC = 00D8B8F0 : STD$DUMP_ALPHA_STACK + 00000090
Saved PC = 00D73C34 : KOD$BUGCHECK_DUMP + 00000D74
Saved PC = 00A837E4 : RDMS$$REQUEST_HNDLR + 00000764
Saved PC = 80007164 : S0 address
Saved PC = 861122BC : S0 address
***** Exception at 00C3B998 : LCKCCH$LOCK_SIMPLEX + 00000120
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=00000014, P`
Saved PC = 00BD6524 : DIOFETCH$FETCH_ONE_LINE + 00000198
Saved PC = 00BD5C28 : DIO$FETCH_DBKEY + 00000328
Saved PC = 00C73138 : PSIISCAN$GET_NEXT_NODE + 00000318
Saved PC = 00C6E918 : PSIISCAN$GET_NEXT_UNIQUE + 000001B8
Saved PC = 00A7C288 : RDMS$$KOD_ISCAN_GET_NEXT + 00000250
Saved PC = 00A63460 : RDMS$$EXE_LEAF + 00004650
Saved PC = 00A600A4 : RDMS$$EXE_LEAF + 00001294
Saved PC = 00A483A4 : RDMS$$EXE_NEXT + 00001744
Saved PC = 00A48A88 : RDMS$$EXE_NEXT + 00001E28
Saved PC = 01160B54 : STR$COPY_R_R8 + 002F953C
Saved PC = 00A52C10 : RDMS$TOP_RECEIVE + 00000340
Saved PC = 00E300BC : BLI$CALLG + 000000BC
Saved PC = 00BF94E0 : KOD$SETSTK_AND_CONTINUE + 00000140
Saved PC = 00BF9270 : KODSTREAM$DO_THREAD + 00000188
Saved PC = 00BF9004 : KOD$STREAM_REQUEST + 000002AC
Saved PC = 00BFA1A4 : KOD$STALLAST + 0000008C
Saved PC = 00BFA2C4 : KOD$STALLAST_RMS + 00000104
Saved PC = 800845A4 : S0 address
Saved PC = 80085DAC : S0 address
Saved PC = 0080F4DC : symbol not found
Saved PC = 008152B8 : symbol not found
Saved PC = 8002B3F4 : S0 address
Saved PC = 0080F4DC : symbol not found
Saved PC = 0080E48C : symbol not found
Saved PC = 00759CDC : symbol not found
Saved PC = 00758310 : symbol not found
Saved PC = 0074F2B0 : symbol not found
Saved PC = 00748104 : symbol not found
Saved PC = 0073A2F8 : symbol not found
Saved PC = 00545F98 : symbol not found
Saved PC = 002D6B4C : symbol not found
Saved PC = 002D8A94 : symbol not found
Saved PC = 002D8CB4 : symbol not found
Saved PC = 000CB658 : symbol not found
Saved PC = 000B5894 : symbol not found
Saved PC = 00067BD8 : symbol not found
Saved PC = 000C7290 : symbol not found
Saved PC = 0026A124 : symbol not found
Saved PC = 0026A90C : symbol not found
Saved PC = 0026BA44 : symbol not found
Saved PC = 000AF274 : symbol not found
Saved PC = 000B6E80 : symbol not found
Saved PC = 00040268 : symbol not found
Saved PC = 0004005C : symbol not found
Saved PC = 7EF12160 : P1 address
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 5057.1 | From the V6.0-15 release notes | HOTRDB::PMEAD | Paul, [email protected], 719-577-8032 | Thu Feb 20 1997 16:38 | 72 |
2.5.55 Queue Operations Were Not AST Safe
Oracle Rdb uses queue structures throughout the product.
It has been found that many of the queue operations in the
Alpha version of the product were not AST safe and some
of the queue operations on the VAX version of the product
were not AST safe. There was a very small window of time
where main line code could start a queue operation and
get interrupted by an AST routine which would operate on
the queue. When this occurred, the integrity of the que is
damaged and resulted in problems that were random and very
hard to reproduce. Though Rdb uses queues widely throughout
the product, there were not many areas of the code where a
queue operation would be interrupted by an AST routine and
where the AST routine would operate on the same queue as
the main line code.
Fortunately, we were able to work with a test case which
would eventually reproduce one of the problems caused by
this problem on a somewhat consistent basis. The symptom
of the reproducible case we worked with was similar to the
following:
Node: EWB715 DEC Rdb V6.1-02 Performance Monitor 20-MAR-1996 13:17:32
Rate: 3.00 Seconds Stall Messages Elapsed: 16:53:50.23
Page: 1 of 1 DIR_SYS_DB2ROOT:[DATABASE.SHIEN.WORK]NFS1$DBF_WORK.RDBMode: Online
--------------------------------------------------------------------------------
Process.ID Since...... Stall.reason............................. Lock.ID.
2BA0043D:1 20:25:56.83 - waiting for page 1:28341 (PR) 64000053
2BA0043E:1 20:25:56.83 - writing RUJ file block 2160
Resource: page 28341
ProcessID Process Name Lock ID System ID Requested Granted
--------- --------------- --------- --------- --------- -------
Blocker: 2BA0043E BATCH_443...... 4800113B 0001005D PW PW
Waiting: 2BA0043D BATCH_442...... 64000053 0001005D PR NL
Notice that BATCH_442 (PID 2BA0043D) is waiting for a lock
on page 28341 which is currently held in PW by BATCH_443
(PID 2BA0043E). From the Stall Messages screen in RMU/SHOW
STATISTICS, we see that BATCH_443 is stalled waiting to
flush to the RUJ file. Notice also that the timestamps of
the stalls for both processes are identical. In this case,
when BATCH_442 stalled for the page lock, a blocking AST
(BLAST) was delivered to BATCH_443. Unfortunately, BATCH_
443 was starting a queue operation at the time, and the
BLAST happened to also operate on that queue. The queue
subsequently became corrupt causing BATCH_443 to hang
forever which in turn caused BATCH_442 to hang since it
was waiting for BATCH_443 to demote it's lock on the page.
Obviously, this was a rare occurrence since the BLAST had
to be delivered within a 1 instruction window of time.
After putting in the code changes to make sure the queue
operations were AST safe, several problems that have been
reported and reproduced with our internal testing have
been resolved. The following bugcheck offsets represent
bugchecks that no longer occurred in our internal V6.1
testing after the fix was implemented:
LCKCCH$WEAKEN_LEVEL_1 + 000000E4
LCK$LOCK + 00000134
LCKCCH$LOCK_DUPLEX + 00000554
LCKCCH$LOCK_DUPLEX + 00000684
LCKCCH$LOCK_DUPLEX_HARD + 0000085C
LCKCCH$COMMIT_SUBTREE + 00000050
LCKCCH$COMMIT_SUBTREE + 0000019C
LCKCCH$LOCK_SIMPLEX_HARD + 00000450
This problem has been corrected in Oracle Rdb Version 6.0A
ECO 5.
| |||||