You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At startup, we create many connections in parallel to many servers to check their status/versions. Occasionally, with this version of the driver, we get an exception:
Exception in thread "ConfigDatabaseData - get rights from DB" java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
at java.base/java.util.Objects.checkIndex(Objects.java:359)
at java.base/java.util.ArrayList.get(ArrayList.java:427)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.SocketFinder.getInetAddressByIPPreference(IOBuffer.java:2710)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.SocketFinder.getSocketByIPPreference(IOBuffer.java:2753)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2399)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:766)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:3298)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2948)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2788)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1661)
at com.microsoft.sqlserver.jdbc/com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1067)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
It seems that access to "addressList" in "IOBuffer" is not synchronized and it is mutated by some of the connections.
I am happy to help testing fixes if you cannot easily reproduce the issue (although the DLL issue #1850 is a bit of a pain for our setup).
The text was updated successfully, but these errors were encountered:
Simply change the "xxxxx" with proper data so that it actually works. Perhaps the fact that the database is on localhost on a fast machine makes the problem appear more often: with the above I get the error on 3 out of 4 runs.
Driver version
11.1.2
Problem description
At startup, we create many connections in parallel to many servers to check their status/versions. Occasionally, with this version of the driver, we get an exception:
It seems that access to "addressList" in "IOBuffer" is not synchronized and it is mutated by some of the connections.
I am happy to help testing fixes if you cannot easily reproduce the issue (although the DLL issue #1850 is a bit of a pain for our setup).
The text was updated successfully, but these errors were encountered: