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

killOp cannot interrupt v8 javascript loop

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 2.1.0
    • None
    • JavaScript
    • None
    • Ubuntu 10.10 x86_64, libv8-2.2.18
    • ALL

    Description

      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.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: