Skip to content

regression from #11667: redis and mongodb from-source gap tests fail (static #private method / static iterator lookup) #11692

Description

@proggeramlug

test_gap_node_redis_from_source and test_gap_mongodb_from_source fail on main. The regression bisects to #11667 (9f9513717, "classes: statics live on the class function object; delete the static attr, deleted-key and name tables (step 3f)").

Setup: perrymaster (Linux x86_64), --release, PERRY_NO_AUTO_OPTIMIZE=1, the root npm ci deps (redis@6.1.0, mongodb@7.5.0), and each binary run from test-files/ against the in-process fake servers.

build node_redis_from_source mongodb_from_source
2c20e92d6 (parent of #11667) passes: connected: true ... passes: connected ...
9f9513717 (#11667) FAILED: #<perry:private-member:64:#validateOptions> is not a function Uncaught (in promise) TypeError: @@iterator is not a function at parseOptions / new MongoClient
main 7fa094cb4 same as #11667 same as #11667

Node 26.5.1 prints the full CRUD and pubsub transcript for both tests.

The redis failure is a #private static method called through the class. That is consistent with statics moving onto the class function object, but I have not confirmed the mechanism. The mongodb failure looks like a static Symbol.iterator, or a static iterable, lookup through the same path.

Found while triaging #11676, whose CI showed these two tests as pass → parity_fail. They fail identically on pristine main, so they are not caused by #11676. test_gap_sloppy_this_bound_once (added by #11679) also fails on pristine main 7fa094cb4, but that is a separate matter.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions