vm regression: assigning a property the first time does not work; only the second time
- Version: v7.4.0
- Platform: Windows 10 64-bit
- Subsystem: vm
Repro:
"use strict";
const vm = require("vm");
const ctx = vm.createContext({ open() { } });
const window = vm.runInContext("this", ctx);
const other = 123;
console.log(window.open === other);
window.open = other;
console.log(window.open === other);
window.open = other;
console.log(window.open === other);
this outputs false, false, true in v7.4.0, whereas in v7.2.1 it output the expected false, true, true. I am guessing this is another regression (see also #10492 (closed)) caused by https://github.com/nodejs/node/commit/524f693872cf453af2655ec47356d25d52394e3d. Maybe it is even the same issue, but here is a minimal repro.
/cc @fhinkel
@bnoordhuis
@MylesBorins