OpenAccess 2.2 Known Problems and Solutions (KP&S)

This document describes known problems and solutions for Beta releases of OpenAccess 2.2.


All Platforms

 

Problem: 2.0 applications translated with oa20to22 prior to the upcoming p005 release contain empty foundry rules constraint groups, and the route specs are incorrectly included in the default constraint group.

Solution: Translate your application using the upcoming p005 version of oa20to22.

 

Problem: When using a techDB created by lef2oa prior to 2.2.1, the DBUPerUU for any viewType is set to 0, or the user units for any viewType is incorrectly set to oacMicron.

Solution: Due to a bug fix, tech DBs that used the default values for User Units and DBUPerUU in 2.2.0 will now contain incorrect values. You need to recreate your tech DB.

Problem: An oaDMFile attachment, or other DM operation, is not persistent when using the DM Turbo system if the library is opened in "nonShared" mode.

Solution: Perform a close() on the library before exiting the application. Closing the library ensures that all updates are passed from the Turbo client to the server.

 

Problem: The pcell generator definition manager (IPcellCPPDefMgr) form oaPcellCPP cannot modify IPcellGen definitions when any oaPcellCPP supermaster is opened in the library.

Solution: Complete the modifications to IPcellGen definitions before any oaPcellCPP supermaster is opened.

 

Problem: OpenAccess cannot load your libraries.

You get an error message such as " ERROR: lib.defs: Error at line 1 : Syntax error in libDefFile."

