JDK-6263644 : (cal) SunTEA won't allow you to change tabs in expense report - GregorianCalendar serialization
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: 5.0,5.0u6,6
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux,windows_xp
  • CPU: x86
  • Submitted: 2005-04-29
  • Updated: 2011-01-27
  • Resolved: 2005-05-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6
5.0u7Fixed 6 b38Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Description
The SunTEA internal expense tool (an old AWT app) does not function with some of the latest Mustang builds.  I had this problem with b25, so I uninstalled that release and installed the latest, build 34, but the bug is still there.

To see the bug, start SunTea.  Start a new expense report.  The first page
shows several tabs, the first of which is "Summary".  Try clicking on any of the
other tabs - this functionality does not work and you are stuck with only the
Summary page.


###@###.### 2005-04-29 18:03:10 GMT

I just noticed that this bug seems limited to when you are trying to start
a new expense report based on an existing expense request.  If you just
start a new expense report from scratch, it seems to work.

Also, I found out more about the problem from running the Java console;
it turns out this is not a focus problem switching between tabs, but
rather a problem of getting a NullPointerException due to some calendar
issue.  Here is the stack trace I get every time I click on a tab:
Exception in thread "AWT-EventQueue-4" java.lang.NullPointerException
	at java.util.GregorianCalendar.getCurrentFixedDate(Unknown Source)
	at java.util.GregorianCalendar.add(Unknown Source)
	at bh.d(DashoA8378)
	at bh.c(DashoA8378)
	at bf.b(DashoA8378)
	at bf.handleEvent(DashoA8378)
	at java.awt.Component.postEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

I am refiling this against the i18n group accordingly.

###@###.### 2005-04-29 18:19:02 GMT

Comments
EVALUATION Unfortunately, the same problem is in 5.0u6. The fix will be available in 5.0u7 (b01).
26-12-2005

EVALUATION I installed b34 on Windows XP SP2. SunTEA 3.55 seems to be working normal. I don't see any messages on the Java console. I ran SunTEA from FireFox 1.0.3 and IE 6.0. ###@###.### 2005-04-30 00:58:16 GMT The symptom was reproduced. The cause is that GregorianCalendar.readObject doesn't initialize a transient field correctly. ###@###.### 2005-05-01 16:16:49 GMT The symptom is reproducible when a GregorianCalendar object after a call to setTime or setTimeInMillis is serialized and deserialized and add (or roll) of the deserialized object is called. This happens with SunTEA when starting a new expense report based on an existing expense request, because it checks if the existing expense report is older than 183 days after the expense report was approved. The optimization on computeFields() added in the earlier Mustang build skips recalculations of the calendar fields when the deserialized object is fully normalized, which caused not to initialize transient fields of GregorianCalendar. ###@###.### 2005-05-02 03:03:24 GMT
29-04-2005