Recently, after reinstalling version 6.0.0 (1bf1729c) I forgot to modify the contents of OmegaT.l4J.ini, which caused the JVM to run out of available heap memory.
This happened while OmegaT tried to merge an admittedly large team project translation memory of more than 50 MB (3 people working in parallel, so several incoming and outgoing changes).
Here's the relevant log file segment:
37712: FINE: Prepare team sync
37712: FINE: Retrieve BASE(116e1b4effd6a52bc5bb13a281ebab272d892099) version of 'omegat/project_save.tmx'
37712: FINE: GIT switchToVersion 116e1b4effd6a52bc5bb13a281ebab272d892099
37712: Info: Ereignis: Projektänderung - "SAVE" (LOG_INFO_EVENT_PROJECT_CHANGE)
37712: FINE: Retrieve HEAD version of 'omegat/project_save.tmx'
37712: Warnung: Error save
37712: Warnung: org.omegat.core.team2.IRemoteRepository2$NetworkException: org.eclipse.jgit.api.errors.TransportException: Out of memory loading unknown object
37712: Warnung: at org.omegat.core.team2.impl.GITRemoteRepository2.switchToVersion(GITRemoteRepository2.java:247)
37712: Warnung: at org.omegat.core.team2.RemoteRepositoryProvider$Mapping.switchToVersion(RemoteRepositoryProvider.java:489)
37712: Warnung: at org.omegat.core.team2.RemoteRepositoryProvider.switchToVersion(RemoteRepositoryProvider.java:219)
37712: Warnung: at org.omegat.core.team2.RebaseAndCommit.prepare(RebaseAndCommit.java:76)
37712: Warnung: at org.omegat.core.data.RealProject.teamSyncPrepare(RealProject.java:887)
37712: Warnung: at org.omegat.core.threads.SaveThread.lambda$run$1(SaveThread.java:105)
37712: Warnung: at org.omegat.core.Core.executeExclusively(Core.java:366)
37712: Warnung: at org.omegat.core.threads.SaveThread.run(SaveThread.java:103)
37712: Warnung: Caused by: org.eclipse.jgit.api.errors.TransportException: Out of memory loading unknown object
37712: Warnung: at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:224)
37712: Warnung: at org.omegat.core.team2.impl.GITRemoteRepository2.switchToVersion(GITRemoteRepository2.java:239)
37712: Warnung: ... 7 more
37712: Warnung: Caused by: org.eclipse.jgit.errors.TransportException: Out of memory loading unknown object
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:402)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:302)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:293)
37712: Warnung: at org.eclipse.jgit.transport.FetchProcess.fetchObjects(FetchProcess.java:274)
37712: Warnung: at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:171)
37712: Warnung: at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:94)
37712: Warnung: at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1309)
37712: Warnung: at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:213)
37712: Warnung: ... 8 more
37712: Warnung: Caused by: org.eclipse.jgit.errors.LargeObjectException$OutOfMemory: Out of memory loading unknown object
37712: Warnung: at org.eclipse.jgit.lib.ObjectLoader.getCachedBytes(ObjectLoader.java:176)
37712: Warnung: at org.eclipse.jgit.transport.PackParser.resolveDeltasWithExternalBases(PackParser.java:860)
37712: Warnung: at org.eclipse.jgit.transport.PackParser.processDeltas(PackParser.java:588)
37712: Warnung: at org.eclipse.jgit.transport.PackParser.parse(PackParser.java:551)
37712: Warnung: at org.eclipse.jgit.internal.storage.file.ObjectDirectoryPackParser.parse(ObjectDirectoryPackParser.java:169)
37712: Warnung: at org.eclipse.jgit.transport.PackParser.parse(PackParser.java:496)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.receivePack(BasePackFetchConnection.java:1017)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.doFetchV2(BasePackFetchConnection.java:469)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:376)
37712: Warnung: ... 15 more
37712: Warnung: Caused by: java.lang.OutOfMemoryError: Java heap space
37712: Warnung: at org.eclipse.jgit.lib.ObjectLoader.getCachedBytes(ObjectLoader.java:174)
37712: Warnung: at org.eclipse.jgit.transport.PackParser.resolveDeltasWithExternalBases(PackParser.java:860)
37712: Warnung: at org.eclipse.jgit.transport.PackParser.processDeltas(PackParser.java:588)
37712: Warnung: at org.eclipse.jgit.transport.PackParser.parse(PackParser.java:551)
37712: Warnung: at org.eclipse.jgit.internal.storage.file.ObjectDirectoryPackParser.parse(ObjectDirectoryPackParser.java:169)
37712: Warnung: at org.eclipse.jgit.transport.PackParser.parse(PackParser.java:496)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.receivePack(BasePackFetchConnection.java:1017)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.doFetchV2(BasePackFetchConnection.java:469)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:376)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:302)
37712: Warnung: at org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:293)
37712: Warnung: at org.eclipse.jgit.transport.FetchProcess.fetchObjects(FetchProcess.java:274)
37712: Warnung: at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:171)
37712: Warnung: at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:94)
37712: Warnung: at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1309)
37712: Warnung: at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:213)
37712: Warnung: at org.omegat.core.team2.impl.GITRemoteRepository2.switchToVersion(GITRemoteRepository2.java:239)
37712: Warnung: at org.omegat.core.team2.RemoteRepositoryProvider$Mapping.switchToVersion(RemoteRepositoryProvider.java:489)
37712: Warnung: at org.omegat.core.team2.RemoteRepositoryProvider.switchToVersion(RemoteRepositoryProvider.java:219)
37712: Warnung: at org.omegat.core.team2.RebaseAndCommit.prepare(RebaseAndCommit.java:76)
37712: Warnung: at org.omegat.core.data.RealProject.teamSyncPrepare(RealProject.java:887)
37712: Warnung: at org.omegat.core.threads.SaveThread.lambda$run$1(SaveThread.java:105)
37712: Warnung: at org.omegat.core.threads.SaveThread$$Lambda$604/0x000000080163d000.run(Unknown Source)
37712: Warnung: ... 2 more
37712: FINE: Finish project save from SaveThread
37712: Info: Ereignis: Projektänderung - "MODIFIED" (LOG_INFO_EVENT_PROJECT_CHANGE)
37712: Info: Ereignis: Neuer Eintrag aktiviert (LOG_INFO_EVENT_ENTRY_ACTIVATED)
The main problem here is that there apparently was no notification box or warning being shown. (I remember a message box popping up in the past, which definitely hasn't been the case this time.) Also note how the log reports "Finish project save", which wasn't the case.
Instead the whole OmegaT UI (including search, etc.) stayed fully responsive and functional, while the auto-saves logged exception after exception for several hours (3+). The editing experience itself felt like an offline project (i.e. no delays, "saving" happen immediately, etc.). Only when actually closing the program everything froze and was no longer responsive. The repository copy was unchanged still reflecting the last good save/sync from the start, while the local working TM file was automatically restored from the git repository (as I think it was simply missing after the broken/cancelled save).
https://github.com/omegat-org/omegat/pull/715
A back port fix for OmegaT 6.0.x is raised at https://github.com/omegat-org/omegat/pull/1134