`Failed to load response body`, `TargetCloseError` :(
End of the log:
file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/yestorgsw2.jpg","workerid":78}}
{"timestamp":"2025-10-20T20:10:11.718Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/wp-admin/admin-ajax.php","networkId":"857.378","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/yestorgsw2.jpg","workerid":78}}
{"timestamp":"2025-10-20T20:10:11.718Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/chernobylite-review-playstation-4/","networkId":"864B8416BEA19531ED372E2E0CAB157E","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2017/10/ironwingsxbo5.jpg","workerid":6}}
{"timestamp":"2025-10-20T20:10:11.718Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/moonscars-review-pc/","networkId":"97291E713237F4EA4E0FB7F97FED44E1","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/hurl-vr-review-htc-vive/","workerid":18}}
{"timestamp":"2025-10-20T20:10:11.718Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/jumanji-the-video-game-launches-on-playstation-5-today/","networkId":"AB2776D0694082F75356209288E79BF3","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/square-enix-reveals-new-shadow-of-the-tomb-raider-video-at-e3-2018-showcase/","workerid":60}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/star-wars-episode-i-jedi-power-battles-out-today/","networkId":"73CE14A8AC8E0AFF0C36025F3DA23A9F","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/reverie2.jpg","workerid":1}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/exercise-your-demons-prepares-to-duke-it-out-on-meta-vr-platforms-in-2024/","networkId":"6415C869DE0519E719376B728A4EB762","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2015/02/grimfandangoremastered.jpg","workerid":64}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/wp-admin/admin-ajax.php","networkId":"992.148","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/swdig22.jpg","workerid":7}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/madden-nfl-15-available-on-august-26/","networkId":"7DD79955D7EC59E7221E4EF89BD14D88","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/swdig25.jpg","workerid":92}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/tag/life-is-strange-true-colors/","networkId":"D6AAE044AE02EA3F0A42EB8F36998B25","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/late-shift-review-switch/","workerid":68}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/tag/ragnarock/","networkId":"CDB9E11692D4B52E90E73483857C19E1","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2017/10/gundamvs6.jpg","workerid":84}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/the-assembly-out-now-on-playstation-vr/","networkId":"A7DA0EF2783BADBFFD857D391BB5A05A","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/swdig26.jpg","workerid":41}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/video-games/lone-echo-review-oculus-rift/","networkId":"E1F0D7E7F5CE29AB78DDB2FB2543C235","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/tennisworldtour5.jpg","workerid":77}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/lego-batman-3-beyond-gotham-reveals-blockbuster-cast-and-characters/","networkId":"003463842B20750E759D633CFB7A9510","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/swdig21.jpg","workerid":26}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/wp-admin/admin-ajax.php","networkId":"11442.297","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/pacificrimup4k6.jpg","workerid":5}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/wp-admin/admin-ajax.php","networkId":"11442.298","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/pacificrimup4k6.jpg","workerid":5}}
{"timestamp":"2025-10-20T20:10:11.719Z","logLevel":"warn","context":"recorder","message":"Failed to load response body","details":{"url":"https://gamechronicles.com/wp-content/uploads/2018/08/1c3dsd.jpg","networkId":"20669.16","type":"exception","message":"Protocol error (Fetch.getResponseBody): Target closed","stack":"TargetCloseError: Protocol error (Fetch.getResponseBody): Target closed\n at CallbackRegistry.clear (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:77:36)\n at CdpCDPSession._onClosed (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:106:25)\n at #onClose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:171:21)\n at Connection.dispose (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Connection.js:177:22)\n at CdpBrowser.disconnect (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:226:26)\n at CdpBrowser.close (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js:222:20)\n at async Browser.close (file:///app/dist/util/browser.js:266:17)\n at async runWorkers (file:///app/dist/util/worker.js:287:5)\n at async Crawler.crawl (file:///app/dist/crawler.js:1094:9)\n at async Crawler.run (file:///app/dist/crawler.js:369:13)","page":"https://gamechronicles.com/wp-content/uploads/2018/06/yestorgsw2.jpg","workerid":78}}
{"timestamp":"2025-10-20T20:10:11.721Z","logLevel":"info","context":"crawlStatus","message":"Crawl statistics","details":{"crawled":18878,"total":18947,"pending":0,"failed":69,"limit":{"max":0,"hit":false},"pendingPages":[]}}
{"timestamp":"2025-10-20T20:10:11.721Z","logLevel":"info","context":"general","message":"Crawling done","details":{}}
{"timestamp":"2025-10-20T20:10:11.721Z","logLevel":"info","context":"general","message":"Exiting, Crawl status: done","details":{}}
Traceback (most recent call last):
File "/usr/bin/zimit", line 8, in <module>
sys.exit(zimit.zimit())
~~~~~~~~~~~^^
File "/app/zimit/lib/python3.13/site-packages/zimit/zimit.py", line 1247, in zimit
sys.exit(run(sys.argv[1:]))
~~~^^^^^^^^^^^^^^
File "/app/zimit/lib/python3.13/site-packages/zimit/zimit.py", line 1074, in run
raise RuntimeError(
"Failed to find directory where WARC files have been created"
)
RuntimeError: Failed to find directory where WARC files have been created
My command:
docker run -v "$(pwd):/output" ghcr.io/openzim/zimit zimit --seeds https://gamechronicles.com --name gamechronicles-com --workers 100 --diskUtilization 0 --keep
I got this error after maybe an hour of working.
This looks like a kind of crash between puppeteer / browser. I doubt this is something we can fix.
Because of that I cannot zim the website :(
I tried to rerun :(
Maybe it the website became unavailable for a few seconds? Maybe we should have here more retries?
Zimit is a kind of fragile scraper by nature. It relies on website being on and reachable at all time (any website issue or local machine issue or networking issue between both will fail the scrape). It relies on website not causing browser to crash / consume excessive memory even when browsing thousands of pages in a row.
And in current era where more and more bots are running to grab data for LLMs, websites are raising the bar and introducing all kind of nasty things to block / fail these bots. And Zimit scraper does not look very different than an LLM bot.
I can confirm at least that I have been hitting this on a Kube Job for this tool and the changes in the PR for #499 make this a non-issue as the job exits, schedules a new pod, and continues.
For me at least, it seems to happen after about 4 hours of running. With the ability to continue scrapes seamlessly I've been able to drop the requests to as low as one per hour to avoid particularly sensitive rate limits.