Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-4191

killOp cannot interrupt v8 javascript loop

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.1.0
    • Affects Version/s: None
    • Component/s: JavaScript
    • Labels:
      None
    • Environment:
      Ubuntu 10.10 x86_64, libv8-2.2.18
    • ALL

      On my machine, killop.js does not end queries with a "while( 1 )

      { ; }

      " where clause - the shell hangs for a long period of time. Seems like the root of the problem is the v8::Locker l; mutex in V8ScriptEngine::interrupt(). As far as I can tell, this never yields when there's other javascript executing.

      If this is expected behavior (or difficult to fix), the test case should probably be modified - adding a sleep( 1 ) to the loop allows the operation to be killed.

      Observed this generally through many versions of mongodb.

            Assignee:
            antoine Antoine Girbal
            Reporter:
            greg_10gen Greg Studer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: