** Description changed:
+ [Impact]
+ java-wrappers failed to find java runtime installed in /opt, which caused all
java-based program failed to launch, if the user installed java runtime from
Oracle.
+
+ apt-cache rdepends java-wrappers
+ java-wrappers
+ Reverse Depends:
+ freemind
+ worldwind
+ jajuk
+ weka
+ umlet
+ sweethome3d
+ statsvn
+ statcvs
+ sqlline
+ pdfsam
+ opticalraytracer
+ latexdraw
+ jxplorer
+ jsymphonic
+ jmeter
+ jftp
+ jeuclid-mathviewer
+ jeuclid-cli
+ jedit
+ jardiff
+ jalview
+ jabref
+ hdfview
+ freeplane
+ freemind
+ freecol
+ elki
+ electric
+ checkstyle
+ bnd
+ basex
+ azureus
+ yui-compressor
+ libfop-java
+ libbatik-java
+
+ [Test Case]
+
UBUNTU RELEASE (cat /etc/lsb-release)
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION=Ubuntu 12.04 LTS
PACKAGES
ii freemind 0.9.0+dfsg-1 Java Program for creating and viewing
Mindmaps
ii java-wrappers 0.1.24 wrappers for java executables
-
- When /etc/alternatives/java points to java runtime installed in /opt
(example may be /opt/ibm-java-i386-60/bin/java), then in
/usr/lib/java-wrappers/jvm-list.sh emply value is assigned to __jvm_alt in
following assignment:
+ When /etc/alternatives/java points to java runtime installed in /opt
+ (example may be /opt/ibm-java-i386-60/bin/java), then in /usr/lib/java-
+ wrappers/jvm-list.sh emply value is assigned to __jvm_alt in following
+ assignment:
__jvm_alt=$(readlink /etc/alternatives/java|sed -n
's/\(\/usr\/lib\/jvm\/[^\/]*\)\/.*/\1/p')
Reason is that bacause sed expression did not match path in /opt/..., no
substitution is made, and such sed statement prints pattern space only
if substitution is made.
Therefore in /usr/lib/java-wrappers/java-wrappers.sh fgrep in following code
always succeeds and JAVA_HOME is set to empty:
- if echo $DIRS | fgrep $__jvm_alt /dev/null ; then
- JAVA_HOME=$__jvm_alt
- java_debug Picking up the JVM designated by the alternatives
system:
- java_debug JAVA_HOME = '$JAVA_HOME'
- else
+ if echo $DIRS | fgrep $__jvm_alt /dev/null ; then
+ JAVA_HOME=$__jvm_alt
+ java_debug Picking up the JVM designated by the alternatives system:
+ java_debug JAVA_HOME = '$JAVA_HOME'
+ else
- # And pick up the first one that works reasonably
- for dir in $DIRS; do
- if [ -x $dir/bin/java ]; then
- JAVA_HOME=$dir
- break;
- fi
- done
- fi
+ # And pick up the first one that works reasonably
+ for dir in $DIRS; do
+ if [ -x $dir/bin/java ]; then
+ JAVA_HOME=$dir
+ break;
+ fi
+ done
+ fi
This eventually leads to this abnormal exit:
- if [ $JAVA_HOME ] ; then
- # ... omitted ...
- else
- java_warning No java runtime was found
- return 1;
- fi
+ if [ $JAVA_HOME ] ; then
+ # ... omitted ...
+ else
+ java_warning No java runtime was found
+ return 1;
+ fi
Hence other packages that use java-wrappers, e.g. freemind, experience
other failures because java-wrappers failure. In example of freemind, it
will not start at all.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1025914
Title:
java-wrappers fails ito find java runtimes installed in /opt
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/java-wrappers/+bug/1025914/+subscriptions
--
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs