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

TEST_BUG: SetChildEnv.DebugExecWatcher inner code raises systematic "Pipe Broken" exception

    XMLWordPrintable

    Details

    • Subcomponent:
    • Understanding:
      Fix Understood
    • CPU:
      generic
    • OS:
      generic

      Description

      TESTFAIL:java/rmi/activation/CommandEnvironment/SetChildEnv.java

      The DebugExecWatcher inner class of test/java/rmi/activation/CommandEnvironment/SetChildEnv regression test
      raises a systematic java.IO.Exception:

      java.io.IOException: Pipe closed
             .....
      each time the runwith method is called. However the test is said to succeed
      even with this exception. This is a defect in the way the code is writen,
      even if it does not affect the result as long as the distant rmid and client
      code works as expected, but may bring unexpected result if distant rmid breaks.

      Thisneeds cleanup for getting better and more reliable code.

      See below the output of a jtreg session running this SetChildEnv reg test.

      ----------System.out:(17/737)----------
      java.compiler=null
      JavaVM javaCommand = [Ljava.lang.String;@bc8f01
      Invoking complain()...
      HELP ME, DOCTOR. I FEEL VIOLENT TOWARDS PEOPLE WHO INQUIRE ABOUT MY PARENTS.
       => TELL ME ABOUT YOUR MOTHER
      JavaVM javaCommand = [Ljava.lang.String;@1ade7f6
      Invoking complain()...
      HELP ME, DOCTOR. I FEEL VIOLENT TOWARDS PEOPLE WHO INQUIRE ABOUT MY PARENTS.
       => TELL ME ABOUT YOUR MOTHER
      JavaVM javaCommand = [Ljava.lang.String;@a76581
      Invoking complain()...
      HELP ME, DOCTOR. I FEEL VIOLENT TOWARDS PEOPLE WHO INQUIRE ABOUT MY PARENTS.
       => TELL ME ABOUT YOUR MOTHER
      JavaVM javaCommand = [Ljava.lang.String;@18d343a
      Invoking complain()...
      HELP ME, DOCTOR. I FEEL VIOLENT TOWARDS PEOPLE WHO INQUIRE ABOUT MY PARENTS.
       => TELL ME ABOUT YOUR MOTHER
      ----------System.err:(115/13367)----------
      RMID: starting rmid...
      JAVAVM: command = [/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/build/solaris-sparc/j2sdk-image/jre/bin/java, -Djava.security.policy=/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/test/java/rmi/activation/CommandEnvironment/rmid.security.policy, -Dsun.rmi.server.activation.debugExec=true, -Dtest.src=/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/test/java/rmi/activation/CommandEnvironment, -Dtest.classes=/export/Scratch/olagneau/bug7161503/rmitests/JTwork/classes/java/rmi/activation/CommandEnvironment, -Djava.rmi.server.logLevel=v, sun.rmi.server.Activation, -log, /export/Scratch/olagneau/bug7161503/rmitests/JTwork/scratch/./log, -port, 36196, -C-Dtest.src=/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/test/java/rmi/activation/CommandEnvironment, -C-Dtest.classes=/export/Scratch/olagneau/bug7161503/rmitests/JTwork/classes/java/rmi/activation/CommandEnvironment]

      JAVAVM: finished starting vm.
      RMID: finished starting rmid.
      # rmid: debugExec: running "/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/build/solaris-sparc/j2sdk-image/jre/bin/java -Djava.security.manager=default -Djava.security.policy=/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/test/java/rmi/activation/CommandEnvironment/group.security.policy -Dtest.src=/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/test/java/rmi/activation/CommandEnvironment -Dtest.classes=/export/Scratch/olagneau/bug7161503/rmitests/JTwork/classes/java/rmi/activation/CommandEnvironment sun.rmi.server.ActivationGroupInit"
      # Fri Jul 13 19:24:01 IST 2012:ExecGroup-0:out:Doctor constructed and exported
      # Fri Jul 13 19:24:02 IST 2012:ExecGroup-0:out:Doctor will see you now
      debugExec found: <<# rmid: debugExec: running "/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/build/solaris-sparc/j2sdk-image/jre/bin/java -Djava.security.manager=default -Djava.security.policy=/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/test/java/rmi/activation/CommandEnvironment/group.security.policy -Dtest.src=/export/Scratch/olagneau/ws7161503/jdk8/tl/jdk/test/java/rmi/activation/CommandEnvironment -Dtest.classes=/export/Scratch/olagneau/bug7161503/rmitests/JTwork/classes/java/rmi/activation/CommandEnvironment sun.rmi.server.ActivationGroupInit">>
      # Fri Jul 13 19:24:02 IST 2012:ExecGroup-0:out:Doctor retiring
      RMID: getting a reference to the activation system
      RMID: obtained a reference to the activation system
      *** IOException in StreamPipe.run:
      java.io.IOException: Pipe closed
              at java.io.PipedInputStream.checkStateForReceive(PipedInputStream.java:261)
              at java.io.PipedInputStream.receive(PipedInputStream.java:227)
              at java.io.PipedOutputStream.write(PipedOutputStream.java:149)
              at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
              at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
              at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
              at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
              at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
              at java.io.BufferedWriter.flush(BufferedWriter.java:254)
              at StreamPipe.run(StreamPipe.java:61)
      RMID: testlibrary finished shutting down rmid
      RMID: rmid exited on shutdown request
      ACTIVATION_LIBRARY: finished destroying rmid
      RMID: removing rmid's old log file...
      STATUS:Passed.
      result: Passed. Execution successful

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              msheppar Mark Sheppard
              Reporter:
              olagneau Olivier Lagneau (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Imported:
                Indexed: