Issue Details (XML | Word | Printable)

Key: JRA-11702
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Tim Pettersen [Atlassian]
Reporter: Matt Doar
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JIRA

Integrity Checker itself dies unexpectedly due to a bug in the Bugzilla importer

Created: 07/Dec/06 12:25 PM   Updated: 04/Jan/07 07:34 PM
Component/s: Administration, Import / Export
Affects Version/s: 3.6.5
Fix Version/s: 3.7.2

Time Tracking:
Not Specified

Issue Links:
Reference
 

Participants: Matt Doar and Tim Pettersen [Atlassian]
Since last comment: 1 year, 39 weeks, 3 days ago
Resolution Date: 04/Jan/07 07:05 PM
Labels:


 Description  « Hide
I imported data from Bugzilla and forgot to map a custom status to anything in Jira. That's a problem with the importer, that it doesn't disallow that. The subsequent problem is tthat running the Admin, Ingegrity Checker and selecting just "Check jira issues with null status" causes the checker itself to die. From the trace below, I believe that the problem is with the line below, where an assumption is made that the genericValue.getInteger() returns non-null, which is not true in this case.

com/atlassian/jira/appconsistency/integrity/check/WorkflowIssueStatusNull.java:132
StepDescriptor step = workflow.getDescriptor().getStep(genericValue.getInteger("stepId").intValue());
if(step == null)
throw new IllegalStateException("Can not resolve a step with id: " + genericValue.getInteger("stepId") + " from workflow " + workflow.getName());

com.atlassian.jira.appconsistency.integrity.exception.IntegrityException: Error occurred while performing check.
at com.atlassian.jira.appconsistency.integrity.check.WorkflowIssueStatusNull.doCheck(WorkflowIssueStatusNull.java:116)
at com.atlassian.jira.appconsistency.integrity.check.WorkflowIssueStatusNull.preview(WorkflowIssueStatusNull.java:40)
at com.atlassian.jira.appconsistency.integrity.IntegrityChecker.preview(IntegrityChecker.java:72)
at com.atlassian.jira.appconsistency.integrity.IntegrityChecker.previewWithIds(IntegrityChecker.java:42)
at com.atlassian.jira.web.action.admin.IntegrityChecker.doExecute(IntegrityChecker.java:64)
at webwork.action.ActionSupport.execute(ActionSupport.java:153)
at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:57)
at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132)
at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:185)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
at com.atlassian.jira.web.filters.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:64)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at com.atlassian.jira.appconsistency.integrity.check.WorkflowIssueStatusNull.getStatusFromWorkflow(WorkflowIssueStatusNull.java:132)
at com.atlassian.jira.appconsistency.integrity.check.WorkflowIssueStatusNull.doCheck(WorkflowIssueStatusNull.java:77)
... 54 more

Referer URL: https://jira/secure/admin/jira/IntegrityChecker!default.jspa

Build Information:
Uptime: N/A
Edition: Professional
Version: 3.6.5
Build Number: 161
Atlassian Partner: null

Server Information:
Application Server: Apache Tomcat/5.5.9
Servlet Version: 2.4

File Paths:
Location of entityengine.xml: file:/data/jira/atlassian-jira-professional-3.6.5-standalone/atlassian-jira/WEB-INF/classes/entityengine.xml
Location of atlassian-jira.log: file:/data/jira/atlassian-jira.log

Memory Information:
Total Memory: 508 MB
Free Memory: 403 MB
Used Memory: 105 MB

System Information:
System Date: Thursday, 07 Dec 2006
System Time: 10:11:33
Current Working Directory: /data/jira
Java Version: 1.5.0_09
Java Vendor: Sun Microsystems Inc.
JVM Version: 1.0
JVM Vendor: Sun Microsystems Inc.
JVM Implementation Version: 1.5.0_09-b03
Java Runtime: Java(TM) 2 Runtime Environment, Standard Edition
Java VM: Java HotSpot(TM) Client VM
User Name: root
User Timezone: America/Los_Angeles
User Locale: English (United States)
System Encoding: UTF-8
Operating System: Linux 2.6.9-42.ELsmp
OS Architecture: i386
Application Server Container:
Database type: mysql
Database JNDI address: java:comp/env/jdbc/JiraDS
Database version: 4.1.20
Database driver: MySQL-AB JDBC Driver mysql-connector-java-3.1.12 ( $Date: 2005-11-17 15:53:48 +0100 (Thu, 17 Nov 2005) $, $Revision$ )

