Issue Details (XML | Word | Printable)

Key: CONF-7573
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Matt Ryall [Atlassian]
Reporter: Dan Hardiker
Votes: 6
Watchers: 10
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Confluence

Dashboard Exception with Space List macro

Created: 05/Jan/07 12:25 PM   Updated: 17/Dec/07 09:35 PM
Component/s: Macros -- General
Affects Version/s: 2.3
Fix Version/s: 2.3.1

Time Tracking:
Not Specified

File Attachments: 1. File CONF-7573.diff (3 kB)
2. File EditMyPreferencesAction.class (6 kB)
3. File TimeZone.class (6 kB)

Environment:
Windows XP - SP2
MySQL 4.1 & Connector/J 5.0
Conf 2.3 Standard
Issue Links:
Duplicate
Reference
 

Participants: Agnes Ro [Atlassian], Alex Yanchenko, Charles Miller [old account, do not assign issues], Dan Hardiker, ICW User, Matt Ryall [Atlassian], Myles Braithwaite, Simon Jones, Stefan Prange and Sudhakar Ramasamy
Since last comment: 1 year, 28 weeks, 3 days ago
Resolution Date: 17/Dec/07 09:35 PM
Labels:


 Description  « Hide
Setup a new install, with no content. On the dashboard I see the following where the space list should be:

Error rendering macro: java.lang.StackOverflowError



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Myles Braithwaite added a comment - 05/Jan/07 05:11 PM
I am getting the same error on Linux using the default database.

Charles Miller [old account, do not assign issues] added a comment - 05/Jan/07 11:41 PM
OK, that's weird. I can't imagine that not having tripped up our functional tests if it'd happened locally.

Scheduling for fix ASAP.


Stefan Prange added a comment - 07/Jan/07 04:57 AM
Hi,

I just wanted to report the same issue, but fortunately found this report, which some already created.
So my comment might be helpful for others.

Yesterday I figured out the cause of this problem which even leads to a simple workaround:

The Cause
---------------
The endless loop (TimeZone.getInstance, getDefault, getInstance, ...) with a following
StackOverflowError occurs, when the default TimeZone on the application server is not listed
in the properties file "<war-file-CONF-2.3>\WEB-INF\classes\com\atlassian\confluence\core\timezones.properties".

In my case (I'm from Germany) the server's time zone is "MET", which isn't mentioned in timezones.properties.
BTW: "MET" is a rather unusual timezone setting here, but the obscure unix boxes in our computer centre sometimes are quite unusual, too.

The Workaround
-----------------------
The workaround for this problem is very simple:
Just add your server's time zone to the file "<war-file-CONF-2.3>\WEB-INF\classes\com\atlassian\confluence\core\timezones.properties"
and the endless loop shouldn't occur anymore.

HTH, Stefan


ICW User added a comment - 08/Jan/07 07:15 AM
Hello,

Stefans Fix doesn't seem to help in my case. The system runs with UTC but nothing changes, if I add UTC to the timezone.properties.
Can anybody confirm if this workaround should definitly fix the problem?

Thanks
Markus


Sudhakar Ramasamy added a comment - 08/Jan/07 08:41 AM
We are having the same issue though ours is a linux environment. The fix suggested by adding to the timezones.properties file did not work for us either.

Sudhakar Ramasamy added a comment - 08/Jan/07 09:08 AM
Stefan's fix actually worked for us. I had initially tried with a timezone that didn't EXACTLY match with what was listed in our system. Here's what we did on our SuSE Linux box:
  1. cat /etc/sysconfig/clock

Copied the value of the TIMEZONE (in our case US/Central) to the confluence\WEB-INF\classes\com\atlassian\confluence\core\timezones.properties file. This worked!


Dan Hardiker added a comment - 08/Jan/07 09:30 AM
How do I find out what value to use for Windows XP SP 2?

Stefan Prange added a comment - 08/Jan/07 10:06 AM
Hi Dan,

are you familiar with Java?
If so, you could compile and run this little program:

public class ShowTimeZone {
public static void main(String[] args) { System.out.println("java.util.TimeZone.getDefault().getID() is '" + java.util.TimeZone.getDefault().getID()+"' (without the single quotes)"); }
}

You'll find the value you need to add to your timezones.properties in the console output of the program. It's the one between the single quotes.

Bye, Stefan


Alex Yanchenko added a comment - 08/Jan/07 10:24 AM
There is a simpler way. You can find timezone info under Dashboard > Administration > View System Information

Alex Yanchenko added a comment - 08/Jan/07 10:25 AM
*more simple

Dan Hardiker added a comment - 08/Jan/07 10:30 AM
Yeah - I just haven't used java.util.TimeZone before. Thanks for the code though.

I think for now I'll just use the Admin page ... for some reason I didnt think of that - duh!


Simon Jones added a comment - 09/Jan/07 11:23 AM
Same problem with our default timezone of Europe/London (Tomcat on Windows 2003)

Agnes Ro [Atlassian] added a comment - 11/Jan/07 05:52 PM
Uploading patch files.

Add Timezone.class to confluence\WEB-INF\classes\com\atlassian\confluence\core
Add EditMyPreferencesAction.class to confluence\WEB-INF\classes\com\atlassian\confluence\user\actions

and restart Confluence.


Agnes Ro [Atlassian] added a comment - 11/Jan/07 05:52 PM
Fixed.

Matt Ryall [Atlassian] added a comment - 17/Dec/07 09:35 PM
Reopening to add attachment.

Matt Ryall [Atlassian] added a comment - 17/Dec/07 09:35 PM
Attaching diff of change.