You are viewing limited content. For full access, please sign in.

Question

Question

Possible Daylight Saving Time "Bug" in Forms

asked on March 10, 2020 Show version history

Hello,

We recently had 8 Forms submissions terminate on a user task due to the following error:

An unexpected error has occurred. [LFF502-UnexpectedError]

Details:
URL: 
Error: UnexpectedError
Date: 3/7/2020 2:52:58 AM (Pacific Standard Time)
HTTP Status Code: 500
Business Process ID: 1221
Instance ID: 226469
Business Process Name: REDACTED

Stack Trace:
Caught exception: Laserfiche.Forms.CommonUtils.Exceptions.LFFormsException
Message: An unexpected error has occurred. [LFF502-UnexpectedError]


Inner exception: System.ArgumentException
Message: The supplied DateTime represents an invalid time.  For example, when the clock is adjusted forward, any time in the period that is skipped is invalid.
Parameter name: dateTime
   at System.TimeZoneInfo.ConvertTime(DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfo destinationTimeZone, TimeZoneInfoOptions flags, CachedData cachedData)
   at System.TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime dateTime, String sourceTimeZoneId, String destinationTimeZoneId)
   at Laserfiche.Forms.Routing.UserTask._GetDueDate(cf_bp_worker_instances processInstance)
   at Laserfiche.Forms.Routing.UserTask.CreateNewRoutingInstanceToTrigger(cf_bp_worker_instances processInstance, IRoutingContext routingContext)
   at Laserfiche.Forms.Routing.UserTask.ExecuteForNewEntry(cf_bp_worker_instances processInstance, IRoutingContext routingContext)
   at Laserfiche.Forms.Routing.RoutingDispatcher.ExecuteSteps(Int32 processWorkerInstanceId)

The submissions came in on 3/7/2020 between 2:00AM and 2:30AM

When they reached a user task, the instance terminated and I believe the issue is that Forms could not reconcile the Task Due Date.

The Due Date for the task is set to be 1 day after the Instance Start Time, and it is set to ignore the Time portion of the variable.

However, because Daylight Saving Time began on 3/8/2020 at 2AM and it was set to just add 1 day, there was no such time as 3/8/2020 2:15AM, 2:20AM, etc.

Because it generated the time this way (without adjusting for DST), it resulted in a nonexistent time and caused the entire process to terminate.

Every other step prior to that worked normally, so the "Due Date" seems to be the most likely suspect and I can't think of any workarounds apart from just not using the "exclude configured time" option, and that isn't really viable since the timing is very important to establishing priority in our process.

Forms Version: 10.4.1.164

1 0

Answer

SELECTED ANSWER
replied on March 10, 2020

I think you're right that this was caused by a non-existent time due to daylight savings. We'll try to find all the places this can happen and get a fix in before next March. Fall back shouldn't be a problem since the time exists twice as opposed to not at all. 

6.8.0
3 0
replied on March 10, 2020

Thanks! Although my preferred "solution" would be to just "depreciate" DST cheeky

3 0
replied on March 10, 2020

If only Laserfiche could solve that problem smiley

6.8.0
0 0

Replies

You are not allowed to reply in this post.
You are not allowed to follow up in this post.

Sign in to reply to this post.