Re: Deployment error on start up
Re: Deployment error on start up
- Subject: Re: Deployment error on start up
- From: Chuck Hill <email@hidden>
- Date: Thu, 22 May 2008 10:57:46 -0700
OK, back to this.
On May 21, 2008, at 6:44 AM, William Hatch wrote:
On May 20, 2008, at 10:33 PM, Chuck Hill wrote:
On May 20, 2008, at 9:19 AM, William Hatch wrote:
OK, so extreme stupidity accounts for what we'll refer to as
initial problem,
:-)
at least I think anyway as I now have new problems. Turns out the
iPhone SDK does install 5.4.2, which overwrote all the frameworks
in /System/Lib.../Frameworks.
What problem did that cause?
Initially, we were getting weird adaptor errors; I believe I'd
posted them previously. Basically: I run both 5.4 and 5.3 locally,
so don't see issues in dev when crossing the 5.3/5.4 line. However,
it would seem logical that if I developed locally (and
unknowingly;-) on 5.4, and then pushed the built app up to a Tiger
server running 5.3 only (and apache 1.3x etc) that there _could be
problems. After uncovering "extreme stupid mistake #1" I assumed
that contributed towards the adaptor errors I saw subsequently.
OK, thank makes sense.
No problem I say, simply run the convenient wo53 script and I'll
be back in biz. Project rebuilt, manually configured the
MacOSClasspath.txt and MacOSXSClasspath.txt to get rid of the $
{jvm} bad argument
I had hoped that it was the iPhone SDK changes that caused this.
It sounds like it still happens after you re-installed 5.3? Sigh.
Yes, but eventually I began to think it was probably just the
project getting flaky so decided to rebuild a new one. This time,
did NOT select Wonder Project from the wizard; just made it a PO WO
project and added the wonder dependencies manually afterwards. That
fixed everything right away. But I first started by removing the
wo.system embeds, then the wo.local embeds, just to make sure there
wasn't something else going on. Now, it's not really related, but I
noticed on the wonderful (seriously) output you get on start up
(using Wonder) we now have this jar checker that very helpfully
determines what jars may have duplicate references. I have loads of
them; even on this new project. I'm not linking to the checked out,
imported workspace projects (I would, but I have some issue with the
checked out version of Wonder that seems to prevent me from ever
being able to build it all and install from subsequent cvs updates),
I have had a few problems, but I think I have them worked out. What
is happening for you?
so I occasionally download the latest Wonder built frames... and use
the check outs largely as reference within the workspace. Instead, I
reference the installed frameworks. So, even with no project
dependencies and with the local libraries linked in properly I'm
still seeing the jar checker warnings. But perhaps this is also
something that the new classpath stuff will impact.
Specifically what warnings do you see?
and fix the ERExtensions not showing up before ...foundation in
those files, (and it would be great to at least figure out how to
make eclipse do the right thing here; configuring the build path
didn't spotlight any obvious answers).
Mike has some very highly anticipated changes to WOLips classpath
handling that he is sitting on. I expect it will be a while before
he is ready to commit them.
Yes, and absolutely understandable for sure. My question was more
out of trying to understand all those internal details so I'd be
able to save my own day;-)
I have not quite figured out how that can work right now either. I am
hoping that Mike commits before it gets too far up my priority list.
Anyway, as a refresher, I've got a built .woa which is completely
embedded; all System and Local frameworks are included in the
built .woa. Now, when trying to start up I get this:
Generated classpath:
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents/Resources/Java/
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents/Resources/Java/cfiphoneweb.jar
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents//Library/Frameworks/JavaEOAccess.framework/Resources/Java/
javaeoaccess.jar
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents//Library/Frameworks/JavaEOControl.framework/Resources/
Java/javaeocontrol.jar
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents//Library/Frameworks/ERExtensions/framework/Resources/Java/
ERExtensions.jar
There is the jar file that has the ERXApplication class that it
says it can't find. I did notice that this and the next few paths
have an extra slash: Contents//Library. My first suspicion would
lie there. Check the files in woproject/ (or the build.xml or ...
depending on how you are including these.
Yup, the build.xml was absolutely the issue; not sure where the
extra / was coming from, I don't recall modifying it in anyway,
although I typically would just to add some additional convenience
targets. I picked up on it after noticing the ant output :
"Installing xxx in //Library...." and thought it was odd. Perhaps
some more forensics today might reveal where that is coming from.
Any news on that?
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents//Library/Frameworks/JavaFoundation.framework/Resources/
Java/javafoundation.jar
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents//Library/Frameworks/JavaJDBCAdaptor.framework/Resources/
Java/javajdbcadaptor.jar
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents//Library/Frameworks/JavaWebObjects.framework/Resources/
Java/javawebobjects.jar
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents//Library/Frameworks/JavaXML.framework/Resources/Java/
javaxml.jar
That is the last of the questionable paths.
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents/Library/Frameworks/CFPhoneEO_FW.framework/Resources/Java/
cfphoneeo_fw.jar
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents/Library/Frameworks/ERCaptcha.framework/Resources/Java/
commons-collections-3.2.jar
/Library/WebObjects/Applications/locations-prod/CFiPhoneWeb.woa/
Contents/Library/Frameworks/ERCaptcha.framework/Resources/Java/
ERCaptcha.jar
<snip>
/Library/WebObjects/Extensions/
java.lang.NoClassDefFoundError: er/extensions/ERXApplication
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at com.webobjects._bootstrap.WOBootstrap.main(WOBootstrap.java:84)
This would appear to indicate that the two (and which one should
it be using? MacOS or MacOSXS? we're running on Server, so I'd
think the latter) are being ignored. So, what next...
MacOSClassPath is what gets used. MacOSXServerClassPath is, AFAIK,
a obsolete relic of an earlier time.
Yeah, inspecting the logs later I found a line that indicated it's
only using the MacOS... one.
I'm loving Wonder. In development at least;-) I am getting so
desperate to get this ridiculously simple app deployed... Thanks
again.
We are close. I think...
Yes, and please don't take any of what I was saying as being
critical in any way of Wonder/WOLips and how it's all going. I mean
really, deployment has always been in a PITA for WO,
Yes, we are probably all familiar with the many flavors of pain that
can bring.
(well, really java in general, but that's another story) so it's not
like this particular problem was anything more stressful than usual.
For the most part, once you have a deployable app with a solid build
system going, future deploys are trivial and all; just seems to be
the first one, or the first one after major changes in some of the
underlying moving parts that will clobber your forehead with a crow
bar. I'd say WO, WOLips and everything else has come a long way in
the last six years for sure. The problems we complain about today
seem pretty trivial compared to some of the ones we complained about
back in the 5.0 to 5.1 days for sure.
Thanks for all the help and advice; we're all so fortunate to have
such a great group of people willing to help out here. And never any
attitudes either. If anybody ever wants to appreciate that fully,
feel free to participate in some of the OSX admin lists lol;-)
:-)
Chuck
On May 19, 2008, at 10:35 PM, Chuck Hill wrote:
On May 19, 2008, at 7:29 PM, William Hatch wrote:
Hmm, interesting. But, wouldn't the rest of the apps not run
either in that case?
It probably depends on how they are configured. WO is
notoriously fickle (also called buggy) in this area. I believe
that Pierre has been fixing many of the inconsistencies. I am
very much looking forward to that!
Chuck
On May 19, 2008, at 10:18 PM, David LeBer wrote:
On 19-May-08, at 9:54 PM, William Hatch wrote:
Hi Chuck,
The particular server it's running on is about a year old,
runs several other apps no problem (all 5.3) so I don't _think
that would be the problem, but on the other hand, I'm
extremely reluctant to question you (or David, for that
matter;-)
To be completely honest, I don't know where WOLips/Ant pulls
the $jvm from. Last time it happened to me, I hacked the
ClassPath file and went on with my business figuring I'd track
it down when I had time. But it hasn't reoccurred.
I am still having issues with the "No instance available",
which may be related to this line in the logs during start up:
May 19 20:24:55 locations[N/A] (ERXNSLogLog4jBridge.java:44)
DEBUG NSLog - Created adaptor of class WODefaultAdaptor on
port 2004 and address worldgaming.codefab.com.codefab.com/
199.103.21.241 with WOWorkerThread minimum of 16 and maximum
of 256
May 19 20:24:55 locations[2004] (ERXNSLogLog4jBridge.java:44)
DEBUG NSLog - Creating LifebeatThread now with: locations
2004 worldgaming.codefab.com.codefab.com/199.103.21.241 1085
30000
So, it looks like it's adding an extra domain.TLD somehow. I
have the WOHost property set in Monitor, and later on in the
log, it shows properly. If I try to connect using the port, I
get a "...unexpectedly dropped the connection..." Safari
message. Any thoughts here?
Ooo! Ooo! I know this one :-) DNS error. You've got a an A
record or a CNAME without a trailing dot.
worldgaming.codefab.com A 199.103.21.241
should be:
worldgaming.codefab.com. A 199.103.21.241
Notice the dot after the domain. Without it Bind thinks it's a
partial name and appends the rest of the domain to it.
Bill Hatch
Macaulay Library
4-2116
On May 19, 2008, at 8:11 PM, Chuck Hill wrote:
On May 19, 2008, at 5:02 PM, David LeBer wrote:
On 19-May-08, at 7:45 PM, William Hatch wrote:
Oh jeez, sorry, that last one should have been:
Reading MacOSClassPath.txt ...
Launching myApp.woa ...
${jvm} -XX:NewSize=2m -Xmx64m -Xms32m -DWORootDirectory="/
System" -DWOLocalRootDirectory="" -DWOUserDirectory="/
Library/WebObjects/Applications/locations-prod/myApp.woa" -
DWOEnvClassPath="" -
DWOApplicationClass=com.codefab.Application -
DWOPlatform=MacOS -Dcom.webobjects.pid=28757 -classpath
WOBootstrap.jar com.webobjects._bootstrap.WOBootstrap
./CFiPhoneWeb: line 1: exec: -X: invalid option
exec: usage: exec [-cl] [-a name] file [redirection ...]
Ahh, that's better.
The problem is the ${jvm} value in the exec statement.
That probably should be 'java'
What doest the #JVM == line of your AppName.woa/Contents/
MacOS/MacOS*ClassPath.txt say?
IIRC, this can also come from an incorrect / complete install
of WO. If it can't find WOBootstrap.jar, it uses the WO 5.2
launch scripts and things go wrong. Mike posted something on
this recently, but I don't have the message at hand. I
_think_ this is the same error. A few people have been
bitten by it and some seemed to have correct install so let
us know when you figure it out.
Chuck
--
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden