Windows(32bit)、Microsoft SQL Server JDBC Driver 2.0とJava6 Update 29の組み合わせだとコネクション取得時に帰ってこなくなる

環境

現象

コネクション取得時に応答が帰ってこなくなる。


このへんで。

java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1525)
com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:3274)
   - ロックされた com.microsoft.sqlserver.jdbc.TDSReader@1c118ae
com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:4437)
com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:4389)
com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(SQLServerConnection.java:1457)
com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
   - ロックされた java.lang.Object@3b84ee
com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:1462)
com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1931)
com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1917)
com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
   - ロックされた java.lang.Object@3b84ee
com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1061)
com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
java.sql.DriverManager.getConnection(DriverManager.java:582)
java.sql.DriverManager.getConnection(DriverManager.java:154)

対策

  • 6u24だと問題なく動きますよ
  • JDBC Driver 3.0使ったらどうにかなるんじゃないかという気がします(まだ検証してない)

その他

この現象がどのプラットフォームで発生するのかは不明、とりあえず手元のWindowsマシンで発生し、原因を特定するために金曜日の夜を有意義に過ごすことが出来ました。

追記(2011-12-16)

6u30でなおるっぽい

Release Fixed 6u30(b12), 5.0u33(b09) (Bug ID:2216276) , 1.4.2_35(b09) (Bug ID:2216277)
State 10-Fix Delivered, bug