Index: benchmark/io/http/main.cfa
===================================================================
--- benchmark/io/http/main.cfa	(revision 1757f98358ab8f6f5bcdc337f12866d454f976a3)
+++ benchmark/io/http/main.cfa	(revision cd4c6055dc83b31ead45597e7bbb9a8f5cfda35e)
@@ -150,4 +150,5 @@
 			if(errno == EADDRINUSE) {
 				if(waited == 0) {
+					if(!options.interactive) abort | "Port already in use in non-interactive mode. Aborting";
 					sout | "Waiting for port";
 				} else {
Index: benchmark/io/http/protocol.cfa
===================================================================
--- benchmark/io/http/protocol.cfa	(revision 1757f98358ab8f6f5bcdc337f12866d454f976a3)
+++ benchmark/io/http/protocol.cfa	(revision cd4c6055dc83b31ead45597e7bbb9a8f5cfda35e)
@@ -332,10 +332,4 @@
 	wait(this.f);
 
-	// Did something crazy happen?
-	if(this.f.result > this.len) {
-		mutex(serr) serr | "SPLICE IN spliced too much!";
-		return error(this.res, -ERANGE);
-	}
-
 	// Something failed?
 	if(this.f.result < 0) {
@@ -351,4 +345,10 @@
 			return error(this.res, -ECONNRESET);
 		}
+	}
+
+	// Did something crazy happen?
+	if(this.f.result > this.len) {
+		mutex(serr) serr | "SPLICE IN spliced too much!";
+		return error(this.res, -ERANGE);
 	}
 
@@ -401,10 +401,4 @@
 	wait(this.f);
 
-	// Did something crazy happen?
-	if(this.f.result > this.len) {
-		mutex(serr) serr | "SPLICE OUT spliced too much!";
-		return error(this.res, -ERANGE);
-	}
-
 	// Something failed?
 	if(this.f.result < 0) {
@@ -420,4 +414,10 @@
 			return error(this, -ECONNRESET);
 		}
+	}
+
+	// Did something crazy happen?
+	if(this.f.result > this.len) {
+		mutex(serr) serr | "SPLICE OUT spliced too much!" | this.f.result | ">" | this.len;
+		return error(this.res, -ERANGE);
 	}
 
@@ -544,5 +544,5 @@
 const char * original_http_msgs[] = {
 	"HTTP/1.1 200 OK\nServer: HttpForall\nDate: %s \nContent-Type: text/plain\nContent-Length: ",
-	"HTTP/1.1 200 OK\r\nServer: HttpForall\r\nDate\r\nConnection: keep-alive\r\nContent-Length: 15\r\nContent-Type: text/html: %s \r\n\r\nHello, World!\r\n",
+	"HTTP/1.1 200 OK\r\nServer: HttpForall\r\nConnection: keep-alive\r\nContent-Length: 15\r\nContent-Type: text/html\r\nDate: %s \r\n\r\nHello, World!\r\n",
 	"HTTP/1.1 400 Bad Request\nServer: HttpForall\nDate: %s \nContent-Type: text/plain\nContent-Length: 0 \n\n",
 	"HTTP/1.1 404 Not Found\nServer: HttpForall\nDate: %s \nContent-Type: text/plain\nContent-Length: 0 \n\n",
Index: benchmark/io/http/worker.cfa
===================================================================
--- benchmark/io/http/worker.cfa	(revision 1757f98358ab8f6f5bcdc337f12866d454f976a3)
+++ benchmark/io/http/worker.cfa	(revision cd4c6055dc83b31ead45597e7bbb9a8f5cfda35e)
@@ -18,5 +18,5 @@
 void ?{}( Worker & this ) {
 	size_t cli = rand() % options.clopts.cltr_cnt;
-	((thread&)this){ "Server Worker Thread", *options.clopts.instance[cli], 512000 };
+	((thread&)this){ "Server Worker Thread", *options.clopts.instance[cli], 64000 };
 	options.clopts.thrd_cnt[cli]++;
 	this.pipe[0] = -1;
