Skip to main content
1-Visitor
August 24, 2011
Question

Stack Overflow

  • August 24, 2011
  • 1 reply
  • 635 views

Just wondering if others have experienced a similar problem in Editor - particularly when ACL code is tied to the processing of tags in the document, and users move document tags around by dragging them; causing a stack overflow exception to be thrown and subsequently crashing Editor.


I'm just imagining how the Editor might use multiple threads to process user input (such as dragging around elements), which might trigger some sort of concurrency issue by calling the ACL on multiple (too many) stack frames, thereby causing the crash. I am wondering if there's a way to configure Editor so that it won't call the ACL until AFTER all (queued) user input events have finished processing - like "wait until no user input appears for 0.5 seconds" or something.

    1 reply

    1-Visitor
    August 24, 2011
    As I recall, Editor does very little threading, if any.  Chances are
    that the ACL is getting called in some way that it isn't expecting,
    probably leading to out-of-control recursion.  Can you post more
    details about the ACL code?

    -Brandon 🙂


    On Wed, Aug 24, 2011 at 9:26 AM, Tom Blatchford
    <thomas_blatchford@hphc.org> wrote:
    > Just wondering if others have experienced a similar problem in Editor -
    > particularly when ACL code is tied to the processing of tags in the
    > document, and users move document tags around by dragging them; causing a
    > stack overflow exception to be thrown and subsequently crashing Editor.
    >
    > I'm just imagining how the Editor might use multiple threads to process user
    > input (such as dragging around elements), which might trigger some sort of
    > concurrency issue by calling the ACL on multiple (too many) stack frames,
    > thereby causing the crash. I am wondering if there's a way to configure
    > Editor so that it won't call the ACL until AFTER all (queued) user input
    > events have finished processing - like "wait until no user input appears for
    > 0.5 seconds" or something.
    >
    > ----------