Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8059124

Java plugin does not accept classpath option from contol panel runtime arguments

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • 7u67, 9
    • deploy
    • x86_64
    • linux

      FULL PRODUCT VERSION :
      java version "1.7.0_67"
      Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
      Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Linux dev-desktop 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Firefox 32.0 (64 bit)

      A DESCRIPTION OF THE PROBLEM :
      According to the documentation at http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/jcp/jcp.html the Java Plugin should accept a classpath option specified as a runtime argument from the Control Panel in the form:

      -cp=<path> or -classpath=<path>

      However when I do provide a custom classpath using either of the above formats, and attempt to execute an applet from the browser I get the following error message from the browser's console output:

      JRE 1.7.0.67: Unrecognized option: -cp=/home/wade/java-libs/*

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1) Run Java Control Panel and add classpath referencing directory containing extra jars to the runtime arguments (-cp=/home/wade/java-libs/*)

      2) From bash shell, set environment variables: JPI_PLUGIN2_DEBUG=1 and JPI_PLUGIN2_VERBOSE=1 and then run firefox.

      3) From browser window hit url page with applet depending on extra jars


       

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Expected the applet depending on the extra jars to run sucessfully.
      ACTUAL -
      The applet does not start.

      From the bash session running firefox the trace below is printed out:



      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      NativeLibLoader: trying to load /home/wade/apps/java/jdk1.7.0_67/jre/lib/amd64/libnpjp2.so
        (Succeeded)
      MozillaPlugin.MozillaPlugin with browser thread ID: 140213775247936
      MozillaPlugin.setWindow sun.plugin2.main.server.MozillaPlugin@3f9261de hWndControlWindow = 54536129 caRenderServerName = null
        Attempting to start applet
      JVMLauncher.start: launcher params:
      <-Xbootclasspath/a:/home/wade/apps/java/jdk1.7.0_67/jre/lib/deploy.jar:/home/wade/apps/java/jdk1.7.0_67/jre/lib/javaws.jar:/home/wade/apps/java/jdk1.7.0_67/jre/lib/plugin.jar>
      <-Djava.class.path=/home/wade/apps/java/jdk1.7.0_67/jre/classes>
      <-Dsun.awt.warmup=true>
      <--->
      <-cp=/home/wade/java-libs/*>
      <-->
      <sun.plugin2.main.client.PluginMain>
      <write_pipe_name=/tmp/.com.sun.deploy.net.socket.6063.5389921142100600898.AF_UNIX>
      JVMLauncher.start(): now - user.startApplet(): 50159 us
      JVMLauncher.processArg[0]: /home/wade/apps/java/jdk1.7.0_67/jre/bin/java
      JVMLauncher.processArg[0]: -D__jvm_launched=574491153728
      JVMLauncher.processArg[0]: -D__applet_launched=574491103569
      JVMLauncher.processArg[0]: -Xbootclasspath/a:/home/wade/apps/java/jdk1.7.0_67/jre/lib/deploy.jar:/home/wade/apps/java/jdk1.7.0_67/jre/lib/javaws.jar:/home/wade/apps/java/jdk1.7.0_67/jre/lib/plugin.jar
      JVMLauncher.processArg[0]: -Djava.class.path=/home/wade/apps/java/jdk1.7.0_67/jre/classes
      JVMLauncher.processArg[0]: -Dsun.awt.warmup=true
      JVMLauncher.processArg[0]: -cp=/home/wade/java-libs/*
      JVMLauncher.processArg[0]: sun.plugin2.main.client.PluginMain
      JVMLauncher.processArg[0]: write_pipe_name=/tmp/.com.sun.deploy.net.socket.6063.5389921142100600898.AF_UNIX
      JVMLauncher.processArgs total len: 515, custArgsMaxLen: 2097043
      JVMLauncher.afterStart(): starting JVM process watcher
      JVMInstance.start: JVMID original params array:
      [0][0]: <-Xbootclasspath/a:/home/wade/apps/java/jdk1.7.0_67/jre/lib/deploy.jar:/home/wade/apps/java/jdk1.7.0_67/jre/lib/javaws.jar:/home/wade/apps/java/jdk1.7.0_67/jre/lib/plugin.jar>
      [0][1]: <-Djava.class.path=/home/wade/apps/java/jdk1.7.0_67/jre/classes>
      [0][2]: <-Dsun.awt.warmup=true>
      [3][0]: <-cp=/home/wade/fnb-java-libs/*>
      [4][0]: <null>
      JRE 1.7.0.67: Unrecognized option: -cp=/home/wade/fnb-java-libs/*
      Error: Could not create the Java Virtual Machine.
      Error: A fatal exception has occurred. Program will exit.
      java.io.IOException: Never received connection from client side
      at sun.plugin2.ipc.unix.DomainSocketNamedPipe.waitForConnectionThread(Unknown Source)
      at sun.plugin2.ipc.unix.DomainSocketNamedPipe.write(Unknown Source)
      at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.flush(Unknown Source)
      at sun.plugin2.message.transport.NamedPipeTransport.signalDataWritten(Unknown Source)
      at sun.plugin2.message.transport.SerializingTransport.write(Unknown Source)
      at sun.plugin2.message.Pipe.send(Unknown Source)
      at sun.plugin2.main.server.JVMInstance.sendMessageDirect(Unknown Source)
      at sun.plugin2.main.server.JVMInstance.sendMessage(Unknown Source)
      at sun.plugin2.main.server.JVMInstance.startImpl(Unknown Source)
      at sun.plugin2.main.server.JVMInstance.start(Unknown Source)
      at sun.plugin2.main.server.JVMManager.getOrCreateBestJVMInstance(Unknown Source)
      at sun.plugin2.main.server.JVMManager.startAppletImpl(Unknown Source)
      at sun.plugin2.main.server.JVMManager.startApplet(Unknown Source)
      at sun.plugin2.main.server.JVMManager.startApplet(Unknown Source)
      at sun.plugin2.main.server.MozillaPlugin.maybeStartApplet(Unknown Source)
      at sun.plugin2.main.server.MozillaPlugin.setWindow(Unknown Source)
      java.lang.InterruptedException
      at java.lang.Object.wait(Native Method)
      at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
      at sun.plugin2.message.Pipe$1.run(Unknown Source)
      at com.sun.deploy.util.Waiter$1.wait(Unknown Source)
      at com.sun.deploy.util.Waiter.runAndWait(Unknown Source)
      at sun.plugin2.message.Pipe.receive(Unknown Source)
      at sun.plugin2.main.server.JVMInstance$WorkerThread.run(Unknown Source)
      java.lang.InterruptedException
      at java.lang.Object.wait(Native Method)
      at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
      at sun.plugin2.message.Pipe$1.run(Unknown Source)
      at com.sun.deploy.util.Waiter$1.wait(Unknown Source)
      at com.sun.deploy.util.Waiter.runAndWait(Unknown Source)
      at sun.plugin2.message.Pipe.receive(Unknown Source)
      at sun.plugin2.main.server.JVMInstance$WorkerThread.run(Unknown Source)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      Place extra jars in the <jre-home>/lib/ext directory. However this is far from ideal because the extra jars will have to be re-added every time we update the jdk to a newer version

            herrick Andy Herrick (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: