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

Datagram channel: dc.socket().isConnected() always returns false

XMLWordPrintable

    • beta
    • generic, sparc
    • generic, solaris_7
    • Verified

      A successfull connect operation where a DatagramChannel
      test connects and reports dc.isConnected() as true,
      will never report true for dc.socket().isConnected()
      on Solaris or Windows platforms.


      For SocketChannels, a sc.socket().isConnected() mirrors
      correct connect status.


      ______________________________________________
      excerpt test code:


      try {

      InetSocketAddress isa = new InetSocketAddress(
      InetAddress.getByName(HOST2), PORT2);
      DatagramChannel dc = DatagramChannel.open();
      dc.configureBlocking(true);
      dc.connect(isa);

                  if (dc.isConnected() ) {
      System.out.println("Passed dc.isConnected()");
      }
      boolean y = dc.socket().isConnected();
      System.out.println("Status of dc.socket().isConnected() is " + y);
      if ( (y == false) && (dc.isConnected()) ) {
      failures++;
      logerr("FAILED dc.socket().isConnected()");
      }
      else {
      System.out.println("Passed dc.socket().isConnected()");
      }
      dc.close();
      } catch (Exception e) {
      System.out.println(e);
      logerr("Unexpected Exception received");
      failures++;
      }
      ________________________________________________________________

      al.smith@eng 2001-04-24

      Regression test java/nio/DatagramChannel/Connect.java fails with Merlin build build 61 on sol2.7, host tiggr. The previous build this test passed with was b60
      For test hardware config's, see http://sqesvr.eng/st3/jdk1.4/docs/Merlin-hw.html

      #Test Results (version 2)
      #Fri Apr 20 00:17:36 PDT 2001
      #checksum:222a71278b54e82a
      #-----testdescription-----
      $file=/export1/regression/merlin/jdk1.4Tests/b61/java
      io/DatagramChannel/Connect.java
      $root=/export1/regression/merlin/jdk1.4Tests/b61
      author=Mike McCloskey
      run=ASSUMED_ACTION main Connect\n
      source=Connect.java
      title=Test DatagramChannel's send and receive methods

      #-----environment-----

      #-----testresult-----
      description=file:///export1/regression/merlin/jdk1.4Tests/b61/java
      io/DatagramChannel/Connect.java
      end=Fri Apr 20 00:17:36 PDT 2001
      environment=regtest
      execStatus=Failed. Execution failed: `main' threw exception: java.lang.IllegalStateException: Connect already invoked
      javatestOS=SunOS 5.7 (sparc)
      javatestVersion=JT_2.1.3i
      script=com.sun.javatest.regtest.RegressionScript
      sections=script_messages build compile main
      start=Fri Apr 20 00:17:32 PDT 2001
      status=Failed. Execution failed: `main' threw exception: java.lang.IllegalStateException: Connect already invoked
      test=java
      io/DatagramChannel/Connect.java
      work=/export0/results/regression/merlin/b61/tiggr.5.7-jth13-jdk14b61.04-19.21.26-ALL/java
      io/DatagramChannel

      #section:script_messages
      ----------messages:(1/76)----------
      JDK under test: java full version "1.4.0-beta-b61" (/export1/java/jdk14b61)

      #section:build
      ----------messages:(3/93)----------
      command: build Connect
      reason: Named class compiled on demand
      elapsed time (seconds): 2.755
      result: Passed. Compilation successful

      #section:compile
      ----------messages:(3/179)----------
      command: compile /export1/regression/merlin/jdk1.4Tests/b61/java
      io/DatagramChannel/Connect.java
      reason: .class file out of date or does not exist
      elapsed time (seconds): 2.754
      ----------System.out:(0/0)----------
      ----------System.err:(0/0)----------
      result: Passed. Compilation successful

      #section:main
      ----------messages:(3/112)----------
      command: main Connect
      reason: Assumed action based on file name: run main Connect
      elapsed time (seconds): 0.78
      ----------System.out:(0/0)----------
      ----------System.err:(14/823)----------
      java.lang.IllegalStateException: Connect already invoked
      at sun.nio.ch.DatagramChannelImpl.ensureOpenAndUnconnected(DatagramChannelImpl.java:258)
      at sun.nio.ch.ChannelDatagramSocket.bind(ChannelDatagramSocket.java:89)
      at sun.nio.ch.ChannelDatagramSocket.create(ChannelDatagramSocket.java:62)
      at sun.nio.ch.DatagramChannelImpl.<init>(DatagramChannelImpl.java:43)
      at sun.nio.ch.SelectorProviderImpl.openDatagramChannel(SelectorProviderImpl.java:25)
      at java.nio.DatagramChannel.open(DatagramChannel.java:87)
      at Connect$Actor.run(Connect.java:50)
      at java.lang.Thread.run(Thread.java:579)

      JavaTest Message: Test threw exception: java.lang.IllegalStateException: Connect already invoked
      JavaTest Message: shutting down test

      STATUS:Failed.`main' threw exception: java.lang.IllegalStateException: Connect already invoked
      result: Failed. Execution failed: `main' threw exception: java.lang.IllegalStateException: Connect already invoked


      test result: Failed. Execution failed: `main' threw exception: java.lang.IllegalStateException: Connect already invoked

            mmcclosksunw Michael Mccloskey (Inactive)
            kpolomsksunw Krystyna Polomski (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: