David_Ciochetto: issues with a long project

Hi, where are the auto-save files on an OsX system?

I was working on a file yesterday and saved it and now this morning I can not open it on either Windows or Mac. I had it located on Dropbox so I could work in it from either system. There are possible problems, the project spans 2013 to 2043 right now so it is lengthy in time and also there are many entries. The *.gan file XML codes seems to be intact on a very brief scan, I just can’t get it to show up in the software.

I have tried moving the file off the Dropbox to a local drive. I tried to do the recover option.

GanttProject 3.1.3103

java.class.path: eclipsito.jar;C:\Program Files (x86)\GanttProject-3.1
java.home: C:\Program Files (x86)\GanttProject-3.1\runtime

java.runtime.version: 11.0.11+9-LTS
java.vendor: BellSoft
java.vm.name: OpenJDK 64-Bit Server VM
java.vm.vendor: BellSoft
java.vm.version: 11.0.11+9-LTS
os.arch: amd64
os.name: Windows 7
os.version: 6.1

Dec 03, 2021 1:58:05 PM biz.ganttproject.LoggerImpl error
SEVERE: Can’t set awtAppClassName (needed on Linux to show app name in the top panel)
Dec 03, 2021 1:58:05 PM net.sourceforge.ganttproject.GPLogger log
INFO: Deleting old auto-save files

FINE: 8. finalizing…
Dec 03, 2021 1:58:07 PM net.sourceforge.ganttproject.GPLogger logToLogger
at java.base/sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(Unknown Source)
at java.base/java.util.GregorianCalendar.computeFields(Unknown Source)
at java.base/java.util.GregorianCalendar.computeFields(Unknown Source)
at java.base/java.util.Calendar.setTimeInMillis(Unknown Source)
at java.base/java.util.Calendar$Builder.build(Unknown Source)
at java.base/sun.util.locale.provider.CalendarProviderImpl.getInstance(Unknown Source)
at java.base/java.util.Calendar.createCalendar(Unknown Source)
at java.base/java.util.Calendar.getInstance(Unknown Source)
at biz.ganttproject.core.time.CalendarFactory.newCalendar(CalendarFactory.java:35)
at biz.ganttproject.core.time.impl.FramerImpl.adjustRight(FramerImpl.java:33)
at biz.ganttproject.core.calendar.GPCalendarBase.doFindClosest(GPCalendarBase.java:101)
at biz.ganttproject.core.calendar.GPCalendarBase.doFindClosest(GPCalendarBase.java:126)

If you use Dropbox, you can use Dropbox’s own file revision history to recover the previous versions.

Talking about the issue, yes it is very likely that the reason is that the project is very long.

I did not search the FAQ for limitations on project lengths. Is there somewhere that is outlined in the discussions? I am trying to summarize the full lifecycle of energy production facilities which have an agreement to operate (after siting and construction) for 20 years and a 25 year lease. Even narrowing down from permitting to construction is about 5 to 9 years. Will I just be hitting limits no matter how short I try to go with these projects?

Also how great is the risk to editing the XML to reduce the dates that are far in the future? I plan to try but I am afraid there will be cascading resutts if I text edit the .gan file.

Thanks for the help and overall good product.

Can you please share the project file?
I created a simple project which spans 50 years, just to reproduce the issue, and it works fine (the file is attached). So I am curious to look at yours. Chances are that it spans way more than 40 years.

tmp.gan (2.6 KB)


I did not have time yet to view your sample file. I wanted to share this so you can have a look at it. Looking at it, your file is 2.6 kb and mine Is 39 kb but those are both small files. Something is getting tripped up. Thanks for having a look.

If I can get this to work it could be a useful tool but it may be better for me to just write a MySQL database and perl interface and look for some Gantt functionality in perl (I have experience with building catalyst mvc websites which is a nice web interface to mysql, but I am weak on perl as an actual programming language but I can survive and develop things.) Then I could integrate all the data in one MySQL database and then only need to update it in one place and just work with the data. I doubt that I could write an interface to have GanttProject read from some SQL database, I have worked with mySQL and the lite version.

OW Overview v1.gan (37.9 KB)

Thanks. I was able to view your example file. I replied with my file, I think it got posted below.

I recall the events starting in 2013 and the end date is 2043. The leases for the projects end after 25 years so the timeframes are about 30 years. I had to do something inferior in excel to meet a deadline but I think this software could be very useful. So I am going to try to make it work for me.

Also even though I was saving my file often as I was creating it, Dropbox (free version) only has the one where I began and then the one that fails to load. Nothing in between. So I was unable to get it there unless there is local cache somewhere.

As an advice, I work on local hard disk (usually SDD), and then make copies to HDD or USB storage… of each and every diary .gan file I create daily with option “Save as”.

That is why I have already requested to increase the number of “recent files” in the “open file” dialog window :wink:

So… going to the “GanttProject” limits on the project size… ¿any clear conclusion?
I have modified the .bat file to give more memory to the JRE with “-Xmx2g”

Thanks for the file.
It seems that indeed there is a bug in GP code which shows up when it opens a project with very long tasks without weekends and holidays (if you want technical details, please look at the issue in the bug tracker).

I added a single holiday in a somewhat random place (December 31st, 2026) and now it opens fine, modulo a single warning saying that one task has changed the end date (that’s due to the added holiday I believe). The file is attached.

The bug will be fixed, most likely, in GP 3.2 (but maybe in another update to GP 3.1, should it happen)

Ooops, forgot to attach the file. Here it comes.test.gan (38.0 KB)

Thank you. So the work around is to have weekends and / or holidays for long projects. I can see the file again.

The problem did not occur until I closed the program and re-opened it. In case that helps fixing it.