{"record":{"id":"996fcfc5cc7ca49a","repo":"qeeqbox/social-analyzer","slug":"driver-session-issue-996fcf","errorCode":null,"errorMessage":"Driver Session Issue","messagePattern":"Driver Session Issue","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"modules/slow-scan.js","lineNumber":186,"sourceCode":"          resolve(temp_profile)\n        } else if (temp_profile.image !== '') {\n          temp_profile.username = username\n          temp_profile.text = 'unavailable'\n          temp_profile.title = 'unavailable'\n          temp_profile.language = 'unavailable'\n          temp_profile.rate = '%00.0'\n          temp_profile.link = site.url.replace('{username}', username)\n          temp_profile.type = site.type\n          resolve(temp_profile)\n        } else {\n          resolve(undefined)\n        }\n      } catch (err) {\n        if (driver !== undefined) {\n          try {\n            await driver.quit()\n          } catch (err) {\n            helper.verbose && console.log('Driver Session Issue')\n          }\n        }\n        resolve(undefined)\n      }\n    } else {\n      resolve(undefined)\n    }\n  })\n}\n\nexport default{\n  find_username_advanced\n}\n","sourceCodeStart":168,"sourceCodeEnd":200,"githubUrl":"https://github.com/qeeqbox/social-analyzer/blob/1ba0905e00d054aab833eb3693739c354db09e0f/modules/slow-scan.js#L168-L200","documentation":"In find_username_site (modules/slow-scan.js:186), 'Driver Session Issue' is logged when the generic slow-scan's error path calls await driver.quit() and that call rejects. The message means the Selenium session was already invalid at cleanup time; the underlying scan error is swallowed and the promise resolves undefined.","triggerScenarios":"A site scan in the slow-scan loop throws (timeout, navigation error, missing element, browser crash); the catch block runs with driver defined; driver.quit() fails because the session is gone; helper.verbose is on.","commonSituations":"Slow sites exceeding driver page-load timeouts; driver/browser version mismatch; Chrome crashing under memory pressure during many sequential scans; session ended earlier by browser exit; CI containers without a display.","solutions":["Enable verbose logging earlier to capture the original per-site scan error","Recreate a fresh driver per site or on failure instead of reusing a possibly-dead session","Align chromedriver version with the browser; add headless and --disable-dev-shm-usage flags in CI","Treat undefined result as scan failure and retry the site with a longer timeout"],"exampleFix":"// before\ntry { await driver.quit() } catch (err) {\n  helper.verbose && console.log('Driver Session Issue')\n}\nresolve(undefined)\n// after\ntry { await driver.quit() } catch (quitErr) {\n  helper.verbose && console.log('Driver Session Issue:', quitErr && quitErr.message)\n}\nresolve(undefined)","handlingStrategy":"retry","validationCode":"const session = await driver.getSession().catch(() => null)\nif (!session) {\n  driver = await new Builder().forBrowser('chrome').build()\n}","typeGuard":"function isDriverAlive(driver) {\n  return driver !== undefined && typeof driver.quit === 'function'\n}","tryCatchPattern":"let result\nfor (let attempt = 0; attempt < 2 && result === undefined; attempt++) {\n  try {\n    result = await find_username_site(driver, url)\n  } catch (scanErr) {\n    console.error('scan failed:', scanErr)\n    if (driver !== undefined) {\n      try { await driver.quit() } catch (quitErr) {\n        console.warn('Driver Session Issue:', quitErr && quitErr.message)\n      }\n      driver = await new Builder().forBrowser('chrome').build() // fresh session for retry\n    }\n  }\n}","preventionTips":["Retry undefined results with a fresh driver rather than reusing a dead session","Set generous page-load timeouts since slow-scan targets are inherently slow sites","Log the original error before cleanup so root causes are not swallowed","Keep driver/browser versions aligned and use headless flags in CI to avoid crashes"],"tags":["selenium","webdriver","driver-quit","cleanup"],"backgroundTag":"webdriver-session-already-closed","analyzedSha":"1ba0905e00d054aab833eb3693739c354db09e0f","analyzedAt":"2026-08-31T21:42:26.566Z","schemaVersion":2},"datasetVersion":"2026-08-31T22:30:34.772Z"}