triplea-game / triplea

TripleA is a turn based strategy game and board game engine, similar to Axis & Allies or Risk.
https://triplea-game.org/
GNU General Public License v3.0
1.34k stars 393 forks source link

Binaries missing in pre-releases #5794

Closed panther2 closed 4 years ago

panther2 commented 4 years ago

bin

DanVanAtta commented 4 years ago

Failed with:

install4j: compilation failed. Reason: java.lang.OutOfMemoryError: Java heap space
panther2 commented 4 years ago

Closed as latest releases have them included.

panther2 commented 4 years ago

It happened again: https://github.com/triplea-game/triplea/releases/tag/2.0.17504 https://github.com/triplea-game/triplea/releases/tag/2.0.17505 https://github.com/triplea-game/triplea/releases/tag/2.0.17522 https://github.com/triplea-game/triplea/releases/tag/2.0.17523 https://github.com/triplea-game/triplea/releases/tag/2.0.17526 https://github.com/triplea-game/triplea/releases/tag/2.0.17528

panther2 commented 4 years ago

@DanVanAtta Seems to occur constantly now.

panther2 commented 4 years ago

CC: @RoiEXLab @ron-murhammer @ssoloff

RoiEXLab commented 4 years ago

Still the same error unfortunately :/

DanVanAtta commented 4 years ago

Until we actually resolve the problem, this seems to be a liability. The issue is heap space for the install4j process. We do not control that very directly. It's less than ideal., I don't think there is a readily available fix to be had here.

DanVanAtta commented 4 years ago

FWIW, the install4j gradle task was recently update to 8x; Assuming that is okay, perhaps that may have an impact on this issue. Will be interesting if/when how often we see this problem going forward.

panther2 commented 4 years ago

@DanVanAtta I am reopening this, as we see on https://github.com/triplea-game/triplea/releases that the creation of binaries seems to be a result of a lottery, still.

DanVanAtta commented 4 years ago

It looks like this problem is happening more often than not.

It's not a trivial fix as the problem is not really in our control 100%.

We also do not have a lot to go off of to know where this problem is coming from, secondly the iteration time for building installers is very slow, which could make this a painful fix.

The only things I can think of:

@RoiEXLab any thoughts on this one by any chance?

DanVanAtta commented 4 years ago

@RoiEXLab I wonder a bit about JavaFX dep's, particularly as install4j seemingly has trouble with them. Perhaps this is related to: https://github.com/triplea-game/triplea/issues/5755

RoiEXLab commented 4 years ago

as install4j seemingly has trouble with them.

What do you mean? Could you name an example? I doubt that it has something to do with it. After all RAM doesn't necessarily have anything to do with actual persistant storage space.

But apart from that. no clue. I remember that we had a somewhat related issue quite some time ago, where the PR builder was constantly running out of memory as well. IIRC @ssoloff created a ticket for this which resulted in the variable _JAVA_OPTIONS to be set by travis for the gradle daemon. Maybe something similar could help?

DanVanAtta commented 4 years ago

Not finding JAVA_OPTS in history or code. It'd be really ideal if we could fix this with adding resources.

Could you name an example?

Travis is reporting 7k warnings for pack200 issues.

I doubt that it has something to do with it.

I suspect that could be right, but we don't know what is causing our heap to run out of space. The timing of adding many megabytes, and perhaps if it's not being handled well and we are getting maybe something like file handles being leaked into heap, then it's conceivable we could run out of space and it be exacerbated with additional javaFx class files.

ssoloff commented 4 years ago

IIRC @ssoloff created a ticket for this which resulted in the variable _JAVA_OPTIONS to be set by travis for the gradle daemon.

2365 links back to all applicable issues and PRs.

DanVanAtta commented 4 years ago

Thanks @ssoloff for the reference, that was a help and a similar fix applied in #5897 seems to have worked.

The latest master build with a 3G heap looks to have successfully built installer artifacts. The build process still died though:

Triggering github release by pushing tag: 2.0.17868
+cd website
+git update-index --refresh
_maps/dragon-war.html: needs update
DanVanAtta commented 4 years ago

Along a few fixes, added a setting for the gradle max heap size to be 3G (increased from 2G) when building installers. Since then have not seen an out of heap failure and the latest release has the installers attached to it.