Apache OpenOffice (AOO) Bugzilla – Issue 98528
Assertion "invalid JAVA_UNO_CLASSPATH entry!" pops up as an error window
Last modified: 2013-08-07 15:31:14 UTC
non-pro version, running smoketest on some machines... The complete message: Assertion Failed! Error: File O:\DEV300\src\desktop\source\deployment\registry\component\dp_component.cxx, Line 660 :### invalid JAVA_UNO_CLASSPATH entry! ( Yes=Abort, No=Ignore, Cancel=Debugger) The message should be written in the debug console, otherwise automatic testing is impossible
not reproducable anymore for some reason
.
CCed: hjs
still occurs here on m42, windows nonproduct
This problem could be reproduced on a windows machine using cygwin. There was no JRE installed locally. When building smoketestoo_native then the writer2latex is installed as shared extensions. This requires Java. However, there is non on the system (Windows registry) and the JAVA_HOME environment variable from the build environment is not passed into the uno.exe process where the actual registration of the Java component occurs. The uno.exe process is started from unopkg.bin. See desktop/source/deployment/misc/dp_misc.cxx:raiseProcess. It shows that no environment variables are passed on to the child process.
Correction: unopkg starts uno.exe so that it inherits the environment. During setup a custom action is performed that starts unopkg. This invocation is also done in a way that the environment is inherited. However, the environment of the console is not available in the msi process, hence JAVA_HOME cannot be inherited. This could be fixed by providing a global variable when invoking the setup. In the custom action one would read the variable with MsiGetProperty and put then JAVA_HOME into the environment, so that unopkg inherits it. The other issue is that, the unorc (uno_packages/cache/unopackages/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc) is not cleaned up in case the registration of the Java service failed. The current workaround is to have an Java 5 installed (including registry entries) locally.
CCed: is
target 3.3
The problem with invalid UNO_JAVA_CLASSPATH entry assertion is addressed in issue 107416.