[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::rdb_60

Title:Oracle Rdb - Still a strategic database for DEC on Alpha AXP!
Notice:RDB_60 is archived, please use RDB_70..
Moderator:NOVA::SMITHISON
Created:Fri Mar 18 1994
Last Modified:Fri May 30 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5118
Total number of notes:28246

5057.0. "bugcheck LCKCCH$LOCK_SIMPLEX" by M5::PTAKEO () Thu Feb 20 1997 15:09


   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.RTitleUserPersonal
Name
DateLines
5057.1From the V6.0-15 release notesHOTRDB::PMEADPaul, [email protected], 719-577-8032Thu Feb 20 1997 16:3872
        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.