WARNING: This blog entry was imported from my old blog on blogs.sun.com (which used different blogging software), so formatting and links may not be correct.
So I mentioned yesterday that patch 5, also known as "Reef", is shipping.
Some users on the Creator forum have
reported seeing problems with the latest patch. We've dropped everything else
and spent the day studying the problem and have some preliminary ideas
about what the problem is. Hopefully the following explanation can help
those of you who are affected by this.
By the way, my coworker Eric has
started blogging. This issue
is in his area of expertise so I'm sure he'll have more to say, but at
the moment he's busy thinking of the best way to fix this problem!
Until patch 5, there were some scenarios where you could have errors in your
application, and the Creator source modeller wouldn't realize it. This could
lead to some bad results, like your code getting munged. These holes were
closed in patch 5. However, it's not handling the case where you try to
open a "bad" project from disk. If you've been using patch 4 you may not realize
there are problems in your application, since the source modeller wasn't
identifying this problem; you just ran the risk of Bad Stuff(tm) happening.
(Also, there's one change in patch 5 which could cause your project to no
longer be valid (the getContext()
issue; see below.)
Now this problem is detected at startup, but it's not handled well so what ends
up happening is that you load your application, various pages are marked as
having errors, and these pages get parsed over and over again (explaining the
CPU spiking two people reported) and consuming a lot more memory than was
required before (explaining some OutOfMemory exceptions another user was
reporting).
So, until we put out a fix for this, if you want an immediate solution,
you need to go edit your project (on disk) to remove the problem, then
you can open it in patch 5 and everything should be fine (and better/safer than
in patch 4; it will now alert you immediately when you do something to
put the project into a bad state.)
The problem is that it's not easy to find out what's wrong about your project.
That's probably what the user visible change of the fix will be: project errors
that blocks the source modeller on project open will be listed immediately so
you can handle them there and then. In the meantime, Eric has
identified a process you can use
to get your project back into shape.
However, before you try that: There's one more potential problem which could explain why your pages are
suddenly not understood by the source modeller: the getContext()
method in your page beans' superclass is missing in patch 5. So if any of
your page beans are using this method,
change the method call to getFacesContext()
or add a method
named getContext
which calls getFacesContext()
.
Also, if you have large projects (as some of you do) you may want to bump
up the memory assigned to Creator; edit Creator-location
/bin/ide.cfg
and replace -J-Xmx128m
on the
first line with -J-Xmx256m
.