Clean-up the monitor unlock routine.  Remove the comment adjacent to
the mon NULL check.  As we know, that condition can occur if there was
a mishandling of the lock word.  Also, remove the format statement
that attempted to print out the monitor state.  In non-assert builds
this may cause a SIGSEGV as the monitor pointer may be invalid.

Change-Id: Ic4eb2d4180ac51b606a728ec7cd781af46f7b47e
diff --git a/vm/Sync.c b/vm/Sync.c
index c9624d0..3b13159 100644
--- a/vm/Sync.c
+++ b/vm/Sync.c
@@ -400,8 +400,7 @@
 static bool unlockMonitor(Thread* self, Monitor* mon)
 {
     assert(self != NULL);
-    assert(mon != NULL);        // can this happen?
-
+    assert(mon != NULL);
     if (mon->owner == self) {
         /*
          * We own the monitor, so nobody else can be in here.
@@ -419,9 +418,7 @@
          * in this case.
          */
         dvmThrowExceptionFmt("Ljava/lang/IllegalMonitorStateException;",
-                             "unlock of unowned monitor, self=%d owner=%d",
-                             self->threadId, 
-                             mon->owner ? mon->owner->threadId : 0);
+                             "unlock of unowned monitor");
         return false;
     }
     return true;