Supported Platforms
- Windows NT 4.0 with Service Pack 6a
- Windows 2000 Professional Edition
- Windows XP Professional Edition
- HP-UX 10.20 and 11
- Solaris 2.6, 7, 8 and 9
- Linux Red Hat 7.2, 7.3 and 8.0
- Linux SuSE 8.1
- AIX 4.3 , 5.1 and 5.2
This section describes the whole set of noteworthy fixed problems in the 2003.06.00 release.
All Runtime Analysis C++ - 2002.05.21/2459 attolccp modifies time stamp of input fileThe C++ instrumentor modifies the time stamp of its input file on Windows Operating systems only.
attolcc does not handle the -MM option to the GNU compiler correctly. This option only generates the makefile dependencies. attolcc then tries to instrument these dependencies which is incorrect.
Code Coverage C++ And C - 2002.05.21/2563 INTERNAL ERROR: Empty Fifo in PopIfdef
When instrumenting C or C++ code with the following syntax:
#if 0 /* We curently
have no (socket) API for letting UDP actively participate ... */ i.e. a comment
on the same line as a #if, then the following error occurs:
TestRT attolcc1- INTERNAL ERROR:
Empty Fifo in PopIfdef() [halstead.inc:232] TestRT attolcc
- The preceding command-line caused an error
Code Coverage C++ And C - 2002.05.21/2561 (-) Monstrous macro makes Coverage viewer choke.
Huge macro expansion might result in incorrect coverage percentage calculation.
Code Coverage C++
- v2002 Release 2/2093 Instrumentor inserts probe before semicolon
The instrumentor inserts a probe before the terminating semicolon which results in code that does not compile.
Code Coverage C++ - 2002.05.21/2626 InstumentOr omits struct keyword when instrumenting.
Ternary expression with '0' as assignment for the false branch results, when
instrumented in incorrect code (incomplete cast when struct keyword necessary).
Coverage C++ - 2002.05.21/2519
Activation of signal handling results in incorrect code.
"atc.c", line 780: Error: _atc_register_signal() was previously declared "extern", not "static".
attolccp failed with a very long COMMENT argument.
A semi-colon is misplaced in case statement causing a compilation error.
In some circumstances an operation is reported twice in the coverage result when using the integration with RoseRT
Quality Architect (RQA-RT).
Under some circumstances operations are reported twice when using Test RealTime with Rose RealTime
Quality Architect (RQA-RT).
With Coverage level MC/DC selected, the error "symbol __atc_init_const_compound_done multiply defined" is seen at link. This behavior was observed when several instrumented sources containing multiple conditions are linked together and when RTRT_VARIABLE_INIT_SUPPORTED is set to 0 in the used TDP.
The manuals do not include filename descriptions of the operation, so it is still a mystery, "how" and "what"
are missing.
Add documentation for the syntax format of the Configuration Settings > "additional Objects or Libraries" field
When trying to access source control via File->Source Control the "Source Control" option is grayed out. In order to activate or make this option available you must do the following: 1. Go to Edit->Preferences 2. Select CMS 3. Under "Selected Configuration Management System" select the source control tool from the drop down list 4. Click ok Now, if you go to File, the "Source Control" option will be available.
The Rational Test RealTime help pages are not shown correctly in the Netscape 4.7 in Solaris.
The License Administration Guide document provided with the product refers to Rational Suite, but in fact also applies to Rational Test RealTime as well as other Rational Software products.
If the C/C++ libraries shipped within the standard Linux distributions have been replaced by more recent libraries, then the command line interface tools might terminate abnormally.
When instrumenting with Memory Profiling the instrumented code does not compile due to the use of "for" variables outside of the "for" block. Example: class I { int Value; public : I(int v) { Value = v; } bool operator >= (int v) { return Value >= v; } I &operator -- () { Value--; return *this; } operator int () { return Value; } }; int main ( void ) { for ( I i = 3; i >= 0; --i ); return i; } NOTE: This is an old style syntax and illegal in ANSI C++ as the "for" variables are now limited to the interior of the "for" loop.
The instrumentor generate access to an unused var because this one has the same name as the local var (here foo)
and the compilation fails. extern char foo[10]; int main () { char foo[10]; foo[0]=0; }
The following code cannot compile after instrumentation because the instrumentor insertion var access, after the
static X x declaration. class X; class Y { static X x; }; class X { public: X() {} }; X Y::x;
The instrumentor generates ambiguous access to 'Z::_atp_parse_globals' int i; class X { static int a; public: static void x() {a=0;}; }; class Y { static int a; public: static void y() {a=0;}; }; class Z : public X, public Y { public: static void z() {}; }; void foo() { X::x(); Y::y(); Z::z(); }
Memory Profile report viewer abnormally terminates when attempting to view a Memory Profiling report that loads a specific static (TSF) file.
When trying to filter what to include in the Performance Profiling viewer, there seems to be no help
connected to the dialog (Performance Profile:Filter). The only help that comes up is about the UML/SD viewer.
Rounding error in the performance viewer. Very small results in the "F time (% of .root)" is rounded to 0.1.
Runtime Analysis C++ And C - 2002.05.21/2620 Instrumentation errors occur with unnamed structs
Instrumentation errors occur with unnamed structs
Runtime Analysis C++ - 2002.05.21/2616 "_ATP_PARSE_GLOBAL" passed 2 arguments, but takes 1
Compiler error occurs in _ATP_PARSE_GLOBAL macro because the macro passed
two arguments but macro is expecting only one.
Runtime Analysis C++ - 2002.05.21/2600 (-) error #264: invalid base class
Error "error #264: invalid base class" raised when declaring an array of
zero size reduced to warning.
Work-Around:
Reduce the error to a warning, which allows the instrumentation and compilation
to complete. This can be done by modifying the file /targets/clinuxgnu/ana/atl.opp
and adding the line --diag_warning 264
Runtime Analysis
C++ - 2002.05.21/2529 Instrumentor should not pass the -frepo option
to the compiler
Instrumentor should not pass the -frepo option to the compiler
The attolccp instrumentor is not MS VC++ 6.0 compliant and fails emitting #80 and #793 error messages
tuc45% attolccp ActivationState.cpp ActivationState.aug.cpp atl.hpp atl.opp -PERFPRO TestRT attolccp: "source_files/FixedSizeAllocator.h", line 42: error #894: function "operator<<" is not a template friend ostream & operator<< <>(ostream &stream, const FixedSizeAllocator&right);
When a class contains a member variable that is an array of arrays and there is no default constructor, then the instrumented file does not compile.
If a long string is entered into the "Others" text field of the Rational Test RealTime plugin to MS Visual 6, then the next time the dialog box is reopened the plugin will be disabled. The options set are taken into account and the instrumentation is performed. It is when the options dialog box is reopened that the plugin is reset.
Compiler error when the preprocessor inserts a #line into the middle of a return statement containing a call and when one of Runtime Tracing, Memory Profiling or Performance Profiling are
selected.
The problem seems to be when "pthread_exit" is called, the return statement is never reach. In fact pthread_exit is not supported.
The code that is generated by the C++ Component Testing compiler is instrumented with contract checking enabled for a particular class then the following error can occur: file.h:67: macro `_ATT_FIELD_MTD' used with too many (3) args
The user interface aborts whilst reading in the test results with the message Arithmetic Error (core dump)
The build.xml delivered with the ANT example does not work on Windows. The javac tag requires a destdir attribute.
Instrumenting code with variable argument macros va_arg() yeilds these errors: ERROR: syntax error near char ERROR: syntax error near "arg %d = %s\n" Cannot recover from earlier errors ERROR: Error during code instrumentation
During the instrumentation a segmentation fault occurs.
The instrumentor detects an internal error is stl_deque.h and stops: P+Linux attolccp: "/usr/include/g++-3/stl_deque.h", line 323: internal error: assertion failed at: "class_decl.c", line 1310 { _Node_alloc_type::deallocate(__p, __deque_buf_size(__bufsiz, ^
When user clusters up some libraries and tries to pass them down to the linker with a
-Wl,--start-group leaky.o empty.o -Wl,--end-group, attolcc lays them out for the link
without 'enclosing' them. This causes undefined symbols during linking. When I cluster up some libraries and try to pass them down to the linker with a -Wl,--start-group leaky.o empty.o -Wl,--end-group, attolcc lays them out for the link without 'enclosing' them. This causes undefined symbols during linking.
The Performance Profiling Viewer sorts the methods by the first letter of the method signature that is usually
the return type and not the class and method name. The report is now sorted in the same order as the functions appear in the source code.
The option -g3 results in the #defines remaining in the .i file. It also causes the predefined defines "__DATE__", "__TIME__" etc to be redefined at the beginning of the file. After instrumentation the compilation of the instrumented file results in some warning of the following type: file.c:0:warning: `__DATE__' redefined The option -Werror converts the warning to an error and the compilation stops.
When first running the examples on a UNIX machine, the TDP selected by default is "C Visual 6". The Build stops with an error.
Runtime Tracing C++
- 2002.05.21/2454 When instrumenting templates the wrong template parameter
name is chosen.
When instrumenting templates the wrong template parameter is chosen. The template parameter name is from the template declaration not from the instantiation. Hence the error messages of the following kinds occur: RefHashTableOf.hpp: In method `RefHashTableOfEnumerator::RefHashTableOfEnumerator(const RefHashTableOfEnumerator &)': RefHashTableOf.hpp:279: type/value mismatch at argument 1 in template parameter list for `template XMLEnumerator ' RefHashTableOf.hpp:279: expected a type, got `TElem' RefHashTableOf.hpp:279: class `RefHashTableOfEnumerator ' does not have any field named `' or The identifer "_T2" is undefined template char *std::Alloc_traits<_Tp,std::allocator<_T2> > ...
The following code, when instrumented with runtime tracing does not compile: #include <hash_map> template <typename Key, typename Value> struct MyPair : public pair { MyPair(const Key& k, const Value& v) : pair<Key,Value>(k, v) {} }; int main() { return 0; }Studio All - 2002.05.21/2618 If the .rtp file is read-only, all changes to the project are lost.
When Studio detects changes to the project, it asks the user whether he/she
wishes to save the modifications to the .rtp file. User says "yes", then Studio
detects that the .rtp file is read-only, it then just informs the customer
that it's unable to save the file.
Studio C - 2002.05.21/2517
Cannot deselect External command on top project level
External commands are always executed even if checked for no build.
Classes inside namespaces will not be available to perform component testing on, ie they will not show up in the
pick list of component testing classes a user can select. But it will also result later in analyzing failures
if those classes are referenced in other classes.
If for some reasons a project fails when building, Rational Test RealTime stops and will not try to execute
the next project on the list.
Selection of single build stages does not function properly.
Problems encountered whilst importing a specific Makefile on the Linux platform where no files were imported. The same task on the Windows platform encountered no problem.
Import script for MS Visual C/C++ does not import compiler/linker options during Import process.
If an activity node is minimized and a build is performed then no green ticks appear when the node is maximized.
Doing a clean does not clean all the generated files.
When building a test node after modifying just one file in the node then all the files in the node are rebuilt.
Adding more than 1000 source files into a project might require a lot of memory.
Studio C++ And C - 2002.05.21/2127
Application files disappearing from Wizard
Files added to the wizard during a first run, diseappear from the list when the wizard is run again.
There is no way to pass arguments on the "java" command line.
Through the settings it is possible to pass parameters to the main() function but it is not possible to pass values to the Java Virtual Machine.
Instead of replacing the selected string by the one in the buffer, the buffer is inserted somewhere in the selected string.
Performance Profiling Viewer Find function does not search the document from top to bottom.
Strings that have been entered for searching are not stored in the combo box list.
Find function in Performance Profiler does not find all occurrences of a text string.
TheXML tags is not generated in the metric file. Only the tags is generated.
When a unit is excluded from instrumentation in Java, it is necessary to add manually the package name.
When editing a file the save icon becomes accessible. If another file is selected in the asset browser, then the save icon becomes inaccessible. It is then difficult to save the modifications in the file.
JVMPI classes are not filtered in the runtime tracing report. This affects all runtime tracing reports other than the one that is dynamically generated during application execution.
Target
Deployment Port C++ And C - 2002.05.21/2557 Studio: 'Build->Linker->Directories
for Libraries' field does not work
'Build->Directories for Libraries' field is not used during the build.
When using the Solaris VxSim TDP (csolvxsim.xdp) with debugging turned on the following error occurs:
"No such file or directory".
Target Deployment
Port C - 2002.05.21/2533 xdp contains function declaration without
asterisk '*' should be void* usr_memcpy()
The .xdp file contains function declaration without asterisk '*' should be void* usr_memcpy().
Sun WorkShop 6 update 2 C 5.3 issues warnings about Anachronisms in the TDP files.
Creating a test node which contains spaces and building the node causes an error, as the tests scripts ( .otd, ... ) has been created with the Node name the compilation failed.
There is a defect in file atp.c in function _atp_suppress_from_freeq. The _atp_last_freeq list will never be freed.
The information is not passed on to the compiler/linker. The TDP has to be modified: The "$libs" variable in the atl_link function has to be passed to the command line.
In the TDP Editor, the link function by default is semantically incorrect. The reference to the array
containing the library directory is called LibPath in the prototype but is sued as Libpath in the function
(the P has changed case).
When trying to use the macro ENV_SET_IF_NOT_SET_VARIABLE (for example: ENV_SET_IF_NOT_SET_WIND_BASE), the variable does not get set at all.
The caix.xdp target deployment port cannot be used with the latest version of the IBM compiler that is delivered with AIX 5L v5.2.
Intermediate files with the extension .aug.c[pp] cannot be compiled with compilers that do not allow
double-dot extensions.
Compilation errors can occur when using a compiler that does not like tilde (~) characters in file names.
This occurs when "long" names are replaced with their MS-DOS "short" name equivalents.
Rational products known installation Issue
The Rational installer is incompatible with the Windows "Change Journal" feature.
Rational has determined that, under certain circumstances, file-system corruption can
result from installing Rational version 2003 products on Windows 2000 to an NTFS partition
that has the Windows "Change Journal" (log) enabled on it. Rational is actively working with
Microsoft to better understand and identify a fix for the problem. Before installing any Rational
version 2003 product onto a computer running Windows 2000, please read Rational Solution 182435434
at http://solutions.rational.com/solutions/display.jsp?solutionId=182435434 for the latest information. Alternatively, you can search the Rational Solutions Knowledge Base at http://solutions.rational.com/solutions for the text "Change Journal".
All Runtime Analysis C++ - 2003.06.00/2578 (-) Coverage data displayed for Component Testing for C++ scripts and generated code
In the source file names contains the Japanese character "SO", the .dcl and .stb script files, and the code generated by Component Test for C++ (.otd.cpp file) are displayed as source files in the Coverage Viewer.
Work-Around:
Use the option "--multibyte_chars"
Code Coverage C - 2002.05.21/2322
(-) Instrumenter does not recognize valid ANSI-C syntax for floating constants
Binary exponent part indicator 'p' or 'P' not recognized by the instrumentor.
Work-Around:
#pragma attol accept "p2047" in atct.def
Coverage results are now output into the file "atlout.spt" and in create mode. The file 'attolcov.tio' is created by calling the batch tool atlsplit on the 'atlout.spt' file. The default filename 'attolcov.tio' can still be changed using the "ATC_TRACES" environment variable. The test timestamp (line DT in the tio file) is written by the atlsplit tool and not anymore by the TDP.
Documentation Java - 2002.05.21/2621 (-) Environment settings for javic in batch mode not explained.
Classpath environment variable has to be set correctly when launching javic
on the command line. Work-Around: Initialize the current environment accordingly.
Further details areavailable in the Solution Document nr.
184402801 at http://solutions.rational.com/solutions/search.jsp
Documentation C++ And C - 2002.05.21/2610 (-) Documentation: Incorrect instructions for "Creating an Activity"
Incorrect instructions for "Creating an Activity" in the Runtime Analysis Tutorial
Installation C++
And C - 2003.06.00/2526 (-) Installation of the Microsoft Visual Studio
6.0 plug-in over a previous version.
On windows, if the Rational Test RealTime Microsoft Visual 6 plug-in has been launched using a previous version of
Rational Test RealTime and was not uninstall by all users before installation of this new version, this will cause the
following error : "Rational Test RealTime not properly installed".
Work-Around :
1) Launch the Rational Test RealTime Cvisual 6 plug-in in order to uninstall it for the current user. You will get the following message : " Rational Test RealTime options uninstalled" 2) In the Microsoft Visual Studio 6.0 application go to "Tools" then "Customize". In the "Customize window", choose the "Tools" tab then remove any references to Rational Test Realtime :
"Rational Test RealTime Viewer" and "Rational Test RealTime Options ...". Close the "Customize Windows" and
quit the application. 3) In the registry database locate the following key :
"HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Build System\Components\Platforms\Win32 (x86)\Directories"
and remove any reference to Rational products in the "Path Dirs" key. 4) Launch the Rational Test RealTime Plug-in for Microsoft Visual Studio 6.0. It should say :
"Rational Test RealTime options installed". 5) Installation is finished. Note : This workaround should be used by every user that launched the Microsoft Visual Studio 6.0 pl
Memory Profiling C++ - 2002.05.21/2613 (-) 'throw 1' causes MLK to be reported against it.
Memory leak reported against 'throw' statement.
Memory profiling with the Test RealTime/Rose RealTime integration, after instrumenting the RoseRT TargetRTS does not work correctly
Work-Around :
If runtime tracing is used, the following option should be used: -exunit=Unused,used,RTActorClass,RTObject_class,RTActor_class,typeLookup Table,CmdDesc,RTProtocolDescriptor,RTSignalDescriptor,RTComponentDescrip tor,RTFieldDescriptor,lookupTable,RTFloat,RTTypeModifier,RTinet_address, RTPortDescriptor -exfile="path\TargetRTS\src\include\RTImportList.h".
Instrumentation error #338: more than one instance of overloaded function
Studio All - 2002.05.21/2619 (-) Foreign language characters (diacritics) in paths badly handled.
Migrating Projects containing diacritics in path or file names might cause
problems.
Work-Around:
Avoid diacritics or other special characters.
Studio C++ - 2003.06.00/2603 (-) Unable to match the declaration and implementation of a method when using namespace
Using namespaces in C++, the parent name of an implementation method, usually
written in a .cpp file, is not complete although the parent name declaration
is correctly fully qualified. Two consequences :
- When using the Component Testing for C++ activity wizard and testing a
class or a method belonging to a namespace, the file containing the implementation
is missing and the user must manually add it in the tested files list.
- Right-clicking on such a method in the Asset Browser and selecting Go To
Implementation/declaration displays a warning message explaining the inability
to find the corresponding implementation/declaration.
Studio N/A - 2003.06.00/2541 (-) Import Makefile : giving a Japanese name to generated project does not work
Importing a Makefile and giving to the generated project a Japanese name produces the two errors.
Work-Around:
Use a US name for the project.
Studio C++ And C - 2002.05.21/2422
(-) Unable to find a TDP if a basic setting involves a \"xxx\"
If the .ini file includes a line like: DEFAULT_CFLAGS="-g -b\"static\" -qlanglvl=ansi" this ini file is ignored by the GUI and it is impossible to select the TDP using the GUI project configuration
new because it is not included in the TDP list.
Work-Around :
The character " in a string should be encoded with the following syntax: hexanumber; good is DEFAULT_CFLAGS="-g -bstatic -qlanglvl=ansi"
On AIX, after opening a Coverage report containing a large number of fdc files and clicking on the Rates tab,
the report viewer terminated abnormally.
Abnormal termination of studio GUI when two different programs use the same .flexlmrc file. It is due to a
flexlm defect.
Work-Around :
- Remove the file ".flexlmrc" from the home directory - Set eventually the FLEXLM_NO_CKOUT_INSTALL_LIC environment variable
rm .flexlmrc export FLEXLM_NO_CKOUT_INSTALL_LIC=1 or setenv FLEXLM_NO_CKOUT_INSTALL_LIC 1 in csh
When the Studio’s editor works on a file stored in a FAT32 Windows file system then the editor is slower than with the usage of a NTFS file system.
After a HTML generation, the generated .png file does not represent fully the original graph (texts of legend bar are truncated).
After "studio.exe Proj_usr.rtw" should be also "Proj.rtp" loaded (as in 2002) - but is not, and project settings are not inherited from proj.rtp correctly and build of test node typically fails
Work-Around :
Open directly rtp file, rtw is then loaded as well
Running the GUI from a Solaris session displaying to a Exceed version 5.00 server running on Windows 2000
causes the server to abort.
Work-Around :
Upgrade to Exceed 7.0 or later.
Limited choice of colors available for the GUI on HP-UX workstations running CDE on a 256 color display.
Work-Around :
Use the QtConfig tool to customize the color map.
It is impossible to select target board if more targets configured on Code Composer.
On Unix and Windows, the by default UML/SD printing functionality does not work correctly (when all the pages are selected for printing, only the first page is printed). This printing defect occurs only for the UML/SD diagram.
Work-Around :
Select a range to print for example page 1 to 6.