Author Topic: Out of memory exception  (Read 4412 times)

Maarten

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
Out of memory exception
« on: July 13, 2005, 04:38:59 am »
Approximately 6 months ago we switched from Rational Rose to Enterprise Architect. All our models were exported from Rose and imported in EA as xmi-files. At the same time we also decided to set up version control for our models. Microsoft Visual SourceSafe is used for this purpose. We followed the EA user manual for the set-up and store our packages as xmi-files in SourceSafe.

Recently however several users encountered a data access problem when trying to import a package (e.g. when doing a Check-Out or Get Latest) in EA. They received the message “DAO.Database [2004] Out of memory.” and were no longer able to update their model. Compacting or repairing the EA model did not have any result. When investigating this problem we noticed that some packages/xmi-files were growing exponentially. Checking these files learned us that these packages contained hundreds or even thousands of lines with duplicate tags referring to a rose_uuid, such as:

<UML:AssociationEnd visibility="public" multiplicity="0..*" name="exportLog" …>
                       <UML:ModelElement.taggedValue>
                                   <UML:TaggedValue tag="rose_uuid" value="4033193A00DD"/>
                                   <UML:TaggedValue tag="rose_uuid" value="4033193A00DD"/>
                                   <UML:TaggedValue tag="rose_uuid" value="4033193A00DD"/>
                                   …..

The SourceSafe History revealed that after each check-in, the number of duplicates had been growing exponentially. Removing these tags reduced the size of the packages (i.e. the XMI files) seriously (eg. from >13Mb to ca 700kb). After re-importing our packages we were able to use the EA model again, but now, after only a few changes to the package, we are facing the same problem.

-Does anyone know about other reasons for “Out of memory” problems?
-Has anyone experienced similar problems?

For your information the versions we use:
-         EA: 4.5 (build 744)
-         VSS: 6.0c
-         Office XP (2002)

thomaskilian

  • Guest
Re: Out of memory exception
« Reply #1 on: July 13, 2005, 05:27:12 am »
I'd strongly recommend to contact Sparx support. You can kick out these tags without any problem since you don't work with the original Rose model any more. That might help. However, the described behaviour looks like a bug.

Maarten

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
Re: Out of memory exception
« Reply #2 on: July 15, 2005, 01:22:19 am »
We submitted this as a bug but did not yet have any reaction.

In the meantime our solution did not have the expected result. At first our solution worked fine. We checked out the xmi-files, cleaned them up and cheked them in. We were then able to open them again in our EAP model. After doing some modifications and checking the file in the size of the file exploded again. I assume that the 'legacy' Rose information is also stored somewhere in the EAP-file and is copied in the xmi-file when it is checked in.

Our last option seems to be to check out all our files, remove all tags with Rose information and import them in a new, empty EAP model.

sobedi

  • EA Novice
  • *
  • Posts: 17
  • Karma: +0/-0
  • No comment.
    • View Profile
Re: Out of memory exception
« Reply #3 on: July 15, 2005, 01:35:13 am »
Hi,

u can try to deploy your model on a database,
search the database for the old rose information and delete it  there...
this should be more comfortable as exporting everything in xmi and changing it...

i did recently some database tricks like converting all package names from lower case to first letter upper case and it just works fine...

as a second option you can edit your .eap-File directly in MS Access...
« Last Edit: July 15, 2005, 01:37:16 am by sobedi »

thomaskilian

  • Guest
Re: Out of memory exception
« Reply #4 on: July 15, 2005, 03:56:06 am »
Have a look at t_objectproperties
(DELETE FROM t_objectproperties WHERE Property LIKE "Rational%")

Backup!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8085
  • Karma: +118/-20
    • View Profile
Re: Out of memory exception
« Reply #5 on: July 17, 2005, 03:34:49 pm »
Hello Maarten.

I haven't seen the email, but we did have a look at the problem from the description in your first post.  We think that we found a possible cause for the problem.  I'm sure you'll get more direct of a response to your email though.

Simon

Maarten

  • EA User
  • **
  • Posts: 25
  • Karma: +0/-0
    • View Profile
Re: Out of memory exception
« Reply #6 on: August 03, 2005, 12:50:18 am »
A last post with the results of our clean-up.

Sparx Support confirmed that we could safely remove all Rational Rose tags from our xml files/EAP model. They were only needed in case we would decide to switch back to Rational Rose. Since we version control the individual xml files we decided to clean-up these files and import them in a new EAP model. The size of our new EAP model with the clean xml files decreased to approximately 5 MB (compared with 126 MB before the clean-up)! If we look at the changes of our xml files this was not surprising. One file originally counted 1280 lines with a rose_uuid. After 13 check outs/check ins in SourceSafe this number increased to 172162!

Fortunately everything seems to work fine with our new model. After multiple check outs/check ins the size of our model does not seem to increase much. The xml files do no longer contain rose information and hence we are no longer confronted with duplicate lines in these files. Although I cannot explain our problem, it is already a big relief that our model works fine again.