Si2oaD/Known Defects
From oacwiki
Contents |
1 Missing Class Implementations
1.1 Managed Classes
The following managed Objects have not yet been implemented:
- WaferDesc
- Frame
- Reticle
- ReticleRef
- WaferFeature
- StepperMap
- Image
- FrameInst
- DesignInst
1.2 Utility Classes
In addition, many of the utility classes have not yet been implemented. This only affects attempts to call one of the oad() interface functions using the address of a utility object. Though not all utility classes are recognized by the interface directly yet, all attributes of managed Objects are accessed from the RTM using utility classes, and all of those are implemented so every attribute on every Object will be displayed.
EXAMPLE: If complexF is the name of a variable in user code being debugged, it can be useful to verify that the code constructed the value of that class instantiation as expected. So a call can be made from the gdb command line (assuming output=console) to display an instantiation of the oaComplex class as follows:
(gdb) call oadu( &complexF, "oaComplex<oaFloat>" ) <?xml version='1.0' encoding='utf-8' ?> <si2oad> <oaComplex oaComplex='(5.6,7.8)'/> </si2oaD>
EXAMPLE: A section of code in si2distest/test1.cpp creates a LookupTbl:
oaUInt4 nItems = 4; oa1DLookupTbl<oaInt4,oaFloat> tbl1D( nItems, "tbl1D", 16.836F ); tbl1D.setNumItems(nItems); for ( oaUInt4 ix = 0; ix < nItems; ++ix ) tbl1D.setHeader( ix, 10*ix ); for ( oaUInt4 ix = 0; ix < nItems; ++ix ) tbl1D.setValue ( ix, ix + ((oaFloat)ix)/100 ); oaIntFltTblValue *iftValue = oaIntFltTblValue::create( tech, tbl1D );
Breakpointing on that Value's create() method that will use that table, the oadu() interface function can be called to double-check the LookupTbl utility object as follows:
call oadu( &tbl1D, "oa1DLookupTbl<oaUInt4,oaFloat>" )
If the .si2oadoptions file had output=gui set, the browser display would look something like,
-Si2oaD version=1.7.2_2009sep02 oacAPIMajorRevNumber=4 oacAPIMinorRevNumber=43 oadocs=/home/dm4p007/doc/oa/html
-oa1DLookupTbl name=tbl1D numItems=4 vmSize=72 interpolate=SnapDown extrapolateLower=SnapUp extrapolateUpper=SnapDown default=16.836
colHeaders values=0 10 20 30
colValues values=0 1.01 2.02 3.03
2 Bugs
- "Suddenly" (in 2.6 and 2.7 at least), clicking on a ref to a Term in the Block's Term Collection opens a blank window (if the owner Net has not been opened in the Block display already, in which case the ref works in the same window). Doesn't fail for other Block Collection refs.
- Cannot run si2distest/tcl1.cpp because (when loading si2oadtcl.so) TCL reports:
undefined symbol: _ZNK12OpenAccess_47oaWafer11getViewNameERNS_12oaScalarNameE
3 Miscellaneous Problems
Problem: Symptoms:
- Browser (e.g., Firefox) has blank screen
- Browser ViewSource shows the XML file just fine.
- Error Console has a message: [ ABE.... ] Detected ...
Workaround: Looks like you have NoScript installed. Go to the AddOns menu in the browser and add localhost (or whatever value is set in the url option) to the whitelist.
Problem: Running Si2oaD on one machine, and starting the client browser on a different machine (as is the case when running in an ssh session with -X sent to a different machine) will mean that localhost on the client browser machine (the default URL to which the browser sends its HTTP requests) will not resolve to the same "localhost" IP of the nanoserver machine.
Workaround: Set the url option to an explicit IP. Unfortunately, this requires the user defining the config file on the nanoserver machine knows what the IP is.
Problem: The internal XSLT of Firefox 1.5.0.1 eliminates all newlines.
Workaround: The Firefox 1.0 "preview" version (and maybe some other version) works fine, as does Mozilla 1.4. Alternatively, use an external XSLT processor (like the supplied Xalan) to create HTML. Set option xsltype to ‘processor” and use Firefox to display the HTML produced in that fashion.
Problem: The OA model is incomplete.
Workaround: All public classes and attributes will eventually be implemented in subsequent releases of Si2OAD. Meanwhile, to satisfy critical needs, the source can be edited as needed to add new attribute calls missing from classes or new classes that have not yet been implemented. The makefiles will automatically rebuild the application as needed. As an alternative, see the last “Problem” in this section.
Problem: The browser does not start in the Win version. SOLVED v1.7.6
Workaround: Start the browser manually before running Si2oaD. (See README.Win32.txt in the distribution.)
Problem: In some browser versions, when the browser frame has been zoomed (up or down) using CTL+ or CTL- (or CTL-wheel), clicking on a ref in a refs Collection will not get the right link and will overlay a colored version of its text in the wrong place on the line.
Workaround: Don't use browser zoom (sorry -- working on it!).
Problem: Cannot run OAD TCL interface because TCL reports (when loading si2oadtcl.so lib):
undefined symbol: _ZNK12OpenAccess_47oaWafer11getViewNameERNS_12oaScalarNameE
Workaround: NONE. I need to figure this out.
Problem: Browser Error Console reports HTML error:
Error: mismatched tag. Expected: </link>. Source File: http://localhost:34268/0x414efb12.oao Line: 7, Column: 3 Source Code: </head>
The si2oad.xsl inserts this tag into the HTML on transformation:
<link rel="stylesheet" type="text/css" href="si2oad.css"/>
Note it has a proper /> end to the tag. This disappears in every browser I have seen, leaving the <link> tag without a proper endtag. Since the XSL output is HTML, not XHTML, this should not matter to browsers. Yet FF 3x reports this as a parsing error.
I have tried inserting a full endtag in the XSL, which is thrown away by Xalan:
<link rel="stylesheet" type="text/css" href="si2oad.css"></link>
Forcing the XSL to output an endtag as TEXT seems to work for link, but then the problem shows up on the <meta> tag. Adding a similar <text> element to meta transfers the problem to the <input> tags later on!
<xsl:text disable-output-escaping="yes"></link></xsl:text>
If you can figure out how to solve this, please let me know!
Workaround: Ignore it. Clear your error console before you are about to do something you really want to track, so these spurious error reports will not clutter up things.
Problem: The ______ [fill in the blank] feature does not work the way it should (i.e., the way I need).
Solutions:
- Log an bug or enhancement request in the formal tracker for consideration by the Working Group: https://www.si2.org/openeda.si2.org/tracker/?group_id=29
- Join the Debug Working Group to help influence the direction of development: http://www.si2.org/?page=667

