i2ptunnel: Catch and log uncaught errors in thread pool

This commit is contained in:
zzz
2015-04-21 20:37:59 +00:00
parent fdada78edf
commit 212f6b472a
4 changed files with 32 additions and 4 deletions

View File

@@ -752,10 +752,17 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna
* Blocking runner, used during the connection establishment
*/
private class BlockingRunner implements Runnable {
private Socket _s;
private final Socket _s;
public BlockingRunner(Socket s) { _s = s; }
public void run() {
clientConnectionRun(_s);
try {
clientConnectionRun(_s);
} catch (Throwable t) {
// probably an IllegalArgumentException from
// connecting to the router in a delay-open or
// close-on-idle tunnel (in connectManager() above)
_log.error("Uncaught error in i2ptunnel client", t);
}
}
}

View File

@@ -570,7 +570,11 @@ public class I2PTunnelServer extends I2PTunnelTask implements Runnable {
}
public void run() {
blockingHandle(_i2ps);
try {
blockingHandle(_i2ps);
} catch (Throwable t) {
_log.error("Uncaught error in i2ptunnel server", t);
}
}
}

View File

@@ -1,3 +1,20 @@
2015-04-21 zzz
* i2ptunnel: Log uncaught errors in thread pool
* Reseed: Disable non-su3 reseeding
* Router timestamper:
- Add country-to-continent mapping
- Add continent zones as fallback
- Don't start threads in constructors
* Transports: Reduce idle timeouts
2015-04-20 zzz
* Blockfile: Unroll recursive initialization
* EepGet: Set soTimeout for non-proxied fetches to enforce
header timeout and prevent long reseed hangs
* Reseed:
- Honor SSL/non-SSL setting when custom reseed list is set (ticket #1136)
- Remove all default HTTP URLs (ticket #1514)
2015-04-17 zzz
Prop from i2p.i2p.zzz.test2:
* Console: Set session cookies to HttpOnly

View File

@@ -18,7 +18,7 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 5;
public final static long BUILD = 6;
/** for example "-test" */
public final static String EXTRA = "";