[ http://jira.codehaus.org/browse/CONTINUUM-1064?page=all ]
Emmanuel Venisse closed CONTINUUM-1064. --------------------------------------- Resolution: Fixed Fix Version/s: 1.1 Applied, Thanks > Schedule screen accept bad values > --------------------------------- > > Key: CONTINUUM-1064 > URL: http://jira.codehaus.org/browse/CONTINUUM-1064 > Project: Continuum > Issue Type: Bug > Components: Web - UI > Reporter: Maria Odea Ching > Assigned To: Emmanuel Venisse > Fix For: 1.1 > > Attachments: CONTINUUM-1064-continuum-webapp.patch > > > Click 'Schedules' > on the next page, click one of edit links > on the next page, type 'a' in the seconds fields > Click the save button > An exception is printed in logs but the user doesn't see an error, Continuum > go to the schedules list with the bad value: > DEFAULT_SCHEDULE Run hourly 0 a 0 * * * ? 3600 > The exception is: > jvm 1 | 2006-12-14 10:37:43,203 [SocketListener0-1] INFO SchedulesActivator - > Unactivating schedule DEFAULT_SCHEDULE > jvm 1 | 2006-12-14 10:37:43,203 [SocketListener0-1] INFO SchedulesActivator - > Stopping active schedule "DEFAULT_SCHEDULE". > jvm 1 | 2006-12-14 10:37:43,203 [SocketListener0-1] INFO SchedulesActivator - > Activating schedule DEFAULT_SCHEDULE > jvm 1 | java.lang.StringIndexOutOfBoundsException: String index out of range: > 3 > jvm 1 | at java.lang.String.substring(String.java:1765) > jvm 1 | at org.quartz.CronTrigger.storeExpressionVals(CronTrigger.java:1153) > jvm 1 | at org.quartz.CronTrigger.buildExpression(CronTrigger.java:1125) > jvm 1 | at org.quartz.CronTrigger.setCronExpression(CronTrigger.java:691) > jvm 1 | at > org.apache.maven.continuum.build.settings.DefaultSchedulesActivator.schedule(DefaultSchedulesActivator.java:163) > jvm 1 | at > org.apache.maven.continuum.build.settings.DefaultSchedulesActivator.activateSchedule(DefaultSchedulesActivator.java:111) > jvm 1 | at > org.apache.maven.continuum.DefaultContinuum.updateSchedule(DefaultContinuum.java:1865) > jvm 1 | at > org.apache.maven.continuum.DefaultContinuum.updateSchedule(DefaultContinuum.java:1848) > jvm 1 | at > org.apache.maven.continuum.web.action.ScheduleAction.save(ScheduleAction.java:128) > jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > jvm 1 | at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > jvm 1 | at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > jvm 1 | at java.lang.reflect.Method.invoke(Method.java:585) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:364) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:216) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > jvm 1 | at > com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) > jvm 1 | at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115) > jvm 1 | at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.apache.maven.continuum.web.interceptor.ForceContinuumConfigurationInterceptor.intercept(ForceContinuumConfigurationInterceptor.java:58) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.security.ui.web.interceptor.SecureActionInterceptor.intercept(SecureActionInterceptor.java:142) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.security.ui.web.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.java:83) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.security.ui.web.interceptor.ForceAdminUserInterceptor.intercept(ForceAdminUserInterceptor.java:61) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.security.ui.web.interceptor.EnvironmentCheckInterceptor.intercept(EnvironmentCheckInterceptor.java:123) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:62) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) > jvm 1 | at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115) > jvm 1 | at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.webwork.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:147) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113) > jvm 1 | at > com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:225) > jvm 1 | at > com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > jvm 1 | at > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) > jvm 1 | at > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > jvm 1 | at > com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) > jvm 1 | at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) > jvm 1 | at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) > jvm 1 | at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) > jvm 1 | at org.mortbay.http.HttpServer.service(HttpServer.java:909) > jvm 1 | at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) > jvm 1 | at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982) > jvm 1 | at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) > jvm 1 | at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) > jvm 1 | at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) > jvm 1 | at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) > jvm 1 | 2006-12-14 10:37:43,406 [SocketListener0-1] ERROR Continuum - Can't > unactivate schedule. You need to restart Continuum. > jvm 1 | > org.apache.maven.continuum.build.settings.SchedulesActivationException: Error > parsing cron expression. > jvm 1 | at > org.apache.maven.continuum.build.settings.DefaultSchedulesActivator.schedule(DefaultSchedulesActivator.java:167) > jvm 1 | at > org.apache.maven.continuum.build.settings.DefaultSchedulesActivator.activateSchedule(DefaultSchedulesActivator.java:111) > jvm 1 | at > org.apache.maven.continuum.DefaultContinuum.updateSchedule(DefaultContinuum.java:1865) > jvm 1 | at > org.apache.maven.continuum.DefaultContinuum.updateSchedule(DefaultContinuum.java:1848) > jvm 1 | at > org.apache.maven.continuum.web.action.ScheduleAction.save(ScheduleAction.java:128) > jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > jvm 1 | at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > jvm 1 | at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > jvm 1 | at java.lang.reflect.Method.invoke(Method.java:585) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:364) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:216) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) > jvm 1 | at > com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) > jvm 1 | at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115) > jvm 1 | at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.apache.maven.continuum.web.interceptor.ForceContinuumConfigurationInterceptor.intercept(ForceContinuumConfigurationInterceptor.java:58) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.security.ui.web.interceptor.SecureActionInterceptor.intercept(SecureActionInterceptor.java:142) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.security.ui.web.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.java:83) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.security.ui.web.interceptor.ForceAdminUserInterceptor.intercept(ForceAdminUserInterceptor.java:61) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.security.ui.web.interceptor.EnvironmentCheckInterceptor.intercept(EnvironmentCheckInterceptor.java:123) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > org.codehaus.plexus.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:62) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) > jvm 1 | at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115) > jvm 1 | at > com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.webwork.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:147) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) > jvm 1 | at > com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:188) > jvm 1 | at > com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113) > jvm 1 | at > com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:225) > jvm 1 | at > com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > jvm 1 | at > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) > jvm 1 | at > com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > jvm 1 | at > com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) > jvm 1 | at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) > jvm 1 | at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) > jvm 1 | at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) > jvm 1 | at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) > jvm 1 | at org.mortbay.http.HttpServer.service(HttpServer.java:909) > jvm 1 | at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) > jvm 1 | at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982) > jvm 1 | at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) > jvm 1 | at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) > jvm 1 | at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) > jvm 1 | at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) > jvm 1 | Caused by: java.text.ParseException: Illegal cron expression format > (java.lang.StringIndexOutOfBoundsException: String index out of range: 3) > jvm 1 | at org.quartz.CronTrigger.buildExpression(CronTrigger.java:1141) > jvm 1 | at org.quartz.CronTrigger.setCronExpression(CronTrigger.java:691) > jvm 1 | at > org.apache.maven.continuum.build.settings.DefaultSchedulesActivator.schedule(DefaultSchedulesActivator.java:163) > jvm 1 | ... 80 more -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira