Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> JDBC error: "Got minus one from a read call"

JDBC error: "Got minus one from a read call"

From: Steve Croft <stevec_at_ditdash.com>
Date: 13 Jun 2003 17:48:22 -0700
Message-ID: <7d7cdd64.0306131648.b0891f9@posting.google.com>


Here's a tricky one...

I am running Oracle's Jdbctest program with ojdbc14.jar (9.2.0.3) on a Solaris 9 system against an 8.1.7.4 database on Solaris 8. The program only runs successfully until the database's listener (8.1.7.4) does a service_register, then the Jdbctest program fails with "Got minus one from a read call".

I have tried this with various JVMs and Oracle JDBC jars (orajdbc, even classes12.zip). Below is a network trace, listener log, and java stack trace

Any hints? Thanks in advance!

Steve

Network Trace - Notice the databases aborts during session port negotiation:
  1 0.00000 Client -> OracleDB TCP D=1521 S=33173 Syn Seq=3625768554 Len=0 Win=49640 Options=<mss 1460,nop,nop,sackOK>   2 0.00005 OracleDB -> Client TCP D=33173 S=1521 Syn Ack=3625768555 Seq=3119741333 Len=0 Win=24820 Options=<nop,nop,sackOK,mss 1460>
  3 0.00059 Client -> OracleDB TCP D=1521 S=33173 Ack=3119741334 Seq=3625768555 Len=0 Win=49640   4 0.06130 Client -> OracleDB TCP D=1521 S=33173 Ack=3119741334 Seq=3625768555 Len=160 Win=49640   5 0.00040 OracleDB -> Client TCP D=33173 S=1521 Ack=3625768715 Seq=3119741334 Len=0 Win=24820   6 0.00083 OracleDB -> Client TCP D=33173 S=1521 Ack=3625768715 Seq=3119741334 Len=60 Win=24820   7 0.00019 OracleDB -> Client TCP D=33173 S=1521 Fin Ack=3625768715 Seq=3119741394 Len=0 Win=24820   8 0.00036 Client -> OracleDB TCP D=1521 S=33173 Ack=3119741394 Seq=3625768715 Len=0 Win=49640   9 0.00010 Client -> OracleDB TCP D=1521 S=33173 Ack=3119741395 Seq=3625768715 Len=0 Win=49640  10 0.00036 Client -> OracleDB TCP D=1521 S=33173 Fin Ack=3119741395 Seq=3625768715 Len=0 Win=49640  11 0.00003 OracleDB -> Client TCP D=33173 S=1521 Ack=3625768716 Seq=3119741395 Len=0 Win=24820  12 0.00702 Client -> OracleDB TCP D=39303 S=33174 Syn Seq=1888174988 Len=0 Win=49640 Options=<mss 1460,nop,nop,sackOK>  13 0.00002 OracleDB -> Client TCP D=33174 S=39303 Syn Ack=1888174989 Seq=3119845887 Len=0 Win=24820 Options=<nop,nop,sackOK,mss 1460>
 14 0.00045 Client -> OracleDB TCP D=39303 S=33174 Ack=3119845888 Seq=1888174989 Len=0 Win=49640  15 0.00028 Client -> OracleDB TCP D=39303 S=33174 Ack=3119845888 Seq=1888174989 Len=160 Win=49640  16 0.00002 OracleDB -> Client TCP D=33174 S=39303 Ack=1888175149 Seq=3119845888 Len=0 Win=24660  17 0.00093 OracleDB -> Client TCP D=33174 S=39303 Fin Ack=1888175149 Seq=3119845888 Len=0 Win=24820  18 0.00047 Client -> OracleDB TCP D=39303 S=33174 Ack=3119845889 Seq=1888175149 Len=0 Win=49640  19 0.12558 Client -> OracleDB TCP D=39303 S=33174 Fin Ack=3119845889 Seq=1888175149 Len=0 Win=49640  20 0.00023 OracleDB -> Client TCP D=33174 S=39303 Ack=1888175150 Seq=3119845889 Len=0 Win=24820

listener.log (with bogus IP inserted):
13-JUN-2003 17:23:56 *
(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) *
(ADDRESS=(PROTOCOL=tcp)(HOST=172.2.275.8)(PORT=33160)) * establish *
orcl * 0
13-JUN-2003 17:23:59 *
(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) *
(ADDRESS=(PROTOCOL=tcp)(HOST=172.2.275.8)(PORT=33163)) * establish *
orcl * 0
13-JUN-2003 17:24:01 *
(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) *
(ADDRESS=(PROTOCOL=tcp)(HOST=172.2.275.8)(PORT=33166)) * establish *
orcl * 0
13-JUN-2003 17:24:04 * service_register * orcl * 0 13-JUN-2003 17:24:04 *
(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) *
(ADDRESS=(PROTOCOL=tcp)(HOST=172.2.275.8)(PORT=33169)) * establish *
pr05 * 0

Each entry from "HOST jdbc" is the Jdbctest program running. After the "service_request" entry, the program fails, but still enters what looks like a good log message.

Java stack trace:
Connecting with:
jdbc:oracle:thin:@OracleDB:1521:orcl

java.sql.SQLException: Io exception: Got minus one from a read call

        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
        at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:418)
        at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:521)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:325)
        at java.sql.DriverManager.getConnection(DriverManager.java:512)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at Jdbctest.main(Jdbctest.java:52)

SQLState: null
Message: Io exception: Got minus one from a read call Error Code: 17002 Received on Fri Jun 13 2003 - 19:48:22 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US