Request Information:
Request URL: https://jira/500page.jsp

  • Scheme: https
  • Server: jira
  • Port: 443
  • URI: /500page.jsp
  • - Context Path:
  • - Servlet Path: /500page.jsp
  • - Path Info: null
  • - Query String:
    Request Attributes:
  • javax.servlet.forward.request_uri : /secure/admin/jira/IntegrityChecker.jspa
  • javax.servlet.forward.context_path :
  • javax.servlet.forward.servlet_path : /secure/admin/jira/IntegrityChecker.jspa
  • javax.servlet.forward.path_info : /500page.jsp
  • javax.servlet.error.message :
  • javax.servlet.error.exception : javax.servlet.ServletException: Error occurred while performing check.
  • javax.servlet.request.key_size : 0
  • os_securityfilter_already_filtered : true
  • com.atlassian.jira.web.filters.ActionCleanupDelayFilter : true
  • com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
  • javax.servlet.error.request_uri : /secure/admin/jira/IntegrityChecker.jspa
  • jira.webwork.generic.dispatcher : webwork.dispatcher.GenericDispatcher@15e01c2
  • javax.servlet.error.status_code : 500
  • _sitemesh_filterapplied : true
  • jira.webwork.cleanup : false
  • javax.servlet.request.cipher_suite : TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • javax.servlet.error.servlet_name : action
  • com.atlassian.jira.web.filters.gzip.GzipFilter_already_filtered : true
  • atlassian.core.seraph.original.url : /secure/admin/jira/IntegrityChecker.jspa
  • loginfilter.already.filtered : true
  • webwork.result : Value stack =========== ===========
  • javax.servlet.request.ssl_session : 457858ccc2a25d9b9ca738a92b8e2dbccf3f9000582ae79ea93c2dc4d0169ee0

Request Logging:
0 log statements generated by this request:



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Matt Doar added a comment - 08/Dec/06 04:49 PM
I also found another place where the Integrity Checker itself can die:

Caused by: java.lang.IllegalArgumentException: Cannot get schemes for null project
at com.atlassian.jira.scheme.AbstractSchemeManager.getSchemes(AbstractSchemeManager.java:105)
at com.atlassian.jira.workflow.DefaultWorkflowSchemeManager.getWorkflowScheme(DefaultWorkflowSchemeManager.java:76)
at com.atlassian.jira.workflow.OSWorkflowManager.getWorkflowName(OSWorkflowManager.java:86)
at com.atlassian.jira.workflow.OSWorkflowManager.getWorkflow(OSWorkflowManager.java:299)
at com.atlassian.jira.appconsistency.integrity.check.WorkflowCurrentStepCheck.getStepDesc(WorkflowCurrentStepCheck.java:287)
at com.atlassian.jira.appconsistency.integrity.check.WorkflowCurrentStepCheck.doCheck(WorkflowCurrentStepCheck.java:123)
... 55 more


Tim Pettersen [Atlassian] added a comment - 03/Jan/07 10:59 PM
Similar to JRA-10017 in that both are using Custom Statuses in Bugzilla

Tim Pettersen [Atlassian] added a comment - 04/Jan/07 07:05 PM
Thanks for raising this Matt, we're endeavouring to expand the Integrity Checker's functionality to gracefully handle as many data integrity problems as possible.

The "Check jira issues with null status" integrity check will no longer die in a spectacular fashion with an NPE when given an issue with a null status and a missing workflow step. I've created another issue (JRA-11880) to address the stack trace in your comment above. If you've got further information to add (the conditions surrounding the error, any other custom modifications to your bugzilla instance, etc.) please add comments there.

cheers,
Tim


Tim Pettersen [Atlassian] added a comment - 04/Jan/07 07:34 PM
Hi again Matt,

Would you mind giving some more details on that second stacktrace for issue JRA-11880? We're having trouble reproducing it..

cheers,
Tim