Assert failure when bootstrapping NATIVE with invalid provider string
---------------------------------------------------------------------
Key: DERBY-5652
URL: https://issues.apache.org/jira/browse/DERBY-5652
Project: Derby
Issue Type: Bug
Components: Services
Affects Versions: 10.9.0.0
Reporter: Knut Anders Hatlen
I had accidentally put a colon at the end of the derby.authentication.provider
property, and then an assert failed during authentication:
$ java -Dij.exceptionTrace=true -Dderby.authentication.provider=NATIVE:auth:
-jar /code/derby/trunk/jars/sane/derbyrun.jar ij
ij version 10.9
ij> connect 'jdbc:derby:db;create=true;user=test;password=test';
ERROR XJ001: Java exception: 'ASSERT FAILED:
org.apache.derby.shared.common.sanity.AssertFailure'.
java.sql.SQLException: Java exception: 'ASSERT FAILED:
org.apache.derby.shared.common.sanity.AssertFailure'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:98)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:142)
at org.apache.derby.impl.jdbc.Util.javaException(Util.java:299)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:436)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:353)
at
org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2360)
at
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:634)
at
org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:73)
at
org.apache.derby.impl.jdbc.EmbedConnection40.<init>(EmbedConnection40.java:53)
at
org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:70)
at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:255)
at
org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:143)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.apache.derby.impl.tools.ij.ij.dynamicConnection(ij.java:1528)
at org.apache.derby.impl.tools.ij.ij.ConnectStatement(ij.java:1358)
at org.apache.derby.impl.tools.ij.ij.ijStatement(ij.java:1143)
at
org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:347)
at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:245)
at org.apache.derby.impl.tools.ij.Main.go(Main.java:229)
at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:184)
at org.apache.derby.impl.tools.ij.Main.main(Main.java:75)
at org.apache.derby.tools.ij.main(ij.java:59)
at org.apache.derby.iapi.tools.run.main(run.java:53)
Caused by: java.sql.SQLException: Java exception: 'ASSERT FAILED:
org.apache.derby.shared.common.sanity.AssertFailure'.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:42)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:122)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:71)
... 23 more
Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED
at
org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:98)
at org.apache.derby.impl.jdbc.Util.ASSERT(Util.java:179)
at
org.apache.derby.impl.jdbc.EmbedConnection.restoreContextStack(EmbedConnection.java:2570)
at
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:636)
at
org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:73)
at
org.apache.derby.impl.jdbc.EmbedConnection40.<init>(EmbedConnection40.java:53)
at
org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:70)
at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:255)
at
org.apache.derby.impl.jdbc.authentication.NativeAuthenticationServiceImpl.authenticateRemotely(NativeAuthenticationServiceImpl.java:417)
at
org.apache.derby.impl.jdbc.authentication.NativeAuthenticationServiceImpl.authenticateUser(NativeAuthenticationServiceImpl.java:312)
at
org.apache.derby.impl.jdbc.authentication.AuthenticationServiceBase.authenticate(AuthenticationServiceBase.java:257)
at
org.apache.derby.impl.jdbc.EmbedConnection.checkUserCredentials(EmbedConnection.java:1257)
at
org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:404)
... 17 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira