diff --git a/source/de/anomic/server/serverCore.java b/source/de/anomic/server/serverCore.java index a235a9e4b..d49446782 100644 --- a/source/de/anomic/server/serverCore.java +++ b/source/de/anomic/server/serverCore.java @@ -731,11 +731,13 @@ public final class serverCore extends AbstractBusyThread implements BusyThread { try { result = commandMethod.invoke(this.commandObj, parameter); } catch (OutOfMemoryError e) { + log.logWarning("commandMethod.invoke: OutOfMemoryError / 1 (retry1 follows)"); // try again terminateOldSessions(2000); try { result = commandMethod.invoke(this.commandObj, parameter); } catch (OutOfMemoryError e2) { + log.logWarning("commandMethod.invoke: OutOfMemoryError / 2 (retry2 follows)"); // try again Thread.sleep(1000); result = commandMethod.invoke(this.commandObj, parameter); diff --git a/source/de/anomic/yacy/yacySearch.java b/source/de/anomic/yacy/yacySearch.java index 089b2f51e..fada30ca4 100644 --- a/source/de/anomic/yacy/yacySearch.java +++ b/source/de/anomic/yacy/yacySearch.java @@ -191,7 +191,7 @@ public class yacySearch extends Thread { indexSegment, peers, containerCache, secondarySearchSuperviser, blacklist, rankingProfile, constraint); searchThreads[i].start(); } catch (OutOfMemoryError e) { - e.printStackTrace(); + Log.logException(e); break; } } diff --git a/source/net/yacy/cora/protocol/TimeoutRequest.java b/source/net/yacy/cora/protocol/TimeoutRequest.java index 15489892a..a2cfccf47 100644 --- a/source/net/yacy/cora/protocol/TimeoutRequest.java +++ b/source/net/yacy/cora/protocol/TimeoutRequest.java @@ -34,6 +34,8 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import net.yacy.kelondro.logging.Log; + import jcifs.smb.SmbException; import jcifs.smb.SmbFile; @@ -86,6 +88,7 @@ public class TimeoutRequest { throw new ExecutionException(e); } } catch (OutOfMemoryError e) { + Log.logWarning("TimeoutRequest.call", "OutOfMemoryError / retry follows", e); // in case that no memory is there to create a new native thread try { return this.call.call();