Please find comments in-line.
On Tue, Feb 2, 2010 at 9:09 AM, Joe Baldwin wrote:
The behavior by an app in which it freezes for about 3-4 minutes and then
generates an out-of-memory-error is typically associated with an infinite
loop. Increasing the available memory to an app does nothing to analyze the
An infinite loop should manifest itself as a stack overflow issue, not an
out of memory one. I'm not saying it can't happen, but an OOME doesn't mean
that there's an infinite loop. By your description of the problem, it was a
large model. So, there are other ways that memory use could explode and we
won't really have a better idea until you try increasing the heap size.
That's simply the nature of the halting problem.
It is more likely to be associated the the CM attempting to "remove the
foreign key" as the CM dialog suggested. If the CM algorithm responsible for
accomplishing this task is somehow faulty it could have easily resulted in
an out of memory error.
If on the other hand there is no error in the algorithm and this task
requires and extraordinary amount of memory then it still points to the
assumptions associated with the algorithm and its memory requirements.
Certainly. No one is suggesting to the contrary. I'm just trying to get
more information to help diagnose the issue. Without your data model, it's
not something I can easily replicate.
Still, it is not clear what the CM-dialog is attempting to accomplish or
rectify (an associated, we-usually-do-it-this-way would help in these types
of cases), so either the CM has mis-analysed or the user has made a
procedural error. Either way the CM should not go into some functionality
that takes 3-4 minutes and then runs out of memory.
In addition, simply dismissing the CM's dialog window with the "remove the
foreign key?" question results in no out of memory error. This would not
typically happen if the CM were operating with insufficient memory.
If it is indeed the removing of the foreign key that is causing an OOME, it
still would point at Cayenne operating with insufficient memory. The
application's memory footprint is not static.
Therefore, the facts tend to point towards some exceptional condition that
should be caught by the CM. If there is something missing in the user
configuration then this might be an opportunity to have the CM point this
There is no logical entailment from any of the facts that suggest the
problem at this stage. All we know for certain is you operated on a large
dataset and ran out of memory. Occam's Razor would suggest you just need
more memory. Please try bumping the heap size and report and we can get a
better idea. If it truly is a memory issue, we can investigate reductions
in the allocated memory and provide a different max heap size by default.
On Feb 2, 2010, at 6:26 AM, Bryan Lewis wrote:
Sure, but you can run the modeler with an increased heap size, like
java.exe -Xmx512m -jar CayenneModeler.jar
On Mon, Feb 1, 2010 at 11:25 PM, Joe Baldwin <email@example.com
The CayenneModeler crashed not my app.
On Feb 1, 2010, at 11:07 PM, Kevin Menard wrote:
It looks like you would have needed to increased the -Xmx JVM property. Did
you actually corrupt any data in the process? If not, I'd suggest
re-running with an increased heap value. Otherwise, please file a JIRA
issue describing the problem.
On Sun, Jan 31, 2010 at 6:11 PM, Joe Baldwin <firstname.lastname@example.org
Tried to save a project with a new Entity (which had a many to one
relationship). When I selected "Save" the following panel was
Remove Foreign Keys mapped as object attributes?
Not sure what this would accomplish, I selected "Yes", which appears
the wrong answer because Cayenne Modeler crashed big time. (see auto
Build Date: cayenne.build.date
java.lang.OutOfMemoryError: Java heap space