<!DOCTYPE html>
<html>
  <body>
  This test verifies that no crash occurs.
    <font>
      <div>
        <table>
          <tbody>
            <tr>
              <td>
                <b>
                  <font>
                  <p>
                  </font>
                </b>
              </td>
            </tr>
            </tbody>
        </table>
      <script>
        var i = document.body.offsetTop;    // this forces a layout
      </script>
    </font>
    <div id="console"></div>
  </body>
<script>
if (window.testRunner)
    testRunner.dumpAsText();
document.getElementById("console").appendChild(document.createTextNode("PASS"));;
</script>
</html>

