{"record":{"id":"07c7aa7417052212","repo":"nodejs/node","slug":"icupkg-ures-enumdependencies-s-array-res-08x-d","errorCode":null,"errorMessage":"icupkg/ures_enumDependencies(%s array res=%08x)[%d].recurse(%08x) failed\n","messagePattern":"icupkg/ures_enumDependencies\\((.+?) array res=%08x\\)\\[(.+?)\\]\\.recurse\\(%08x\\) failed\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"deps/icu-small/source/tools/toolutil/pkgitems.cpp","lineNumber":360,"sourceCode":"                }\n            }\n        }\n        break;\n    case URES_ARRAY:\n        {\n            /* recurse */\n            int32_t count=res_countArrayItems(pResData, res);\n            for(int32_t i=0; i<count; ++i) {\n                Resource item=res_getArrayItem(pResData, res, i);\n                ures_enumDependencies(\n                        itemName, pResData,\n                        item, nullptr,\n                        inKey, depth+1,\n                        check, context,\n                        pkg,\n                        pErrorCode);\n                if(U_FAILURE(*pErrorCode)) {\n                    fprintf(stderr, \"icupkg/ures_enumDependencies(%s array res=%08x)[%d].recurse(%08x) failed\\n\",\n                                    itemName, res, i, item);\n                    break;\n                }\n            }\n        }\n        break;\n    default:\n        break;\n    }\n    return doCheckParent;\n}\n\nstatic void\nures_enumDependencies(const char *itemName, const UDataInfo *pInfo,\n                      const uint8_t *inBytes, int32_t length,\n                      CheckDependency check, void *context,\n                      Package *pkg,\n                      UErrorCode *pErrorCode) {","sourceCodeStart":342,"sourceCodeEnd":378,"githubUrl":"https://github.com/nodejs/node/blob/1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e/deps/icu-small/source/tools/toolutil/pkgitems.cpp#L342-L378","documentation":"Diagnostic fprintf printed when recursive dependency enumeration of an ARRAY-type resource item fails. Analogous to error 982 but for URES_ARRAY: each array element is recursed via ures_enumDependencies, and if the child call fails, the parent logs the array resource handle and the failing index/item handle. The actual error code is propagated from the child call.","triggerScenarios":"ures_enumDependencies processes a URES_ARRAY resource, iterates via res_countArrayItems/res_getArrayItem, recurses into each element, and a child call sets U_FAILURE(*pErrorCode). The fprintf at pkgitems.cpp:360 fires and the loop breaks.","commonSituations":"An array element is a string or alias resource that triggers alias/locale errors in the recursive call; array data corruption from a failed or interrupted genrb build; .res format version mismatch.","solutions":["Check stderr for the child error printed before this message and fix the root cause (likely an alias or locale ID problem in an array element).","Rebuild the .res bundle from source .txt with genrb.","Dump the array contents with derb to inspect the element at the logged index."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"// Capture stderr to find the underlying child error before the array recurse failure\nresult = subprocess.run(['icupkg', '--list', 'bundle.res'], capture_output=True)\nstderr_lines = result.stderr.decode().splitlines()\nfor i, line in enumerate(stderr_lines):\n    if 'array' in line and 'recurse' in line and 'failed' in line:\n        print(f'Underlying child error: {stderr_lines[i-1] if i > 0 else \"unknown\"}')","preventionTips":["Check the full stderr for the child error that precedes the array recurse failure message.","Rebuild .res bundles from .txt source to ensure array elements are valid.","Use derb to inspect array element values when debugging."],"tags":["icu","resource-bundle","array","recursion","diagnostic","dependency-enumeration"],"backgroundTag":null,"analyzedSha":"1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e","analyzedAt":"2026-08-13T00:53:24.642Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}