Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-4093

OData authentication fails with NPE when gss-pattern related properties are included in VDB

XMLWordPrintable

      Adding GSS authentication properties such as the below [1] to a VDB results in the below NPE [3]. This occurs with transports set to default values [2].

      [1]
      <property name="gss-pattern" value="kerberos" />
      <property name="password-pattern" value="^(?!kerberos).*$" />

      [2]
      <transport name="odata">
      <authentication security-domain="teiid-security"/>
      </transport>
      <transport name="jdbc" socket-binding="teiid-jdbc" protocol="teiid">
      <authentication security-domain="teiid-security"/>
      </transport>
      <transport name="odbc" socket-binding="teiid-odbc" protocol="pg">
      <authentication security-domain="teiid-security"/>
      </transport>

      [3]
      2016-03-10 00:53:40,466 SEVERE [org.teiid.jdbc] (http-/0.0.0.0:8080-1) Could not create connection: org.teiid.jdbc.TeiidSQLException: TEIID10036 org.teiid.core.TeiidException: TEIID10036 java.lang.NullPointerException
      at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135) [teiid-client-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71) [teiid-client-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.jdbc.EmbeddedProfile.connect(EmbeddedProfile.java:55) [teiid-client-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.jdbc.TeiidDriver.connect(TeiidDriver.java:105) [teiid-client-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.odata.LocalClient.getConnection(LocalClient.java:142) [classes:]
      at org.teiid.odata.LocalClient.getVDB(LocalClient.java:115) [classes:]
      at org.teiid.odata.LocalClient.getMetadata(LocalClient.java:449) [classes:]
      at org.teiid.odata.TeiidProducer.getMetadata(TeiidProducer.java:69) [classes:]
      at org.odata4j.producer.resources.EntitiesRequestResource.getEntitiesImpl(EntitiesRequestResource.java:362) [odata-core-0.8.7.redhat-61-1.jar:0.8.7.redhat-61-1]
      at org.odata4j.producer.resources.EntitiesRequestResource.getEntities(EntitiesRequestResource.java:274) [odata-core-0.8.7.redhat-61-1.jar:0.8.7.redhat-61-1]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_95]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_95]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_95]
      at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_95]
      at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
      at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
      at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
      at org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:118) [classes:]
      at org.teiid.odata.ODataServlet.service(ODataServlet.java:65) [classes:]
      at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.3.Final-redhat-2.jar:7.4.3.Final-redhat-2]
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
      at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_95]
      Caused by: org.teiid.core.TeiidException: TEIID10036 org.teiid.core.TeiidException: TEIID10036 java.lang.NullPointerException
      at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:292) [teiid-common-core-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.jdbc.ModuleHelper.createFromModule(ModuleHelper.java:53) [teiid-client-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.jdbc.EmbeddedProfile.createServerConnection(EmbeddedProfile.java:60) [teiid-client-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.jdbc.EmbeddedProfile.connect(EmbeddedProfile.java:50) [teiid-client-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      ... 36 more
      Caused by: org.teiid.core.TeiidException: TEIID10036 java.lang.NullPointerException
      at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:329) [teiid-common-core-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:290) [teiid-common-core-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      ... 39 more
      Caused by: java.lang.NullPointerException
      at java.util.regex.Matcher.getTextLength(Matcher.java:1234) [rt.jar:1.7.0_95]
      at java.util.regex.Matcher.reset(Matcher.java:308) [rt.jar:1.7.0_95]
      at java.util.regex.Matcher.<init>(Matcher.java:228) [rt.jar:1.7.0_95]
      at java.util.regex.Pattern.matcher(Pattern.java:1088) [rt.jar:1.7.0_95]
      at java.util.regex.Pattern.matches(Pattern.java:1129) [rt.jar:1.7.0_95]
      at org.teiid.services.SessionServiceImpl.getAuthenticationType(SessionServiceImpl.java:486) [teiid-runtime-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.transport.LogonImpl.logon(LogonImpl.java:75) [teiid-runtime-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_95]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_95]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_95]
      at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_95]
      at org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:170) [teiid-runtime-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_95]
      at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:258) [teiid-engine-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:168) [teiid-runtime-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at com.sun.proxy.$Proxy45.logon(Unknown Source)
      at org.teiid.transport.LocalServerConnection.authenticate(LocalServerConnection.java:128) [teiid-runtime-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at org.teiid.transport.LocalServerConnection.<init>(LocalServerConnection.java:99) [teiid-runtime-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0_95]
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [rt.jar:1.7.0_95]
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0_95]
      at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [rt.jar:1.7.0_95]
      at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:327) [teiid-common-core-8.7.5.redhat-1.jar:8.7.5.redhat-1]
      ... 40 more

              rhn-engineering-shawkins Steven Hawkins
              rhn-support-mshirley Marc Shirley (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: