[SERVER-8234] Make invoke() throw if execution was interrupted Created: 18/Jan/13  Updated: 11/Jul/16  Resolved: 12/Feb/13

Status: Closed
Project: Core Server
Component/s: JavaScript
Affects Version/s: 2.3.2
Fix Version/s: 2.4.0-rc1

Type: Bug Priority: Major - P3
Reporter: Ben Becker Assignee: Ben Becker
Resolution: Done Votes: 0
Labels: javascript
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Steps To Reproduce:

Segv can (theoretically) be reproduced by sending killOp during one of the unprotected calls listed in the description.

Participants:

 Description   

Many callers of invoke fail to check for a return value. Of those that do check the value, most throw an exception or uassert if the return value != 0. Once we throw from invoke(), the following call sites need to be verified and updated accordingly:

mr.cpp:
State::~State()
State::init()
State::bailFromJs()
State::finalReduce()
State::checkSize()
jstests.cpp
benchrun.cpp



 Comments   
Comment by auto [ 13/Feb/13 ]

Author:

{u'date': u'2013-02-12T23:59:50Z', u'name': u'Ben Becker', u'email': u'ben.becker@10gen.com'}

Message: SERVER-8234: make invoke() throw on error (v8 only)
Branch: master
https://github.com/mongodb/mongo/commit/c0b7158e31d10155a1285f989beae7bb03a5768e

Generated at Thu Feb 08 03:16:53 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.