RE: Mantis Authentication Error

Eric Lemanissier, modified 9 Years ago.

Mantis Authentication Error

Youngling Posts: 3 Join Date: 9/16/14 Recent Posts
Hello,

I'm currently evaluating Klaros 4.2.3 on a windows server. I am trying to add mantis connection, but I have the following errors:


ERROR 12:38:11 Mantis authentication failed (wrong user name or password).
ERROR 12:38:11 unexpected error: java.lang.NullPointerException
INFORMATION 12:37:45 Successfully connected. The URL http://*********/mantisbt is valid.


The log says:

2014-09-16 12:38:11: ERROR, de.verit.klaros.web.beans.session.MylynAuthenticationBean unexpected error
de.verit.klaros.service.issuemanagement.IssueManagementException: java.lang.NullPointerException
        at de.verit.klaros.service.issuemanagement.mylyn.mantis.MantisIssueManagementService.checkAuthentication(MantisIssueManagementService.java:614) ~[klaros-mylyn-4.2.3.jar:4.2.3]
        at de.verit.klaros.service.issuemanagement.connection.IssueManagementConnectionImpl.connectService(IssueManagementConnectionImpl.java:63) ~[klaros-mylyn-4.2.3.jar:4.2.3]
        at de.verit.klaros.web.beans.session.MylynAuthenticationBean.getConnection(MylynAuthenticationBean.java:112) ~[MylynAuthenticationBean.class:na]
        at sun.reflect.GeneratedMethodAccessor1733.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_67]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_67]
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:79) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at de.verit.klaros.web.beans.interceptor.ConfigurableSynchronizationInterceptor.aroundInvoke(ConfigurableSynchronizationInterceptor.java:36) [ConfigurableSynchronizationInterceptor.class:na]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at de.verit.klaros.web.beans.session.MylynAuthenticationBean_$$_javassist_seam_28.getConnection(MylynAuthenticationBean_$$_javassist_seam_28.java) [MylynAuthenticationBean.class:na]
        at de.verit.klaros.web.beans.pages.configure.MaintainIssueManagementBean.passwordDialogConnect(MaintainIssueManagementBean.java:146) [MaintainIssueManagementBean.class:na]
        at de.verit.klaros.web.beans.pages.configure.MaintainIssueManagementBean.checkURL(MaintainIssueManagementBean.java:473) [MaintainIssueManagementBean.class:na]
        at sun.reflect.GeneratedMethodAccessor1744.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_67]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_67]
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:79) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at de.verit.klaros.web.beans.interceptor.ConfigurableSynchronizationInterceptor.aroundInvoke(ConfigurableSynchronizationInterceptor.java:36) [ConfigurableSynchronizationInterceptor.class:na]
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at de.verit.klaros.web.beans.pages.configure.MaintainIssueManagementBean_$$_javassist_seam_93.checkURL(MaintainIssueManagementBean_$$_javassist_seam_93.java) [MaintainIssueManagementBean.class:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_67]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_67]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_67]
        at javax.el.BeanELResolver.invoke(BeanELResolver.java:183) [el-api.jar:2.2.FR]
        at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:161) [el-api.jar:2.2.FR]
        at de.odysseus.el.tree.impl.ast.AstMethod.eval(AstMethod.java:91) [juel-impl-2.2.7.jar:2.2.7]
        at de.odysseus.el.tree.impl.ast.AstMethod.invoke(AstMethod.java:104) [juel-impl-2.2.7.jar:2.2.7]
        at de.odysseus.el.tree.impl.ast.AstEval.invoke(AstEval.java:71) [juel-impl-2.2.7.jar:2.2.7]
        at de.odysseus.el.TreeMethodExpression.invoke(TreeMethodExpression.java:132) [juel-impl-2.2.7.jar:2.2.7]
        at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [jsf-impl-2.1.28.jar:2.1.28]
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) [jsf-api-2.1.28.jar:2.1]
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101) [jsf-impl-2.1.28.jar:2.1.28]
        at net.bull.javamelody.JsfActionListener.processAction(JsfActionListener.java:64) [javamelody-core-1.51.0.jar:1.51.0]
        at javax.faces.component.UICommand.broadcast(UICommand.java:315) [jsf-api-2.1.28.jar:2.1]
        at org.icefaces.ace.component.datatable.DataTable.broadcast(DataTable.java:348) [icefaces-ace-3.3.0.jar:na]
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786) [jsf-api-2.1.28.jar:2.1]
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251) [jsf-api-2.1.28.jar:2.1]
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) [jsf-impl-2.1.28.jar:2.1.28]
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.28.jar:2.1.28]
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.28.jar:2.1.28]
        at de.verit.klaros.web.beans.application.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:71) [LifecycleImpl.class:na]
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jsf-api-2.1.28.jar:2.1]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.55]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.55]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)[jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) [jboss-seam-2.3.1.SR1.jar:2.3.1.Final]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
        at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:202) [javamelody-core-1.51.0.jar:1.51.0]
        at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:180) [javamelody-core-1.51.0.jar:1.51.0]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.55]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.55]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.55]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.55]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [catalina.jar:7.0.55]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) [catalina.jar:7.0.55]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.55]
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) [catalina.jar:7.0.55]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.55]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) [catalina.jar:7.0.55]
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) [tomcat-coyote.jar:7.0.55]
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) [tomcat-coyote.jar:7.0.55]
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2440) [tomcat-coyote.jar:7.0.55]
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2429) [tomcat-coyote.jar:7.0.55]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.7.0_67]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.7.0_67]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.55]
        at java.lang.Thread.run(Unknown Source) [na:1.7.0_67]
