title: Flaky Assert "java.lang.AssertionError: Can't unlock: Not locked!"
body: <p>While trying to build a H2O Random Forest via the Python API, I got a flaky error.  (I've saved the .err file which is empty and the .out file in case somebody wants to look at it.)</p>
  
  <pre><code> "java.lang.AssertionError: Can't unlock: Not locked!"
  </code></pre>
  
  <p>in two out of the three times I tried.  One failure showed progress up to 86% and the other 90%.  On the third try, I got all the way through.  I restarted the H2O server after the first failure.</p>
  
  <p>Running on x86_64 x86_64 x86_64 GNU/Linux, Linux 4.4.0-101-generic (Ubuntu), H2O 3.18.0.4, Python 2.7.12</p>
  
  <p>There are about 33K training set examples for a multi-nominal classifier of about 86 classes and 137 numeric input features.  Previously, we had no problem (other than some time out issues) with the system using similar data using much older versions of H2O.</p>
  
  <p>Here's the output to stdout from running my program.</p>
  
  <pre><code>Attempting to start a local H2O server...
    Java Version: java version "1.8.0_144"; Java(TM) SE Runtime Environment (build 1.8.0_144-b01); Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
    Starting server from /home/ubuntu/django-env/lib/python2.7/site-packages/h2o/backend/bin/h2o.jar
    Ice root: /tmp/tmpViqbs4
    JVM stdout: /tmp/tmpViqbs4/h2o_ubuntu_started_from_python.out
    JVM stderr: /tmp/tmpViqbs4/h2o_ubuntu_started_from_python.err
    Server is running at http://127.0.0.1:54321
  Connecting to H2O server at http://127.0.0.1:54321... successful.
  --------------------------  ----------------------------------------
  H2O cluster uptime:         08 secs
  H2O cluster timezone:       Etc/UTC
  H2O data parsing timezone:  UTC
  H2O cluster version:        3.18.0.4
  H2O cluster version age:    24 days
  H2O cluster name:           H2O_from_python_ubuntu_x4p9wv
  H2O cluster total nodes:    1
  H2O cluster free memory:    6.545 Gb
  H2O cluster total cores:    8
  H2O cluster allowed cores:  8
  H2O cluster status:         accepting new members, healthy
  H2O connection url:         http://127.0.0.1:54321
  H2O connection proxy:
  H2O internal security:      False
  H2O API Extensions:         XGBoost, Algos, AutoML, Core V3, Core V4
  Python version:             2.7.12 final
  --------------------------  ----------------------------------------
  </code></pre>
  
  <p>[stuff omitted]</p>
  
  <pre><code>Parse progress: |█████████████████████████████████████████████████████████████████████████████| 100%
  Running trainh2o()..
  drf Model Build progress: |█████████████████████████████████████████████████████████▉ (failed)|  86%
  Traceback (most recent call last):
    File "/home/ubuntu/XXX/webapp/XXX/classify_unified/buildpc.py", line 130, in &lt;module&gt;
      print("\nTrain Error: {}".format(pc.train()))
    File "/home/ubuntu/XXX/webapp/XXX/classify_unified/ProvisionClassifier.py", line 2130, in train
      self._trainh2o()
    File "/home/ubuntu/XXX/webapp/XXX/classify_unified/ProvisionClassifier.py", line 2090, in _trainh2o
      training_frame=self._combo_h2odf)
    File "/home/ubuntu/django-env/local/lib/python2.7/site-packages/h2o/estimators/estimator_base.py", line 232, in train
      model.poll(verbose_model_scoring_history=verbose)
    File "/home/ubuntu/django-env/local/lib/python2.7/site-packages/h2o/job.py", line 77, in poll
      "\n{}".format(self.job_key, self.exception, self.job["stacktrace"]))
  EnvironmentError: Job with key $03017f00000132d4ffffffff$_8f9d9edcff82420eefea1d6cff0f4396 failed with an exception: java.lang.AssertionError: Can't unlock: Not locked!
  stacktrace: 
  java.lang.AssertionError: Can't unlock: Not locked!
      at water.Lockable$Unlock.atomic(Lockable.java:197)
      at water.Lockable$Unlock.atomic(Lockable.java:187)
      at water.TAtomic.atomic(TAtomic.java:17)
      at water.Atomic.compute2(Atomic.java:56)
      at water.Atomic.fork(Atomic.java:39)
      at water.Atomic.invoke(Atomic.java:31)
      at water.Lockable.unlock(Lockable.java:181)
      at water.Lockable.unlock(Lockable.java:176)
      at hex.tree.SharedTree$Driver.computeImpl(SharedTree.java:358)
      at hex.ModelBuilder$Driver.compute2(ModelBuilder.java:206)
      at water.H2O$H2OCountedCompleter.compute(H2O.java:1263)
      at jsr166y.CountedCompleter.exec(CountedCompleter.java:468)
      at jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:263)
      at jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:974)
      at jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1477)
      at jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
  
      H2O session _sid_9f4c closed.
  </code></pre>