nodejs/node · error

2

2

Error message

error loading input file lists: %s

What it means

loadLists() reads and parses the supplied file-list files into a UErrorCode; if it reports a failure pkgdata prints `u_errorName(status)` and returns exit code 2. The underlying cause is a filesystem or parse problem on one of the input lists, not the options themselves.

Source

Thrown at deps/icu-small/source/tools/pkgdata/pkgdata.cpp:492

    if (options[WIN_DYNAMICBASE].doesOccur) {
        fprintf(stdout, "Note: Ignoring option -b (windows-dynamicbase).\n");
    }

    if (options[WIN_DLL_ARCH].doesOccur) {
        o.cpuArch = options[WIN_DLL_ARCH].value;
    }

    /* OK options are set up. Now the file lists. */
    tail = nullptr;
    for( n=1; n<argc; n++) {
        o.fileListFiles = pkg_appendToList(o.fileListFiles, &tail, uprv_strdup(argv[n]));
    }

    /* load the files */
    loadLists(&o, &status);
    if( U_FAILURE(status) ) {
        fprintf(stderr, "error loading input file lists: %s\n", u_errorName(status));
        return 2;
    }

    result = pkg_executeOptions(&o);

    if (pkgDataFlags != nullptr) {
        for (n = 0; n < PKGDATA_FLAGS_SIZE; n++) {
            if (pkgDataFlags[n] != nullptr) {
                uprv_free(pkgDataFlags[n]);
            }
        }
        uprv_free(pkgDataFlags);
    }

    if (o.cShortName != nullptr) {
        uprv_free(const_cast<char*>(o.cShortName));
    }
    if (o.fileListFiles != nullptr) {

View on GitHub (pinned to 1b2de5e052)

Solutions

  1. Verify every file-list path exists and is readable from pkgdata's working directory.
  2. Look up the printed ICU error name for the specific failure (e.g. U_FILE_ACCESS_ERROR).
  3. Ensure list files are generated before pkgdata runs.

Example fix

# before
pkgdata ... ./nonexistent.lst
# after
pkgdata ... ./out/tmp/icudata.lst
Defensive patterns

Strategy: validation

Validate before calling

# bash: verify each list file is readable from pkgdata's cwd
for f in "$@"; do [ -r "$f" ] || { echo "unreadable list: $f" >&2; exit 2; }; done
pkgdata "$@"

Try / catch

# capture the ICU error name pkgdata prints
err="$(pkgdata "$@" 2>&1 >/dev/null)" || { echo "loadLists failed: $err" >&2; exit 2; }

Prevention

When it happens

Trigger: A file-list path does not exist, is unreadable, or contains malformed entries; relative path resolved against the wrong cwd.

Common situations: Wrong relative path (cwd mismatch); the generated list file was not produced by the prior build step; permission denied.

Related errors


AI-assisted analysis of nodejs/node@1b2de5e052 (2026-08-13). Data as JSON: /api/errors/5189e4ce6a8ba2e7. Report an issue: GitHub.