Author: toad
Date: 2007-07-27 23:04:12 +0000 (Fri, 27 Jul 2007)
New Revision: 14404
Modified:
trunk/freenet/src/freenet/node/Node.java
Log:
Try to recover from throwables storing data
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2007-07-27 22:57:23 UTC (rev
14403)
+++ trunk/freenet/src/freenet/node/Node.java 2007-07-27 23:04:12 UTC (rev
14404)
@@ -94,6 +94,7 @@
import freenet.support.LRUHashtable;
import freenet.support.LRUQueue;
import freenet.support.Logger;
+import freenet.support.OOMHandler;
import freenet.support.ShortBuffer;
import freenet.support.SimpleFieldSet;
import freenet.support.api.BooleanCallback;
@@ -1769,6 +1770,12 @@
clientCore.requestStarters.chkFetchScheduler.tripPendingKey(block);
} catch (IOException e) {
Logger.error(this, "Cannot store data: "+e, e);
+ } catch (OutOfMemoryError e) {
+ OOMHandler.handleOOM(e);
+ } catch (Throwable t) {
+ System.err.println(t);
+ t.printStackTrace();
+ Logger.error(this, "Caught "+t+" storing data", t);
}
}
@@ -1795,6 +1802,12 @@
} catch (IOException e) {
Logger.error(this, "Cannot store data: "+e, e);
+ } catch (OutOfMemoryError e) {
+ OOMHandler.handleOOM(e);
+ } catch (Throwable t) {
+ System.err.println(t);
+ t.printStackTrace();
+ Logger.error(this, "Caught "+t+" storing data", t);
}
}