Fixed replay_drivetrain crashing on exit.

Change-Id: Id86e0bd471041214874d6ff8ff288175747f742a
diff --git a/y2014/control_loops/drivetrain/replay_drivetrain.cc b/y2014/control_loops/drivetrain/replay_drivetrain.cc
index 346ca69..b0ac33f 100644
--- a/y2014/control_loops/drivetrain/replay_drivetrain.cc
+++ b/y2014/control_loops/drivetrain/replay_drivetrain.cc
@@ -15,14 +15,22 @@
 
   ::aos::InitNRT();
 
-  ::aos::controls::ControlLoopReplayer<::y2014::control_loops::DrivetrainQueue>
-      replayer(&::y2014::control_loops::drivetrain_queue, "drivetrain");
+  {
+    ::aos::controls::ControlLoopReplayer<
+        ::y2014::control_loops::DrivetrainQueue>
+        replayer(&::y2014::control_loops::drivetrain_queue, "drivetrain");
 
-  replayer.AddDirectQueueSender("wpilib_interface.Gyro", "sending",
-                                ::frc971::sensors::gyro_reading);
-  for (int i = 1; i < argc; ++i) {
-    replayer.ProcessFile(argv[i]);
+    replayer.AddDirectQueueSender("wpilib_interface.Gyro", "sending",
+                                  ::frc971::sensors::gyro_reading);
+    for (int i = 1; i < argc; ++i) {
+      replayer.ProcessFile(argv[i]);
+    }
   }
+  ::frc971::sensors::gyro_reading.Clear();
+  ::y2014::control_loops::drivetrain_queue.goal.Clear();
+  ::y2014::control_loops::drivetrain_queue.status.Clear();
+  ::y2014::control_loops::drivetrain_queue.position.Clear();
+  ::y2014::control_loops::drivetrain_queue.output.Clear();
 
   ::aos::Cleanup();
 }