IBM Support

DOORS does not support using the evalTop_() command in a trigger

Troubleshooting


Problem

If you try to run the evalTop_ command via an IBM Rational DOORS trigger, you will get an error window with a DOORS exception. This command should not be used in a trigger.

Symptom

If you try to run the evalTop_ command via an IBM Rational DOORS trigger, you will get an error window with a DOORS exception similar to:

DOORS: doors.exe caused an EXCEPTION_ACCESS_VIOLATION in module doors.exe at 001B:00564AAE
DOORS: 001B:00564AAE (0xBDFAA947 0x1000F715 0x1000F70A 0x040984A8) doors.exe
DOORS: 001B:00672E2C (0x7C422F0C 0x7C422F20 0x00000000 0x041174A4) doors.exe
DOORS: 001B:78134C58 (0x7C422F20 0x00000000 0x041174A4 0x7C42319E) MSVCR80.dll, free()+0236 byte(s)
DOORS: 001B:7C422F0C (0x00000000 0x041174A4 0x7C42319E 0x00000001) MSVCP80.dll, std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy()+0051 byte(s)
DOORS: 001B:7C422F20 (0x00000001 0x00000000 0x006724B0 0xBDFAA9C3) MSVCP80.dll, std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy()+0071 byte(s)
DOORS: 001B:7C42319E (0xBDFAA9C3 0x1000F715 0x1000F70A 0x040984A8) MSVCP80.dll, std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >()+0009 byte(s)

Cause

This has been identified as a documentation defect under APAR PM82252. The documentation needs to explain that using evalTop_() in an IBM Rational DOORS trigger is not supported and why.

Environment

This was seen on IBM Rational DOORS 9.4, but the issue is version-independent.

Diagnosing The Problem

To determine if you are having this problem, check to see if you are using the evalTop_() command in an IBM Rational DOORS trigger.

Resolving The Problem

Using the evalTop_() command from inside an IBM Rational DOORS trigger is not safe. If you are using evalTop_() to define variables at startup, the recommended way to do this is by using startup files to define the variables at startup. You can also use registry entries or command-line switches.

If you want to centralize how the variables are set, one way would be to send a startup file to all the users that includes a file from a network share that all users can access. If you do that, then you would only need to update one file to affect all users.

[{"Product":{"code":"SSKR2T","label":"IBM Engineering Requirements Management DOORS"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General Information","Platform":[{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.2;9.2.0.1;9.2.0.2;9.2.0.3;9.2.0.4;9.2.0.5;9.3;9.3.0.1;9.3.0.2;9.3.0.3;9.3.0.4;9.3.0.5;9.3.0.6;9.3.0.7;9.4;9.4.0.1;9.5;9.5.0.1;9.5.1;9.5.1.1;9.5.1.2;9.5.2;9.5.2.1","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
01 May 2020

UID

swg21668356