Files
Open_Ultra_SAST/benchmarks/measurements/2026-09-14-joern-session-lifecycle.json
T

1788 lines
213 KiB
JSON

{
"schema_version": 1,
"candidate_commit": "04f888019b4549853efb949c26adc7b0a24aadab",
"image": "sha256:e6f8dc6cc7547f7118bd058687de676e0fcf741799d1d3839b3e8648ce190fbb",
"scope": "Joern 4.0.625 census lifecycle only; no full-query equivalence, changed-code hook latency or capability qualification",
"environment": {
"network": "none",
"published_ports": [],
"server_host": "127.0.0.1",
"memory_limit_bytes": 3221225472,
"heap_mb": 1536,
"user": "1000",
"init_reaping": true
},
"attempts": [
{
"id": "v1",
"instrument": "\"\"\"Isolated lifecycle experiment; not a production backend or hook benchmark.\"\"\"\nimport hashlib\nimport json\nimport os\nfrom pathlib import Path\nimport signal\nimport socket\nimport subprocess\nimport tempfile\nimport time\nimport urllib.error\nimport urllib.request\n\nfrom openultrasast.cpg.backend import extract_payload\n\nOUT = Path('/results/session-probe-v1')\nOUT.mkdir(exist_ok=False)\nROOT = Path('/results/post-census-runtime-v1')\nrecord = {'schema_version': 1, 'purpose': 'census lifecycle only; no detector or hook qualification', 'requests': []}\n\ndef save():\n (OUT / 'result.json').write_text(json.dumps(record, indent=2) + '\\n')\n\ndef query(code, timeout=90):\n start = time.monotonic()\n request = urllib.request.Request('http://127.0.0.1:18081/query-sync', data=json.dumps({'query': code}).encode(), headers={'Content-Type': 'application/json'})\n with urllib.request.urlopen(request, timeout=timeout) as response:\n data = json.load(response)\n record['requests'].append({'seconds': time.monotonic()-start, 'query': code, 'response': data})\n save()\n assert data.get('success') is True or data.get('success') == 'true', data\n return data\n\nproc = None\ntry:\n graph = None\n for manifest in sorted((ROOT / 'artifacts').glob('*/manifest.json')):\n data = json.loads(manifest.read_bytes())\n meta = data.get('metadata', {})\n if meta.get('source_bytes') == 95411 and meta.get('completeness') == 'complete':\n graph = manifest.parent / 'payload'\n graph_bytes = graph.read_bytes()\n assert hashlib.sha256(graph_bytes).hexdigest() == data['sha256'] == meta['graph_digest']\n record['graph_manifest'] = data\n break\n assert graph is not None, 'no verified Node head graph'\n source = Path('/cache/nodegoat/c5cb68a7084e/app/routes/contributions.js')\n raw = source.read_bytes()\n assert raw\n record['input_probe'] = {'path': str(source), 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()}\n source_root = source.parents[2]\n sources = [(name, (source_root / name).read_bytes()) for name in record['graph_manifest']['metadata']['source_paths']]\n record['source_receipts'] = [{'path': name, 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()} for name, raw in sources]\n assert sum(len(raw) for _, raw in sources) == 95411\n record['graph_bytes'] = len(graph_bytes)\n print(json.dumps(record['input_probe']), flush=True)\n with tempfile.TemporaryDirectory(prefix='session-probe-') as scratch_name:\n scratch = Path(scratch_name)\n target = scratch / 'cpg.bin'\n target.write_bytes(graph_bytes)\n server_scratch = scratch / 'server'\n server_scratch.mkdir()\n env = dict(os.environ, JAVA_TOOL_OPTIONS='-Xmx1536m')\n start = time.monotonic()\n baseline = subprocess.run(['joern', '--script', '/app/src/openultrasast/cpg/queries/census.sc', '--param', f'cpgFile={target}'], cwd=scratch, env=env, capture_output=True, text=True, timeout=90)\n record['disposable_census'] = {'seconds': time.monotonic()-start, 'exit_code': baseline.returncode, 'stdout': baseline.stdout, 'stderr': baseline.stderr}\n save()\n assert baseline.returncode == 0, 'baseline process failed'\n expected = extract_payload(baseline.stdout)\n assert isinstance(expected, dict) and int(expected['files']) == 44 and int(expected['methods']) > 0, expected\n target.write_bytes(graph_bytes)\n log = (OUT / 'server.log').open('w')\n start = time.monotonic()\n proc = subprocess.Popen(['joern', '--server', '--server-host', '127.0.0.1', '--server-port', '18081'], cwd=server_scratch, env=env, stdout=log, stderr=subprocess.STDOUT, start_new_session=True)\n while True:\n assert proc.poll() is None, 'server exited during startup'\n try:\n with socket.create_connection(('127.0.0.1', 18081), timeout=0.2):\n pass\n break\n except OSError:\n if time.monotonic()-start > 90:\n raise TimeoutError('server startup')\n time.sleep(0.2)\n query('println(\"OUSAST_READY\")')\n record['server_startup_seconds'] = time.monotonic()-start\n query('importCpg(' + json.dumps(str(target)) + ')')\n expression = 'println(\"---OUSAST-CPG-BEGIN---\"); println(ujson.write(ujson.Obj(\"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\")))); println(\"---OUSAST-CPG-END---\")'\n for i in range(5):\n answer = query(expression)\n actual = extract_payload(answer['stdout'])\n assert isinstance(actual, dict), actual\n for key in ('files', 'methods', 'calls', 'overlays'):\n assert actual[key] == expected[key], (key, actual, expected)\n assert sorted(actual['file_names']) == sorted(expected['file_names'])\n record['census_equivalent'] = True\n try:\n query('Thread.sleep(10000); println(\"SHOULD_NOT_FINISH\")', timeout=1)\n raise AssertionError('hanging request unexpectedly returned')\n except TimeoutError:\n pass\n start = time.monotonic()\n os.killpg(proc.pid, signal.SIGKILL)\n proc.wait(timeout=2)\n while True:\n try:\n os.killpg(proc.pid, 0)\n except ProcessLookupError:\n break\n if time.monotonic()-start > 2:\n raise AssertionError('process group survived cancellation')\n time.sleep(0.02)\n record['cancellation_seconds'] = time.monotonic()-start\n proc = None\n log.close()\n assert hashlib.sha256(graph.read_bytes()).hexdigest() == record['graph_manifest']['sha256']\n record['status'] = 'PASS_LIFECYCLE_PROBE_ONLY'\nexcept BaseException as exc:\n record['status'] = 'INSTRUMENT_FAILURE'\n record['error'] = repr(exc)\n raise\nfinally:\n if proc is not None and proc.poll() is None:\n os.killpg(proc.pid, signal.SIGKILL)\n proc.wait(timeout=2)\n save()\n",
"instrument_sha256": "967a26c9093ae4dbc4b036bc785172990c965a03755c0ba0c72f987fc757474d",
"result": {
"schema_version": 1,
"purpose": "census lifecycle only; no detector or hook qualification",
"requests": [
{
"seconds": 0.4128529760055244,
"query": "println(\"OUSAST_READY\")",
"response": {
"success": true,
"stdout": "\u001b[33mlazy\u001b[0m \u001b[33mval\u001b[0m \u001b[36mgiven_Colors\u001b[0m: replpp.Colors\n\u001b[33mval\u001b[0m \u001b[36mresolver\u001b[0m: \u001b[32mICallResolver\u001b[0m = io.shiftleft.semanticcpg.language.NoResolve$@1dab94bc\n\u001b[33mval\u001b[0m \u001b[36mfinder\u001b[0m: \u001b[32mNodeExtensionFinder\u001b[0m = io.shiftleft.semanticcpg.language.DefaultNodeExtensionFinder$@61dac810\n\u001b[33mval\u001b[0m \u001b[36msarifConfig\u001b[0m: \u001b[32mSarifConfig\u001b[0m = SarifConfig(\n toolName = \"Joern\",\n toolFullName = Some(value = \"Joern - The Bug Hunter's Workbench\"),\n toolInformationUri = Some(value = https://joern.io),\n organization = Some(value = \"Joern.io\"),\n semanticVersion = None,\n sarifVersion = V2_1_0,\n resultConverter = io.shiftleft.semanticcpg.sarif.v2_1_0.JoernScanResultToSarifConverter@527c79f4,\n customSerializers = List(\n org.json4s.CustomSerializer@79a7e2a8,\n org.json4s.CustomSerializer@44573dd0,\n org.json4s.CustomSerializer@7675a11f,\n org.json4s.CustomSerializer@1b8a4c52,\n org.json4s.CustomSerializer@5d7e4f29,\n org.json4s.CustomSerializer@203a50eb,\n org.json4s.CustomSerializer@7b9c70aa,\n org.json4s.CustomSerializer@32bd5b57,\n org.json4s.CustomSerializer@1d955d2e\n )\n)\n// defined class OptsDynamic\n\u001b[33mval\u001b[0m \u001b[36mopts\u001b[0m: \u001b[32mOptsDynamic\u001b[0m = OptsDynamic@1ed37e51\ndef _diffGraph: DiffGraphBuilder\ndef diffGraph: DiffGraphBuilder\n// defined class OverlaysDynamic\n\u001b[33mval\u001b[0m \u001b[36mrun\u001b[0m: \u001b[32mOverlaysDynamic\u001b[0m = \n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502name \u2502description \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502dumpcpg14 \u2502Dump Code Property Graph (2014) to out/ \u2502\n\u2502dumpcdg \u2502Dump control dependence graph to out/ \u2502\n\u2502scan \u2502Joern Code Scanner \u2502\n\u2502commit \u2502Apply current custom diffgraph \u2502\n\u2502dumpddg \u2502Dump data dependence graphs to out/ \u2502\n\u2502base \u2502base layer (linked frontend CPG) \u2502\n\u2502controlflow \u2502Control flow layer (including dominators and CDG edges)\u2502\n\u2502dumpast \u2502Dump abstract syntax trees to out/ \u2502\n\u2502dumppdg \u2502Dump program dependence graph to out/ \u2502\n\u2502callgraph \u2502Call graph layer \u2502\n\u2502ossdataflow \u2502Layer to support the OSS lightweight data flow tracker \u2502\n\u2502dumpcfg \u2502Dump control flow graph to out/ \u2502\n\u2502typerelations\u2502Type relations layer (hierarchy and aliases) \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n// defined class Helper\n\u001b[33mval\u001b[0m \u001b[36mhelp\u001b[0m: \u001b[32mHelper\u001b[0m = Welcome to the interactive help system. Below you find\na table of all available top-level commands. To get\nmore detailed help on a specific command, just type\n\n`help.<command>`.\n\nTry `help.importCode` to begin with.\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502command \u2502description \u2502example \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502close \u2502Close project by name \u2502close(projectName) \u2502\n\u2502cpg \u2502CPG of the active project \u2502cpg.method.l \u2502\n\u2502delete \u2502Close and remove project from disk \u2502delete(projectName) \u2502\n\u2502exit \u2502Exit the REPL \u2502 \u2502\n\u2502importCode \u2502Create new project from code \u2502importCode(\"example.jar\")\u2502\n\u2502importCpg \u2502Create new project from existing CPG \u2502importCpg(\"cpg.bin.zip\") \u2502\n\u2502open \u2502Open project by name \u2502open(\"projectName\") \u2502\n\u2502openForInputPath\u2502Open project for input path \u2502 \u2502\n\u2502project \u2502Currently active project \u2502project \u2502\n\u2502run \u2502Run analyzer on active CPG \u2502run.securityprofile \u2502\n\u2502save \u2502Write all changes to disk \u2502save \u2502\n\u2502switchWorkspace \u2502Close current workspace and open a different one\u2502 \u2502\n\u2502workspace \u2502Access to the workspace directory \u2502workspace \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nossDataFlowOptions:\n io.joern.dataflowengineoss.layers.dataflows.OssDataFlowOptions = io.joern.dataflowengineoss.layers.dataflows.OssDataFlowOptions@7019ed73\n",
"uuid": "eb7f9d73-ce45-45af-bee4-103fb0d422ee"
}
},
{
"seconds": 3.6644894930068403,
"query": "importCpg(\"/tmp/session-probe-8hw4bxz9/cpg.bin\")",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres0\u001b[0m: \u001b[32mOption\u001b[0m[\u001b[32mCpg\u001b[0m] = Some(value = Cpg[Graph[19863 nodes]])\n",
"uuid": "1e0dcc16-a25d-4249-a20a-5920467419a2"
}
},
{
"seconds": 1.382782840053551,
"query": "println(\"---OUSAST-CPG-BEGIN---\"); println(ujson.write(ujson.Obj(\"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\")))); println(\"---OUSAST-CPG-END---\")",
"response": {
"success": true,
"stdout": "",
"uuid": "ff3cb3f7-59f5-4273-8694-39968c401d96"
}
}
],
"graph_manifest": {
"complete": true,
"key": "07185611945033bf128c962ae71a70f1196345f9525ebaead472f62d6f045028",
"metadata": {
"census": {
"calls": 4134,
"files": 44,
"methods": 579
},
"completeness": "complete",
"diagnostics": [],
"graph_digest": "ecb311e3fe1fe500d8f6269916d5cf835a44db25318449750583fc8f3e6de462",
"identity": {
"declarations_digest": "285af83095d6e43bbb0b995cd46e7b65a109d715ec6b6a5fd4367dcea8c406fd",
"engine_version": "4.0.625",
"exclusions_digest": "eab75a523f55acc077e1024b46236ab585ee9e79a4e7563b0204dcab4fcc6183",
"frontend": "jssrc2cpg",
"frontend_options": [
[
"include_tests",
"True"
],
[
"include_build_configs",
"True"
],
[
"installation",
"c9860f63eb08efd404b60cd7d23c65798028f8684e915fe7472e1dc4763a23e5"
],
[
"java_options",
"default"
]
],
"frontend_version": "4.0.625",
"language": "javascript",
"overlay_options": [
[
"implementation",
"b1b5bf7b5609ea930a06addb404840b12b7c0e36cdd083ea0d11ede01f8f6647"
]
],
"overlay_semantics": [
"dataflowOss"
],
"source_digest": "dea287382ca0cf5074b9e85c7823792738bbc5c8bb8a3e4ed06ebc0a2cc13149",
"unit": "repository"
},
"source_bytes": 95411,
"source_paths": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"source_root": "/tmp/ousast-input-iczx7vvd"
},
"receipt": "297ca4188e5a0a00229097d4a9a44d8978a7be659890b900ae976186dbcf15dd",
"sha256": "ecb311e3fe1fe500d8f6269916d5cf835a44db25318449750583fc8f3e6de462",
"size": 727481,
"version": 1
},
"input_probe": {
"path": "/cache/nodegoat/c5cb68a7084e/app/routes/contributions.js",
"bytes": 2485,
"sha256": "196bdeaa22da4cfe8a851b1b932710b2fcedd21f14ed75d70b739ba759a01003"
},
"source_receipts": [
{
"path": "Gruntfile.js",
"bytes": 6359,
"sha256": "2e9fd032cbc6a5594d90c76448ce37b98be0f0d3ef7a66e6b4aabbc674293af6"
},
{
"path": "app/assets/js/chart/chart-data-morris.js",
"bytes": 3718,
"sha256": "a5511ae7a5614f9f2dd89625bce94d6b794a675dae4987259d087a8d2e8e2693"
},
{
"path": "app/assets/js/tour/redirects-steps.js",
"bytes": 648,
"sha256": "16babf9b88e186cb4e2a7ab896a78494f6d4a88737c903eb1e23e35579ac651b"
},
{
"path": "app/data/allocations-dao.js",
"bytes": 3928,
"sha256": "c6aebc971ce7f9c8b2a8f0864a500497de25a3ea0318ef94ecd57cadf6e789ea"
},
{
"path": "app/data/benefits-dao.js",
"bytes": 1240,
"sha256": "0ac30b097e016eeffb10e1c72d9c657153d3ce67e7b3f4756b2cb127d94181d7"
},
{
"path": "app/data/contributions-dao.js",
"bytes": 2791,
"sha256": "363065e8b3c32f0997ce2dcb17341eb3e40b7f43b00b72c576dfebf73f551c85"
},
{
"path": "app/data/memos-dao.js",
"bytes": 1107,
"sha256": "6582195bd913c2d60d63e9b519f9508a3319e07e158fd0c6f31dcbc50a80e8cf"
},
{
"path": "app/data/profile-dao.js",
"bytes": 3506,
"sha256": "80429a5df579867401a59b1cbd9c1d74f88d5548780fbd909e9504876c1968cc"
},
{
"path": "app/data/research-dao.js",
"bytes": 750,
"sha256": "f1cf267e56080fc94943ad7d83802b4e9db9420687fac49f84dbc0e45dfa88ac"
},
{
"path": "app/data/user-dao.js",
"bytes": 4078,
"sha256": "577fb140933a50e010a4bbcb74e975f678d7f3a989467e4d113926f35c042e64"
},
{
"path": "app/routes/allocations.js",
"bytes": 915,
"sha256": "b5b7da1a6b595799cf6cca402756dd9a3f6e2a8b5d712c1989d23b7f01f349a6"
},
{
"path": "app/routes/benefits.js",
"bytes": 1340,
"sha256": "bc5516b35ba21884915b88b3f810441e616f068d8a0cf756b143185d5aeda2d2"
},
{
"path": "app/routes/contributions.js",
"bytes": 2485,
"sha256": "196bdeaa22da4cfe8a851b1b932710b2fcedd21f14ed75d70b739ba759a01003"
},
{
"path": "app/routes/error.js",
"bytes": 281,
"sha256": "452dc61f9f06a31ea4305edb2e573fc940428615841533b59320792fcfb6fb3f"
},
{
"path": "app/routes/index.js",
"bytes": 3149,
"sha256": "3ab970b2888bc1501515db24a83cc7851ac9c09d00948c652300401515185eb5"
},
{
"path": "app/routes/memos.js",
"bytes": 824,
"sha256": "c3543f308f24083436e25e3a72210ad31e611db5c93268d8dd0e340095e132c9"
},
{
"path": "app/routes/profile.js",
"bytes": 3633,
"sha256": "18575bf3d3710906e57e09e6036e40fd3986bdcca436ed0e2a2875b41f0f2aca"
},
{
"path": "app/routes/research.js",
"bytes": 1071,
"sha256": "e399f3c70436fa160f00835626bf50f88980268fcd143436af97c9d2297c1d92"
},
{
"path": "app/routes/session.js",
"bytes": 10199,
"sha256": "e53e38b6eea76b026efaacde07f694e7a2eca005de4083fb74f9393d432a5b25"
},
{
"path": "app/routes/tutorial.js",
"bytes": 637,
"sha256": "502e0b959b37cbc844d15eadd7a78a40b5281155fcf8d532f0e4abdd2fee8eb9"
},
{
"path": "artifacts/db-reset.js",
"bytes": 4183,
"sha256": "df5d947ef23786683ab0d5f3c5ed5ef3f25ab93ce7610448c6db79b446168aa9"
},
{
"path": "config/config.js",
"bytes": 487,
"sha256": "b84b1bf634159caffdef50fe826077e60dbde1e381ceb148ff3b869e789b6962"
},
{
"path": "config/env/all.js",
"bytes": 365,
"sha256": "31a71288f0d830799da9c39e1b1ad10b0e989282bcf9a31bb48f8f618f37f6ad"
},
{
"path": "config/env/development.js",
"bytes": 636,
"sha256": "1829bc509dcc6a6eb58b0eee49901df530b9cceafa2ed37e855beacec4971f08"
},
{
"path": "config/env/production.js",
"bytes": 21,
"sha256": "8222b8169ee86f25cdccd84d340340060ae3f0cff55e2ea9d344d7c332733b71"
},
{
"path": "config/env/test.js",
"bytes": 318,
"sha256": "b48cd5c17fc9639c1c4198fced69b438c2b0c7fe70e80f0113bcd0d86cd583a5"
},
{
"path": "server.js",
"bytes": 4860,
"sha256": "48ec5e8f9668b230caf6af27f4a4ffbdcd8b702b376a6bbcc951217917c6ea2e"
},
{
"path": "test/e2e/integration/allocations_spec.js",
"bytes": 1062,
"sha256": "d345f97bc2c3c9e559d98f3e108ab568303c7509dbe707c4cc49f811d5f94db7"
},
{
"path": "test/e2e/integration/benefits_spec.js",
"bytes": 1228,
"sha256": "e4eb2765b08769e86b140dceee3091a5466da13933400272076b6de693b5cb71"
},
{
"path": "test/e2e/integration/contributions_spec.js",
"bytes": 1160,
"sha256": "8504f4cbbe578b91f112b7effffb0e43823af9648c5b406ded5a0d65fb4bbde3"
},
{
"path": "test/e2e/integration/dashboard_spec.js",
"bytes": 933,
"sha256": "96ef5e6d8b75787ac9a44fcd5f918cd3493680e74c70c45b381fe4416fa7f4f8"
},
{
"path": "test/e2e/integration/general_spec.js",
"bytes": 2044,
"sha256": "5364de581df32c99964f63baa8486fcd32b922c9f327192f3a1e81ca6cd0ceff"
},
{
"path": "test/e2e/integration/learn_spec.js",
"bytes": 471,
"sha256": "05e6bf11c5e773cd22861dbe18bced293024a7400c3a89b2c0e111bb88d8eaa1"
},
{
"path": "test/e2e/integration/login_spec.js",
"bytes": 2377,
"sha256": "e1433dfab270ac3f7b32f4ee904d781c2bb2581804177a0cafc488f6c79efb25"
},
{
"path": "test/e2e/integration/logout_spec.js",
"bytes": 737,
"sha256": "31ebf201e7d899baf8acd1d50c3fc4e42a5636c263982e5e517a1eaf3e35518f"
},
{
"path": "test/e2e/integration/memos_spec.js",
"bytes": 991,
"sha256": "625a08e3c9f80cf46f3fe81c2acde3dc76d955bde10aa7c68498b6830b7a86b4"
},
{
"path": "test/e2e/integration/profile_spec.js",
"bytes": 1509,
"sha256": "e22ce888656d18e020ca2775396e000cc899bdac255a1503f9af2c4ef18ffef0"
},
{
"path": "test/e2e/integration/research_spec.js",
"bytes": 1108,
"sha256": "4e81ed0c2cf42da656217c1e38a35f9257d0a09467ffbe25d9d19930df05ed3a"
},
{
"path": "test/e2e/integration/signup_spec.js",
"bytes": 1734,
"sha256": "27c56206888e1d664f852090ed943dc746638724743f7d5fb12d35e39136d22f"
},
{
"path": "test/e2e/integration/tutorial_spec.js",
"bytes": 1819,
"sha256": "2664d921df2c716695df8c216e93b76a9b09376100ee8bc5c3f4354f0ebdb8a6"
},
{
"path": "test/e2e/plugins/index.js",
"bytes": 788,
"sha256": "1fd870a6602782c27f87cd1aaaae24da269b20408612f718125b4471242f6e83"
},
{
"path": "test/e2e/support/commands.js",
"bytes": 839,
"sha256": "967bdb0f97ec8277d952de4273c1bf2fcc000b1eb08de533a80e34157f65e499"
},
{
"path": "test/e2e/support/index.js",
"bytes": 27,
"sha256": "a74243373740a95e3e3691087776e652ba954fcfd96130c4c374279a7310683d"
},
{
"path": "test/security/profile-test.js",
"bytes": 13055,
"sha256": "17b6d02097d2fdfaebcdae31e70620fe691b5cabbcd99829d7c8d72ac3d4239a"
}
],
"graph_bytes": 727481,
"disposable_census": {
"seconds": 15.415338277001865,
"exit_code": 0,
"stdout": "ERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: fe09bc0236a4: fe09bc0236a4: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat io.shiftleft.semanticcpg.sarif.SarifSchema$.<clinit>(SarifSchema.scala:10)\n\tat io.shiftleft.semanticcpg.sarif.SarifConfig$.$lessinit$greater$default$8(SarifConfig.scala:38)\n\tat ScalaReplPP$.<clinit>(wrapped-script12435363677634397242.sc:21)\n\tat ScalaReplPP.main(wrapped-script12435363677634397242.sc)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat replpp.scripting.ScriptingDriver.$anonfun$2(ScriptingDriver.scala:60)\n\tat replpp.util.SimpleDriver.compile$$anonfun$1(SimpleDriver.scala:81)\n\tat scala.util.Try$.apply(Try.scala:195)\n\tat replpp.util.SimpleDriver.compile(SimpleDriver.scala:83)\n\tat replpp.scripting.ScriptingDriver.compileAndRun(ScriptingDriver.scala:53)\n\tat replpp.scripting.NonForkingScriptRunner$.exec(NonForkingScriptRunner.scala:48)\n\tat replpp.scripting.NonForkingScriptRunner$.main(NonForkingScriptRunner.scala:21)\n\tat replpp.scripting.NonForkingScriptRunner.main(NonForkingScriptRunner.scala)\nCaused by: java.net.UnknownHostException: fe09bc0236a4: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 31 more\n[INFO ] initialising from existing storage (/tmp/session-probe-8hw4bxz9/workspace/cpg.bin/cpg.bin.tmp)\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptInheritanceNamePass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptInheritanceNamePass completed in 41 ms (68% on mutations). 0 + 0 changes committed from 0 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.ConstClosurePass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.ConstClosurePass completed in 195 ms (9% on mutations). 39 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptImportResolverPass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptImportResolverPass completed in 146 ms (9% on mutations). 274 + 0 changes committed from 116 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery completed in 745 ms (6% on mutations). 3130 + 0 changes committed from 44 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery completed in 278 ms (9% on mutations). 3750 + 0 changes committed from 44 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeHintCallLinker\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeHintCallLinker completed in 102 ms (15% on mutations). 272 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.ObjectPropertyCallLinker\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.ObjectPropertyCallLinker completed in 29 ms (24% on mutations). 0 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.passes.callgraph.NaiveCallLinker\n[INFO ] Pass io.joern.x2cpg.passes.callgraph.NaiveCallLinker completed in 25 ms (21% on mutations). 42 + 0 changes committed from 1 parts.\n---OUSAST-CPG-BEGIN---\n{\"files\":\"44\",\"methods\":\"579\",\"calls\":\"4134\",\"file_names\":[\"Gruntfile.js\",\"app/assets/js/chart/chart-data-morris.js\",\"app/assets/js/tour/redirects-steps.js\",\"app/data/allocations-dao.js\",\"app/data/benefits-dao.js\",\"app/data/contributions-dao.js\",\"app/data/memos-dao.js\",\"app/data/profile-dao.js\",\"app/data/research-dao.js\",\"app/data/user-dao.js\",\"app/routes/allocations.js\",\"app/routes/benefits.js\",\"app/routes/contributions.js\",\"app/routes/error.js\",\"app/routes/index.js\",\"app/routes/memos.js\",\"app/routes/profile.js\",\"app/routes/research.js\",\"app/routes/session.js\",\"app/routes/tutorial.js\",\"artifacts/db-reset.js\",\"config/config.js\",\"config/env/all.js\",\"config/env/development.js\",\"config/env/production.js\",\"config/env/test.js\",\"server.js\",\"test/e2e/integration/allocations_spec.js\",\"test/e2e/integration/benefits_spec.js\",\"test/e2e/integration/contributions_spec.js\",\"test/e2e/integration/dashboard_spec.js\",\"test/e2e/integration/general_spec.js\",\"test/e2e/integration/learn_spec.js\",\"test/e2e/integration/login_spec.js\",\"test/e2e/integration/logout_spec.js\",\"test/e2e/integration/memos_spec.js\",\"test/e2e/integration/profile_spec.js\",\"test/e2e/integration/research_spec.js\",\"test/e2e/integration/signup_spec.js\",\"test/e2e/integration/tutorial_spec.js\",\"test/e2e/plugins/index.js\",\"test/e2e/support/commands.js\",\"test/e2e/support/index.js\",\"test/security/profile-test.js\"],\"overlays\":\"base,controlflow,typerel,callgraph,dataflowOss\",\"maxHeapMB\":\"1536\"}\n---OUSAST-CPG-END---\n[INFO ] writing to storage at `/tmp/session-probe-8hw4bxz9/workspace/cpg.bin/cpg.bin.tmp`\n[INFO ] closed graph at /tmp/session-probe-8hw4bxz9/workspace/cpg.bin/cpg.bin.tmp\n",
"stderr": "Picked up JAVA_TOOL_OPTIONS: -Xmx1536m\nPicked up JAVA_TOOL_OPTIONS: -Xmx1536m\nexecuting /app/src/openultrasast/cpg/queries/census.sc with params=Map(cpgFile -> /tmp/session-probe-8hw4bxz9/cpg.bin)\nCreating project `cpg.bin` for CPG at `/tmp/session-probe-8hw4bxz9/cpg.bin`\nCreating working copy of CPG to be safe\nLoading base CPG from: /tmp/session-probe-8hw4bxz9/workspace/cpg.bin/cpg.bin.tmp\nOverlay dataflowOss already exists - skipping\nThe graph has been modified. You may want to use the `save` command to persist changes to disk. All changes will also be saved collectively on exit\nclosing/saving project `cpg.bin`\n"
},
"server_startup_seconds": 12.902201440068893,
"status": "INSTRUMENT_FAILURE",
"error": "AssertionError(None)"
},
"server_log": "Picked up JAVA_TOOL_OPTIONS: -Xmx1536m\nERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: fe09bc0236a4: fe09bc0236a4: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat replpp.server.ReplServer$.<clinit>(ReplServer.scala:16)\n\tat io.joern.console.ServerHandling.startHttpServer(BridgeBase.scala:477)\n\tat io.joern.console.ServerHandling.startHttpServer$(BridgeBase.scala:464)\n\tat io.joern.joerncli.console.ReplBridge$.startHttpServer(ReplBridge.scala:5)\n\tat io.joern.console.BridgeBase.run(BridgeBase.scala:239)\n\tat io.joern.console.BridgeBase.run$(BridgeBase.scala:55)\n\tat io.joern.joerncli.console.ReplBridge$.run(ReplBridge.scala:5)\n\tat io.joern.joerncli.console.ReplBridge$.main(ReplBridge.scala:10)\n\tat io.joern.joerncli.console.ReplBridge.main(ReplBridge.scala)\nCaused by: java.net.UnknownHostException: fe09bc0236a4: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 26 more\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.tasty-core_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-core-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.fasterxml.jackson.core.jackson-core-2.17.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.rubysrc2cpg-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.dataflowengineoss-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-formats_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-odb-convert_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.cask_3-0.9.5.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle-core_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.overflowdb-core_3-1.194.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-native_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.castor_3-0.3.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.undertow.undertow-core-2.3.18.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-help_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.xnio.xnio-api-3.8.16.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.msgpack.msgpack-core-0.9.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/commons-io.commons-io-2.22.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.wildfly.client.wildfly-client-config-1.0.1.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.fansi_3-0.5.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.maven.maven-artifact-3.9.16.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph-domain-classes_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-kernel_3-2.9.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-core_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.geny_3-1.1.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp_3.8.3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.ibm.icu.icu4j-61.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.pathikrit.better-files_3-3.9.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-core_3-2.9.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle-implicits_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.ST4-4.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect-kernel_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph-protos_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-xml_3-2.3.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/net.oneandone.reflections8.reflections8-0.11.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.glassfish.javax.json-1.0.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr-runtime-3.5.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-scalap_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.ujson_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-compress-1.26.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-api-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upack_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-exec-1.4.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.versionsort-1.0.11.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.semanticcpg-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/commons-codec.commons-codec-1.17.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-ast_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.reflections.reflections-0.10.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-core_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-repl_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.tototoshi.scala-csv_3-2.0.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.xnio.xnio-nio-3.8.16.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.cask-util_3-0.9.5.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.get-coursier.interface-1.0.28.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-library_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.joern-cli-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.zeroturnaround.zt-zip-1.17.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.requests_3-0.8.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.javassist.javassist-3.28.0-GA.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.console-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-lang3-3.17.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.codehaus.plexus.plexus-utils-3.6.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.virtuslab.using_directives-1.1.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.java-websocket.Java-WebSocket-1.5.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-native-core_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jruby.jruby-complete-9.4.15.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.slf4j.slf4j-api-2.0.17.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-terminal-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-terminal-jni-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.h2database.h2-mvstore-1.4.200.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-sbt.util-interface-1.10.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.thoughtworks.paranamer.paranamer-2.8.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.sourcecode_3-0.4.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect-std_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-server_3.8.3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.luben.zstd-jni-1.5.7-11.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.os-lib_3-0.10.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr4-4.7.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-parallel-collections_3-1.0.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-text-1.13.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.google.code.findbugs.jsr305-3.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-interfaces-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.google.protobuf.protobuf-java-3.20.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.macros-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-native-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-shaded-libs_3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.threads.jboss-threads-3.5.0.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/net.sf.trove4j.core-3.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.abego.treelayout.org.abego.treelayout.core-1.0.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.wildfly.common.wildfly-common-1.5.4.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-reader-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.typesafe.config-1.4.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-asm-9.9.0-scala-1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-compiler_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr4-runtime-4.7.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.pprint_3-0.9.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-sbt.compiler-interface-1.10.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.logging.jboss-logging-3.4.3.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.scopt.scopt_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.spray.spray-json_3-1.3.6.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala-library-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-slf4j2-impl-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.x2cpg-4.0.625.jar\nclasspath entries from config >\n/opt/joern-cli/lib/com.fasterxml.jackson.core.jackson-core-2.17.2.jar\n/opt/joern-cli/lib/com.github.luben.zstd-jni-1.5.7-11.jar\n/opt/joern-cli/lib/com.github.pathikrit.better-files_3-3.9.2.jar\n/opt/joern-cli/lib/com.github.scopt.scopt_3-4.1.0.jar\n/opt/joern-cli/lib/com.github.tototoshi.scala-csv_3-2.0.0.jar\n/opt/joern-cli/lib/com.google.code.findbugs.jsr305-3.0.2.jar\n/opt/joern-cli/lib/com.google.protobuf.protobuf-java-3.20.1.jar\n/opt/joern-cli/lib/com.h2database.h2-mvstore-1.4.200.jar\n/opt/joern-cli/lib/com.ibm.icu.icu4j-61.1.jar\n/opt/joern-cli/lib/com.lihaoyi.cask-util_3-0.9.5.jar\n/opt/joern-cli/lib/com.lihaoyi.cask_3-0.9.5.jar\n/opt/joern-cli/lib/com.lihaoyi.castor_3-0.3.0.jar\n/opt/joern-cli/lib/com.lihaoyi.fansi_3-0.5.1.jar\n/opt/joern-cli/lib/com.lihaoyi.geny_3-1.1.1.jar\n/opt/joern-cli/lib/com.lihaoyi.os-lib_3-0.10.1.jar\n/opt/joern-cli/lib/com.lihaoyi.pprint_3-0.9.3.jar\n/opt/joern-cli/lib/com.lihaoyi.requests_3-0.8.0.jar\n/opt/joern-cli/lib/com.lihaoyi.sourcecode_3-0.4.4.jar\n/opt/joern-cli/lib/com.lihaoyi.ujson_3-4.1.0.jar\n/opt/joern-cli/lib/com.lihaoyi.upack_3-4.0.2.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle-core_3-4.1.0.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle-implicits_3-4.0.2.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle_3-4.0.2.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-server_3.8.3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-shaded-libs_3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp_3.8.3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.versionsort-1.0.11.jar\n/opt/joern-cli/lib/com.thoughtworks.paranamer.paranamer-2.8.jar\n/opt/joern-cli/lib/com.typesafe.config-1.4.3.jar\n/opt/joern-cli/lib/commons-codec.commons-codec-1.17.0.jar\n/opt/joern-cli/lib/commons-io.commons-io-2.22.0.jar\n/opt/joern-cli/lib/io.get-coursier.interface-1.0.28.jar\n/opt/joern-cli/lib/io.joern.console-4.0.625.jar\n/opt/joern-cli/lib/io.joern.dataflowengineoss-4.0.625.jar\n/opt/joern-cli/lib/io.joern.flatgraph-core_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-formats_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-help_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-odb-convert_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.joern-cli-4.0.625.jar\n/opt/joern-cli/lib/io.joern.macros-4.0.625.jar\n/opt/joern-cli/lib/io.joern.rubysrc2cpg-4.0.625.jar\n/opt/joern-cli/lib/io.joern.semanticcpg-4.0.625.jar\n/opt/joern-cli/lib/io.joern.x2cpg-4.0.625.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph-domain-classes_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph-protos_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.overflowdb-core_3-1.194.jar\n/opt/joern-cli/lib/io.spray.spray-json_3-1.3.6.jar\n/opt/joern-cli/lib/io.undertow.undertow-core-2.3.18.Final.jar\n/opt/joern-cli/lib/net.oneandone.reflections8.reflections8-0.11.7.jar\n/opt/joern-cli/lib/net.sf.trove4j.core-3.1.0.jar\n/opt/joern-cli/lib/org.abego.treelayout.org.abego.treelayout.core-1.0.3.jar\n/opt/joern-cli/lib/org.antlr.ST4-4.1.jar\n/opt/joern-cli/lib/org.antlr.antlr-runtime-3.5.2.jar\n/opt/joern-cli/lib/org.antlr.antlr4-4.7.2.jar\n/opt/joern-cli/lib/org.antlr.antlr4-runtime-4.7.2.jar\n/opt/joern-cli/lib/org.apache.commons.commons-compress-1.26.2.jar\n/opt/joern-cli/lib/org.apache.commons.commons-exec-1.4.0.jar\n/opt/joern-cli/lib/org.apache.commons.commons-lang3-3.17.0.jar\n/opt/joern-cli/lib/org.apache.commons.commons-text-1.13.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-api-2.20.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-core-2.20.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-slf4j2-impl-2.20.0.jar\n/opt/joern-cli/lib/org.apache.maven.maven-artifact-3.9.16.jar\n/opt/joern-cli/lib/org.codehaus.plexus.plexus-utils-3.6.1.jar\n/opt/joern-cli/lib/org.glassfish.javax.json-1.0.4.jar\n/opt/joern-cli/lib/org.java-websocket.Java-WebSocket-1.5.3.jar\n/opt/joern-cli/lib/org.javassist.javassist-3.28.0-GA.jar\n/opt/joern-cli/lib/org.jboss.logging.jboss-logging-3.4.3.Final.jar\n/opt/joern-cli/lib/org.jboss.threads.jboss-threads-3.5.0.Final.jar\n/opt/joern-cli/lib/org.jboss.xnio.xnio-api-3.8.16.Final.jar\n/opt/joern-cli/lib/org.jboss.xnio.xnio-nio-3.8.16.Final.jar\n/opt/joern-cli/lib/org.jline.jline-native-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-reader-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-terminal-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-terminal-jni-3.29.0.jar\n/opt/joern-cli/lib/org.jruby.jruby-complete-9.4.15.0.jar\n/opt/joern-cli/lib/org.json4s.json4s-ast_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-core_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-native-core_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-native_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-scalap_3-4.0.7.jar\n/opt/joern-cli/lib/org.msgpack.msgpack-core-0.9.1.jar\n/opt/joern-cli/lib/org.reflections.reflections-0.10.2.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-asm-9.9.0-scala-1.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-parallel-collections_3-1.0.4.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-xml_3-2.3.0.jar\n/opt/joern-cli/lib/org.scala-lang.scala-library-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-compiler_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-interfaces-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-library_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-repl_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.tasty-core_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-sbt.compiler-interface-1.10.7.jar\n/opt/joern-cli/lib/org.scala-sbt.util-interface-1.10.7.jar\n/opt/joern-cli/lib/org.slf4j.slf4j-api-2.0.17.jar\n/opt/joern-cli/lib/org.typelevel.cats-core_3-2.9.0.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect-kernel_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect-std_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-kernel_3-2.9.0.jar\n/opt/joern-cli/lib/org.virtuslab.using_directives-1.1.4.jar\n/opt/joern-cli/lib/org.wildfly.client.wildfly-client-config-1.0.1.Final.jar\n/opt/joern-cli/lib/org.wildfly.common.wildfly-common-1.5.4.Final.jar\n/opt/joern-cli/lib/org.zeroturnaround.zt-zip-1.17.jar\n< classpath entries from config\nERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: fe09bc0236a4: fe09bc0236a4: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat io.shiftleft.semanticcpg.sarif.SarifSchema$.<clinit>(SarifSchema.scala:10)\n\tat io.shiftleft.semanticcpg.sarif.SarifConfig$.$lessinit$greater$default$8(SarifConfig.scala:38)\n\tat rs$line$1$.<clinit>(rs$line$1:14)\n\tat rs$line$1.help(rs$line$1)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat replpp.Rendering.$anonfun$4(Rendering.scala:102)\n\tat scala.Option.flatMap(Option.scala:285)\n\tat replpp.Rendering.valueOf(Rendering.scala:102)\n\tat replpp.Rendering.renderVal(Rendering.scala:142)\n\tat replpp.DottyReplDriver.$anonfun$8(DottyReplDriver.scala:397)\n\tat scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)\n\tat scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)\n\tat scala.collection.immutable.List.foreach(List.scala:327)\n\tat replpp.DottyReplDriver.extractAndFormatMembers$1(DottyReplDriver.scala:397)\n\tat replpp.DottyReplDriver.renderDefinitions$$anonfun$2(DottyReplDriver.scala:435)\n\tat scala.Option.map(Option.scala:244)\n\tat replpp.DottyReplDriver.renderDefinitions(DottyReplDriver.scala:434)\n\tat replpp.DottyReplDriver.compile$$anonfun$2(DottyReplDriver.scala:339)\n\tat scala.util.Either.fold(Either.scala:199)\n\tat replpp.DottyReplDriver.compile(DottyReplDriver.scala:321)\n\tat replpp.DottyReplDriver.interpret(DottyReplDriver.scala:280)\n\tat replpp.ReplDriverBase.interpretInput(ReplDriverBase.scala:49)\n\tat replpp.server.ReplDriver.execute(EmbeddedRepl.scala:89)\n\tat replpp.server.EmbeddedRepl.<init>(EmbeddedRepl.scala:30)\n\tat replpp.server.ReplServer$.startHttpServer(ReplServer.scala:27)\n\tat io.joern.console.ServerHandling.startHttpServer(BridgeBase.scala:483)\n\tat io.joern.console.ServerHandling.startHttpServer$(BridgeBase.scala:464)\n\tat io.joern.joerncli.console.ReplBridge$.startHttpServer(ReplBridge.scala:5)\n\tat io.joern.console.BridgeBase.run(BridgeBase.scala:239)\n\tat io.joern.console.BridgeBase.run$(BridgeBase.scala:55)\n\tat io.joern.joerncli.console.ReplBridge$.run(ReplBridge.scala:5)\n\tat io.joern.joerncli.console.ReplBridge$.main(ReplBridge.scala:10)\n\tat io.joern.joerncli.console.ReplBridge.main(ReplBridge.scala)\nCaused by: java.net.UnknownHostException: fe09bc0236a4: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 51 more\nSep 14, 2026 11:13:49 AM org.jline.utils.Log logr\nWARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)\nSep 14, 2026 11:13:49 AM org.jline.utils.Log logr\nWARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)\nOUSAST_READY\nCreating project `cpg.bin` for CPG at `/tmp/session-probe-8hw4bxz9/cpg.bin`\nCreating working copy of CPG to be safe\nLoading base CPG from: /tmp/session-probe-8hw4bxz9/server/workspace/cpg.bin/cpg.bin.tmp\nOverlay dataflowOss already exists - skipping\nThe graph has been modified. You may want to use the `save` command to persist changes to disk. All changes will also be saved collectively on exit\n---OUSAST-CPG-BEGIN---\n{\"files\":\"44\",\"methods\":\"579\",\"calls\":\"4134\",\"file_names\":[\"Gruntfile.js\",\"app/assets/js/chart/chart-data-morris.js\",\"app/assets/js/tour/redirects-steps.js\",\"app/data/allocations-dao.js\",\"app/data/benefits-dao.js\",\"app/data/contributions-dao.js\",\"app/data/memos-dao.js\",\"app/data/profile-dao.js\",\"app/data/research-dao.js\",\"app/data/user-dao.js\",\"app/routes/allocations.js\",\"app/routes/benefits.js\",\"app/routes/contributions.js\",\"app/routes/error.js\",\"app/routes/index.js\",\"app/routes/memos.js\",\"app/routes/profile.js\",\"app/routes/research.js\",\"app/routes/session.js\",\"app/routes/tutorial.js\",\"artifacts/db-reset.js\",\"config/config.js\",\"config/env/all.js\",\"config/env/development.js\",\"config/env/production.js\",\"config/env/test.js\",\"server.js\",\"test/e2e/integration/allocations_spec.js\",\"test/e2e/integration/benefits_spec.js\",\"test/e2e/integration/contributions_spec.js\",\"test/e2e/integration/dashboard_spec.js\",\"test/e2e/integration/general_spec.js\",\"test/e2e/integration/learn_spec.js\",\"test/e2e/integration/login_spec.js\",\"test/e2e/integration/logout_spec.js\",\"test/e2e/integration/memos_spec.js\",\"test/e2e/integration/profile_spec.js\",\"test/e2e/integration/research_spec.js\",\"test/e2e/integration/signup_spec.js\",\"test/e2e/integration/tutorial_spec.js\",\"test/e2e/plugins/index.js\",\"test/e2e/support/commands.js\",\"test/e2e/support/index.js\",\"test/security/profile-test.js\"],\"overlays\":\"base,controlflow,typerel,callgraph,dataflowOss\"}\n---OUSAST-CPG-END---\n"
},
{
"id": "v2",
"instrument": "\"\"\"Isolated lifecycle experiment; not a production backend or hook benchmark.\"\"\"\nimport hashlib\nimport json\nimport os\nfrom pathlib import Path\nimport signal\nimport socket\nimport subprocess\nimport tempfile\nimport time\nimport urllib.error\nimport urllib.request\n\nfrom openultrasast.cpg.backend import extract_payload\n\nOUT = Path('/results/session-probe-v2')\nOUT.mkdir(exist_ok=False)\nROOT = Path('/results/post-census-runtime-v1')\nrecord = {'schema_version': 1, 'purpose': 'census lifecycle only; no detector or hook qualification', 'requests': []}\n\ndef save():\n (OUT / 'result.json').write_text(json.dumps(record, indent=2) + '\\n')\n\ndef query(code, timeout=90):\n start = time.monotonic()\n request = urllib.request.Request('http://127.0.0.1:18081/query-sync', data=json.dumps({'query': code}).encode(), headers={'Content-Type': 'application/json'})\n with urllib.request.urlopen(request, timeout=timeout) as response:\n data = json.load(response)\n record['requests'].append({'seconds': time.monotonic()-start, 'query': code, 'response': data})\n save()\n assert data.get('success') is True or data.get('success') == 'true', data\n return data\n\nproc = None\ntry:\n graph = None\n for manifest in sorted((ROOT / 'artifacts').glob('*/manifest.json')):\n data = json.loads(manifest.read_bytes())\n meta = data.get('metadata', {})\n if meta.get('source_bytes') == 95411 and meta.get('completeness') == 'complete':\n graph = manifest.parent / 'payload'\n graph_bytes = graph.read_bytes()\n assert hashlib.sha256(graph_bytes).hexdigest() == data['sha256'] == meta['graph_digest']\n record['graph_manifest'] = data\n break\n assert graph is not None, 'no verified Node head graph'\n source = Path('/cache/nodegoat/c5cb68a7084e/app/routes/contributions.js')\n raw = source.read_bytes()\n assert raw\n record['input_probe'] = {'path': str(source), 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()}\n source_root = source.parents[2]\n sources = [(name, (source_root / name).read_bytes()) for name in record['graph_manifest']['metadata']['source_paths']]\n record['source_receipts'] = [{'path': name, 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()} for name, raw in sources]\n assert sum(len(raw) for _, raw in sources) == 95411\n record['graph_bytes'] = len(graph_bytes)\n print(json.dumps(record['input_probe']), flush=True)\n with tempfile.TemporaryDirectory(prefix='session-probe-') as scratch_name:\n scratch = Path(scratch_name)\n target = scratch / 'cpg.bin'\n target.write_bytes(graph_bytes)\n server_scratch = scratch / 'server'\n server_scratch.mkdir()\n env = dict(os.environ, JAVA_TOOL_OPTIONS='-Xmx1536m')\n start = time.monotonic()\n baseline = subprocess.run(['joern', '--script', '/app/src/openultrasast/cpg/queries/census.sc', '--param', f'cpgFile={target}'], cwd=scratch, env=env, capture_output=True, text=True, timeout=90)\n record['disposable_census'] = {'seconds': time.monotonic()-start, 'exit_code': baseline.returncode, 'stdout': baseline.stdout, 'stderr': baseline.stderr}\n save()\n assert baseline.returncode == 0, 'baseline process failed'\n expected = extract_payload(baseline.stdout)\n assert isinstance(expected, dict) and int(expected['files']) == 44 and int(expected['methods']) > 0, expected\n target.write_bytes(graph_bytes)\n log = (OUT / 'server.log').open('w')\n start = time.monotonic()\n proc = subprocess.Popen(['joern', '--server', '--server-host', '127.0.0.1', '--server-port', '18081'], cwd=server_scratch, env=env, stdout=log, stderr=subprocess.STDOUT, start_new_session=True)\n while True:\n assert proc.poll() is None, 'server exited during startup'\n try:\n with socket.create_connection(('127.0.0.1', 18081), timeout=0.2):\n pass\n break\n except OSError:\n if time.monotonic()-start > 90:\n raise TimeoutError('server startup')\n time.sleep(0.2)\n query('println(\"OUSAST_READY\")')\n record['server_startup_seconds'] = time.monotonic()-start\n query('importCpg(' + json.dumps(str(target)) + ')')\n for i in range(5):\n output = scratch / f'census-{i}.json'\n nonce = f'{proc.pid}:{i}'\n assert not output.exists()\n value = 'ujson.write(ujson.Obj(\"receipt\" -> ' + json.dumps(nonce) + ', \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\")))'\n query('java.nio.file.Files.writeString(java.nio.file.Path.of(' + json.dumps(str(output)) + '), ' + value + ')')\n actual = json.loads(output.read_bytes())\n record['requests'][-1]['file_receipt'] = actual\n assert isinstance(actual, dict), actual\n assert actual['receipt'] == nonce\n for key in ('files', 'methods', 'calls', 'overlays'):\n assert actual[key] == expected[key], (key, actual, expected)\n assert sorted(actual['file_names']) == sorted(expected['file_names'])\n record['census_equivalent'] = True\n try:\n query('Thread.sleep(10000); println(\"SHOULD_NOT_FINISH\")', timeout=1)\n raise AssertionError('hanging request unexpectedly returned')\n except TimeoutError:\n pass\n start = time.monotonic()\n os.killpg(proc.pid, signal.SIGKILL)\n proc.wait(timeout=2)\n while True:\n try:\n os.killpg(proc.pid, 0)\n except ProcessLookupError:\n break\n if time.monotonic()-start > 2:\n raise AssertionError('process group survived cancellation')\n time.sleep(0.02)\n record['cancellation_seconds'] = time.monotonic()-start\n proc = None\n log.close()\n assert hashlib.sha256(graph.read_bytes()).hexdigest() == record['graph_manifest']['sha256']\n record['status'] = 'PASS_LIFECYCLE_PROBE_ONLY'\nexcept BaseException as exc:\n record['status'] = 'INSTRUMENT_FAILURE'\n record['error'] = repr(exc)\n raise\nfinally:\n if proc is not None and proc.poll() is None:\n os.killpg(proc.pid, signal.SIGKILL)\n proc.wait(timeout=2)\n save()\n",
"instrument_sha256": "db72156f699930f9b86b2c0d16a27e77f518c99ccd31d66dab19e10ff6c65af4",
"result": {
"schema_version": 1,
"purpose": "census lifecycle only; no detector or hook qualification",
"requests": [
{
"seconds": 0.2846673959866166,
"query": "println(\"OUSAST_READY\")",
"response": {
"success": true,
"stdout": "\u001b[33mlazy\u001b[0m \u001b[33mval\u001b[0m \u001b[36mgiven_Colors\u001b[0m: replpp.Colors\n\u001b[33mval\u001b[0m \u001b[36mresolver\u001b[0m: \u001b[32mICallResolver\u001b[0m = io.shiftleft.semanticcpg.language.NoResolve$@1dab94bc\n\u001b[33mval\u001b[0m \u001b[36mfinder\u001b[0m: \u001b[32mNodeExtensionFinder\u001b[0m = io.shiftleft.semanticcpg.language.DefaultNodeExtensionFinder$@61dac810\n\u001b[33mval\u001b[0m \u001b[36msarifConfig\u001b[0m: \u001b[32mSarifConfig\u001b[0m = SarifConfig(\n toolName = \"Joern\",\n toolFullName = Some(value = \"Joern - The Bug Hunter's Workbench\"),\n toolInformationUri = Some(value = https://joern.io),\n organization = Some(value = \"Joern.io\"),\n semanticVersion = None,\n sarifVersion = V2_1_0,\n resultConverter = io.shiftleft.semanticcpg.sarif.v2_1_0.JoernScanResultToSarifConverter@527c79f4,\n customSerializers = List(\n org.json4s.CustomSerializer@79a7e2a8,\n org.json4s.CustomSerializer@44573dd0,\n org.json4s.CustomSerializer@7675a11f,\n org.json4s.CustomSerializer@1b8a4c52,\n org.json4s.CustomSerializer@5d7e4f29,\n org.json4s.CustomSerializer@203a50eb,\n org.json4s.CustomSerializer@7b9c70aa,\n org.json4s.CustomSerializer@32bd5b57,\n org.json4s.CustomSerializer@1d955d2e\n )\n)\n// defined class OptsDynamic\n\u001b[33mval\u001b[0m \u001b[36mopts\u001b[0m: \u001b[32mOptsDynamic\u001b[0m = OptsDynamic@1ed37e51\ndef _diffGraph: DiffGraphBuilder\ndef diffGraph: DiffGraphBuilder\n// defined class OverlaysDynamic\n\u001b[33mval\u001b[0m \u001b[36mrun\u001b[0m: \u001b[32mOverlaysDynamic\u001b[0m = \n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502name \u2502description \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502dumpcpg14 \u2502Dump Code Property Graph (2014) to out/ \u2502\n\u2502dumpcdg \u2502Dump control dependence graph to out/ \u2502\n\u2502scan \u2502Joern Code Scanner \u2502\n\u2502commit \u2502Apply current custom diffgraph \u2502\n\u2502dumpddg \u2502Dump data dependence graphs to out/ \u2502\n\u2502base \u2502base layer (linked frontend CPG) \u2502\n\u2502controlflow \u2502Control flow layer (including dominators and CDG edges)\u2502\n\u2502dumpast \u2502Dump abstract syntax trees to out/ \u2502\n\u2502dumppdg \u2502Dump program dependence graph to out/ \u2502\n\u2502callgraph \u2502Call graph layer \u2502\n\u2502ossdataflow \u2502Layer to support the OSS lightweight data flow tracker \u2502\n\u2502dumpcfg \u2502Dump control flow graph to out/ \u2502\n\u2502typerelations\u2502Type relations layer (hierarchy and aliases) \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n// defined class Helper\n\u001b[33mval\u001b[0m \u001b[36mhelp\u001b[0m: \u001b[32mHelper\u001b[0m = Welcome to the interactive help system. Below you find\na table of all available top-level commands. To get\nmore detailed help on a specific command, just type\n\n`help.<command>`.\n\nTry `help.importCode` to begin with.\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502command \u2502description \u2502example \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502close \u2502Close project by name \u2502close(projectName) \u2502\n\u2502cpg \u2502CPG of the active project \u2502cpg.method.l \u2502\n\u2502delete \u2502Close and remove project from disk \u2502delete(projectName) \u2502\n\u2502exit \u2502Exit the REPL \u2502 \u2502\n\u2502importCode \u2502Create new project from code \u2502importCode(\"example.jar\")\u2502\n\u2502importCpg \u2502Create new project from existing CPG \u2502importCpg(\"cpg.bin.zip\") \u2502\n\u2502open \u2502Open project by name \u2502open(\"projectName\") \u2502\n\u2502openForInputPath\u2502Open project for input path \u2502 \u2502\n\u2502project \u2502Currently active project \u2502project \u2502\n\u2502run \u2502Run analyzer on active CPG \u2502run.securityprofile \u2502\n\u2502save \u2502Write all changes to disk \u2502save \u2502\n\u2502switchWorkspace \u2502Close current workspace and open a different one\u2502 \u2502\n\u2502workspace \u2502Access to the workspace directory \u2502workspace \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nossDataFlowOptions:\n io.joern.dataflowengineoss.layers.dataflows.OssDataFlowOptions = io.joern.dataflowengineoss.layers.dataflows.OssDataFlowOptions@7019ed73\n",
"uuid": "99fe40be-2b63-4ec5-bbbe-c4fa0d78522d"
}
},
{
"seconds": 3.2794300430687144,
"query": "importCpg(\"/tmp/session-probe-6hk0u5l6/cpg.bin\")",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres0\u001b[0m: \u001b[32mOption\u001b[0m[\u001b[32mCpg\u001b[0m] = Some(value = Cpg[Graph[19863 nodes]])\n",
"uuid": "86ad2255-4d31-4177-b6cd-be86950bbae5"
}
},
{
"seconds": 1.2805163289885968,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-6hk0u5l6/census-0.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:0\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres1\u001b[0m: java.nio.file.Path = /tmp/session-probe-6hk0u5l6/census-0.json\n",
"uuid": "24196931-f85b-4e66-96ff-714ca7b9cce2"
},
"file_receipt": {
"receipt": "108:0",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.39168700901791453,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-6hk0u5l6/census-1.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:1\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres2\u001b[0m: java.nio.file.Path = /tmp/session-probe-6hk0u5l6/census-1.json\n",
"uuid": "c0011f7c-c970-4f64-a0ac-62174a0e4fba"
},
"file_receipt": {
"receipt": "108:1",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.22911434608977288,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-6hk0u5l6/census-2.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:2\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres3\u001b[0m: java.nio.file.Path = /tmp/session-probe-6hk0u5l6/census-2.json\n",
"uuid": "593ec3a1-b391-4687-9d01-d673cbf1e922"
},
"file_receipt": {
"receipt": "108:2",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.20450362900737673,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-6hk0u5l6/census-3.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:3\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres4\u001b[0m: java.nio.file.Path = /tmp/session-probe-6hk0u5l6/census-3.json\n",
"uuid": "f5627e1b-ab8f-48d4-b77e-b45e81ad0b33"
},
"file_receipt": {
"receipt": "108:3",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.22233186708763242,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-6hk0u5l6/census-4.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:4\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres5\u001b[0m: java.nio.file.Path = /tmp/session-probe-6hk0u5l6/census-4.json\n",
"uuid": "d1c63313-c38a-42a0-87c4-8671c54fe0a6"
},
"file_receipt": {
"receipt": "108:4",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
}
],
"graph_manifest": {
"complete": true,
"key": "07185611945033bf128c962ae71a70f1196345f9525ebaead472f62d6f045028",
"metadata": {
"census": {
"calls": 4134,
"files": 44,
"methods": 579
},
"completeness": "complete",
"diagnostics": [],
"graph_digest": "ecb311e3fe1fe500d8f6269916d5cf835a44db25318449750583fc8f3e6de462",
"identity": {
"declarations_digest": "285af83095d6e43bbb0b995cd46e7b65a109d715ec6b6a5fd4367dcea8c406fd",
"engine_version": "4.0.625",
"exclusions_digest": "eab75a523f55acc077e1024b46236ab585ee9e79a4e7563b0204dcab4fcc6183",
"frontend": "jssrc2cpg",
"frontend_options": [
[
"include_tests",
"True"
],
[
"include_build_configs",
"True"
],
[
"installation",
"c9860f63eb08efd404b60cd7d23c65798028f8684e915fe7472e1dc4763a23e5"
],
[
"java_options",
"default"
]
],
"frontend_version": "4.0.625",
"language": "javascript",
"overlay_options": [
[
"implementation",
"b1b5bf7b5609ea930a06addb404840b12b7c0e36cdd083ea0d11ede01f8f6647"
]
],
"overlay_semantics": [
"dataflowOss"
],
"source_digest": "dea287382ca0cf5074b9e85c7823792738bbc5c8bb8a3e4ed06ebc0a2cc13149",
"unit": "repository"
},
"source_bytes": 95411,
"source_paths": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"source_root": "/tmp/ousast-input-iczx7vvd"
},
"receipt": "297ca4188e5a0a00229097d4a9a44d8978a7be659890b900ae976186dbcf15dd",
"sha256": "ecb311e3fe1fe500d8f6269916d5cf835a44db25318449750583fc8f3e6de462",
"size": 727481,
"version": 1
},
"input_probe": {
"path": "/cache/nodegoat/c5cb68a7084e/app/routes/contributions.js",
"bytes": 2485,
"sha256": "196bdeaa22da4cfe8a851b1b932710b2fcedd21f14ed75d70b739ba759a01003"
},
"source_receipts": [
{
"path": "Gruntfile.js",
"bytes": 6359,
"sha256": "2e9fd032cbc6a5594d90c76448ce37b98be0f0d3ef7a66e6b4aabbc674293af6"
},
{
"path": "app/assets/js/chart/chart-data-morris.js",
"bytes": 3718,
"sha256": "a5511ae7a5614f9f2dd89625bce94d6b794a675dae4987259d087a8d2e8e2693"
},
{
"path": "app/assets/js/tour/redirects-steps.js",
"bytes": 648,
"sha256": "16babf9b88e186cb4e2a7ab896a78494f6d4a88737c903eb1e23e35579ac651b"
},
{
"path": "app/data/allocations-dao.js",
"bytes": 3928,
"sha256": "c6aebc971ce7f9c8b2a8f0864a500497de25a3ea0318ef94ecd57cadf6e789ea"
},
{
"path": "app/data/benefits-dao.js",
"bytes": 1240,
"sha256": "0ac30b097e016eeffb10e1c72d9c657153d3ce67e7b3f4756b2cb127d94181d7"
},
{
"path": "app/data/contributions-dao.js",
"bytes": 2791,
"sha256": "363065e8b3c32f0997ce2dcb17341eb3e40b7f43b00b72c576dfebf73f551c85"
},
{
"path": "app/data/memos-dao.js",
"bytes": 1107,
"sha256": "6582195bd913c2d60d63e9b519f9508a3319e07e158fd0c6f31dcbc50a80e8cf"
},
{
"path": "app/data/profile-dao.js",
"bytes": 3506,
"sha256": "80429a5df579867401a59b1cbd9c1d74f88d5548780fbd909e9504876c1968cc"
},
{
"path": "app/data/research-dao.js",
"bytes": 750,
"sha256": "f1cf267e56080fc94943ad7d83802b4e9db9420687fac49f84dbc0e45dfa88ac"
},
{
"path": "app/data/user-dao.js",
"bytes": 4078,
"sha256": "577fb140933a50e010a4bbcb74e975f678d7f3a989467e4d113926f35c042e64"
},
{
"path": "app/routes/allocations.js",
"bytes": 915,
"sha256": "b5b7da1a6b595799cf6cca402756dd9a3f6e2a8b5d712c1989d23b7f01f349a6"
},
{
"path": "app/routes/benefits.js",
"bytes": 1340,
"sha256": "bc5516b35ba21884915b88b3f810441e616f068d8a0cf756b143185d5aeda2d2"
},
{
"path": "app/routes/contributions.js",
"bytes": 2485,
"sha256": "196bdeaa22da4cfe8a851b1b932710b2fcedd21f14ed75d70b739ba759a01003"
},
{
"path": "app/routes/error.js",
"bytes": 281,
"sha256": "452dc61f9f06a31ea4305edb2e573fc940428615841533b59320792fcfb6fb3f"
},
{
"path": "app/routes/index.js",
"bytes": 3149,
"sha256": "3ab970b2888bc1501515db24a83cc7851ac9c09d00948c652300401515185eb5"
},
{
"path": "app/routes/memos.js",
"bytes": 824,
"sha256": "c3543f308f24083436e25e3a72210ad31e611db5c93268d8dd0e340095e132c9"
},
{
"path": "app/routes/profile.js",
"bytes": 3633,
"sha256": "18575bf3d3710906e57e09e6036e40fd3986bdcca436ed0e2a2875b41f0f2aca"
},
{
"path": "app/routes/research.js",
"bytes": 1071,
"sha256": "e399f3c70436fa160f00835626bf50f88980268fcd143436af97c9d2297c1d92"
},
{
"path": "app/routes/session.js",
"bytes": 10199,
"sha256": "e53e38b6eea76b026efaacde07f694e7a2eca005de4083fb74f9393d432a5b25"
},
{
"path": "app/routes/tutorial.js",
"bytes": 637,
"sha256": "502e0b959b37cbc844d15eadd7a78a40b5281155fcf8d532f0e4abdd2fee8eb9"
},
{
"path": "artifacts/db-reset.js",
"bytes": 4183,
"sha256": "df5d947ef23786683ab0d5f3c5ed5ef3f25ab93ce7610448c6db79b446168aa9"
},
{
"path": "config/config.js",
"bytes": 487,
"sha256": "b84b1bf634159caffdef50fe826077e60dbde1e381ceb148ff3b869e789b6962"
},
{
"path": "config/env/all.js",
"bytes": 365,
"sha256": "31a71288f0d830799da9c39e1b1ad10b0e989282bcf9a31bb48f8f618f37f6ad"
},
{
"path": "config/env/development.js",
"bytes": 636,
"sha256": "1829bc509dcc6a6eb58b0eee49901df530b9cceafa2ed37e855beacec4971f08"
},
{
"path": "config/env/production.js",
"bytes": 21,
"sha256": "8222b8169ee86f25cdccd84d340340060ae3f0cff55e2ea9d344d7c332733b71"
},
{
"path": "config/env/test.js",
"bytes": 318,
"sha256": "b48cd5c17fc9639c1c4198fced69b438c2b0c7fe70e80f0113bcd0d86cd583a5"
},
{
"path": "server.js",
"bytes": 4860,
"sha256": "48ec5e8f9668b230caf6af27f4a4ffbdcd8b702b376a6bbcc951217917c6ea2e"
},
{
"path": "test/e2e/integration/allocations_spec.js",
"bytes": 1062,
"sha256": "d345f97bc2c3c9e559d98f3e108ab568303c7509dbe707c4cc49f811d5f94db7"
},
{
"path": "test/e2e/integration/benefits_spec.js",
"bytes": 1228,
"sha256": "e4eb2765b08769e86b140dceee3091a5466da13933400272076b6de693b5cb71"
},
{
"path": "test/e2e/integration/contributions_spec.js",
"bytes": 1160,
"sha256": "8504f4cbbe578b91f112b7effffb0e43823af9648c5b406ded5a0d65fb4bbde3"
},
{
"path": "test/e2e/integration/dashboard_spec.js",
"bytes": 933,
"sha256": "96ef5e6d8b75787ac9a44fcd5f918cd3493680e74c70c45b381fe4416fa7f4f8"
},
{
"path": "test/e2e/integration/general_spec.js",
"bytes": 2044,
"sha256": "5364de581df32c99964f63baa8486fcd32b922c9f327192f3a1e81ca6cd0ceff"
},
{
"path": "test/e2e/integration/learn_spec.js",
"bytes": 471,
"sha256": "05e6bf11c5e773cd22861dbe18bced293024a7400c3a89b2c0e111bb88d8eaa1"
},
{
"path": "test/e2e/integration/login_spec.js",
"bytes": 2377,
"sha256": "e1433dfab270ac3f7b32f4ee904d781c2bb2581804177a0cafc488f6c79efb25"
},
{
"path": "test/e2e/integration/logout_spec.js",
"bytes": 737,
"sha256": "31ebf201e7d899baf8acd1d50c3fc4e42a5636c263982e5e517a1eaf3e35518f"
},
{
"path": "test/e2e/integration/memos_spec.js",
"bytes": 991,
"sha256": "625a08e3c9f80cf46f3fe81c2acde3dc76d955bde10aa7c68498b6830b7a86b4"
},
{
"path": "test/e2e/integration/profile_spec.js",
"bytes": 1509,
"sha256": "e22ce888656d18e020ca2775396e000cc899bdac255a1503f9af2c4ef18ffef0"
},
{
"path": "test/e2e/integration/research_spec.js",
"bytes": 1108,
"sha256": "4e81ed0c2cf42da656217c1e38a35f9257d0a09467ffbe25d9d19930df05ed3a"
},
{
"path": "test/e2e/integration/signup_spec.js",
"bytes": 1734,
"sha256": "27c56206888e1d664f852090ed943dc746638724743f7d5fb12d35e39136d22f"
},
{
"path": "test/e2e/integration/tutorial_spec.js",
"bytes": 1819,
"sha256": "2664d921df2c716695df8c216e93b76a9b09376100ee8bc5c3f4354f0ebdb8a6"
},
{
"path": "test/e2e/plugins/index.js",
"bytes": 788,
"sha256": "1fd870a6602782c27f87cd1aaaae24da269b20408612f718125b4471242f6e83"
},
{
"path": "test/e2e/support/commands.js",
"bytes": 839,
"sha256": "967bdb0f97ec8277d952de4273c1bf2fcc000b1eb08de533a80e34157f65e499"
},
{
"path": "test/e2e/support/index.js",
"bytes": 27,
"sha256": "a74243373740a95e3e3691087776e652ba954fcfd96130c4c374279a7310683d"
},
{
"path": "test/security/profile-test.js",
"bytes": 13055,
"sha256": "17b6d02097d2fdfaebcdae31e70620fe691b5cabbcd99829d7c8d72ac3d4239a"
}
],
"graph_bytes": 727481,
"disposable_census": {
"seconds": 13.442263594013639,
"exit_code": 0,
"stdout": "ERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: 392c66d8f096: 392c66d8f096: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat io.shiftleft.semanticcpg.sarif.SarifSchema$.<clinit>(SarifSchema.scala:10)\n\tat io.shiftleft.semanticcpg.sarif.SarifConfig$.$lessinit$greater$default$8(SarifConfig.scala:38)\n\tat ScalaReplPP$.<clinit>(wrapped-script8217499019605766643.sc:21)\n\tat ScalaReplPP.main(wrapped-script8217499019605766643.sc)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat replpp.scripting.ScriptingDriver.$anonfun$2(ScriptingDriver.scala:60)\n\tat replpp.util.SimpleDriver.compile$$anonfun$1(SimpleDriver.scala:81)\n\tat scala.util.Try$.apply(Try.scala:195)\n\tat replpp.util.SimpleDriver.compile(SimpleDriver.scala:83)\n\tat replpp.scripting.ScriptingDriver.compileAndRun(ScriptingDriver.scala:53)\n\tat replpp.scripting.NonForkingScriptRunner$.exec(NonForkingScriptRunner.scala:48)\n\tat replpp.scripting.NonForkingScriptRunner$.main(NonForkingScriptRunner.scala:21)\n\tat replpp.scripting.NonForkingScriptRunner.main(NonForkingScriptRunner.scala)\nCaused by: java.net.UnknownHostException: 392c66d8f096: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 31 more\n[INFO ] initialising from existing storage (/tmp/session-probe-6hk0u5l6/workspace/cpg.bin/cpg.bin.tmp)\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptInheritanceNamePass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptInheritanceNamePass completed in 54 ms (56% on mutations). 0 + 0 changes committed from 0 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.ConstClosurePass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.ConstClosurePass completed in 198 ms (7% on mutations). 39 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptImportResolverPass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptImportResolverPass completed in 116 ms (11% on mutations). 274 + 0 changes committed from 116 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery completed in 694 ms (8% on mutations). 3130 + 0 changes committed from 44 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery completed in 379 ms (4% on mutations). 3750 + 0 changes committed from 44 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeHintCallLinker\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeHintCallLinker completed in 91 ms (15% on mutations). 272 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.ObjectPropertyCallLinker\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.ObjectPropertyCallLinker completed in 18 ms (10% on mutations). 0 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.passes.callgraph.NaiveCallLinker\n[INFO ] Pass io.joern.x2cpg.passes.callgraph.NaiveCallLinker completed in 16 ms (21% on mutations). 42 + 0 changes committed from 1 parts.\n---OUSAST-CPG-BEGIN---\n{\"files\":\"44\",\"methods\":\"579\",\"calls\":\"4134\",\"file_names\":[\"Gruntfile.js\",\"app/assets/js/chart/chart-data-morris.js\",\"app/assets/js/tour/redirects-steps.js\",\"app/data/allocations-dao.js\",\"app/data/benefits-dao.js\",\"app/data/contributions-dao.js\",\"app/data/memos-dao.js\",\"app/data/profile-dao.js\",\"app/data/research-dao.js\",\"app/data/user-dao.js\",\"app/routes/allocations.js\",\"app/routes/benefits.js\",\"app/routes/contributions.js\",\"app/routes/error.js\",\"app/routes/index.js\",\"app/routes/memos.js\",\"app/routes/profile.js\",\"app/routes/research.js\",\"app/routes/session.js\",\"app/routes/tutorial.js\",\"artifacts/db-reset.js\",\"config/config.js\",\"config/env/all.js\",\"config/env/development.js\",\"config/env/production.js\",\"config/env/test.js\",\"server.js\",\"test/e2e/integration/allocations_spec.js\",\"test/e2e/integration/benefits_spec.js\",\"test/e2e/integration/contributions_spec.js\",\"test/e2e/integration/dashboard_spec.js\",\"test/e2e/integration/general_spec.js\",\"test/e2e/integration/learn_spec.js\",\"test/e2e/integration/login_spec.js\",\"test/e2e/integration/logout_spec.js\",\"test/e2e/integration/memos_spec.js\",\"test/e2e/integration/profile_spec.js\",\"test/e2e/integration/research_spec.js\",\"test/e2e/integration/signup_spec.js\",\"test/e2e/integration/tutorial_spec.js\",\"test/e2e/plugins/index.js\",\"test/e2e/support/commands.js\",\"test/e2e/support/index.js\",\"test/security/profile-test.js\"],\"overlays\":\"base,controlflow,typerel,callgraph,dataflowOss\",\"maxHeapMB\":\"1536\"}\n---OUSAST-CPG-END---\n[INFO ] writing to storage at `/tmp/session-probe-6hk0u5l6/workspace/cpg.bin/cpg.bin.tmp`\n[INFO ] closed graph at /tmp/session-probe-6hk0u5l6/workspace/cpg.bin/cpg.bin.tmp\n",
"stderr": "Picked up JAVA_TOOL_OPTIONS: -Xmx1536m\nPicked up JAVA_TOOL_OPTIONS: -Xmx1536m\nexecuting /app/src/openultrasast/cpg/queries/census.sc with params=Map(cpgFile -> /tmp/session-probe-6hk0u5l6/cpg.bin)\nCreating project `cpg.bin` for CPG at `/tmp/session-probe-6hk0u5l6/cpg.bin`\nCreating working copy of CPG to be safe\nLoading base CPG from: /tmp/session-probe-6hk0u5l6/workspace/cpg.bin/cpg.bin.tmp\nOverlay dataflowOss already exists - skipping\nThe graph has been modified. You may want to use the `save` command to persist changes to disk. All changes will also be saved collectively on exit\nclosing/saving project `cpg.bin`\n"
},
"server_startup_seconds": 11.762742699938826,
"census_equivalent": true,
"cancellation_seconds": 0.04296782903838903,
"status": "PASS_LIFECYCLE_PROBE_ONLY"
},
"server_log": "Picked up JAVA_TOOL_OPTIONS: -Xmx1536m\nERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: 392c66d8f096: 392c66d8f096: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat replpp.server.ReplServer$.<clinit>(ReplServer.scala:16)\n\tat io.joern.console.ServerHandling.startHttpServer(BridgeBase.scala:477)\n\tat io.joern.console.ServerHandling.startHttpServer$(BridgeBase.scala:464)\n\tat io.joern.joerncli.console.ReplBridge$.startHttpServer(ReplBridge.scala:5)\n\tat io.joern.console.BridgeBase.run(BridgeBase.scala:239)\n\tat io.joern.console.BridgeBase.run$(BridgeBase.scala:55)\n\tat io.joern.joerncli.console.ReplBridge$.run(ReplBridge.scala:5)\n\tat io.joern.joerncli.console.ReplBridge$.main(ReplBridge.scala:10)\n\tat io.joern.joerncli.console.ReplBridge.main(ReplBridge.scala)\nCaused by: java.net.UnknownHostException: 392c66d8f096: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 26 more\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.tasty-core_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-core-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.fasterxml.jackson.core.jackson-core-2.17.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.rubysrc2cpg-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.dataflowengineoss-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-formats_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-odb-convert_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.cask_3-0.9.5.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle-core_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.overflowdb-core_3-1.194.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-native_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.castor_3-0.3.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.undertow.undertow-core-2.3.18.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-help_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.xnio.xnio-api-3.8.16.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.msgpack.msgpack-core-0.9.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/commons-io.commons-io-2.22.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.wildfly.client.wildfly-client-config-1.0.1.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.fansi_3-0.5.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.maven.maven-artifact-3.9.16.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph-domain-classes_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-kernel_3-2.9.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-core_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.geny_3-1.1.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp_3.8.3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.ibm.icu.icu4j-61.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.pathikrit.better-files_3-3.9.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-core_3-2.9.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle-implicits_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.ST4-4.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect-kernel_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph-protos_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-xml_3-2.3.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/net.oneandone.reflections8.reflections8-0.11.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.glassfish.javax.json-1.0.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr-runtime-3.5.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-scalap_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.ujson_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-compress-1.26.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-api-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upack_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-exec-1.4.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.versionsort-1.0.11.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.semanticcpg-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/commons-codec.commons-codec-1.17.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-ast_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.reflections.reflections-0.10.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-core_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-repl_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.tototoshi.scala-csv_3-2.0.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.xnio.xnio-nio-3.8.16.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.cask-util_3-0.9.5.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.get-coursier.interface-1.0.28.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-library_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.joern-cli-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.zeroturnaround.zt-zip-1.17.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.requests_3-0.8.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.javassist.javassist-3.28.0-GA.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.console-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-lang3-3.17.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.codehaus.plexus.plexus-utils-3.6.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.virtuslab.using_directives-1.1.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.java-websocket.Java-WebSocket-1.5.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-native-core_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jruby.jruby-complete-9.4.15.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.slf4j.slf4j-api-2.0.17.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-terminal-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-terminal-jni-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.h2database.h2-mvstore-1.4.200.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-sbt.util-interface-1.10.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.thoughtworks.paranamer.paranamer-2.8.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.sourcecode_3-0.4.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect-std_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-server_3.8.3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.luben.zstd-jni-1.5.7-11.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.os-lib_3-0.10.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr4-4.7.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-parallel-collections_3-1.0.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-text-1.13.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.google.code.findbugs.jsr305-3.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-interfaces-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.google.protobuf.protobuf-java-3.20.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.macros-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-native-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-shaded-libs_3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.threads.jboss-threads-3.5.0.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/net.sf.trove4j.core-3.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.abego.treelayout.org.abego.treelayout.core-1.0.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.wildfly.common.wildfly-common-1.5.4.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-reader-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.typesafe.config-1.4.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-asm-9.9.0-scala-1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-compiler_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr4-runtime-4.7.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.pprint_3-0.9.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-sbt.compiler-interface-1.10.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.logging.jboss-logging-3.4.3.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.scopt.scopt_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.spray.spray-json_3-1.3.6.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala-library-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-slf4j2-impl-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.x2cpg-4.0.625.jar\nclasspath entries from config >\n/opt/joern-cli/lib/com.fasterxml.jackson.core.jackson-core-2.17.2.jar\n/opt/joern-cli/lib/com.github.luben.zstd-jni-1.5.7-11.jar\n/opt/joern-cli/lib/com.github.pathikrit.better-files_3-3.9.2.jar\n/opt/joern-cli/lib/com.github.scopt.scopt_3-4.1.0.jar\n/opt/joern-cli/lib/com.github.tototoshi.scala-csv_3-2.0.0.jar\n/opt/joern-cli/lib/com.google.code.findbugs.jsr305-3.0.2.jar\n/opt/joern-cli/lib/com.google.protobuf.protobuf-java-3.20.1.jar\n/opt/joern-cli/lib/com.h2database.h2-mvstore-1.4.200.jar\n/opt/joern-cli/lib/com.ibm.icu.icu4j-61.1.jar\n/opt/joern-cli/lib/com.lihaoyi.cask-util_3-0.9.5.jar\n/opt/joern-cli/lib/com.lihaoyi.cask_3-0.9.5.jar\n/opt/joern-cli/lib/com.lihaoyi.castor_3-0.3.0.jar\n/opt/joern-cli/lib/com.lihaoyi.fansi_3-0.5.1.jar\n/opt/joern-cli/lib/com.lihaoyi.geny_3-1.1.1.jar\n/opt/joern-cli/lib/com.lihaoyi.os-lib_3-0.10.1.jar\n/opt/joern-cli/lib/com.lihaoyi.pprint_3-0.9.3.jar\n/opt/joern-cli/lib/com.lihaoyi.requests_3-0.8.0.jar\n/opt/joern-cli/lib/com.lihaoyi.sourcecode_3-0.4.4.jar\n/opt/joern-cli/lib/com.lihaoyi.ujson_3-4.1.0.jar\n/opt/joern-cli/lib/com.lihaoyi.upack_3-4.0.2.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle-core_3-4.1.0.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle-implicits_3-4.0.2.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle_3-4.0.2.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-server_3.8.3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-shaded-libs_3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp_3.8.3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.versionsort-1.0.11.jar\n/opt/joern-cli/lib/com.thoughtworks.paranamer.paranamer-2.8.jar\n/opt/joern-cli/lib/com.typesafe.config-1.4.3.jar\n/opt/joern-cli/lib/commons-codec.commons-codec-1.17.0.jar\n/opt/joern-cli/lib/commons-io.commons-io-2.22.0.jar\n/opt/joern-cli/lib/io.get-coursier.interface-1.0.28.jar\n/opt/joern-cli/lib/io.joern.console-4.0.625.jar\n/opt/joern-cli/lib/io.joern.dataflowengineoss-4.0.625.jar\n/opt/joern-cli/lib/io.joern.flatgraph-core_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-formats_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-help_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-odb-convert_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.joern-cli-4.0.625.jar\n/opt/joern-cli/lib/io.joern.macros-4.0.625.jar\n/opt/joern-cli/lib/io.joern.rubysrc2cpg-4.0.625.jar\n/opt/joern-cli/lib/io.joern.semanticcpg-4.0.625.jar\n/opt/joern-cli/lib/io.joern.x2cpg-4.0.625.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph-domain-classes_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph-protos_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.overflowdb-core_3-1.194.jar\n/opt/joern-cli/lib/io.spray.spray-json_3-1.3.6.jar\n/opt/joern-cli/lib/io.undertow.undertow-core-2.3.18.Final.jar\n/opt/joern-cli/lib/net.oneandone.reflections8.reflections8-0.11.7.jar\n/opt/joern-cli/lib/net.sf.trove4j.core-3.1.0.jar\n/opt/joern-cli/lib/org.abego.treelayout.org.abego.treelayout.core-1.0.3.jar\n/opt/joern-cli/lib/org.antlr.ST4-4.1.jar\n/opt/joern-cli/lib/org.antlr.antlr-runtime-3.5.2.jar\n/opt/joern-cli/lib/org.antlr.antlr4-4.7.2.jar\n/opt/joern-cli/lib/org.antlr.antlr4-runtime-4.7.2.jar\n/opt/joern-cli/lib/org.apache.commons.commons-compress-1.26.2.jar\n/opt/joern-cli/lib/org.apache.commons.commons-exec-1.4.0.jar\n/opt/joern-cli/lib/org.apache.commons.commons-lang3-3.17.0.jar\n/opt/joern-cli/lib/org.apache.commons.commons-text-1.13.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-api-2.20.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-core-2.20.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-slf4j2-impl-2.20.0.jar\n/opt/joern-cli/lib/org.apache.maven.maven-artifact-3.9.16.jar\n/opt/joern-cli/lib/org.codehaus.plexus.plexus-utils-3.6.1.jar\n/opt/joern-cli/lib/org.glassfish.javax.json-1.0.4.jar\n/opt/joern-cli/lib/org.java-websocket.Java-WebSocket-1.5.3.jar\n/opt/joern-cli/lib/org.javassist.javassist-3.28.0-GA.jar\n/opt/joern-cli/lib/org.jboss.logging.jboss-logging-3.4.3.Final.jar\n/opt/joern-cli/lib/org.jboss.threads.jboss-threads-3.5.0.Final.jar\n/opt/joern-cli/lib/org.jboss.xnio.xnio-api-3.8.16.Final.jar\n/opt/joern-cli/lib/org.jboss.xnio.xnio-nio-3.8.16.Final.jar\n/opt/joern-cli/lib/org.jline.jline-native-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-reader-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-terminal-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-terminal-jni-3.29.0.jar\n/opt/joern-cli/lib/org.jruby.jruby-complete-9.4.15.0.jar\n/opt/joern-cli/lib/org.json4s.json4s-ast_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-core_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-native-core_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-native_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-scalap_3-4.0.7.jar\n/opt/joern-cli/lib/org.msgpack.msgpack-core-0.9.1.jar\n/opt/joern-cli/lib/org.reflections.reflections-0.10.2.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-asm-9.9.0-scala-1.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-parallel-collections_3-1.0.4.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-xml_3-2.3.0.jar\n/opt/joern-cli/lib/org.scala-lang.scala-library-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-compiler_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-interfaces-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-library_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-repl_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.tasty-core_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-sbt.compiler-interface-1.10.7.jar\n/opt/joern-cli/lib/org.scala-sbt.util-interface-1.10.7.jar\n/opt/joern-cli/lib/org.slf4j.slf4j-api-2.0.17.jar\n/opt/joern-cli/lib/org.typelevel.cats-core_3-2.9.0.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect-kernel_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect-std_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-kernel_3-2.9.0.jar\n/opt/joern-cli/lib/org.virtuslab.using_directives-1.1.4.jar\n/opt/joern-cli/lib/org.wildfly.client.wildfly-client-config-1.0.1.Final.jar\n/opt/joern-cli/lib/org.wildfly.common.wildfly-common-1.5.4.Final.jar\n/opt/joern-cli/lib/org.zeroturnaround.zt-zip-1.17.jar\n< classpath entries from config\nERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: 392c66d8f096: 392c66d8f096: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat io.shiftleft.semanticcpg.sarif.SarifSchema$.<clinit>(SarifSchema.scala:10)\n\tat io.shiftleft.semanticcpg.sarif.SarifConfig$.$lessinit$greater$default$8(SarifConfig.scala:38)\n\tat rs$line$1$.<clinit>(rs$line$1:14)\n\tat rs$line$1.help(rs$line$1)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat replpp.Rendering.$anonfun$4(Rendering.scala:102)\n\tat scala.Option.flatMap(Option.scala:285)\n\tat replpp.Rendering.valueOf(Rendering.scala:102)\n\tat replpp.Rendering.renderVal(Rendering.scala:142)\n\tat replpp.DottyReplDriver.$anonfun$8(DottyReplDriver.scala:397)\n\tat scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)\n\tat scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)\n\tat scala.collection.immutable.List.foreach(List.scala:327)\n\tat replpp.DottyReplDriver.extractAndFormatMembers$1(DottyReplDriver.scala:397)\n\tat replpp.DottyReplDriver.renderDefinitions$$anonfun$2(DottyReplDriver.scala:435)\n\tat scala.Option.map(Option.scala:244)\n\tat replpp.DottyReplDriver.renderDefinitions(DottyReplDriver.scala:434)\n\tat replpp.DottyReplDriver.compile$$anonfun$2(DottyReplDriver.scala:339)\n\tat scala.util.Either.fold(Either.scala:199)\n\tat replpp.DottyReplDriver.compile(DottyReplDriver.scala:321)\n\tat replpp.DottyReplDriver.interpret(DottyReplDriver.scala:280)\n\tat replpp.ReplDriverBase.interpretInput(ReplDriverBase.scala:49)\n\tat replpp.server.ReplDriver.execute(EmbeddedRepl.scala:89)\n\tat replpp.server.EmbeddedRepl.<init>(EmbeddedRepl.scala:30)\n\tat replpp.server.ReplServer$.startHttpServer(ReplServer.scala:27)\n\tat io.joern.console.ServerHandling.startHttpServer(BridgeBase.scala:483)\n\tat io.joern.console.ServerHandling.startHttpServer$(BridgeBase.scala:464)\n\tat io.joern.joerncli.console.ReplBridge$.startHttpServer(ReplBridge.scala:5)\n\tat io.joern.console.BridgeBase.run(BridgeBase.scala:239)\n\tat io.joern.console.BridgeBase.run$(BridgeBase.scala:55)\n\tat io.joern.joerncli.console.ReplBridge$.run(ReplBridge.scala:5)\n\tat io.joern.joerncli.console.ReplBridge$.main(ReplBridge.scala:10)\n\tat io.joern.joerncli.console.ReplBridge.main(ReplBridge.scala)\nCaused by: java.net.UnknownHostException: 392c66d8f096: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 51 more\nSep 14, 2026 11:15:11 AM org.jline.utils.Log logr\nWARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)\nSep 14, 2026 11:15:11 AM org.jline.utils.Log logr\nWARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)\nOUSAST_READY\nCreating project `cpg.bin` for CPG at `/tmp/session-probe-6hk0u5l6/cpg.bin`\nCreating working copy of CPG to be safe\nLoading base CPG from: /tmp/session-probe-6hk0u5l6/server/workspace/cpg.bin/cpg.bin.tmp\nOverlay dataflowOss already exists - skipping\nThe graph has been modified. You may want to use the `save` command to persist changes to disk. All changes will also be saved collectively on exit\n"
},
{
"id": "v3",
"instrument": "\"\"\"Isolated lifecycle experiment; not a production backend or hook benchmark.\"\"\"\nimport hashlib\nimport json\nimport os\nfrom pathlib import Path\nimport signal\nimport socket\nimport subprocess\nimport tempfile\nimport time\nimport urllib.error\nimport urllib.request\n\nfrom openultrasast.cpg.backend import extract_payload\n\nOUT = Path('/results/session-probe-v3')\nOUT.mkdir(exist_ok=False)\nROOT = Path('/results/post-census-runtime-v1')\nrecord = {'schema_version': 1, 'purpose': 'census lifecycle only; no detector or hook qualification', 'requests': []}\n\ndef save():\n (OUT / 'result.json').write_text(json.dumps(record, indent=2) + '\\n')\n\ndef query(code, timeout=90):\n start = time.monotonic()\n request = urllib.request.Request('http://127.0.0.1:18081/query-sync', data=json.dumps({'query': code}).encode(), headers={'Content-Type': 'application/json'})\n with urllib.request.urlopen(request, timeout=timeout) as response:\n data = json.load(response)\n record['requests'].append({'seconds': time.monotonic()-start, 'query': code, 'response': data})\n save()\n assert data.get('success') is True or data.get('success') == 'true', data\n return data\n\nproc = None\ntry:\n graph = None\n for manifest in sorted((ROOT / 'artifacts').glob('*/manifest.json')):\n data = json.loads(manifest.read_bytes())\n meta = data.get('metadata', {})\n if meta.get('source_bytes') == 95411 and meta.get('completeness') == 'complete':\n graph = manifest.parent / 'payload'\n graph_bytes = graph.read_bytes()\n assert hashlib.sha256(graph_bytes).hexdigest() == data['sha256'] == meta['graph_digest']\n record['graph_manifest'] = data\n break\n assert graph is not None, 'no verified Node head graph'\n source = Path('/cache/nodegoat/c5cb68a7084e/app/routes/contributions.js')\n raw = source.read_bytes()\n assert raw\n record['input_probe'] = {'path': str(source), 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()}\n source_root = source.parents[2]\n sources = [(name, (source_root / name).read_bytes()) for name in record['graph_manifest']['metadata']['source_paths']]\n record['source_receipts'] = [{'path': name, 'bytes': len(raw), 'sha256': hashlib.sha256(raw).hexdigest()} for name, raw in sources]\n assert sum(len(raw) for _, raw in sources) == 95411\n record['graph_bytes'] = len(graph_bytes)\n print(json.dumps(record['input_probe']), flush=True)\n with tempfile.TemporaryDirectory(prefix='session-probe-') as scratch_name:\n scratch = Path(scratch_name)\n target = scratch / 'cpg.bin'\n target.write_bytes(graph_bytes)\n server_scratch = scratch / 'server'\n server_scratch.mkdir()\n env = dict(os.environ, JAVA_TOOL_OPTIONS='-Xmx1536m')\n start = time.monotonic()\n baseline = subprocess.run(['joern', '--script', '/app/src/openultrasast/cpg/queries/census.sc', '--param', f'cpgFile={target}'], cwd=scratch, env=env, capture_output=True, text=True, timeout=90)\n record['disposable_census'] = {'seconds': time.monotonic()-start, 'exit_code': baseline.returncode, 'stdout': baseline.stdout, 'stderr': baseline.stderr}\n save()\n assert baseline.returncode == 0, 'baseline process failed'\n expected = extract_payload(baseline.stdout)\n assert isinstance(expected, dict) and int(expected['files']) == 44 and int(expected['methods']) > 0, expected\n target.write_bytes(graph_bytes)\n log = (OUT / 'server.log').open('w')\n start = time.monotonic()\n proc = subprocess.Popen(['joern', '--server', '--server-host', '127.0.0.1', '--server-port', '18081'], cwd=server_scratch, env=env, stdout=log, stderr=subprocess.STDOUT, start_new_session=True)\n while True:\n assert proc.poll() is None, 'server exited during startup'\n try:\n with socket.create_connection(('127.0.0.1', 18081), timeout=0.2):\n pass\n break\n except OSError:\n if time.monotonic()-start > 90:\n raise TimeoutError('server startup')\n time.sleep(0.2)\n query('println(\"OUSAST_READY\")')\n record['server_startup_seconds'] = time.monotonic()-start\n query('importCpg(' + json.dumps(str(target)) + ')')\n for i in range(5):\n output = scratch / f'census-{i}.json'\n nonce = f'{proc.pid}:{i}'\n assert not output.exists()\n value = 'ujson.write(ujson.Obj(\"receipt\" -> ' + json.dumps(nonce) + ', \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\")))'\n query('java.nio.file.Files.writeString(java.nio.file.Path.of(' + json.dumps(str(output)) + '), ' + value + ')')\n actual = json.loads(output.read_bytes())\n record['requests'][-1]['file_receipt'] = actual\n assert isinstance(actual, dict), actual\n assert actual['receipt'] == nonce\n for key in ('files', 'methods', 'calls', 'overlays'):\n assert actual[key] == expected[key], (key, actual, expected)\n assert sorted(actual['file_names']) == sorted(expected['file_names'])\n record['census_equivalent'] = True\n marker = scratch / 'hanging-request-entered'\n query('def ousastHang(): Unit = { java.nio.file.Files.writeString(java.nio.file.Path.of(' + json.dumps(str(marker)) + '), \"entered\"); Thread.sleep(10000) }')\n try:\n query('ousastHang()', timeout=1)\n raise AssertionError('hanging request unexpectedly returned')\n except TimeoutError:\n pass\n assert marker.read_text() == 'entered', 'request timed out before entering the hanging operation'\n record['hanging_request_entered'] = True\n start = time.monotonic()\n os.killpg(proc.pid, signal.SIGKILL)\n proc.wait(timeout=2)\n while True:\n try:\n os.killpg(proc.pid, 0)\n except ProcessLookupError:\n break\n if time.monotonic()-start > 2:\n raise AssertionError('process group survived cancellation')\n time.sleep(0.02)\n record['cancellation_seconds'] = time.monotonic()-start\n proc = None\n log.close()\n assert hashlib.sha256(graph.read_bytes()).hexdigest() == record['graph_manifest']['sha256']\n record['status'] = 'PASS_LIFECYCLE_PROBE_ONLY'\nexcept BaseException as exc:\n record['status'] = 'INSTRUMENT_FAILURE'\n record['error'] = repr(exc)\n raise\nfinally:\n if proc is not None and proc.poll() is None:\n os.killpg(proc.pid, signal.SIGKILL)\n proc.wait(timeout=2)\n save()\n",
"instrument_sha256": "91d0fb99fbf5cd456a4487e15806cf752b7528d8135eff5f629ef64736c9b94c",
"result": {
"schema_version": 1,
"purpose": "census lifecycle only; no detector or hook qualification",
"requests": [
{
"seconds": 0.3228343940572813,
"query": "println(\"OUSAST_READY\")",
"response": {
"success": true,
"stdout": "\u001b[33mlazy\u001b[0m \u001b[33mval\u001b[0m \u001b[36mgiven_Colors\u001b[0m: replpp.Colors\n\u001b[33mval\u001b[0m \u001b[36mresolver\u001b[0m: \u001b[32mICallResolver\u001b[0m = io.shiftleft.semanticcpg.language.NoResolve$@7019ed73\n\u001b[33mval\u001b[0m \u001b[36mfinder\u001b[0m: \u001b[32mNodeExtensionFinder\u001b[0m = io.shiftleft.semanticcpg.language.DefaultNodeExtensionFinder$@1dab94bc\n\u001b[33mval\u001b[0m \u001b[36msarifConfig\u001b[0m: \u001b[32mSarifConfig\u001b[0m = SarifConfig(\n toolName = \"Joern\",\n toolFullName = Some(value = \"Joern - The Bug Hunter's Workbench\"),\n toolInformationUri = Some(value = https://joern.io),\n organization = Some(value = \"Joern.io\"),\n semanticVersion = None,\n sarifVersion = V2_1_0,\n resultConverter = io.shiftleft.semanticcpg.sarif.v2_1_0.JoernScanResultToSarifConverter@2b7e9d48,\n customSerializers = List(\n org.json4s.CustomSerializer@26196172,\n org.json4s.CustomSerializer@79a7e2a8,\n org.json4s.CustomSerializer@44573dd0,\n org.json4s.CustomSerializer@7675a11f,\n org.json4s.CustomSerializer@1b8a4c52,\n org.json4s.CustomSerializer@5d7e4f29,\n org.json4s.CustomSerializer@203a50eb,\n org.json4s.CustomSerializer@7b9c70aa,\n org.json4s.CustomSerializer@32bd5b57\n )\n)\n// defined class OptsDynamic\n\u001b[33mval\u001b[0m \u001b[36mopts\u001b[0m: \u001b[32mOptsDynamic\u001b[0m = OptsDynamic@278133f6\ndef _diffGraph: DiffGraphBuilder\ndef diffGraph: DiffGraphBuilder\n// defined class OverlaysDynamic\n\u001b[33mval\u001b[0m \u001b[36mrun\u001b[0m: \u001b[32mOverlaysDynamic\u001b[0m = \n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502name \u2502description \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502dumpcpg14 \u2502Dump Code Property Graph (2014) to out/ \u2502\n\u2502dumpcdg \u2502Dump control dependence graph to out/ \u2502\n\u2502scan \u2502Joern Code Scanner \u2502\n\u2502commit \u2502Apply current custom diffgraph \u2502\n\u2502dumpddg \u2502Dump data dependence graphs to out/ \u2502\n\u2502base \u2502base layer (linked frontend CPG) \u2502\n\u2502controlflow \u2502Control flow layer (including dominators and CDG edges)\u2502\n\u2502dumpast \u2502Dump abstract syntax trees to out/ \u2502\n\u2502dumppdg \u2502Dump program dependence graph to out/ \u2502\n\u2502callgraph \u2502Call graph layer \u2502\n\u2502ossdataflow \u2502Layer to support the OSS lightweight data flow tracker \u2502\n\u2502dumpcfg \u2502Dump control flow graph to out/ \u2502\n\u2502typerelations\u2502Type relations layer (hierarchy and aliases) \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n// defined class Helper\n\u001b[33mval\u001b[0m \u001b[36mhelp\u001b[0m: \u001b[32mHelper\u001b[0m = Welcome to the interactive help system. Below you find\na table of all available top-level commands. To get\nmore detailed help on a specific command, just type\n\n`help.<command>`.\n\nTry `help.importCode` to begin with.\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502command \u2502description \u2502example \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502close \u2502Close project by name \u2502close(projectName) \u2502\n\u2502cpg \u2502CPG of the active project \u2502cpg.method.l \u2502\n\u2502delete \u2502Close and remove project from disk \u2502delete(projectName) \u2502\n\u2502exit \u2502Exit the REPL \u2502 \u2502\n\u2502importCode \u2502Create new project from code \u2502importCode(\"example.jar\")\u2502\n\u2502importCpg \u2502Create new project from existing CPG \u2502importCpg(\"cpg.bin.zip\") \u2502\n\u2502open \u2502Open project by name \u2502open(\"projectName\") \u2502\n\u2502openForInputPath\u2502Open project for input path \u2502 \u2502\n\u2502project \u2502Currently active project \u2502project \u2502\n\u2502run \u2502Run analyzer on active CPG \u2502run.securityprofile \u2502\n\u2502save \u2502Write all changes to disk \u2502save \u2502\n\u2502switchWorkspace \u2502Close current workspace and open a different one\u2502 \u2502\n\u2502workspace \u2502Access to the workspace directory \u2502workspace \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nossDataFlowOptions:\n io.joern.dataflowengineoss.layers.dataflows.OssDataFlowOptions = io.joern.dataflowengineoss.layers.dataflows.OssDataFlowOptions@641dc91f\n",
"uuid": "0d65a7ae-9825-4917-864c-10ff9ea47c38"
}
},
{
"seconds": 3.6359307559905574,
"query": "importCpg(\"/tmp/session-probe-7zkl39j0/cpg.bin\")",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres0\u001b[0m: \u001b[32mOption\u001b[0m[\u001b[32mCpg\u001b[0m] = Some(value = Cpg[Graph[19863 nodes]])\n",
"uuid": "14091abb-3be2-484e-9e94-8d628a866a10"
}
},
{
"seconds": 1.402274933992885,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-7zkl39j0/census-0.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:0\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres1\u001b[0m: java.nio.file.Path = /tmp/session-probe-7zkl39j0/census-0.json\n",
"uuid": "7931c7ea-0ec0-4014-8b15-d625e534eaec"
},
"file_receipt": {
"receipt": "108:0",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.3387976880185306,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-7zkl39j0/census-1.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:1\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres2\u001b[0m: java.nio.file.Path = /tmp/session-probe-7zkl39j0/census-1.json\n",
"uuid": "659ece83-0bbf-474d-af31-1147ee868998"
},
"file_receipt": {
"receipt": "108:1",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.4674431789899245,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-7zkl39j0/census-2.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:2\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres3\u001b[0m: java.nio.file.Path = /tmp/session-probe-7zkl39j0/census-2.json\n",
"uuid": "bca5b6ec-f56b-4908-b347-34c383ee4c3d"
},
"file_receipt": {
"receipt": "108:2",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.35327990900259465,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-7zkl39j0/census-3.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:3\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres4\u001b[0m: java.nio.file.Path = /tmp/session-probe-7zkl39j0/census-3.json\n",
"uuid": "afbc8aa0-cc74-44cb-8d89-efe13601d9ae"
},
"file_receipt": {
"receipt": "108:3",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.22122467402368784,
"query": "java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-7zkl39j0/census-4.json\"), ujson.write(ujson.Obj(\"receipt\" -> \"108:4\", \"files\" -> cpg.file.size.toString, \"methods\" -> cpg.method.size.toString, \"calls\" -> cpg.call.size.toString, \"file_names\" -> ujson.Arr.from(cpg.file.name.l), \"overlays\" -> cpg.metaData.overlays.l.mkString(\",\"))))",
"response": {
"success": true,
"stdout": "\u001b[33mval\u001b[0m \u001b[36mres5\u001b[0m: java.nio.file.Path = /tmp/session-probe-7zkl39j0/census-4.json\n",
"uuid": "85453705-c0ec-4bf9-a76a-068941baa4df"
},
"file_receipt": {
"receipt": "108:4",
"files": "44",
"methods": "579",
"calls": "4134",
"file_names": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"overlays": "base,controlflow,typerel,callgraph,dataflowOss"
}
},
{
"seconds": 0.05666331492830068,
"query": "def ousastHang(): Unit = { java.nio.file.Files.writeString(java.nio.file.Path.of(\"/tmp/session-probe-7zkl39j0/hanging-request-entered\"), \"entered\"); Thread.sleep(10000) }",
"response": {
"success": true,
"stdout": "def ousastHang(): Unit\n",
"uuid": "8c4d2f12-b2da-4f21-999f-7d6cc6b42431"
}
}
],
"graph_manifest": {
"complete": true,
"key": "07185611945033bf128c962ae71a70f1196345f9525ebaead472f62d6f045028",
"metadata": {
"census": {
"calls": 4134,
"files": 44,
"methods": 579
},
"completeness": "complete",
"diagnostics": [],
"graph_digest": "ecb311e3fe1fe500d8f6269916d5cf835a44db25318449750583fc8f3e6de462",
"identity": {
"declarations_digest": "285af83095d6e43bbb0b995cd46e7b65a109d715ec6b6a5fd4367dcea8c406fd",
"engine_version": "4.0.625",
"exclusions_digest": "eab75a523f55acc077e1024b46236ab585ee9e79a4e7563b0204dcab4fcc6183",
"frontend": "jssrc2cpg",
"frontend_options": [
[
"include_tests",
"True"
],
[
"include_build_configs",
"True"
],
[
"installation",
"c9860f63eb08efd404b60cd7d23c65798028f8684e915fe7472e1dc4763a23e5"
],
[
"java_options",
"default"
]
],
"frontend_version": "4.0.625",
"language": "javascript",
"overlay_options": [
[
"implementation",
"b1b5bf7b5609ea930a06addb404840b12b7c0e36cdd083ea0d11ede01f8f6647"
]
],
"overlay_semantics": [
"dataflowOss"
],
"source_digest": "dea287382ca0cf5074b9e85c7823792738bbc5c8bb8a3e4ed06ebc0a2cc13149",
"unit": "repository"
},
"source_bytes": 95411,
"source_paths": [
"Gruntfile.js",
"app/assets/js/chart/chart-data-morris.js",
"app/assets/js/tour/redirects-steps.js",
"app/data/allocations-dao.js",
"app/data/benefits-dao.js",
"app/data/contributions-dao.js",
"app/data/memos-dao.js",
"app/data/profile-dao.js",
"app/data/research-dao.js",
"app/data/user-dao.js",
"app/routes/allocations.js",
"app/routes/benefits.js",
"app/routes/contributions.js",
"app/routes/error.js",
"app/routes/index.js",
"app/routes/memos.js",
"app/routes/profile.js",
"app/routes/research.js",
"app/routes/session.js",
"app/routes/tutorial.js",
"artifacts/db-reset.js",
"config/config.js",
"config/env/all.js",
"config/env/development.js",
"config/env/production.js",
"config/env/test.js",
"server.js",
"test/e2e/integration/allocations_spec.js",
"test/e2e/integration/benefits_spec.js",
"test/e2e/integration/contributions_spec.js",
"test/e2e/integration/dashboard_spec.js",
"test/e2e/integration/general_spec.js",
"test/e2e/integration/learn_spec.js",
"test/e2e/integration/login_spec.js",
"test/e2e/integration/logout_spec.js",
"test/e2e/integration/memos_spec.js",
"test/e2e/integration/profile_spec.js",
"test/e2e/integration/research_spec.js",
"test/e2e/integration/signup_spec.js",
"test/e2e/integration/tutorial_spec.js",
"test/e2e/plugins/index.js",
"test/e2e/support/commands.js",
"test/e2e/support/index.js",
"test/security/profile-test.js"
],
"source_root": "/tmp/ousast-input-iczx7vvd"
},
"receipt": "297ca4188e5a0a00229097d4a9a44d8978a7be659890b900ae976186dbcf15dd",
"sha256": "ecb311e3fe1fe500d8f6269916d5cf835a44db25318449750583fc8f3e6de462",
"size": 727481,
"version": 1
},
"input_probe": {
"path": "/cache/nodegoat/c5cb68a7084e/app/routes/contributions.js",
"bytes": 2485,
"sha256": "196bdeaa22da4cfe8a851b1b932710b2fcedd21f14ed75d70b739ba759a01003"
},
"source_receipts": [
{
"path": "Gruntfile.js",
"bytes": 6359,
"sha256": "2e9fd032cbc6a5594d90c76448ce37b98be0f0d3ef7a66e6b4aabbc674293af6"
},
{
"path": "app/assets/js/chart/chart-data-morris.js",
"bytes": 3718,
"sha256": "a5511ae7a5614f9f2dd89625bce94d6b794a675dae4987259d087a8d2e8e2693"
},
{
"path": "app/assets/js/tour/redirects-steps.js",
"bytes": 648,
"sha256": "16babf9b88e186cb4e2a7ab896a78494f6d4a88737c903eb1e23e35579ac651b"
},
{
"path": "app/data/allocations-dao.js",
"bytes": 3928,
"sha256": "c6aebc971ce7f9c8b2a8f0864a500497de25a3ea0318ef94ecd57cadf6e789ea"
},
{
"path": "app/data/benefits-dao.js",
"bytes": 1240,
"sha256": "0ac30b097e016eeffb10e1c72d9c657153d3ce67e7b3f4756b2cb127d94181d7"
},
{
"path": "app/data/contributions-dao.js",
"bytes": 2791,
"sha256": "363065e8b3c32f0997ce2dcb17341eb3e40b7f43b00b72c576dfebf73f551c85"
},
{
"path": "app/data/memos-dao.js",
"bytes": 1107,
"sha256": "6582195bd913c2d60d63e9b519f9508a3319e07e158fd0c6f31dcbc50a80e8cf"
},
{
"path": "app/data/profile-dao.js",
"bytes": 3506,
"sha256": "80429a5df579867401a59b1cbd9c1d74f88d5548780fbd909e9504876c1968cc"
},
{
"path": "app/data/research-dao.js",
"bytes": 750,
"sha256": "f1cf267e56080fc94943ad7d83802b4e9db9420687fac49f84dbc0e45dfa88ac"
},
{
"path": "app/data/user-dao.js",
"bytes": 4078,
"sha256": "577fb140933a50e010a4bbcb74e975f678d7f3a989467e4d113926f35c042e64"
},
{
"path": "app/routes/allocations.js",
"bytes": 915,
"sha256": "b5b7da1a6b595799cf6cca402756dd9a3f6e2a8b5d712c1989d23b7f01f349a6"
},
{
"path": "app/routes/benefits.js",
"bytes": 1340,
"sha256": "bc5516b35ba21884915b88b3f810441e616f068d8a0cf756b143185d5aeda2d2"
},
{
"path": "app/routes/contributions.js",
"bytes": 2485,
"sha256": "196bdeaa22da4cfe8a851b1b932710b2fcedd21f14ed75d70b739ba759a01003"
},
{
"path": "app/routes/error.js",
"bytes": 281,
"sha256": "452dc61f9f06a31ea4305edb2e573fc940428615841533b59320792fcfb6fb3f"
},
{
"path": "app/routes/index.js",
"bytes": 3149,
"sha256": "3ab970b2888bc1501515db24a83cc7851ac9c09d00948c652300401515185eb5"
},
{
"path": "app/routes/memos.js",
"bytes": 824,
"sha256": "c3543f308f24083436e25e3a72210ad31e611db5c93268d8dd0e340095e132c9"
},
{
"path": "app/routes/profile.js",
"bytes": 3633,
"sha256": "18575bf3d3710906e57e09e6036e40fd3986bdcca436ed0e2a2875b41f0f2aca"
},
{
"path": "app/routes/research.js",
"bytes": 1071,
"sha256": "e399f3c70436fa160f00835626bf50f88980268fcd143436af97c9d2297c1d92"
},
{
"path": "app/routes/session.js",
"bytes": 10199,
"sha256": "e53e38b6eea76b026efaacde07f694e7a2eca005de4083fb74f9393d432a5b25"
},
{
"path": "app/routes/tutorial.js",
"bytes": 637,
"sha256": "502e0b959b37cbc844d15eadd7a78a40b5281155fcf8d532f0e4abdd2fee8eb9"
},
{
"path": "artifacts/db-reset.js",
"bytes": 4183,
"sha256": "df5d947ef23786683ab0d5f3c5ed5ef3f25ab93ce7610448c6db79b446168aa9"
},
{
"path": "config/config.js",
"bytes": 487,
"sha256": "b84b1bf634159caffdef50fe826077e60dbde1e381ceb148ff3b869e789b6962"
},
{
"path": "config/env/all.js",
"bytes": 365,
"sha256": "31a71288f0d830799da9c39e1b1ad10b0e989282bcf9a31bb48f8f618f37f6ad"
},
{
"path": "config/env/development.js",
"bytes": 636,
"sha256": "1829bc509dcc6a6eb58b0eee49901df530b9cceafa2ed37e855beacec4971f08"
},
{
"path": "config/env/production.js",
"bytes": 21,
"sha256": "8222b8169ee86f25cdccd84d340340060ae3f0cff55e2ea9d344d7c332733b71"
},
{
"path": "config/env/test.js",
"bytes": 318,
"sha256": "b48cd5c17fc9639c1c4198fced69b438c2b0c7fe70e80f0113bcd0d86cd583a5"
},
{
"path": "server.js",
"bytes": 4860,
"sha256": "48ec5e8f9668b230caf6af27f4a4ffbdcd8b702b376a6bbcc951217917c6ea2e"
},
{
"path": "test/e2e/integration/allocations_spec.js",
"bytes": 1062,
"sha256": "d345f97bc2c3c9e559d98f3e108ab568303c7509dbe707c4cc49f811d5f94db7"
},
{
"path": "test/e2e/integration/benefits_spec.js",
"bytes": 1228,
"sha256": "e4eb2765b08769e86b140dceee3091a5466da13933400272076b6de693b5cb71"
},
{
"path": "test/e2e/integration/contributions_spec.js",
"bytes": 1160,
"sha256": "8504f4cbbe578b91f112b7effffb0e43823af9648c5b406ded5a0d65fb4bbde3"
},
{
"path": "test/e2e/integration/dashboard_spec.js",
"bytes": 933,
"sha256": "96ef5e6d8b75787ac9a44fcd5f918cd3493680e74c70c45b381fe4416fa7f4f8"
},
{
"path": "test/e2e/integration/general_spec.js",
"bytes": 2044,
"sha256": "5364de581df32c99964f63baa8486fcd32b922c9f327192f3a1e81ca6cd0ceff"
},
{
"path": "test/e2e/integration/learn_spec.js",
"bytes": 471,
"sha256": "05e6bf11c5e773cd22861dbe18bced293024a7400c3a89b2c0e111bb88d8eaa1"
},
{
"path": "test/e2e/integration/login_spec.js",
"bytes": 2377,
"sha256": "e1433dfab270ac3f7b32f4ee904d781c2bb2581804177a0cafc488f6c79efb25"
},
{
"path": "test/e2e/integration/logout_spec.js",
"bytes": 737,
"sha256": "31ebf201e7d899baf8acd1d50c3fc4e42a5636c263982e5e517a1eaf3e35518f"
},
{
"path": "test/e2e/integration/memos_spec.js",
"bytes": 991,
"sha256": "625a08e3c9f80cf46f3fe81c2acde3dc76d955bde10aa7c68498b6830b7a86b4"
},
{
"path": "test/e2e/integration/profile_spec.js",
"bytes": 1509,
"sha256": "e22ce888656d18e020ca2775396e000cc899bdac255a1503f9af2c4ef18ffef0"
},
{
"path": "test/e2e/integration/research_spec.js",
"bytes": 1108,
"sha256": "4e81ed0c2cf42da656217c1e38a35f9257d0a09467ffbe25d9d19930df05ed3a"
},
{
"path": "test/e2e/integration/signup_spec.js",
"bytes": 1734,
"sha256": "27c56206888e1d664f852090ed943dc746638724743f7d5fb12d35e39136d22f"
},
{
"path": "test/e2e/integration/tutorial_spec.js",
"bytes": 1819,
"sha256": "2664d921df2c716695df8c216e93b76a9b09376100ee8bc5c3f4354f0ebdb8a6"
},
{
"path": "test/e2e/plugins/index.js",
"bytes": 788,
"sha256": "1fd870a6602782c27f87cd1aaaae24da269b20408612f718125b4471242f6e83"
},
{
"path": "test/e2e/support/commands.js",
"bytes": 839,
"sha256": "967bdb0f97ec8277d952de4273c1bf2fcc000b1eb08de533a80e34157f65e499"
},
{
"path": "test/e2e/support/index.js",
"bytes": 27,
"sha256": "a74243373740a95e3e3691087776e652ba954fcfd96130c4c374279a7310683d"
},
{
"path": "test/security/profile-test.js",
"bytes": 13055,
"sha256": "17b6d02097d2fdfaebcdae31e70620fe691b5cabbcd99829d7c8d72ac3d4239a"
}
],
"graph_bytes": 727481,
"disposable_census": {
"seconds": 14.29165190004278,
"exit_code": 0,
"stdout": "ERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: 1f1a1df5d1b2: 1f1a1df5d1b2: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat io.shiftleft.semanticcpg.sarif.SarifSchema$.<clinit>(SarifSchema.scala:10)\n\tat io.shiftleft.semanticcpg.sarif.SarifConfig$.$lessinit$greater$default$8(SarifConfig.scala:38)\n\tat ScalaReplPP$.<clinit>(wrapped-script15917914099764983556.sc:21)\n\tat ScalaReplPP.main(wrapped-script15917914099764983556.sc)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat replpp.scripting.ScriptingDriver.$anonfun$2(ScriptingDriver.scala:60)\n\tat replpp.util.SimpleDriver.compile$$anonfun$1(SimpleDriver.scala:81)\n\tat scala.util.Try$.apply(Try.scala:195)\n\tat replpp.util.SimpleDriver.compile(SimpleDriver.scala:83)\n\tat replpp.scripting.ScriptingDriver.compileAndRun(ScriptingDriver.scala:53)\n\tat replpp.scripting.NonForkingScriptRunner$.exec(NonForkingScriptRunner.scala:48)\n\tat replpp.scripting.NonForkingScriptRunner$.main(NonForkingScriptRunner.scala:21)\n\tat replpp.scripting.NonForkingScriptRunner.main(NonForkingScriptRunner.scala)\nCaused by: java.net.UnknownHostException: 1f1a1df5d1b2: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 31 more\n[INFO ] initialising from existing storage (/tmp/session-probe-7zkl39j0/workspace/cpg.bin/cpg.bin.tmp)\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptInheritanceNamePass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptInheritanceNamePass completed in 39 ms (62% on mutations). 0 + 0 changes committed from 0 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.ConstClosurePass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.ConstClosurePass completed in 169 ms (9% on mutations). 39 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptImportResolverPass\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptImportResolverPass completed in 139 ms (9% on mutations). 274 + 0 changes committed from 116 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery completed in 640 ms (6% on mutations). 3130 + 0 changes committed from 44 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeRecovery completed in 283 ms (11% on mutations). 3750 + 0 changes committed from 44 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeHintCallLinker\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.JavaScriptTypeHintCallLinker completed in 174 ms (8% on mutations). 272 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.frontendspecific.jssrc2cpg.ObjectPropertyCallLinker\n[INFO ] Pass io.joern.x2cpg.frontendspecific.jssrc2cpg.ObjectPropertyCallLinker completed in 31 ms (12% on mutations). 0 + 0 changes committed from 1 parts.\n[INFO ] Start of pass: io.joern.x2cpg.passes.callgraph.NaiveCallLinker\n[INFO ] Pass io.joern.x2cpg.passes.callgraph.NaiveCallLinker completed in 29 ms (38% on mutations). 42 + 0 changes committed from 1 parts.\n---OUSAST-CPG-BEGIN---\n{\"files\":\"44\",\"methods\":\"579\",\"calls\":\"4134\",\"file_names\":[\"Gruntfile.js\",\"app/assets/js/chart/chart-data-morris.js\",\"app/assets/js/tour/redirects-steps.js\",\"app/data/allocations-dao.js\",\"app/data/benefits-dao.js\",\"app/data/contributions-dao.js\",\"app/data/memos-dao.js\",\"app/data/profile-dao.js\",\"app/data/research-dao.js\",\"app/data/user-dao.js\",\"app/routes/allocations.js\",\"app/routes/benefits.js\",\"app/routes/contributions.js\",\"app/routes/error.js\",\"app/routes/index.js\",\"app/routes/memos.js\",\"app/routes/profile.js\",\"app/routes/research.js\",\"app/routes/session.js\",\"app/routes/tutorial.js\",\"artifacts/db-reset.js\",\"config/config.js\",\"config/env/all.js\",\"config/env/development.js\",\"config/env/production.js\",\"config/env/test.js\",\"server.js\",\"test/e2e/integration/allocations_spec.js\",\"test/e2e/integration/benefits_spec.js\",\"test/e2e/integration/contributions_spec.js\",\"test/e2e/integration/dashboard_spec.js\",\"test/e2e/integration/general_spec.js\",\"test/e2e/integration/learn_spec.js\",\"test/e2e/integration/login_spec.js\",\"test/e2e/integration/logout_spec.js\",\"test/e2e/integration/memos_spec.js\",\"test/e2e/integration/profile_spec.js\",\"test/e2e/integration/research_spec.js\",\"test/e2e/integration/signup_spec.js\",\"test/e2e/integration/tutorial_spec.js\",\"test/e2e/plugins/index.js\",\"test/e2e/support/commands.js\",\"test/e2e/support/index.js\",\"test/security/profile-test.js\"],\"overlays\":\"base,controlflow,typerel,callgraph,dataflowOss\",\"maxHeapMB\":\"1536\"}\n---OUSAST-CPG-END---\n[INFO ] writing to storage at `/tmp/session-probe-7zkl39j0/workspace/cpg.bin/cpg.bin.tmp`\n[INFO ] closed graph at /tmp/session-probe-7zkl39j0/workspace/cpg.bin/cpg.bin.tmp\n",
"stderr": "Picked up JAVA_TOOL_OPTIONS: -Xmx1536m\nPicked up JAVA_TOOL_OPTIONS: -Xmx1536m\nexecuting /app/src/openultrasast/cpg/queries/census.sc with params=Map(cpgFile -> /tmp/session-probe-7zkl39j0/cpg.bin)\nCreating project `cpg.bin` for CPG at `/tmp/session-probe-7zkl39j0/cpg.bin`\nCreating working copy of CPG to be safe\nLoading base CPG from: /tmp/session-probe-7zkl39j0/workspace/cpg.bin/cpg.bin.tmp\nOverlay dataflowOss already exists - skipping\nThe graph has been modified. You may want to use the `save` command to persist changes to disk. All changes will also be saved collectively on exit\nclosing/saving project `cpg.bin`\n"
},
"server_startup_seconds": 12.80504657595884,
"census_equivalent": true,
"hanging_request_entered": true,
"cancellation_seconds": 0.04341585794463754,
"status": "PASS_LIFECYCLE_PROBE_ONLY"
},
"server_log": "Picked up JAVA_TOOL_OPTIONS: -Xmx1536m\nERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: 1f1a1df5d1b2: 1f1a1df5d1b2: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat replpp.server.ReplServer$.<clinit>(ReplServer.scala:16)\n\tat io.joern.console.ServerHandling.startHttpServer(BridgeBase.scala:477)\n\tat io.joern.console.ServerHandling.startHttpServer$(BridgeBase.scala:464)\n\tat io.joern.joerncli.console.ReplBridge$.startHttpServer(ReplBridge.scala:5)\n\tat io.joern.console.BridgeBase.run(BridgeBase.scala:239)\n\tat io.joern.console.BridgeBase.run$(BridgeBase.scala:55)\n\tat io.joern.joerncli.console.ReplBridge$.run(ReplBridge.scala:5)\n\tat io.joern.joerncli.console.ReplBridge$.main(ReplBridge.scala:10)\n\tat io.joern.joerncli.console.ReplBridge.main(ReplBridge.scala)\nCaused by: java.net.UnknownHostException: 1f1a1df5d1b2: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 26 more\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.tasty-core_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-core-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.fasterxml.jackson.core.jackson-core-2.17.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.rubysrc2cpg-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.dataflowengineoss-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-formats_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-odb-convert_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.cask_3-0.9.5.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle-core_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.overflowdb-core_3-1.194.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-native_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.castor_3-0.3.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.undertow.undertow-core-2.3.18.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-help_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.xnio.xnio-api-3.8.16.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.msgpack.msgpack-core-0.9.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/commons-io.commons-io-2.22.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.wildfly.client.wildfly-client-config-1.0.1.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.fansi_3-0.5.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.maven.maven-artifact-3.9.16.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph-domain-classes_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-kernel_3-2.9.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-core_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.geny_3-1.1.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp_3.8.3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.ibm.icu.icu4j-61.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.pathikrit.better-files_3-3.9.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-core_3-2.9.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle-implicits_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.ST4-4.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect-kernel_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph-protos_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-xml_3-2.3.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/net.oneandone.reflections8.reflections8-0.11.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.glassfish.javax.json-1.0.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr-runtime-3.5.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-scalap_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.ujson_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-compress-1.26.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-api-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upack_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-exec-1.4.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.versionsort-1.0.11.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.semanticcpg-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/commons-codec.commons-codec-1.17.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-ast_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.reflections.reflections-0.10.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.flatgraph-core_3-0.1.34.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-repl_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.tototoshi.scala-csv_3-2.0.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.xnio.xnio-nio-3.8.16.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.cask-util_3-0.9.5.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.get-coursier.interface-1.0.28.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-library_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.joern-cli-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.zeroturnaround.zt-zip-1.17.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.upickle_3-4.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.requests_3-0.8.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.javassist.javassist-3.28.0-GA.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.console-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-lang3-3.17.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.codehaus.plexus.plexus-utils-3.6.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.virtuslab.using_directives-1.1.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.java-websocket.Java-WebSocket-1.5.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.json4s.json4s-native-core_3-4.0.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jruby.jruby-complete-9.4.15.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.slf4j.slf4j-api-2.0.17.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-terminal-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-terminal-jni-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.h2database.h2-mvstore-1.4.200.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-sbt.util-interface-1.10.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.thoughtworks.paranamer.paranamer-2.8.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.sourcecode_3-0.4.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.typelevel.cats-effect-std_3-3.5.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-server_3.8.3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.shiftleft.codepropertygraph_3-1.7.74.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.luben.zstd-jni-1.5.7-11.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.os-lib_3-0.10.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr4-4.7.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-parallel-collections_3-1.0.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.commons.commons-text-1.13.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.google.code.findbugs.jsr305-3.0.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-interfaces-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.google.protobuf.protobuf-java-3.20.1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.macros-4.0.625.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-native-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-shaded-libs_3-0.6.4.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.threads.jboss-threads-3.5.0.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/net.sf.trove4j.core-3.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.abego.treelayout.org.abego.treelayout.core-1.0.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.wildfly.common.wildfly-common-1.5.4.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jline.jline-reader-3.29.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.typesafe.config-1.4.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.modules.scala-asm-9.9.0-scala-1.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala3-compiler_3-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.antlr.antlr4-runtime-4.7.2.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.lihaoyi.pprint_3-0.9.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-sbt.compiler-interface-1.10.7.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.jboss.logging.jboss-logging-3.4.3.Final.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/com.github.scopt.scopt_3-4.1.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.spray.spray-json_3-1.3.6.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.scala-lang.scala-library-3.8.3.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/org.apache.logging.log4j.log4j-slf4j2-impl-2.20.0.jar\nusing jar from inherited classpath: /opt/joern-cli/lib/io.joern.x2cpg-4.0.625.jar\nclasspath entries from config >\n/opt/joern-cli/lib/com.fasterxml.jackson.core.jackson-core-2.17.2.jar\n/opt/joern-cli/lib/com.github.luben.zstd-jni-1.5.7-11.jar\n/opt/joern-cli/lib/com.github.pathikrit.better-files_3-3.9.2.jar\n/opt/joern-cli/lib/com.github.scopt.scopt_3-4.1.0.jar\n/opt/joern-cli/lib/com.github.tototoshi.scala-csv_3-2.0.0.jar\n/opt/joern-cli/lib/com.google.code.findbugs.jsr305-3.0.2.jar\n/opt/joern-cli/lib/com.google.protobuf.protobuf-java-3.20.1.jar\n/opt/joern-cli/lib/com.h2database.h2-mvstore-1.4.200.jar\n/opt/joern-cli/lib/com.ibm.icu.icu4j-61.1.jar\n/opt/joern-cli/lib/com.lihaoyi.cask-util_3-0.9.5.jar\n/opt/joern-cli/lib/com.lihaoyi.cask_3-0.9.5.jar\n/opt/joern-cli/lib/com.lihaoyi.castor_3-0.3.0.jar\n/opt/joern-cli/lib/com.lihaoyi.fansi_3-0.5.1.jar\n/opt/joern-cli/lib/com.lihaoyi.geny_3-1.1.1.jar\n/opt/joern-cli/lib/com.lihaoyi.os-lib_3-0.10.1.jar\n/opt/joern-cli/lib/com.lihaoyi.pprint_3-0.9.3.jar\n/opt/joern-cli/lib/com.lihaoyi.requests_3-0.8.0.jar\n/opt/joern-cli/lib/com.lihaoyi.sourcecode_3-0.4.4.jar\n/opt/joern-cli/lib/com.lihaoyi.ujson_3-4.1.0.jar\n/opt/joern-cli/lib/com.lihaoyi.upack_3-4.0.2.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle-core_3-4.1.0.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle-implicits_3-4.0.2.jar\n/opt/joern-cli/lib/com.lihaoyi.upickle_3-4.0.2.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-server_3.8.3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp-shaded-libs_3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.scala-repl-pp_3.8.3-0.6.4.jar\n/opt/joern-cli/lib/com.michaelpollmeier.versionsort-1.0.11.jar\n/opt/joern-cli/lib/com.thoughtworks.paranamer.paranamer-2.8.jar\n/opt/joern-cli/lib/com.typesafe.config-1.4.3.jar\n/opt/joern-cli/lib/commons-codec.commons-codec-1.17.0.jar\n/opt/joern-cli/lib/commons-io.commons-io-2.22.0.jar\n/opt/joern-cli/lib/io.get-coursier.interface-1.0.28.jar\n/opt/joern-cli/lib/io.joern.console-4.0.625.jar\n/opt/joern-cli/lib/io.joern.dataflowengineoss-4.0.625.jar\n/opt/joern-cli/lib/io.joern.flatgraph-core_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-formats_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-help_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.flatgraph-odb-convert_3-0.1.34.jar\n/opt/joern-cli/lib/io.joern.joern-cli-4.0.625.jar\n/opt/joern-cli/lib/io.joern.macros-4.0.625.jar\n/opt/joern-cli/lib/io.joern.rubysrc2cpg-4.0.625.jar\n/opt/joern-cli/lib/io.joern.semanticcpg-4.0.625.jar\n/opt/joern-cli/lib/io.joern.x2cpg-4.0.625.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph-domain-classes_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph-protos_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.codepropertygraph_3-1.7.74.jar\n/opt/joern-cli/lib/io.shiftleft.overflowdb-core_3-1.194.jar\n/opt/joern-cli/lib/io.spray.spray-json_3-1.3.6.jar\n/opt/joern-cli/lib/io.undertow.undertow-core-2.3.18.Final.jar\n/opt/joern-cli/lib/net.oneandone.reflections8.reflections8-0.11.7.jar\n/opt/joern-cli/lib/net.sf.trove4j.core-3.1.0.jar\n/opt/joern-cli/lib/org.abego.treelayout.org.abego.treelayout.core-1.0.3.jar\n/opt/joern-cli/lib/org.antlr.ST4-4.1.jar\n/opt/joern-cli/lib/org.antlr.antlr-runtime-3.5.2.jar\n/opt/joern-cli/lib/org.antlr.antlr4-4.7.2.jar\n/opt/joern-cli/lib/org.antlr.antlr4-runtime-4.7.2.jar\n/opt/joern-cli/lib/org.apache.commons.commons-compress-1.26.2.jar\n/opt/joern-cli/lib/org.apache.commons.commons-exec-1.4.0.jar\n/opt/joern-cli/lib/org.apache.commons.commons-lang3-3.17.0.jar\n/opt/joern-cli/lib/org.apache.commons.commons-text-1.13.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-api-2.20.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-core-2.20.0.jar\n/opt/joern-cli/lib/org.apache.logging.log4j.log4j-slf4j2-impl-2.20.0.jar\n/opt/joern-cli/lib/org.apache.maven.maven-artifact-3.9.16.jar\n/opt/joern-cli/lib/org.codehaus.plexus.plexus-utils-3.6.1.jar\n/opt/joern-cli/lib/org.glassfish.javax.json-1.0.4.jar\n/opt/joern-cli/lib/org.java-websocket.Java-WebSocket-1.5.3.jar\n/opt/joern-cli/lib/org.javassist.javassist-3.28.0-GA.jar\n/opt/joern-cli/lib/org.jboss.logging.jboss-logging-3.4.3.Final.jar\n/opt/joern-cli/lib/org.jboss.threads.jboss-threads-3.5.0.Final.jar\n/opt/joern-cli/lib/org.jboss.xnio.xnio-api-3.8.16.Final.jar\n/opt/joern-cli/lib/org.jboss.xnio.xnio-nio-3.8.16.Final.jar\n/opt/joern-cli/lib/org.jline.jline-native-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-reader-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-terminal-3.29.0.jar\n/opt/joern-cli/lib/org.jline.jline-terminal-jni-3.29.0.jar\n/opt/joern-cli/lib/org.jruby.jruby-complete-9.4.15.0.jar\n/opt/joern-cli/lib/org.json4s.json4s-ast_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-core_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-native-core_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-native_3-4.0.7.jar\n/opt/joern-cli/lib/org.json4s.json4s-scalap_3-4.0.7.jar\n/opt/joern-cli/lib/org.msgpack.msgpack-core-0.9.1.jar\n/opt/joern-cli/lib/org.reflections.reflections-0.10.2.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-asm-9.9.0-scala-1.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-parallel-collections_3-1.0.4.jar\n/opt/joern-cli/lib/org.scala-lang.modules.scala-xml_3-2.3.0.jar\n/opt/joern-cli/lib/org.scala-lang.scala-library-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-compiler_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-interfaces-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-library_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.scala3-repl_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-lang.tasty-core_3-3.8.3.jar\n/opt/joern-cli/lib/org.scala-sbt.compiler-interface-1.10.7.jar\n/opt/joern-cli/lib/org.scala-sbt.util-interface-1.10.7.jar\n/opt/joern-cli/lib/org.slf4j.slf4j-api-2.0.17.jar\n/opt/joern-cli/lib/org.typelevel.cats-core_3-2.9.0.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect-kernel_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect-std_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-effect_3-3.5.4.jar\n/opt/joern-cli/lib/org.typelevel.cats-kernel_3-2.9.0.jar\n/opt/joern-cli/lib/org.virtuslab.using_directives-1.1.4.jar\n/opt/joern-cli/lib/org.wildfly.client.wildfly-client-config-1.0.1.Final.jar\n/opt/joern-cli/lib/org.wildfly.common.wildfly-common-1.5.4.Final.jar\n/opt/joern-cli/lib/org.zeroturnaround.zt-zip-1.17.jar\n< classpath entries from config\nERROR StatusConsoleListener Could not determine local host name\n java.net.UnknownHostException: 1f1a1df5d1b2: 1f1a1df5d1b2: Temporary failure in name resolution\n\tat java.base/java.net.InetAddress.getLocalHost(Unknown Source)\n\tat org.apache.logging.log4j.core.util.NetUtils.getLocalHostname(NetUtils.java:56)\n\tat org.apache.logging.log4j.core.LoggerContext.lambda$setConfiguration$0(LoggerContext.java:615)\n\tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)\n\tat org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:615)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)\n\tat org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)\n\tat org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)\n\tat org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)\n\tat org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:61)\n\tat org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)\n\tat org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:447)\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:472)\n\tat io.shiftleft.semanticcpg.sarif.SarifSchema$.<clinit>(SarifSchema.scala:10)\n\tat io.shiftleft.semanticcpg.sarif.SarifConfig$.$lessinit$greater$default$8(SarifConfig.scala:38)\n\tat rs$line$1$.<clinit>(rs$line$1:14)\n\tat rs$line$1.help(rs$line$1)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat replpp.Rendering.$anonfun$4(Rendering.scala:102)\n\tat scala.Option.flatMap(Option.scala:285)\n\tat replpp.Rendering.valueOf(Rendering.scala:102)\n\tat replpp.Rendering.renderVal(Rendering.scala:142)\n\tat replpp.DottyReplDriver.$anonfun$8(DottyReplDriver.scala:397)\n\tat scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)\n\tat scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)\n\tat scala.collection.immutable.List.foreach(List.scala:327)\n\tat replpp.DottyReplDriver.extractAndFormatMembers$1(DottyReplDriver.scala:397)\n\tat replpp.DottyReplDriver.renderDefinitions$$anonfun$2(DottyReplDriver.scala:435)\n\tat scala.Option.map(Option.scala:244)\n\tat replpp.DottyReplDriver.renderDefinitions(DottyReplDriver.scala:434)\n\tat replpp.DottyReplDriver.compile$$anonfun$2(DottyReplDriver.scala:339)\n\tat scala.util.Either.fold(Either.scala:199)\n\tat replpp.DottyReplDriver.compile(DottyReplDriver.scala:321)\n\tat replpp.DottyReplDriver.interpret(DottyReplDriver.scala:280)\n\tat replpp.ReplDriverBase.interpretInput(ReplDriverBase.scala:49)\n\tat replpp.server.ReplDriver.execute(EmbeddedRepl.scala:89)\n\tat replpp.server.EmbeddedRepl.<init>(EmbeddedRepl.scala:30)\n\tat replpp.server.ReplServer$.startHttpServer(ReplServer.scala:27)\n\tat io.joern.console.ServerHandling.startHttpServer(BridgeBase.scala:483)\n\tat io.joern.console.ServerHandling.startHttpServer$(BridgeBase.scala:464)\n\tat io.joern.joerncli.console.ReplBridge$.startHttpServer(ReplBridge.scala:5)\n\tat io.joern.console.BridgeBase.run(BridgeBase.scala:239)\n\tat io.joern.console.BridgeBase.run$(BridgeBase.scala:55)\n\tat io.joern.joerncli.console.ReplBridge$.run(ReplBridge.scala:5)\n\tat io.joern.joerncli.console.ReplBridge$.main(ReplBridge.scala:10)\n\tat io.joern.joerncli.console.ReplBridge.main(ReplBridge.scala)\nCaused by: java.net.UnknownHostException: 1f1a1df5d1b2: Temporary failure in name resolution\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)\n\tat java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Unknown Source)\n\tat java.base/java.net.InetAddress$PlatformResolver.lookupByName(Unknown Source)\n\tat java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source)\n\tat java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source)\n\tat java.base/java.net.InetAddress.getAllByName0(Unknown Source)\n\t... 51 more\nSep 14, 2026 11:16:35 AM org.jline.utils.Log logr\nWARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)\nSep 14, 2026 11:16:35 AM org.jline.utils.Log logr\nWARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)\nOUSAST_READY\nCreating project `cpg.bin` for CPG at `/tmp/session-probe-7zkl39j0/cpg.bin`\nCreating working copy of CPG to be safe\nLoading base CPG from: /tmp/session-probe-7zkl39j0/server/workspace/cpg.bin/cpg.bin.tmp\nOverlay dataflowOss already exists - skipping\nThe graph has been modified. You may want to use the `save` command to persist changes to disk. All changes will also be saved collectively on exit\n"
}
],
"final_summary": {
"disposable_census_seconds": 14.29165190004278,
"session_startup_seconds": 12.80504657595884,
"graph_load_seconds": 3.6359307559905574,
"first_census_seconds": 1.402274933992885,
"warm_census_seconds": [
0.3387976880185306,
0.4674431789899245,
0.35327990900259465,
0.22122467402368784
],
"cancellation_seconds": 0.04341585794463754,
"hanging_operation_entry_verified": true,
"process_group_absence_verified": true,
"source_files_reopened": 44,
"source_bytes_reopened": 95411,
"decision": "Promising transport candidate; production integration remains unverified."
},
"reproduce": "Extract an attempt instrument to /tmp/ousast-session-probe.py; run after reproducing the post-census profile at /tmp/group8-runtime/post-census-runtime-v1. Use a fresh output directory for repeats. docker run --rm --init --network none --memory 3g --entrypoint python -v /tmp/ousast-session-probe.py:/probe.py:ro -v /tmp/group8-runtime:/results -v /home/mc/.cache/openultrasast/repos:/cache:ro openultrasast:dev /probe.py. Build the recorded candidate commit; verify the image and runtime provenance."
}