Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

DOORS DXL EXCEPTION_ACCESS_VIOLATION (general_library.dll)

 Hi,


I have some trouble with my DOORS Classic DXL script running in batch mode and started by the task scheduler.

The script is running through roughly 10 modules and in there through each object. If the object has an outlink of a specific LinkSet I collect some attributes values from the outlink modules and use them in the current module to modify attributes.

In general the the script runs without any DXL error but at some point in time my DOORS Client crashes and shows me an error via CMD:
general_library.dll caused an EXCEPTION_ACCESS_VIOLATION in module general_library.dll at 000000008ED0E0B1
0x007ffd8ed0e0b1 general_library.dll, Str_Substr_Ex()+00000161 byte(s)

The crash does not occur always at the same point and I already checked for "deleted" objects or other misleading things in the modules.

As these 10 mentioned modules do have many objects as well as many Outlinks to more or less always the same ~15 modules I am not sure, if I maybe get into resource trouble.

I am also not sure If I am handling the "read(" and "edit(" commands correctly to open the modules. 

Here is the most important part of the script:


pragma encoding, "UTF-8"
pragma runLim,0
string myLinkMod = "/Path/LinkMod"

void switchOffVisibility(Module m) {
showDeletedObjects(false)
showChangeBars(false)
showGraphicsDatatips(false)
showGraphicsLinks(false)
hideExplorer(m)
tableContents off
graphics off
filtering off
showPictures off
showTables off
sorting off
linksVisible off
refresh(m)
}

void Main(Module mSource) {

//My Values
Module mTarget = null
Object oTarget = null
Object      oSource = null
Link outLink

for oSource in mSource do {
if (oSource."SomeAttribute" "" == "SomeValue") {
for outLink in oSource->myLinkMod do {

bTChasOutlinks = true

//Get linked Module & Object
oTarget = target outLink
mTarget = read(fullName(target outLink) "", false, true) //Display=false, StandardView=true
switchOffVisibility(mTarget)

//Getting Info from linked Modules...
}

//Writing into DOORS...

}
}
}

//Start
Skip ModuleListBRU = create
int i = 0

put(ModuleListBRU, i++, "/Path/Mod1")
put(ModuleListBRU, i++, "/Path/Mod2")
put(ModuleListBRU, i++, "/Path/Mod3")
put(ModuleListBRU, i++, "/Path/Mod4")
put(ModuleListBRU, i++, "/Path/Mod5")

//Loop through Skip List
string modFullName = ""
Module m
for modFullName in ModuleListBRU do {

noError
m = edit(modFullName, false, true, true) // //Display=false, Silent=true, StandardView=true
if (!null m) {
switchOffVisibility(m)
Main(m)
save m
close m
}
}

0 votes


Be the first one to answer this question!

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 198
× 29

Question asked: Feb 08 '24, 6:06 a.m.

Question was seen: 549 times

Last updated: Feb 08 '24, 6:07 a.m.

Confirmation Cancel Confirm