sambaiz / puppeteer-lambda-starter-kit

Starter Kit for running Headless-Chrome by Puppeteer on AWS Lambda.
MIT License
580 stars 82 forks source link

Protocol error (Runtime.enable): Target closed. #5

Open 0xgeert opened 6 years ago

0xgeert commented 6 years ago

Each 5th invocation getting errors similar to the one below:

{
  "errorMessage": "Protocol error (Runtime.enable): Target closed.",
  "errorType": "Error",
  "stackTrace": [
    "Session._onClosed (/var/task/node_modules/puppeteer/node6/Connection.js:313:23)",
    "Connection._onClose (/var/task/node_modules/puppeteer/node6/Connection.js:168:15)",
    "emitTwo (events.js:106:13)",
    "WebSocket.emit (events.js:191:7)",
    "WebSocket.emitClose (/var/task/node_modules/ws/lib/WebSocket.js:224:10)",
    "_receiver.cleanup (/var/task/node_modules/ws/lib/WebSocket.js:210:41)",
    "Receiver.cleanup (/var/task/node_modules/ws/lib/Receiver.js:520:15)",
    "WebSocket.finalize (/var/task/node_modules/ws/lib/WebSocket.js:210:22)",
    "emitNone (events.js:91:20)",
    "Socket.emit (events.js:185:7)"
  ]
}

Anyone seen this before?

NOTE: originally posted here: https://github.com/GoogleChrome/puppeteer/issues/603#issuecomment-340258722

The same 'one in five' error happens in on the serverless-chrome project as well as documented here: https://github.com/adieuadieu/serverless-chrome/issues/41

btecu commented 6 years ago

I also ran into this. Turns out, /tmp/ was full. There are some core.headless_shell.xx files left over after each execution.

For now I'll be removing the file (only one generated per run) after each execution.