public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcj/13102] New: java.net.Socket#connect doesn't work after java.net.Socket#setSoTimeout
@ 2003-11-18 11:24 artem at bizlink dot ru
  2003-11-18 21:54 ` [Bug libgcj/13102] " pinskia at gcc dot gnu dot org
  2003-11-19 18:55 ` pinskia at gcc dot gnu dot org
  0 siblings, 2 replies; 3+ messages in thread
From: artem at bizlink dot ru @ 2003-11-18 11:24 UTC (permalink / raw)
  To: gcc-bugs

When using java.net.Socket interface introduced in Sun JDK1.4,
which allows for connection timeouts, connection attempt throws:
'Exception in thread "main" java.net.SocketException: Socket closed'.

gcj -v
Reading specs from c:/spool/Java/thisiscool-gcc/gcc-3.4/bin/..
/lib/gcc/i686-pc-mingw32/3.4/specs
Reading specs from c:/spool/Java/thisiscool-gcc/gcc-3.4/bin/..
/lib/gcc/i686-pc-mingw32/3.4/../../../../i686-pc-mingw32/lib/libgcj.spec
rename spec lib to liborig
Configured with: /datal/gcc/gcc/configure --prefix=/datal/gcc/build/wingcc 
--build=i686-pc-linux-gnu --host=i686-pc-mingw32 --target=i686-pc-mingw32 
--enable-languages=c,c++,java --with-gcc --with-gnu-as --with-gnu-ld 
--with-as=i686-pc-mingw32-as --with-ld=i686-pc-mingw32-ld --enable-threads=win32 
--disable-nls --disable-win32-registry --disable-shared --disable-debug 
--without-newlib --enable-libgcj --disable-java-awt --without-x 
--enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter 
--enable-hash-synchronization --enable-sjlj-exceptions --enable-libgcj-multifile
Thread model: win32
gcc version 3.4 20031109 (experimental)

(Version 3.4 20030830 has the same bug too).

Testcase (throws Exception becouse of the bug):

/**
 * New socket interface is important for its connection timeouts.
 */
public class TestSocket {
  protected static void test( boolean set ) throws Exception {
    java.net.SocketAddress sa = new java.net.InetSocketAddress( "gcc.gnu.org", 
80 );
    java.net.Socket socket = new java.net.Socket();
    if( set ){
      // Any of these options leads to "Socket closed" exception.
      socket.setTcpNoDelay( true );
      socket.setSoLinger( false, 1 );
      socket.setSoTimeout( 20 * 1000 );
      socket.setKeepAlive( false );
    }
    socket.connect( sa, 30 * 1000 ); // Timeout is 30 seconds.
    socket.close();
  } 
  public static void main( String[] args ) throws Exception {
    test( false ); System.out.println( "Socket works without options." );
    test( true ); System.out.println( "Socket works with options!" );
  }
}

c:\tmp\testCase>gcj -g3 --main=TestSocket TestSocket.java

c:\tmp\testCase>a.exe
Socket works without options.
Exception in thread "main" java.net.SocketException: Socket closed
   at __ZN10TestSocket4testEb (c:\tmp\testCase\TestSocket.java:11)
   at __ZN10TestSocket4mainEP6JArrayIPN4java4lang6StringEE (c:\tmp\testCase\Test
Socket.java:21)
   at _main (C:\DOCUME~1\Glim\LOCALS~1\Temp\ccY1aaaa.i:11)

c:\tmp\testCase>gcj -O --main=TestSocket TestSocket.java

c:\tmp\testCase>a.exe
Socket works without options.
Exception in thread "main" java.net.SocketException: Socket closed
   at 0x00413d4e (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x00414292 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x004308e4 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x004329f4 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x004326b4 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x00466929 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x00403fb0 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x0040135d (c:\tmp\testCase\natClass.cc)
   at 0x0040142a (c:\tmp\testCase\natClass.cc)
   at 0x00411b2e (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x0041a210 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x00403337 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x00403417 (c:\datal\gcc\gcc\gcc\libgcc2.c)
   at 0x004012d8 (c:\tmp\testCase\natClass.cc)
   at 0x0040117e (c:\tmp\testCase\natClass.cc)
   at 0x00401014 (c:\tmp\testCase\natClass.cc)
   at 0x77e818b5 (Unknown Source)

c:\tmp\testCase>gcj -C TestSocket.java

c:\tmp\testCase>gij TestSocket
Socket works without options.
Exception in thread "main" java.net.SocketException: Socket closed
   at 0x0040bf3e (Unknown Source)
   at 0x0040c482 (Unknown Source)
   at 0x00441d74 (Unknown Source)
   at 0x0043ef44 (Unknown Source)
   at 0x0045a294 (Unknown Source)
   at 0x004f51a9 (Unknown Source)
   at 0x004c4ff0 (Unknown Source)
   at 0x004ad643 (Unknown Source)
   at 0x00458e15 (Unknown Source)
   at 0x00482d14 (Unknown Source)
   at 0x00458c96 (Unknown Source)
   at 0x004ad643 (Unknown Source)
   at 0x00458e15 (Unknown Source)
   at 0x00482d14 (Unknown Source)
   at 0x00458c96 (Unknown Source)
   at 0x004090fe (Unknown Source)
   at 0x00415e00 (Unknown Source)
   at 0x004033c7 (Unknown Source)
   at 0x0040149b (Unknown Source)
   at 0x0040117e (Unknown Source)
   at 0x00401014 (Unknown Source)
   at 0x77e818b5 (Unknown Source)

-- 
           Summary: java.net.Socket#connect doesn't work after
                    java.net.Socket#setSoTimeout
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: libgcj
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: artem at bizlink dot ru
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13102


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug libgcj/13102] java.net.Socket#connect doesn't work after java.net.Socket#setSoTimeout
  2003-11-18 11:24 [Bug libgcj/13102] New: java.net.Socket#connect doesn't work after java.net.Socket#setSoTimeout artem at bizlink dot ru
@ 2003-11-18 21:54 ` pinskia at gcc dot gnu dot org
  2003-11-19 18:55 ` pinskia at gcc dot gnu dot org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-11-18 21:54 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-11-18 21:54 -------
Patch here: <http://gcc.gnu.org/ml/java-patches/2003-q4/msg00398.html>.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |patch
   Last reconfirmed|0000-00-00 00:00:00         |2003-11-18 21:54:22
               date|                            |
   Target Milestone|---                         |3.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13102


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug libgcj/13102] java.net.Socket#connect doesn't work after java.net.Socket#setSoTimeout
  2003-11-18 11:24 [Bug libgcj/13102] New: java.net.Socket#connect doesn't work after java.net.Socket#setSoTimeout artem at bizlink dot ru
  2003-11-18 21:54 ` [Bug libgcj/13102] " pinskia at gcc dot gnu dot org
@ 2003-11-19 18:55 ` pinskia at gcc dot gnu dot org
  1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2003-11-19 18:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-11-19 18:55 -------
Fixed for 3.4.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13102


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-11-19 18:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-18 11:24 [Bug libgcj/13102] New: java.net.Socket#connect doesn't work after java.net.Socket#setSoTimeout artem at bizlink dot ru
2003-11-18 21:54 ` [Bug libgcj/13102] " pinskia at gcc dot gnu dot org
2003-11-19 18:55 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).