{"record":{"id":"e4b6064098340191","repo":"unclecode/crawl4ai","slug":"error-str-e-server-memory-delta-mb-mem-de","errorCode":null,"errorMessage":"{\"error\": str(e), \"server_memory_delta_mb\": mem_delta_mb, \"server_peak_memory_mb\": max(peak_mem_mb if peak_mem_mb else 0, end_mem_mb_error or 0)} (json.dumps)","messagePattern":"(.+?) \\(json\\.dumps\\)","errorType":"http","errorClass":"HTTPException","httpStatus":500,"severity":"error","filePath":"deploy/docker/api.py","lineNumber":841,"sourceCode":"\n    except Exception as e:\n        logger.error(f\"Crawl error: {str(e)}\", exc_info=True)\n\n        # Track request error\n        try:\n            from monitor import get_monitor\n            await get_monitor().track_request_end(\n                request_id, success=False, error=str(e), status_code=500\n            )\n        except:\n            pass\n\n        # Measure memory even on error if possible\n        end_mem_mb_error = _get_memory_mb()\n        if start_mem_mb is not None and end_mem_mb_error is not None:\n            mem_delta_mb = end_mem_mb_error - start_mem_mb\n\n        raise HTTPException(\n            status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,\n            detail=json.dumps({ # Send structured error\n                \"error\": str(e),\n                \"server_memory_delta_mb\": mem_delta_mb,\n                \"server_peak_memory_mb\": max(peak_mem_mb if peak_mem_mb else 0, end_mem_mb_error or 0)\n            })\n        )\n    finally:\n        if crawler:\n            await release_crawler(crawler)\n\nasync def handle_stream_crawl_request(\n    urls: List[str],\n    browser_config: dict,\n    crawler_config: dict,\n    config: dict,\n    hooks_config: Optional[dict] = None\n) -> Tuple[AsyncWebCrawler, AsyncGenerator, Optional[Dict]]:","sourceCodeStart":823,"sourceCodeEnd":859,"githubUrl":"https://github.com/unclecode/crawl4ai/blob/7e801521428ee12509994d39151006f64055ebe3/deploy/docker/api.py#L823-L859","documentation":"Error \"{\"error\": str(e), \"server_memory_delta_mb\": mem_delta_mb, \"server_peak_memory_mb\": max(peak_mem_mb if peak_mem_mb else 0, end_mem_mb_error or 0)} (json.dumps)\" thrown in unclecode/crawl4ai.","triggerScenarios":"Thrown at deploy/docker/api.py:841 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Investigate the exception message in the 'error' field and the memory metrics to find the root cause.","Reduce concurrent crawls or page complexity if server_peak_memory_mb is high."],"exampleFix":"# Inspect response JSON: {'error': ..., 'server_memory_delta_mb': ..., 'server_peak_memory_mb': ...}","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7e801521428ee12509994d39151006f64055ebe3","analyzedAt":"2026-08-14T20:46:20.673Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}