Solution: Check the syntax of your lib.defs file. Note that cds.lib files supported in previous versions of OpenAccess that include double dash (--) comment characters are no longer allowed. Remove the comment characters or replace the double dashes with the pound (#) comment character.

In general, renaming cds.lib files as lib.defs files is not supported: SOFTINCLUDE and UNDEFINE statements are not supported, and the $compute() syntax is not supported in library paths.

For more information, see Library Definition Files.

 

Problem: When writing large databases with OpenAccess translators or other applications, the file system might not immediately reflect the size of the database after the application exits.

Solution: Wait a few moments before continuing.

 

Problem: There are length limits on the names used for files stored in OpenAccess Turbo libraries:

The sum of the length of the cell name, view name, and file name must be less than the maximum length of a file name allowed by the operating system. For example, that max is 255 on UNIX.

Solution: This will be fixed in a future release.

 

Problem: There are length limits on the names used for files stored in OpenAccess FileSys libraries:

Cell names and view names cannot be longer than the maximum length of a file name allowed by the operating system. For example, that max is 255 on UNIX.

Solution: This limitation existed in the 2.0 release, and there are no plans to change this.


UNIX Platforms - All

Problem: Purify and Quantify cannot find "load on demand" libraries

Solution: To use Purify or Quantify with OpenAccess, you need to create a link in the directory inside the Purify/Quantify cache directory (that corresponds to the top-level installation directory) to the data directory of the installation.

For example, for Purify:

/user/oa/lib
/user/oa/data
/user/purifyCache/user/oa

Create this link:

/user/purifyCache/user/oa/data@ -> /user/oa/data

For example, for Quantify:

/user/oa/lib
/user/oa/data
/user/quanfityCache/user/oa

Create these links:

/user/quantifyCache/user/oa/data@ -> /user/oa/data
/user/quantifyCache/user/oa/bin@ -> /user/oa/bin

 

Problem: When installing, the Browse button doesn't work as expected.

During the installation process, you can click a Browse button to navigate to the folder into which you want to install, but you cannot select the folder you want:

Solution: The UNIX file browser works like this:

  1. Click the Browse button.
  2. In the Browser that appears, navigate to the folder that is one level above the folder in which you want to install and click Open.
  3. The path appears at the top of the Browser.

  4. Type the name of the folder to contain the installation in the "Enter file name" field and click Open.
  5. Click Next in the installer and follow the wizard to complete the installation.

 

Problem: Special characters <> drop out when printing documents from Netscape 4.76.

Solution: The online versions display correctly, or you can print the documents from a Windows browser.

 

Problem: While installing OpenAccess, you get the following error message:

Error writing file = There may not be enough temporary disk space. Try 
 using -is:tempdir to use a temporary directory on a partition with more 
 disk space.

Solution: Install OpenAccess on the command line and specify a temporary directory with 400 Mbytes of free space:

./oasunos_58_a002.bin -is:tempdir <path_to_temp>


Linux Redhat Enterprise 2.1 32-bit or Linux AS 2.1 (Itanium) 64-bit

Problem: You compile OpenAccess software, then get a segmentation fault when running executables.

If you debug the problem and run a stack trace, it looks like a gcc issue.

As as example:

============================================================= 
Running 'oaAnalysisLib                 ': Abort (core dumped)
 
user_1@machine_1:/home/user_1/oa22/bin/linux72/dbg 74 ? gdb ./oaTest
 
GNU gdb 5.2
 
Copyright 2002 Free Software Foundation, Inc.
 
GDB is free software, covered by the GNU General Public License, and you are
 
welcome to change it and/or distribute copies of it under certain conditions.
 
Type "show copying" to see the conditions.
 
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(gdb) r
 
Starting program: /home/user_1/oa22/bin/linux72/dbg/oaTest
Running 'oaAnalysisLib                 ':
Program received signal SIGABRT, Aborted.
0x4069db11 in __kill () at __kill:-1
-1      __kill: No such file or directory.
        in __kill
Current language:  auto; currently c
(gdb) bt
#0  0x4069db11 in __kill () at __kill:-1
#1  0x4069d8ea in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2  0x4069f092 in abort () at ../sysdeps/generic/abort.c:88
#3  0x406429e7 in __cxxabiv1::__terminate(void (*)()) (handler=0x4069ef34 ) at ../../../../gcc-3.2.3/libstdc++-v3/libsupc++/eh_terminate.cc:47
#4  0x40642a34 in std::terminate() () at ../../../../gcc-3.2.3/libstdc++-v3/libsupc++/eh_terminate.cc:57
#5  0x40642bb6 in __cxa_throw () at ../../../../gcc-3.2.3/libstdc++-v3/libsupc++/eh_throw.cc:77
#6  0x4018924f in oaClientSocket::connect(oaString const&, unsigned short) (this=0x8403800, address=@0x8403838, port=55555) at oaSocket.h:249
#7  0x40187d4f in oaClientConn::initConnection() (this=0x8403800) at oaClient.cpp:200
#8  0x4019502d in oaClient::initConnection() (this=0xbffff1f0) at oaClient.h:188
#9  0x401957b6 in oaLibServer::isActive() (this=0xbffff2a0) at oaLibServer.cpp:144
#10 0x40192a15 in oaClientLibData::create(oaScalarName const&) (name=@0xbffff410) at oaLib.cpp:794
#11 0x40190a6d in oaLib::create(oaScalarName const&) (name=@0xbffff410) at oaLib.cpp:61
#12 0x08338237 in oaUnitTest::openLib(oaScalarName const&) (this=0x83e7f60, libNameIn=@0xbffff410) at oaUnitTest.cpp:360
#13 0x08339f80 in oaUnitTest::openDesign(oaScalarName const&, oaScalarName const&, oaScalarName const&, oaViewType, char) (this=0x83e7f60, libNameIn=@0xbffff410,
    cellNameIn=@0xbffff450, viewNameIn=@0xbffff460, viewType=Internal: global symbol `_ZN10oaViewType5namesE' found in oaView.cpp psymtab but not in symtab.
_ZN10oaViewType5namesE may be an inlined function, or may be a template function
(if a template, try specifying an instantiation: _ZN10oaViewType5namesE).
) at oaUnitTest.cpp:983
#14 0x08337cc3 in oaUnitTest::openTestDesign(oaString const&, oaString const&, oaViewType, char, int) (this=0x83e7f60, suffix=@0xbffff560, viewName=@0xbffff570,
    viewType={value = 1276308, static names = 0x401a7ee0}, mode=119 'w', createTopBlock=1) at oaUnitTest.cpp:250
#15 0x0814968a in oaAnalysisLibTest::test() (this=0x83e7f60) at tech/oaAnalysisLibTest.cpp:63
#16 0x0833aff6 in oaUnitTest::run() (this=0x83e7f60) at oaUnitTest.cpp:1364
#17 0x083385f4 in oaUnitTest::runAll() () at oaUnitTest.cpp:516
#18 0x08311999 in main (argc=1, argv=0xbffff7c4) at main.cpp:148
#19 0x4068b657 in __libc_start_main (main=0x8311248 , argc=1, ubp_av=0xbffff7c4, init=0x80db734 <_init>, fini=0x833ca00 <_fini>,
    rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbffff7bc) at ../sysdeps/generic/libc-start.c:129

Solution: This problem is caused by incompatible binutils with gcc 3.2.3. See the Prerequisite for Compiling on Some Linux Platforms.


Linux Redhat Enterprise 3.0 (Opteron)

Problem: The installer hangs and the progress bar freezes on binary compatible releases.

If your installation hangs while installing OpenAccess, there is an incompatibility between the Java Virtual Machine and the revision of the operating system on which you are installing.

Solution: Install the following Java patches (or newer versions) and run the InstallShield again.

java-1.4.2-bea-1.4.2.04-1jpp_11rh.i686.rpm
java-1.4.2-bea-console-1.4.2.04-1jpp_11rh.i686.rpm
java-1.4.2-bea-devel-1.4.2.04-1jpp_11rh.i686.rpm
java-1.4.2-ibm-1.4.2.0-1jpp_8rh.i386.rpm
java-1.4.2-ibm-demo-1.4.2.0-1jpp_8rh.i386.rpm
java-1.4.2-ibm-devel-1.4.2.0-1jpp_8rh.i386.rpm
java-1.4.2-ibm-src-1.4.2.0-1jpp_8rh.i386.rpm

HP-UX Platform

Problem: Tcl is currently not working on the HP-UX platforms.

Solution: See Additional Tcl Build Instructions and refer to the HP-UX platform.

 

Problem: You get a compiler warning when compiling OpenAccess:

Warning 652: "oaAppDefPvt.h", line 442 # Virtual function "unsigned int OpenAccess_4::oaDataTbl::getDataType() const" is hidden by "unsigned int OpenAccess_4::oaAppDefTbl::getDataType(unsigned int) const"; did you forget to override it? 
Warning 652: "oaDMDataTbl.h", line 132 # Virtual function "void OpenAccess_4::oaDataTbl::preDestroy(unsigned int,int)" is hidden by "void OpenAccess_4::oaDMContainerDataTbl::preDestroy(unsigned int,int,int)"; did you forget to override it? 
Warning 652: "oaDMDataTbl.h", line 132 # Virtual function "void OpenAccess_4::oaDataTbl::preDestroy(unsigned int,OpenAccess_4::oaDomain,int)" is hidden by "void OpenAccess_4::oaDMContainerDataTbl::preDestroy(unsigned int,int,int)"; did you forget to override it? 
Warning 652: "oaDMObjectPvt.h", line 46 # Virtual function "void OpenAccess_4::oaObjectV::get(const OpenAccess_4::oaObject *,unsigned int &,OpenAccess_4::oaDataTbl *&)" is hidden by "void OpenAccess_4::oaDMObjectV::get(const OpenAccess_4::oaDMObject *,unsigned int &,OpenAccess_4::oaDMDataTbl *&,OpenAccess_4::oaLibAccess)"; did you forget to override it? 
Warning 652: "ClassDef.h", line 62 # Virtual function "void cadence::lang::Node::appendChild(cadence::lang::Node *)" is hidden by "void cadence::lang::ClassDefBase::appendChild(std::list > *)"; did you forget to override it? 
Warning 652: "FunctionCollector.h", line 44 # Virtual function "void cadence::lang::SimpleVisitor::visit(cadence::lang::Node *)" is hidden by "void cadence::lang::FunctionCollector::visit(cadence::lang::TmplClassDef *)"; did you forget to override it? 
Warning 652: "TCLEmitter.h", line 92 # Virtual function "void cadence::lang::SimpleVisitor::visit(cadence::lang::Node *)" is hidden by "void cadence::lang::TCLConstantVisitor::visit(cadence::lang::ConstDef *)"; did you forget to override it? 

Solution: These compiler warnings occur if you have a 'using declaration' in a class definition. You can safely ignore these warnings.


Solaris Platform

Problem: Calls to insert() functions in HashSet and HashMap fail on the Solaris platform.
 
If you have multiple calls to insert() in the same function or in a function that calls itself recursively, calls after the first one fail.
 

Solution: This occurs because the Solaris C++ compiler does not destroy function return values when it should. To resolve this problem, set the following compiler flag:

-features=tmplife

Windows Platform

Problem: Updating 2.0 Libraries to 2.2 (oa20to22) gives an error message.

Solution: Make sure that the Cadence cdsCommon DLLs are in your path. (The cdsCommon DLLs are typically included in <install_dir> /tools/bin.)