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: | Fri May 30 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. |