Uploaded image for project: 'ZK Spreadsheet'
  1. ZK Spreadsheet
  2. ZSS-970

Zssapp crashed during editing

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • 3.8.0
    • 3.8.0.FL
    • None
    • Security Level: Jean
    • None

      Steps to reproduce

      1. run zssapp in zssee-app-eval-3.8.0-FL-2015-03-09
      2. user 1 open the file, mortgage_refinancing.xlsx
      3. user 2 open the same file
      4. user 2 add a sheet
      5. user 2 keeps typing characters in many cells, like the screenshot below
        I type over 300 characters to reproduce this issue and type quickly with the number key and arrow key.

      Actual Result

      when you keep typing, at a certain moment, zssapp shows "Processing..." and never disappear. All input are blocked, and you cannot enter any character in a cell.

      Debug Information

      chrome console doesn't show any javascript error, no Java exception found on an application console.
      When the issue happens, one comet request and one ZK au is pending and no response received.
      Client side profiling reveals that it's idle.

      The AU details:

      According to threadDump.txt, all ZK related threads are in WAITING state

      "http-bio-8080-exec-9" daemon prio=6 tid=0x0000000007d9a000 nid=0x41d0 in Object.wait() [0x000000000b59e000]
      java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)

      • waiting on <0x0000000086d78070> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:485)
        at org.zkoss.zkex.ui.comet.CometServerPush.processRequest(CometServerPush.java:359)
      • locked <0x0000000086d78070> (a java.lang.Object)
        ...

      "http-bio-8080-exec-7" daemon prio=6 tid=0x0000000007d98800 nid=0x3570 in Object.wait() [0x000000000b39e000]
      java.lang.Thread.State: WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)

      • waiting on <0x0000000086c63958> (a java.util.LinkedList)
        at java.lang.Object.wait(Object.java:485)
        at org.zkoss.zkex.ui.comet.CometServerPush.processRequest(CometServerPush.java:319)
      • locked <0x0000000086c63958> (a java.util.LinkedList)
        at org.zkoss.zkex.ui.comet.CometExtension.service0(CometExtension.java:135)
        ...

      "pool-1-thread-1" prio=6 tid=0x0000000007d96800 nid=0x2600 in Object.wait() [0x000000000b09e000]
      java.lang.Thread.State: TIMED_WAITING (on object monitor)
      at java.lang.Object.wait(Native Method)

      • waiting on <0x0000000086d78350> (a java.lang.Object)
        at org.zkoss.zk.ui.impl.UiEngineImpl.doActivate(UiEngineImpl.java:1872)
      • locked <0x0000000086d78350> (a java.lang.Object)
        at org.zkoss.zk.ui.impl.UiEngineImpl.beginUpdate(UiEngineImpl.java:1144)
        at org.zkoss.zkex.ui.comet.CometServerPush.activate(CometServerPush.java:447)

      "http-bio-8080-exec-16" daemon prio=6 tid=0x0000000007d94000 nid=0x2d4c waiting on condition [0x0000000008fde000]
      java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <0x0000000086c1a2d8> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
        at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:807)
        at org.zkoss.zss.model.util.ReadWriteTask.doInWriteLock(ReadWriteTask.java:41)
        at org.zkoss.zss.range.impl.RangeImpl.notifyCustomEvent(RangeImpl.java:1595)
        at org.zkoss.zss.ui.Spreadsheet.moveSelfEditorFocus(Spreadsheet.java:694)
        at org.zkoss.zss.ui.Spreadsheet.doMoveSelfFocus(Spreadsheet.java:704)
        at org.zkoss.zss.ui.Spreadsheet.access$600(Spreadsheet.java:223)
        at org.zkoss.zss.ui.Spreadsheet$5.onEvent(Spreadsheet.java:785)
        ...

      "http-bio-8080-exec-2" daemon prio=6 tid=0x0000000007d92000 nid=0x40fc waiting on condition [0x000000000ab9e000]
      java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <0x0000000086c1a2d8> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
        at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:807)
        at org.zkoss.zss.model.util.ReadWriteTask.doInWriteLock(ReadWriteTask.java:41)
        at org.zkoss.zss.range.impl.RangeImpl.setEditText(RangeImpl.java:437)
        at org.zkoss.zss.api.impl.RangeImpl.setCellEditText(RangeImpl.java:538)
        at org.zkoss.zss.ui.impl.undo.CellEditTextAction.applyAction(CellEditTextAction.java:52)
        at org.zkoss.zss.ui.impl.undo.AbstractEditTextAction.doAction(AbstractEditTextAction.java:93)
        at org.zkoss.zssex.ui.impl.UndoableActionManagerImpl.doAction(UndoableActionManagerImpl.java:50)
        at org.zkoss.zss.ui.Spreadsheet.processStopEditing0(Spreadsheet.java:4755)

        1. threadDump.txt
          27 kB
        2. stuckIssue2.png
          stuckIssue2.png
          26 kB
        3. auStuck.png
          auStuck.png
          27 kB
        4. auDetail.png
          auDetail.png
          26 kB

            JerryChen JerryChen
            hawk hawk
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: