Summary: | C++import: Excessive memory usage and then impossible to use | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | paolo achdjian <paolo.achdjian> |
Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | berrymansj, ralf.habacker |
Priority: | NOR | ||
Version: | 1.4.2 | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
example C++ header which makes Umbrello freeze on import
corrected sample header file that demonstrates other problems |
Description
paolo achdjian
2005-09-12 12:13:20 UTC
> Also if I delete all the useless data type that it creates, > Umbrello uses so much memory that if I enable the undo feature, > every modify in a diagram requires about 30 seconds. Useless data types? Please give an example. Chances are they _aren't_ useless because they are referenced from somewhere in the imported code (for example, as a parameter or return type of an operation.) In fact, Umbrello should not permit deleting them in the first place because that will most probably leave pointers dangling. (In other words, Umbrello does not yet properly support deletion of objects that are still referenced somewhere in the model.) > I can use it only disable the Undo and Autosave features, but saving > the project require about 15 minuts because it continues to swap. Does it also take that long when you disable the use of the new code generators (in the Configure Umbrello dialog) ? I noted that for every pointer (and perhaps for every reference) to a class, Umbrello produces a new data type, doubling the number of objects that Umbrello must manage. In the code that I imported, the class often have pointer to others class as member so I think I can delete them without problem if not ot have the type member undefined. For me, these data are useless because they don't preserve the meaning so I prefer delete it for save memory. Isn't clear at me why disabling the new code generators should speed up the saving. In any way, starting from a just open session, I disabled this option but the saving is always slow. Created attachment 15256 [details]
example C++ header which makes Umbrello freeze on import
No freeze here with my svn version (r582788). The classes have been imported, then i could drag them in the diagram... Created attachment 17694 [details]
corrected sample header file that demonstrates other problems
You're right, it no longer freezes - but demonstrates
some other errors. On the console, there are messages like
umbrello: ERROR: findUMLObject(T): breaking out of cycle involving Node
umbrello: ERROR: findUMLObject(T): breaking out of cycle involving Node
umbrello: ERROR: findUMLObject(Node*): breaking out of cycle involving Node
umbrello: ERROR: findUMLObject(iterator): breaking out of cycle involving
RedBlackTree
The cycle-breaking logic just avoids the crash but cycles should not occur
in the first place. Something is wrong with the way references to names are
being resolved.
*** Bug 129772 has been marked as a duplicate of this bug. *** The mentioned message do not appear in recent trunk or 4.9 release. |