{"record":{"id":"d72af8db6364dc46","repo":"ytdl-org/youtube-dl","slug":"cannot-find-function-s-s","errorCode":null,"errorMessage":"Cannot find function %s.%s","messagePattern":"Cannot find function (.+?)\\.(.+?)","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/swfinterp.py","lineNumber":447,"sourceCode":"\n        if call_cinit and hasattr(res, 'cinit_idx'):\n            res.register_methods({'$cinit': res.cinit_idx})\n            res.methods['$cinit'] = self._all_methods[res.cinit_idx]\n            cinit = self.extract_function(res, '$cinit')\n            cinit([])\n\n        return res\n\n    def extract_function(self, avm_class, func_name):\n        p = self._patched_functions.get((avm_class, func_name))\n        if p:\n            return p\n        if func_name in avm_class.method_pyfunctions:\n            return avm_class.method_pyfunctions[func_name]\n        if func_name in self._classes_by_name:\n            return self._classes_by_name[func_name].make_object()\n        if func_name not in avm_class.methods:\n            raise ExtractorError('Cannot find function %s.%s' % (\n                avm_class.name, func_name))\n        m = avm_class.methods[func_name]\n\n        def resfunc(args):\n            # Helper functions\n            coder = io.BytesIO(m.code)\n            s24 = lambda: _s24(coder)\n            u30 = lambda: _u30(coder)\n\n            registers = [avm_class.variables] + list(args) + [None] * m.local_count\n            stack = []\n            scopes = collections.deque([\n                self._classes_by_name, avm_class.constants, avm_class.variables])\n            while True:\n                opcode = _read_byte(coder)\n                if opcode == 9:  # label\n                    pass  # Spec says: \"Do nothing.\"\n                elif opcode == 16:  # jump","sourceCodeStart":429,"sourceCodeEnd":465,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/swfinterp.py#L429-L465","documentation":"Error \"Cannot find function %s.%s\" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/swfinterp.py:447 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Update youtube-dl; the SWF calls a function the interpreter cannot find."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}