"Hello World" is back up and running again :) With the attached patch for
Japhar, that is.
We had a serious problem in Classpath, a cyclic dependency, that went like
this:
1. Runtime.load() (which loads native libraries) tries to get the static
securityManager variable from System. This triggers System's class
initializer.
2. System's class initializer calls insertGNUProperties(), which calls a
native function.
3. But Runtime.load() never finished loading any libraries!
I fixed it by moving securityManager into Runtime. This seemed the best way
to maintain security as well as fix the problem.
We had a little problem with StackTrace, too, but that is fixed now. It was
nice, though, because it revealed a bug in Japhar that could have (and
probably would have) bitten us later down the road, namely that Japhar
doesn't check the lower bound of arrays (0).
--John Keiser
japhar-cp-06252000.patch