{"record":{"id":"89a2191f2addbb3b","repo":"dotnet/runtime","slug":"could-not-find-any-object-with-id-objectid","errorCode":null,"errorMessage":"Could not find any object with id ${objectId}","messagePattern":"Could not find any object with id (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/mono/browser/runtime/debug.ts","lineNumber":285,"sourceCode":"            subtype: \"array\",\n            className: \"Array\",\n            description: `Array(${fn_res.length})`,\n            objectId: fn_res_id\n        };\n    }\n    if (fn_res.value !== undefined || fn_res.subtype !== undefined) {\n        return fn_res;\n    }\n\n    if (fn_res == proxy)\n        return { type: \"object\", className: \"Object\", description: \"Object\", objectId: objId };\n    const fn_res_id = _cache_call_function_res(fn_res);\n    return { type: \"object\", className: \"Object\", description: \"Object\", objectId: fn_res_id };\n}\n\nfunction _get_cfo_res_details (objectId: string, args: any): ValueAsJsonString {\n    if (!(objectId in _call_function_res_cache))\n        throw new Error(`Could not find any object with id ${objectId}`);\n\n    const real_obj = _call_function_res_cache[objectId];\n\n    const descriptors = Object.getOwnPropertyDescriptors(real_obj);\n    if (args.accessorPropertiesOnly) {\n        Object.keys(descriptors).forEach(k => {\n            if (descriptors[k].get === undefined)\n                Reflect.deleteProperty(descriptors, k);\n        });\n    }\n\n    const res_details: any[] = [];\n    Object.keys(descriptors).forEach(k => {\n        let new_obj;\n        const prop_desc = descriptors[k];\n        if (typeof prop_desc.value == \"object\") {\n            // convert `{value: { type='object', ... }}`\n            // to      `{ name: 'foo', value: { type='object', ... }}","sourceCodeStart":267,"sourceCodeEnd":303,"githubUrl":"https://github.com/dotnet/runtime/blob/290d5ab72cc1102813fbc0406fb186ceadabc340/src/mono/browser/runtime/debug.ts#L267-L303","documentation":"Thrown by _get_cfo_res_details() in debug.ts when the objectId (after the dotnet:cfo_res: prefix is added by mono_wasm_get_details) is not in _call_function_res_cache. mono_wasm_get_details is the CDP Runtime.getProperties implementation for cached call-function-on results; it only works on object ids that were previously returned from mono_wasm_call_function_on and cached.","triggerScenarios":"Calling mono_wasm_get_details(objectId) for an id that was released, never created, or from a previous page load. Expanding an object in DevTools whose backing cache entry no longer exists.","commonSituations":"Inspecting an object whose group was released between the call and the getProperties. Stale handles across reloads. A custom integration calling mono_wasm_get_details on arbitrary ids.","solutions":["Only call mono_wasm_get_details on ids returned by a prior mono_wasm_call_function_on in the same page session.","If the object is gone, re-run the originating evaluation to get a fresh id.","Do not release (mono_wasm_release_object) ids you still need to inspect."],"exampleFix":"null","handlingStrategy":"validation","validationCode":"null","typeGuard":"null","tryCatchPattern":"try {\n  return mono_wasm_get_details(objectId, args);\n} catch (e) {\n  if (String(e).includes('Could not find any object')) {\n    // cache entry gone; caller should re-run the originating evaluation\n    return { __value_as_json_string__: '[]' };\n  }\n  throw e;\n}","preventionTips":["Only call mono_wasm_get_details on ids returned by mono_wasm_call_function_on this session.","Do not release ids you still inspect."],"tags":["debugger","cdp","object-cache","devtools"],"analyzedSha":"290d5ab72cc1102813fbc0406fb186ceadabc340","analyzedAt":"2026-08-06T19:57:01.276Z","schemaVersion":2},"datasetVersion":"2026-08-06T23:17:07.152Z"}