Connection creation attempts against MS SQL Server 2008 hang indefinitely

(Doc ID 1386960.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Oracle Weblogic Server - Version 9.2 to 11.1.1.6.0
Information in this document applies to any platform.

Symptoms

Connection creation attempt against MS SQL Server 2008 hangs indefinitely. Depending upon the activity, the symptoms can be indefinite server hang or stuck threads. It can be observed that:

1) if a WebLogic instance is started with at least one Connection Pool configured against MS SQL Server 2008 R2, with initial capacity greater than zero, such weblogic instance hangs indefinitely time during startup sequence.

2) or, if Connection Pool is configured with initial capacity equal to zero, then upon the first connection reserve request coming from application side,  thread responsible for creating the connection will  hang indefinitely.
 

IMPORTANT

This issue specifically happens if WebLogic instance is running with:

a) JAVA HotSpot JDK 1.6.0 update 29

b) MS SQL Server JDBC Driver version 3.0



If a thread dump is taken when server runs into this issue, it would reveal a trace similar to:

"[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=6 tid=0x64304800 nid=0xae8 runnable [0x64f2e000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1647)
at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:3694)
- locked <0x5b5b5a68> (a com.microsoft.sqlserver.jdbc.TDSReader)
at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:5026)
at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:4978)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$1ConnectionCommand.doExecute(SQLServerConnection.java:1441)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
- locked <0x5b027ff8> (a java.lang.Object)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:1446)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1907)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1893)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
- locked <0x5b027ff8> (a java.lang.Object)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1045)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)
at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:350)
at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:236)
.........






 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms