NullPointerException in View Jobs
Getting a NullPointer Exception when entering into View jobs. This does not happen on every project - just 1 of them. I am looking for guidance as to how to resolve this issue. I have bounced JIRA and re-indexed but neither had any affect. Opened a Support Ticket with Atlassian but they said to contact you. Information as to the versions I have and a partial stack trace is listed below.
Thank You
Ken Banks
JIRA 5.2.2
Scheduler Version: 2.6.4 Vendor: Transition Technologies S.A. Add-on key: pl.com.tt.jira.plugin.theschedulerpro
License details: 2000-user commercial license, Enterprise, expires 31/Mar/16 License status: Valid License SEN: SEN-3519946
An error occurred whilst rendering this message. Please contact the administrators, and inform them of this bug. Details: ------- org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getIssueJobBeans' in class pl.com.tt.jira.plugin.thescheduler.action.issuescheduler.ViewIssueJobsAction threw exception java.lang.NullPointerException at templates/plugins/thescheduler/issuescheduler/viewissuejobs.vm[line 246, column 59] at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:337) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:284) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262) at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:507) at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:282) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336) at org.apache.velocity.Template.merge(Template.java:328) at org.apache.velocity.Template.merge(Template.java:235) at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381) at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:67) at com.atlassian.jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.asHtml(DefaultVelocityTemplatingEngine.java:104) at com.atlassian.jira.plugin.webwork.JiraPluginWebworkVelocityServlet.service(JiraPluginWebworkVelocityServlet.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.jira.web.filters.XContentTypeOptionsNoSniffFilter.doFilter(XContentTypeOptionsNoSniffFilter.java:22) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:32) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:30) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.jira.tzdetect.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:39) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.jira.baseurl.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:40) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:82) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:169) at com.atlassian.jira.web.filters.JiraLoginFilter.doFilter(JiraLoginFilter.java:70) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:55) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:690) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:477) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329) at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.dispatchView(JiraWebworkActionDispatcher.java:314) at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:205) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:78) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.jira.web.filters.XContentTypeOptionsNoSniffFilter.doFilter(XContentTypeOptionsNoSniffFilter.java:22) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.jira.tzdetect.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:39) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) a
Comments (19)
-
-
reporter Hello Jacek
Thank you for the response - not sure how to remove the jobs since I cannot get into the view jobs on this project. I have not been able to figure out where the data is stored - in the datbase or on the server so I do not know how to manually change the data either. I will look for the zipped files in the locations you mentioned. If I cannot figure how to change them, I will send them to you.
Thank you.
-
Hello Ken,
If you have problems with find those files please to use search function in the system and find "theschedulerdb.script" and "theschedulerdb.properties"
Jacek
-
reporter Hello Jacek
I did find the files, I looked at the script and saw the tables it was creating in the database. I looked into the tables in the datbase trying to find the jobs hoping to see if I cound figure out where the jobs were stored. I was going to compare jobs that were not having issues to jobs that were in hopes of figuring out which field was Null. Near as I could tell, the jobs were not stored in one of hose tables. The files that I found SchedulerBackup.xsd, theschedulerdb.properties, theschedulerdb.script, those are the ones you wnat me to send - correct?
-
reporter Hello Jacek
In the attached zip are:
SchedulerBackup.xsd theschedulerdb.log theschedulerdb.properties theschedulerdb.script
For the one project having this issue, the user has told me she can recreate the jobs. I would like to find the data and see if I can fix it before I do that.
Should the data be in one of the these Oralce tables:
QRTZ_JOB_DETAILS QRTZ_JOB_LISTENERS QRTZ_TRIGGERS QRTZ_SIMPLE_TRIGGERS QRTZ_CRON_TRIGGERS QRTZ_BLOB_TRIGGERS QRTZ_TRIGGER_LISTENERS QRTZ_CALENDARS QRTZ_PAUSED_TRIGGER_GRPS QRTZ_FIRED_TRIGGERS QRTZ_SCHEDULER_STATE QRTZ_LOCKS
-
reporter Hello Jacek If I understand correctly, the files I sent you represent an HSQL database and the database is using “In Memory” tables. That being the case the file called "theschedulerdb.script" is where the jobs that have been set up can be seen. I looked in that file and sure enough, I found 5 rows that had a number that matched the Project ID of the Project that is having issues. Most of this data seemed to be in Hex so I could not tell much more. I compared a row from a project that was working hoping to find the NULL field but that did not pan out. Question: I assume the fix requires the rows to be deleted from this file - can I just delete the 5 rows? Or do I need to Stop JIRA first and then delete them and restart JIRA.
-
Yes, you are correct. This represents an HSQL database.
Yes you can to remove SI from those file, but to avoid errors please just disable the plugin, you don't have to stop JIRA server.
Let us know if you will able to resolve this issue, or have any other problems.
-
reporter Thank You Jacek
I will give that a shot and let you know the result.
-
Hi Ken, Any updates on this?
-
reporter I am glad you emailed. Here is what has happened.
At first the fix I deployed seemed to work but just today I found out the Plug-in has gone down and it will not come back up. I am concerned that when I fixed the data that I did something wrong and it eventually created enough problems that it brought the plug in down (Although, the existing scheduled jobs are still creating Issues. The first clue was that the user interface no longer would show the correct Issue Types that went with the project.
Here is what I think I did wrong. I deleted 5 rows from the scripts file that corresponded with the 5 jobs for the Project. They were the rows that went with the QRTZ_JOB_DETAILS Memory Table. I think what I did wrong was not delete the rows for the QRTZ_TRIGGERS VALUES and QRTZ_CRON_TRIGGERS tables.
Tonight I am going to bounce JIRA and when it comes back up, I am going to stop the Plug-In and put the original file back and if that works, try the deleting the rows again but delete all 15 rows this time.
-
Please let me know whether the deletion of all rows resolve this issue. If not, please send me log file.
-
reporter Okay – at this point I am not sure how to proceed. After rebooting JIRA, on the Manage Plug-ins it has Enable and Uninstall for the Plug-in. So, I would have thought the plug-in is not up. However, the lock file is there which makes me think it is partially up. So, I am thinking. Save off the files and uninstall and then reinstall and put the files back. I wanted to check with you to see if this approach would work. I am a little leery about modifying the scripts file while the lock file exists. When I get the logs, do you want the Plug-in’s log file and the catalina.out log file?
-
Hello Ken,
I think that the problem is due to some configuration of plugin. But the case described by you look correct and i think that this might work.
I mean "atlassian-jira.log", but catalina.out could be helpful too. Here you can find description how to find it: https://confluence.atlassian.com/pages/viewpage.action?pageId=213526227
-
Hello Ken,
Were you able to resolve this issue?
-
reporter I am still waiting on the Change control process to make the final change in Production but I am failry certain it is going to work. I have tested in a DEV environment with the data file I am going to use in production and I feel pretty good about it.
-
Hello Ken,
Any updates on this issue? Is The Scheduler works properly for you now?
-
reporter Yes - thank you. you can close the Ticket. The last thing I tried (Uninstalling Plug-in, Shutting Down JIRA, deleting project entries and bringing JIRA back up) did resolve the Issue once and for all. Uninstalling alone did not help because (I am guessing) the data was still in memory even though the plug-in was uninstalled.
I appreciate the help.
-
- changed status to resolved
-
- changed status to closed
- Log in to comment
Hello Ken,
This issue is due to lack of value some field. This issue has been resolved in version 3.0.6. However this version of TSP is available for JIRA 6.0+. But there is a workaround: If you don't have many Scheduled Issues on that project please try to remove Scheduled Jobs from this project and create them again. Or send us files associated with our plugin and we will find the invalid Scheduled Issue and remove it from TSP cache files. These files are located in JIRA_SERVER\Application Data\JIRA\data\plugins, (SchedulerBackup.xsd, theschedulerdb.properties, theschedulerdb.script).
Regards, Jacek Ostrowski.