****************************************************************************** ********************* IBIS GOLDEN PARSER BUG REPORT FORM ********************* ****************************************************************************** PARSER VERSION NUMBER: ibischk 3.2.9 (also 3.2.8, 3.2.7) PLATFORM (SPARC, HP700, PC, etc.): Windows OS AND VERSION: Windows 2000 REPORTED BY: Lynne Green, Cadence Design Systems, (Modified by Bob Ross, Mentor Graphics) DATE: 29 August 2002 DESCRIPTION OF BUG: Summary: When ibischk3 source is complied into another program, and the other program creates successive ibischk3 calls to EBD files, a crash can occur if there is an error in the second EBD file at the IBIS version level. In the testcase, the version in the second file is "IBIS Ver]". ___ Added note from Bob Ross: This bug is only encountered under a specific sequence whereby one ibis ebd file is parsed after another under program control. Cadence already implemented the suggested fix below to solve the problem. The true validation requires Cadence to compile the revised ibischk3 code and perform sucessive EBD checks with a defective EBD file. ibischk3 already correctly handles each test file. --- The situation can be solved by adding the last two lines shown to the function below in the file ebdmdl.c: static void s_collectFileRef( EBDREF *pEbdRef, char *sPin, char *sModel ) { char *sFile; HDR *hdr, *last; IBIS *pIbis; STATUS status; PINREF *pPinRef; FILEREF *pFileRef; IBIS_GetIBIS(&pIbis); /* locate the last header. which will be original header */ last = hdr = pIbis->pHdrs; while( hdr ) { last = hdr; hdr = hdr->pNext; } if(!last) return; INSERT IBIS FILE DEMONSTRATING THE BUG: This requires two files, here called file1.ebd and file2.ebd. bug75a.ebd: |*************************************************************************** | [Ibis Ver] 3.1 [File Name] bug75a.ebd [File Rev] 2.00 [Date] April 7, 2000 [Comment char] |_char [Source] My Corporation [Notes] | [Disclaimer] | THESE MODELS ARE PROVIDED "AS IS" WITH NO WARRANTIES OR GUARANTEES | [Copyright] 2000 Corporation | |*************************************************************************** | [Begin Board Description] board1 [Manufacturer] My Manuf | [Number Of Pins] 1 | | [Pin List] signal_name A4 XXIERR# |*************************************************************************** | KS1P_CMOS_FAST_PAK [Path Description] A4 Pin A4 Len = 0 L = 0.02e-9 C = 0 R = 0.2 / | [End Board Description] [End] bug75b.ebd: |****************************************************************************** | IBIS Ver] 3.1 [File Name] bug75b.ebd [File Rev] 2.00 [Date] April 7, 2000 [Comment char] |_char [Source] Corporation [Notes] | [Disclaimer] | THESE MODELS ARE PROVIDED "AS IS" WITH NO WARRANTIES OR GUARANTEES | [Copyright] 2000 Corporation | |****************************************************************************** | | [Begin Board Description] board2 [Manufacturer] My Manuf | [Number Of Pins] 1 | | [Pin List] signal_name A4 XXIERR# |*************************************************************************** | KS1P_CMOS_SLOW_PAK [Path Description] A4 Pin A4 Len = 0.90 L = 5.83333333333333e-9 C = 4.76190476190476e-12 / | [End Board Description] [End] ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKIN ******************* ****************************************************************************** BUG NUMBER: 75 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] ANNOYING PRIORITY: [HIGH, MEDIUM, LOW] LOW STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED* FIXED VERSION: 4.0 (beta) FIXED DATE: July 15, 2003 NOTES ON BUG FIX: Classified at the September 20, 2002 IBIS Meeting Planned to be fixed since the fix is very simple. * December 13, 2003 - Suggest change inserted, but not yet validated. Bug provisionally closed - Bob Ross ****************************************************************************** ******************************************************************************