throw exception if slotCheck fails
skip slotCheck for debug fields
respect TRACK_ALLOC flag
diff --git a/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/java/edu/uci/ics/asterix/recordmanagergenerator/RecordType.java b/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/java/edu/uci/ics/asterix/recordmanagergenerator/RecordType.java
index 97e10d4..d102481 100644
--- a/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/java/edu/uci/ics/asterix/recordmanagergenerator/RecordType.java
+++ b/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/java/edu/uci/ics/asterix/recordmanagergenerator/RecordType.java
@@ -160,6 +160,9 @@
         }
         
         StringBuilder appendChecks(StringBuilder sb, String indent, int level) {
+            if (debugField) {
+                return sb;
+            }
             sb = indent(sb, indent, level);
             sb.append("if (bb.")
               .append(bbGetter(type))
@@ -169,7 +172,11 @@
               .append(deadMemInitializer(type))
               .append(") {\n");
             sb = indent(sb, indent, level + 1);
-            sb.append("System.err.println(allocList.get(slotNum));\n");
+            sb.append("String msg = \"invalid value in field ")
+              .append(offsetName())
+              .append(" of slot \" + slotNum;\n");
+            sb = indent(sb, indent, level + 1);
+            sb.append("throw new IllegalStateException(msg);\n");
             sb = indent(sb, indent, level);
             sb.append("}\n");
             return sb;
diff --git a/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/resources/RecordManager.java b/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/resources/RecordManager.java
index 54a9844..03ac51f 100644
--- a/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/resources/RecordManager.java
+++ b/asterix-maven-plugins/record-manager-generator-maven-plugin/src/main/resources/RecordManager.java
@@ -15,8 +15,6 @@
 
 package edu.uci.ics.asterix.transaction.management.service.locking;
 
-import java.io.PrintWriter;
-import java.io.StringWriter;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 
@@ -282,7 +280,7 @@
         }
         
         private void checkSlot(int slotNum) {
-            if (true || ! TRACK_ALLOC) {
+            if (! TRACK_ALLOC) {
                 return;
             }
             final int itemOffset = (slotNum % NO_SLOTS) * ITEM_SIZE;