Skip to content

Repeated test error: cannot open/close queries, only groups #2782

@philrz

Description

@philrz

Repro is with Zui commit b7dbd16 (associated with #2759).

While debugging other Zui test failures recently, I've been distracted by this big burst of errors that consistently appears when I run yarn test.

$ yarn test
...
  ● Console

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

    console.error
      cannot open/close queries, only groups

      66 |       node = getNodeById(queriesTree, action.groupId)
      67 |       if (!("items" in node.model)) {
    > 68 |         console.error("cannot open/close queries, only groups")
         |                 ^
      69 |         return
      70 |       }
      71 |       node.model.isOpen =

      at console.<anonymous> (node_modules/jest-mock/build/index.js:839:25)
      at error (src/js/state/Queries/reducer.ts:68:17)
      at node_modules/immer/src/core/immerClass.ts:78:51
      at Immer.recipe [as produce] (node_modules/immer/src/core/immerClass.ts:94:14)
      at produce (node_modules/immer/src/core/immerClass.ts:78:17)

This doesn't make the tests fail and for all I know they could be quite benign. However, their volume and "red" appearance gave me reason to be concerned that there could be an actual problem behind them and that this could somehow be contributing to the failures we see more often when CI tuns in GitHub Actions. If investigations find that there's not a real bug here, then maybe we could find a way to silence them or present them as harmless.

Note that the commit b7dbd16 where I've just reproduced the issue is associated with #2759, which was a major refactor. I narrowed down through binary search that this was the point at which this started occurring. Commit 7363dee that came right before did not show these messages. And these messages remain with us up through the current tip of main, which is a1fad40 as this issue is being filed.

Metadata

Metadata

Assignees

Labels

testCreating/improving test automation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions