{"record":{"id":"abb2127d680d941e","repo":"sqlmapproject/sqlmap","slug":"http-2-stream-id-space-exhausted","errorCode":null,"errorMessage":"HTTP/2 stream-id space exhausted","messagePattern":"HTTP/2 stream-id space exhausted","errorType":"exception","errorClass":"H2Error","httpStatus":null,"severity":"error","filePath":"lib/request/http2.py","lineNumber":1058,"sourceCode":"        if sid == 0:\n            if self.conn_send_window > MAX_WINDOW - increment:\n                self._connection_error(\"connection flow-control window overflow\")\n            self.conn_send_window += increment\n        elif sid in self.stream_send_windows:\n            current = self.stream_send_windows[sid]\n            if current > MAX_WINDOW - increment:\n                self._connection_error(\"stream flow-control window overflow\")\n            self.stream_send_windows[sid] = current + increment\n        elif sid % 2 == 0 or sid >= self.next_sid:\n            self._connection_error(\"WINDOW_UPDATE referenced an idle stream\")\n\n    def _allocate_stream_ids(self, count):\n        if count <= 0:\n            raise ValueError(\"stream count must be positive\")\n        last = self.next_sid + 2 * (count - 1)\n        if last > MAX_STREAM_ID:\n            self.usable = False\n            raise H2Error(\"HTTP/2 stream-id space exhausted\")\n        sids = [self.next_sid + 2 * index for index in range(count)]\n        self.next_sid += 2 * count\n        if self.next_sid > MAX_STREAM_ID:\n            self.usable = False\n        return sids\n\n    def _send_headers(self, sid, request_headers, end_stream):\n        if self.peer_max_header_list_size is not None:\n            if _field_section_size(request_headers) > self.peer_max_header_list_size:\n                raise H2Error(\"request header list exceeds peer-advertised limit\")\n        block = Encoder().encode(request_headers)\n        return b\"\".join(_header_frames(sid, block, self.peer_max_frame_size, end_stream))\n\n    def _finish_response(self, state):\n        actual = len(state.body)\n        if state.body_forbidden and actual:\n            self._connection_error(\"response semantics forbid a message body\")\n        if (not state.body_forbidden and state.expected_content_length is not None and","sourceCodeStart":1040,"sourceCodeEnd":1076,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/request/http2.py#L1040-L1076","documentation":"Error \"HTTP/2 stream-id space exhausted\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at lib/request/http2.py:1058 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}