Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Annotator error messages unclear #3751

Closed
fdlk opened this issue Sep 24, 2015 · 5 comments
Closed

Annotator error messages unclear #3751

fdlk opened this issue Sep 24, 2015 · 5 comments

Comments

@fdlk
Copy link
Contributor

fdlk commented Sep 24, 2015

When annotating the AnnotatorTest entity with negative POS attribute, I get the following error message:

Error! An error occurred. Please contact the administrator.
Message:For input string: ""

I'd expect a message that explains that the POS attribute is invalid plus an indication of which row is invalid.

@fdlk
Copy link
Contributor Author

fdlk commented Sep 24, 2015

Server side stacktrace says

15:45:58.435 [ajp-bio-8009-exec-20] ERROR o.m.d.a.resources.impl.ResourcesImpl - Error querying Resource EXACTabixResource.
15:45:58.476 [ajp-bio-8009-exec-20] ERROR o.m.d.controller.AnnotatorController - -1
java.lang.ArrayIndexOutOfBoundsException: -1
    at org.molgenis.data.annotator.tabix.TabixReader.query(TabixReader.java:409) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotator.tabix.TabixReader.query(TabixReader.java:464) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotator.tabix.TabixVcfRepository.query(TabixVcfRepository.java:92) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotator.tabix.TabixVcfRepository.findAll(TabixVcfRepository.java:75) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.resources.impl.ResourceImpl.findAll(ResourceImpl.java:75) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.resources.impl.ResourcesImpl.findAll(ResourcesImpl.java:50) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.entity.impl.QueryAnnotatorImpl.annotateEntity(QueryAnnotatorImpl.java:89) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.entity.impl.QueryAnnotatorImpl.annotateEntity(QueryAnnotatorImpl.java:31) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.entity.impl.RepositoryAnnotatorImpl.annotateEntity(RepositoryAnnotatorImpl.java:53) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.AbstractRepositoryEntityAnnotator$1.next(AbstractRepositoryEntityAnnotator.java:41) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.AbstractRepositoryEntityAnnotator$1.next(AbstractRepositoryEntityAnnotator.java:18) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.CrudRepositoryAnnotator.iterateOverEntitiesAndAnnotate(CrudRepositoryAnnotator.java:129) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.CrudRepositoryAnnotator.lambda$annotate$4(CrudRepositoryAnnotator.java:109) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.CrudRepositoryAnnotator$$Lambda$263/912397594.run(Unknown Source) ~[na:na]
    at org.molgenis.security.core.runas.RunAsSystemProxy.runAsSystem(RunAsSystemProxy.java:60) ~[molgenis-security-core-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.data.annotation.CrudRepositoryAnnotator.annotate(CrudRepositoryAnnotator.java:95) ~[molgenis-data-annotators-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.dataexplorer.controller.AnnotatorController.annotateData(AnnotatorController.java:128) ~[molgenis-dataexplorer-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.molgenis.dataexplorer.controller.AnnotatorController$$FastClassBySpringCGLIB$$30dc3d57.invoke(<generated>) ~[spring-core-4.1.6.RELEASE.jar:1.10.0-SNAPSHOT]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717) ~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) ~[spring-tx-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653) ~[spring-aop-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.molgenis.dataexplorer.controller.AnnotatorController$$EnhancerBySpringCGLIB$$d15eba67.annotateData(<generated>) ~[spring-core-4.1.6.RELEASE.jar:1.10.0-SNAPSHOT]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_31]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_31]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_31]
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_31]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) ~[spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) ~[spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) [servlet-api.jar:na]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) [spring-webmvc-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.59]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.59]
    at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:82) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.59]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.59]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.59]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.59]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.59]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.molgenis.security.MolgenisChangePasswordFilter.doFilter(MolgenisChangePasswordFilter.java:62) [molgenis-security-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.molgenis.security.MolgenisAnonymousAuthenticationFilter.doFilter(MolgenisAnonymousAuthenticationFilter.java:91) [molgenis-security-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.molgenis.security.token.TokenAuthenticationFilter.doFilter(TokenAuthenticationFilter.java:61) [molgenis-security-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:168) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176) [spring-security-web-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) [spring-web-4.1.6.RELEASE.jar:4.1.6.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.59]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.59]
    at org.molgenis.ui.browserdetection.BrowserDetectionFilter.doFilter(BrowserDetectionFilter.java:56) [molgenis-core-ui-1.10.0-SNAPSHOT.jar:1.10.0-SNAPSHOT]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.59]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.59]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.59]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.59]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) [catalina.jar:7.0.59]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.59]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.59]
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) [catalina.jar:7.0.59]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.59]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) [catalina.jar:7.0.59]
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190) [tomcat-coyote.jar:7.0.59]
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) [tomcat-coyote.jar:7.0.59]
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) [tomcat-coyote.jar:7.0.59]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_31]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_31]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.59]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_31]

@fdlk fdlk changed the title Annotator error message unclear Exac annotator error message unclear Sep 24, 2015
@fdlk fdlk added the 1.10 label Sep 25, 2015
@fdlk fdlk modified the milestone: Sprint 73 Sep 28, 2015
@mark-de-haan mark-de-haan added this to the Sprint 73 milestone Sep 30, 2015
@bartcharbon bartcharbon self-assigned this Oct 1, 2015
@tommydeboer tommydeboer removed this from the Sprint 73 milestone Oct 1, 2015
@tommydeboer tommydeboer added 1.9 and removed 1.10 labels Oct 1, 2015
@fdlk fdlk added 1.10 and removed 1.10.0-RC labels Oct 2, 2015
@bartcharbon
Copy link
Member

The underlying error, which is described in a separate bug, is due to the chromosome of the entity is not present in the resource. This information might be helpful te reproduce this bug.

@mark-de-haan
Copy link
Contributor

This should be fixed by #3853

@fdlk
Copy link
Contributor Author

fdlk commented Oct 7, 2015

Well, yes and no. The bug will no longer occur and therefore the unclear error message will no longer be shown. But the test script demands that "A clear error message" should be shown in case of an error. Right now the message is simply copied from the exception but we should add some context. At the very least which of the checked annotators threw the exception, preferably also a clue as to which row was being annotated.

@fdlk fdlk added the 1.13.0-RC label Nov 17, 2015
@fdlk
Copy link
Contributor Author

fdlk commented Nov 17, 2015

Still happens, but now if I enter a negative pos value. I've updated the description.

@fdlk fdlk changed the title Exac annotator error message unclear Annotator error messages unclear Nov 17, 2015
@bartcharbon bartcharbon removed their assignment Feb 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants