Bug 51389

GemStone/S 64 Bit

3.7.2, 3.7.1, 3.7, 3.6.8, 3.6.7, 3.6.6, 3.6.5, 3.6.4, 3.6.3, 3.6.2, 3.6.1, 3.6, 3.5.8, 3.5.7, 3.5.6, 3.5.5, 3.5.4, 3.5.3, 3.5.2, 3.5.1, 3.5, 3.4.5, 3.4.4, 3.4.3, 3.4.2, 3.4.1, 3.4, 3.3.9, 3.3.8, 3.3.x, 3.2.x, 3.x, 2.x

DateTime passivate/activate creates new, incompletely initialized instance of TimeZone

A DateTime contains an instance of TimeZone, from TimeZone>>current or from instance creation protocol. When data including one or more DateTime instances is passivated and activated, a new instance of TimeZone is created for these instances.

This new instance is not fully initialized; the dstStartTimeList and dstEndTimeList are nil, which causes some TimeZone methods to error.

Workaround

While the activated DateTime will generally function correctly, some TimeZone methods will fail. Sending initializeCache to the TimeZone allows it to operate correctly.

Note that additional instances of TimeZone are created for each activation; multiple DateTimes within a single activation will use a single new instance of TimeZone.


                

Last updated: 5/1/25