-
Notifications
You must be signed in to change notification settings - Fork 16.3k
Closed
Description
We're using electron-mocha to run full stack web app tests. After an attempt to upgrade electron to the latest (2.0.2) version, tests started to fail with the this error:
Error: Method bytesRead called on incompatible receiver #<Pipe>
TypeError: Method bytesRead called on incompatible receiver #<Pipe>
at Function.getOwnPropertyDescriptor (<anonymous>)
at names.map (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/browser/rpc-server.js:35:29)
at Array.map (<anonymous>)
at getObjectMembers (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/browser/rpc-server.js:34:16)
at getObjectPrototype (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/browser/rpc-server.js:52:14)
at valueToMeta (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/browser/rpc-server.js:95:18)
at EventEmitter.<anonymous> (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/browser/rpc-server.js:387:25)
at emitThree (events.js:136:13)
at EventEmitter.emit (events.js:217:7)
at WebContents.<anonymous> (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/browser/api/web-contents.js:295:13)
at Object.exception (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/renderer/api/remote.js:209:30)
at metaToValue (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/renderer/api/remote.js:213:28)
at Object.descriptor.get [as _handle] (/home/runner/booking-services/node_modules/electron/dist/resources/electron.asar/renderer/api/remote.js:132:16)
at /home/runner/booking-services/node_modules/sqlite3/node_modules/set-blocking/index.js:3:16
at Array.forEach (<anonymous>)
at module.exports (/home/runner/booking-services/node_modules/sqlite3/node_modules/set-blocking/index.js:2:36)
at Object.<anonymous> (/home/runner/booking-services/node_modules/sqlite3/node_modules/npmlog/log.js:11:1)
at Object.<anonymous> (/home/runner/booking-services/node_modules/sqlite3/node_modules/npmlog/log.js:311:3)
at Module._compile (module.js:642:30)
at Object.Module._extensions..js (module.js:653:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/runner/booking-services/node_modules/sqlite3/node_modules/node-pre-gyp/lib/node-pre-gyp.js:16:11)
at Object.<anonymous> (/home/runner/booking-services/node_modules/sqlite3/node_modules/node-pre-gyp/lib/node-pre-gyp.js:205:3)
at Module._compile (module.js:642:30)
at Object.Module._extensions..js (module.js:653:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/runner/booking-services/node_modules/sqlite3/lib/sqlite3.js:1:107)
at Object.<anonymous> (/home/runner/booking-services/node_modules/sqlite3/lib/sqlite3.js:190:3)
at Module._compile (module.js:642:30)
at Object.Module._extensions..js (module.js:653:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at module.exports (/home/runner/booking-services/node_modules/sworm/optionalRequire.js:3:12)
at module.exports (/home/runner/booking-services/node_modules/sworm/sqliteDriver.js:7:16)
at Object.connect (/home/runner/booking-services/node_modules/sworm/index.js:592:21)
at Object.whenConnected (/home/runner/booking-services/node_modules/sworm/index.js:521:21)
at Object.query (/home/runner/booking-services/node_modules/sworm/index.js:490:19)
at Driver.setOptions (/home/runner/booking-services/node_modules/sworm-schema/lib/drivers/sqlite.js:6:12)
at Driver.deleteFromTables (/home/runner/booking-services/node_modules/sworm-schema/lib/driver.js:93:31)
at SwormSchema.clean (/home/runner/booking-services/node_modules/sworm-schema/lib/SwormSchema.js:32:24)
at TropicsDb.create (/home/runner/booking-services/test/support/system/tropicsDb/index.js:29:30)
at System.start (/home/runner/booking-services/test/support/system/index.js:241:27)
at WebApiTropicsDbTropicsBookingAssembly.startSystem (/home/runner/booking-services/test/services/assemblies/webAssembly.js:36:23)
This particular stacktrace is coming from sqlite3
, but I had the exact same error coming from bcrypt
(before I swapped bcrypt
for bcryptjs
in an attempt to work around the problem). Both of those have native extensions (we're use electron-rebuild for compiling native extensions for electron).
The error points to a tiny module called set-blocking. Line 3, col 16:
- Electron Version: 2.0.2
- Operating System (Platform and Version): OSX 10.13.4 and Ubuntu 14.04
- Last known working Electron version: 1.8.2