We are trying to change our build's schedule to fire every hour at x:15 and 
x:45 using the cron trigger.  Our Cron Expression looks like this:

15,30 * * * *

Unfortunately, now our build server is puking out a metric ton of these 
exceptions:

[6:WARN] INTERNAL ERROR: Object reference not set to an instance of an object.
----------
System.NullReferenceException: Object reference not set to an instance of an 
object.
   at ThoughtWorks.CruiseControl.Core.Triggers.CronTrigger.get_NextBuild()
   at ThoughtWorks.CruiseControl.Core.Triggers.MultipleTrigger.get_NextBuild()
   at ThoughtWorks.CruiseControl.Core.Triggers.MultipleTrigger.get_NextBuild()
   at 
ThoughtWorks.CruiseControl.Core.Project.CreateProjectStatus(IProjectIntegrator 
integrator)
   at 
ThoughtWorks.CruiseControl.Core.IntegrationQueueManager.GetProjectStatuses()
   at 
ThoughtWorks.CruiseControl.Core.IntegrationQueueManager.GetCruiseServerSnapshot()
   at 
ThoughtWorks.CruiseControl.Core.CruiseServer.<>c__DisplayClassb.<GetCruiseServerSnapshot>b__a(ServerRequest
 )
   at 
ThoughtWorks.CruiseControl.Core.CruiseServer.RunServerRequest(ServerRequest 
request, Nullable`1 permission, Nullable`1 eventType, Action`1 action)

Does anyone know what's going on? I downloaded the source code for our version 
(1.6.7981.1) and can't see any variables in the NextBuild property that could 
be null:

        public DateTime NextBuild
        {
            get
            {
                if (nextBuild == DateTime.MinValue)
                {
                    SetNextIntegrationDateTime();
                }
                return nextBuild;
            }
        }

I tried downloading the latest nightly build to see if that fixes it 
(1.7.706.8065) and ccnet.exe never starts running any builds.

Is the cron trigger broken?  Am I doomed to use 48 schedule triggers?  Is there 
an alternative to the cron trigger?

     <:> Aaron

Reply via email to