Caused by: java.lang.NullPointerException: null
        at com.itsolut.mantis.core.util.MantisUtils.transform(MantisUtils.java:53) ~[mantis-core-3.10.0.jar:na]
        at com.itsolut.mantis.core.soap.MantisConverter.convert(MantisConverter.java:50) ~[mantis-core-3.10.0.jar:na]
        at com.itsolut.mantis.core.soap.MantisConverter.convert(MantisConverter.java:463) ~[mantis-core-3.10.0.jar:na]
        at com.itsolut.mantis.core.soap.MantisSoapClient$37.run(MantisSoapClient.java:286) ~[mantis-core-3.10.0.jar:na]
        at com.itsolut.mantis.core.soap.MantisSoapClient.refresh0(MantisSoapClient.java:584) ~[mantis-core-3.10.0.jar:na]
        at com.itsolut.mantis.core.soap.MantisSoapClient.refresh(MantisSoapClient.java:549) ~[mantis-core-3.10.0.jar:na]
        at com.itsolut.mantis.core.soap.MantisSoapClient.refreshIfNeeded(MantisSoapClient.java:542) ~[mantis-core-3.10.0.jar:na]
        at com.itsolut.mantis.core.soap.MantisSoapClient.getCache(MantisSoapClient.java:301) ~[mantis-core-3.10.0.jar:na]
        at de.verit.klaros.service.issuemanagement.mylyn.mantis.MantisIssueManagementService.getCacheData(MantisIssueManagementService.java:438) ~[klaros-mylyn-4.2.3.jar:4.2.3]
        at de.verit.klaros.service.issuemanagement.mylyn.mantis.MantisIssueManagementService.checkAuthentication(MantisIssueManagementService.java:586) ~[klaros-mylyn-4.2.3.jar:4.2.3]
        ... 100 common frames omitted

Mantis log ends with "2014-09-16 12:38 CEST ldap User 'el' authenticated", so credentials are ok.
Mantis is installed on a linux server.

How could i solve this ?
thumbnail
Torsten Stolpmann, modified 9 Years ago.

RE: Mantis Authentication Error

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Hi Eric,

this looks like an internal error in the mantis connector code when trying to load the mantis project configuration.

What version of Mantis are you running?
Does the error persist for a different project on the same installation?

Regards,

Torsten
Eric Lemanissier, modified 9 Years ago.

RE: Mantis Authentication Error

Youngling Posts: 3 Join Date: 9/16/14 Recent Posts
According to the release note, it is MantisBT 1.2.17 Security Release (2014-03-04), which is the last one available on http://www.mantisbt.org

I have the same bug for any project, and the error is not different if the project does not exist

Also, We use this mantis instance flawlessly via mantisconnect quite often in a python script, which uses mc_project_get_id_from_name, mc_project_get_versions, mc_issue_get, mc_projects_get_user_accessible, mc_project_get_issues, and mc_project_version_update, so mantisconnect seems to be ok.

After inspecting mantis log file, there are arround 150 successful connection for each trial in klaros
thumbnail
Torsten Stolpmann, modified 9 Years ago.

RE: Mantis Authentication Error (Answer)

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Hi Eric,

according to the sources the mantis connector breaks in the following code:

public static MantisVersion convert(ProjectVersionData versionData) {
MantisVersion version = new MantisVersion(versionData.getName());
version.setDescription(versionData.getDescription());
version.setTime(MantisUtils.transform(versionData.getDate_order()));
version.setReleased(versionData.getReleased());
return version;
}


Where versionData.getDate_order() is resolving to null which is not expected in transform().
The versionData object is deserialized directly from the mantisconnect SOAP response.

I currently cannot say if an empty value is allowed here. Are you programmatically creating versions from outside of your Mantis Installation?

Hope this helps,

Torsten
Eric Lemanissier, modified 9 Years ago.

RE: Mantis Authentication Error

Youngling Posts: 3 Join Date: 9/16/14 Recent Posts
You are totally right ! I am not sure why, but i found out that 2 version did not have a proper "date_order" content. I corrected these and the connection now works.
Many thanks !