****************************************************************************** ********************* 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 info@ibis.org. A list of reported bugs is maintained at http://ibis.org/bugs/ibischk/ . ****************************************************************************** PARSER VERSION NUMBER: PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Windows REPORTED BY: Mike LaBonte, MathWorks DATE: 26 Jan 2022 DESCRIPTION OF BUG: The command "ibischk7 bug229.ibs" will pass the file, except in the case where it is run on Windows and the files are on a UNC (Universal Naming Convention) network path, as shown below. In that case the output is: IBISCHK7 V7.1.0 Checking bug229.ibs for IBIS 7.1 Compatibility... '\\home\mlabonte\bug229' CMD.EXE was started with the above path as the current directory. UNC paths are not supported. Defaulting to Windows directory. E0516 - Unable to find Package Model 'bug229' for Component '0' Errors : 1 File Failed The explanation is that when a .ibs file has [Package Model] and the [Define Package Model] is in a separate .pkg file, ibischk calls a system, command to find it. The lines of code that do this are in pkgmdl.c: On Windows: sprintf(sCmdStr,"dir /b /l /a:-s-h-d %s*.pkg > %s 2>nul", sFilePath, sTmpFileName); On all other operating systems: sprintf(sCmdStr,"ls -ld %s*.pkg > %s 2>&1", sFilePath, sTmpFileName); On Windows, the system call function runs cmd.exe to execute the “dir” command, which is actually a built-in inside cmd.exe. This generates the system warning message above if the current working dir is on a network UNC path. The system calls should be replaced with POSIX function calls like opendir(), readdir(), and closedir(). https://man7.org/linux/man-pages/man3/readdir.3.html A workaround is to create a drive letter mapping to the UNC path, and run ibischk7 from there. INSERT IBIS FILE DEMONSTRATING THE BUG: ==> bug229.ibs <== [IBIS Ver] 7.1 [File Name] bug229.ibs [File Rev] 0 | [Component] 0 [Manufacturer] 0 [Package] R_pkg 0 0 0 L_pkg 0 0 0 C_pkg 0 0 0 [Package Model] bug229 | [Pin] signal_name model_name R_pin L_pin C_pin 0 0 0 0 0 0 | [Model] 0 Model_type Input Vinh = 0 Vinl = 0 | C_comp 0 0 0 | [Voltage Range] 0 0 0 | [End] ==> bug229.pkg <== (on UNC network path) [IBIS Ver] 7.1 [File Name] bug229.pkg [File Rev] 0 [Date] 0 | [Define Package Model] bug229 [Manufacturer] 0 [OEM] 0 [Description] 0 [Number Of Pins] 1 [Pin Numbers] 0 [Model Data] [Inductance Matrix] Sparse_matrix [Row] 0 0 6E-011 [Capacitance Matrix] Sparse_matrix [Row] 0 0 2E-012 [End Model Data] [End Package Model] [End] ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 229 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] ANNOYING PRIORITY: [HIGH, MEDIUM, LOW] LOW STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 7.1.1 FIXED DATE: November 18, 2022 NOTES ON BUG FIX: Classified at the IBIS Opend Forum Meeting on February 18, 2022. To be fixed in the next release. September 13, 2022 - Based on suggestion by Atul Agarwal and polling of some parser owners, and responses from Mike LaBonte and Michael Schaeder, we suggest renaming INPUT to IBS_INPUT. This could extend the schedule by one to two week. September 26, 2022 - Based on more email discussion and polling of several parser owners, we revised the recommendation to use the prefix "IBIS_" instead of "IBS_". ****************************************************************************** ******************************************************************************