Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic DOORS (steve huntington)
Decrease font size
Increase font size
Topic Title: close(mod) vrs close(mod, false)
Topic Summary:
Created On: 31-May-2005 21:03
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Quick Reply Quick Reply
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
 31-May-2005 21:03
User is offline View Users Profile Print this message


Louie Landale

Posts: 2070
Joined: 12-Sep-2002

Got some wierd intermittent crashes that seem to be associated with closing a module after saving it. I was wondering if anybody has noticed a difference between the "close(mod)" command and the "close(mod, false)" command?

- Louie
Report this to a Moderator Report this to a Moderator
 7-May-2007 21:28
User is offline View Users Profile Print this message


Jordan Jump

Posts: 5
Joined: 18-Nov-2005

Yes, I have been having issues with close(m, false) specifically when creating links. Generally this is what I have been observing:
  • 1. The close(m, false) calls return false and the modules still show up in the "Manage Open Modules" tool.
  • 2. It can crash independent of if save(m) was called.
  • 3. The cause of the crashing seems to be caused by a second close(m, false) call. That can be when the script is run a second time without closing the modules in the "Manage Open Modules" tool (but sometimes when closing via the tool), or by adding another call in the script.
  • 4. close(m) NEVER causes an error
  • 5. It seems more likely to crash if the link doesn't already exist (but it can crash either way)
  • 6. Not saving the module before closing sometimes brings up this error: "unlock module failed: No such file or directory c:\program files\doors7\data\ [...]\m0000024a.mod\lock.dtc" and is usually followed by a crash.
  • The text in the diagnostic log almost always includes "DOORS: ASSERTION FAILED, Line 582, F:\ccm\ccm_wa\ukedersdb\ERS_Teal\teal_win32_sqa\products\DOORS\src\generic\destroy.c: lt->side1.t != t && lt->side2.t != t && "Internal error: unloading module data referenced by loaded linkset.""

    Any ideas?
    Jordan
  • Report this to a Moderator Report this to a Moderator
     8-May-2007 00:36
    User is offline View Users Profile Print this message


    Louie Landale

    Posts: 2070
    Joined: 12-Sep-2002

    close(mod, false) is highly desirable in DXL scripts since it prevents a bunch of 'save module?' prompts which stopped long running DXL. Some script ran so long that I tried to speed it up by only saving modules that needed saving:

    if (unsaved(mod)) save(mod)
    close(mod, false)

    I know back in v6 days there was a problem where 'unsaved(mod)' would return false even when the module had been changed. I don't recall exactly, but suspect when you modify a link, the source module did not know it had to be saved. Thus, I had to keep track of which edited modules were actually saved, which go to be rather tedius.

    Anyway, this hasn't come up lately.

    - Louie
    Report this to a Moderator Report this to a Moderator
     8-May-2007 10:42
    User is offline View Users Profile Print this message


    Tony Goodman

    Posts: 1098
    Joined: 12-Sep-2002

    This probably has nothing to do with close(m, False), but I have also experienced problems when closing modules after creating links.
    The error reported was the same as that mentioned by Jordan.

    After creating a link, closing the target module caused an error because doors was attempting to close a module that was still being referenced by an open linkset.

    My fix was to unload the linkset before closing the modules.

    -------------------------
    Tony Goodman
    http://www.smartdxl.com
    Report this to a Moderator Report this to a Moderator
     8-May-2007 16:52
    User is offline View Users Profile Print this message


    Jordan Jump

    Posts: 5
    Joined: 18-Nov-2005

    Thanks for the comments.

    For now I am tracking changes, calling save(m) when necessary, and always calling close(m). Getting a save dialog will indicate an issue with the script, and is less of a nuisance to the operator than a crash. When I get some time I'll try unloading the linksets first...

    Jordan
    Report this to a Moderator Report this to a Moderator
    Statistics
    20925 users are registered to the Telelogic DOORS forum.
    There are currently 1 users logged in.
    The most users ever online was 15 on 15-Jan-2009 at 16:36.
    There are currently 0 guests browsing this forum, which makes a total of 1 users using this forum.
    You have posted 0 messages to this forum. 0 overall.

    FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.