****************************************************************************** ********************* IBIS GOLDEN PARSER BUG REPORT FORM ********************* ****************************************************************************** INSTRUCTIONS To report a bug in the IBIS golden parser. Please fill out the top part of the following form and send the complete form to ibis-bug@eda.org. A list of reported bugs will be maintained on eda.org. ****************************************************************************** PARSER VERSION NUMBER: 5.1.4 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Windows 7 REPORTED BY: Michael Schaeder, Zuken, Bob Ross, Teraspeed Consulting Group DATE: January 24, 2014 DESCRIPTION OF BUG: Fatal hang with message "Error in IBIS EBD file" or incorrect Error messages are reported as described in a set of test cases below. The bug149_1.ebd and bug149_2.ebd test cases are [IBIS Ver] 3.2 files. The referenced .ibs files are legal [IBIS Ver] 4.2 files. The fatal hang occurs with bug149_1.ebd when the referenced .ibs file has 24 characters in its file name. For bug149_2.ebd, the referenced .ibs file has 23 characters, but the Error message is incorrect: Checking bug149_2.ebd for IBIS 3.2 Compatibility... ERROR (line 29) - File name 'bug149_2_01234567890123.ibs' too long. Will be truncated ERROR - File Name Requires '.ebd' Extension. ERROR - Could not determine Version for file bug149_2_01234567890123. A fixed parser should report 0 Errors for both test cases. --- The bug149_3.ebd test case is an [IBIS Ver] 4.2 file, but the referenced .ibs file names contain 44 and 43 characters. A fatal hang occurs due to the 44 character file name. The referenced files are still illegal and a correct fix should report: Checking bug149_3.ebd for IBIS 4.2 Compatibility... ERROR (line 30) - File name 'bug149_3_0123456789012345678901234567890123.ibs' too long. Will be truncated ERROR (line 34) - File name 'bug149_3_01234567890123456789012345678901234.ibs' too long. Will be truncated The test cases are reduced from a real file created by a user with an EDA Vendor tool. The work-around is to upgrade the EBD files to Version 4.2 or higher for bug149_1.ebd and bug149_2.ebd. However, the fatal hang still occurs for bug149_3.ebd. The problem is in the ebdmdl.c file, where version handling is coded. A fix has been identified, implemented, and checked. This fix is available to the parser developer. ------- INSERT IBIS FILE DEMONSTRATING THE BUG: ----------------------------------- BUG149_1 Files Producing Fatal Hang ----------------------------------- |************************************************************************ | [IBIS Ver] 3.2 [File name] bug149_1.ebd [File Rev] 1.0 [Date] January 24, 2014 | |************************************************************************ | [Begin Board Description] BUG149 [Manufacturer] Test File | [Number Of Pins] 1 | [Pin List] signal_name 1 DQ<1> [Path Description] DQ<1> Pin 1 Node D1.1 | [Reference Designator Map] | Ref Des File name Component name D1 bug149_1_012345678901234.ibs BUG149 | 24 Chararacters in filename causes fatal Hang with [IBIS Ver] 3.2 with | message: | | File name 'bug149_1_012345678901234.ibs' too long. Will be truncated | | No fatal Hangs for [IBIS Ver] 4.2 and 5.1, and 0 Error are reported. | This test should report 0 Errors with [IBIS Ver] 3.2. | [End Board Description] [End] |************************************************************************ | [IBIS Ver] 4.2 [File Name] bug149_1_012345678901234.ibs [File Rev] 1.0 [Date] January 24, 2014 | |************************************************************************** | [Component] BUG149 [Manufacturer] None [Package] | typ min max R_pkg 0.001Ohm 0.001Ohm 0.001Ohm L_pkg 0.001nH 0.001nH 0.001nH C_pkg 0.001pF 0.001pF 0.001pF | |************************************************************************** | [Pin] signal_name model_name R_pin L_pin C_pin 1 DQ1 DQ1 300.m 1.nH 0.4pF |**************************************************************** [Model] DQ1 Model_type Terminator C_comp 1.10p 1.00p 1.20p [Voltage Range] 1.2 1.14 1.26 | [End] ------------------------------------------------ bug149_2 files Producing Incorrect Error Message ------------------------------------------------ |************************************************************************ | [IBIS Ver] 3.2 [File name] bug149_2.ebd [File Rev] 1.0 [Date] January 24, 2014 | |************************************************************************ | [Begin Board Description] BUG149 [Manufacturer] Test File | [Number Of Pins] 1 | [Pin List] signal_name 1 DQ<1> [Path Description] DQ<1> Pin 1 Node D1.1 | [Reference Designator Map] | Ref Des File name Component name D1 bug149_2_01234567890123.ibs BUG149 | 23 charactacters in filename does not cause fatal Hang, but an incorrect | set of Error messages are reported: | ERROR (line 29) - | File name 'bug149_2_01234567890123.ibs' too long. Will be truncated | ERROR - File Name Requires '.ebd' Extension. | ERROR - Could not determine Version for file bug149_2_01234567890123. | This test case should produce 0 Errors | [End Board Description] [End] |************************************************************************ | [IBIS Ver] 4.2 [File Name] bug149_2_01234567890123.ibs [File Rev] 1.0 [Date] January 24, 2014 | |************************************************************************** | [Component] BUG149 [Manufacturer] None [Package] | typ min max R_pkg 0.001Ohm 0.001Ohm 0.001Ohm L_pkg 0.001nH 0.001nH 0.001nH C_pkg 0.001pF 0.001pF 0.001pF | |************************************************************************** | [Pin] signal_name model_name R_pin L_pin C_pin 1 DQ1 DQ1 300.m 1.nH 0.4pF |**************************************************************** [Model] DQ1 Model_type Terminator C_comp 1.10p 1.00p 1.20p [Voltage Range] 1.2 1.14 1.26 | [End] ------------------------------------------------------------ bug149_3 files Producing Fatal Hang for [IBIS Ver] 4.2 Files ------------------------------------------------------------ |************************************************************************ | [IBIS Ver] 4.2 [File name] bug149_3.ebd [File Rev] 1.0 [Date] January 24, 2014 | |************************************************************************ | [Begin Board Description] BUG149 [Manufacturer] Test File | [Number Of Pins] 2 | [Pin List] signal_name 1 DQ<1> 2 DQ<2> [Path Description] DQ<1> Pin 1 Node D1.1 | [Path Description] DQ<2> Pin 2 Node D2.1 | [Reference Designator Map] | Ref Des File name Component name D1 bug149_3_0123456789012345678901234567890123.ibs BUG149 | 43 Chararacters in filename does not cause fatal Hang | No Crash for [IBIS Ver] 4.2 and 5.1 | D2 bug149_3_01234567890123456789012345678901234.ibs BUG149 | 44 Chararacters in filename causes fatal Hang | Crash for [IBIS Ver] 4.2 and 5.1 | | Because the .ibs file names exceed the 40 character limit, a correctly | functioning test should report these messages: | ERROR (line 30) - File name 'bug149_3_0123456789012345678901234567890123.ibs' | too long. Will be truncated | ERROR (line 34) - File name 'bug149_3_01234567890123456789012345678901234.ibs' | too long. Will be truncated [End Board Description] [End] |************************************************************************ | [IBIS Ver] 4.2 [File Name] bug149_3_012345678901234567890123.ibs [File Rev] 1.0 [Date] January 24, 2014 | |************************************************************************** | [Component] BUG149 [Manufacturer] None [Package] | typ min max R_pkg 0.001Ohm 0.001Ohm 0.001Ohm L_pkg 0.001nH 0.001nH 0.001nH C_pkg 0.001pF 0.001pF 0.001pF | |************************************************************************** | [Pin] signal_name model_name R_pin L_pin C_pin 1 DQ1 DQ1 300.m 1.nH 0.4pF |**************************************************************** [Model] DQ1 Model_type Terminator C_comp 1.10p 1.00p 1.20p [Voltage Range] 1.2 1.14 1.26 | [End] |************************************************************************ | [IBIS Ver] 4.2 [File Name] bug149_3_0123456789012345678901234.ibs [File Rev] 1.0 [Date] January 24, 2014 | |************************************************************************** | [Component] BUG149 [Manufacturer] None [Package] | typ min max R_pkg 0.001Ohm 0.001Ohm 0.001Ohm L_pkg 0.001nH 0.001nH 0.001nH C_pkg 0.001pF 0.001pF 0.001pF | |************************************************************************** | [Pin] signal_name model_name R_pin L_pin C_pin 1 DQ1 DQ1 300.m 1.nH 0.4pF |**************************************************************** [Model] DQ1 Model_type Terminator C_comp 1.10p 1.00p 1.20p [Voltage Range] 1.2 1.14 1.26 | [End] ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 149 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] SEVERE PRIORITY: [HIGH, MEDIUM, LOW] MEDIUM STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 6.0.0 FIXED DATE: June 20, 2014 NOTES ON BUG FIX: Classified at the February 12, 2014 Teleconference Meeting. To be fixed in the next release. A revised ebdmdl.c code will be provided. Approved at the June 20, 2014 IBIS Teleconference meeting. ****************************************************************************** ******************************************************************************