Skip to content

node@23 - FabricManager unavailable due to initialization error #1516

Closed
@t0bst4r

Description

@t0bst4r

When upgrading to node 23.4.0 i found the following error when starting my bridge with existing fabrics.

FabricManager unavailable due to initialization error
       at crashedError (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/general/src/util/Construction.ts:600:28)
       at handleRejection (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/general/src/util/Construction.ts:311:69)

I simply added a try {... } catch (e) { console.log(e); throw e; } in the initializer of the FabricManager and found the following error message:

TypeError: input.codePointAt is not a function
     at Object.decode (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/general/src/codec/Base64Codec.ts:95:22)
     at Object.get (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/general/src/crypto/Key.ts:485:61)
     at Object.get (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/general/src/crypto/Key.ts:503:32)
     at Key (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/general/src/crypto/Key.ts:548:35)
     at PrivateKey (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/general/src/crypto/Key.ts:572:12)
     at new Fabric (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/protocol/src/fabric/Fabric.ts:127:14)
     at construct (/Users/t0bst4r/Projects/t0bst4r/home-assistant-matter-hub/node_modules/@matter/protocol/src/fabric/FabricManager.ts:65:17)

When removing the "fabrics" section from the storage, the bridge booted succesfully without fabrics (of course).

My (test) storage:

{
 "events": {
  "lastEventNumber": "{\"__object__\":\"BigInt\",\"__value__\":\"163\"}"
 },
 "sessions": {
  "resumptionRecords": [
   {
    "nodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"184467686007496097\"}",
    "sharedSecret": "{\"__object__\":\"Uint8Array\",\"__value__\":\"14de5a4c802c794772709ec1cdc686c9db9cf069012b07c2e5bea3e113412cb4\"}",
    "resumptionId": "{\"__object__\":\"Uint8Array\",\"__value__\":\"2ce14c7f8329a67ee2da6f5497aaaa0f\"}",
    "fabricId": "{\"__object__\":\"BigInt\",\"__value__\":\"177508816511501730\"}",
    "peerNodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"184467686007496097\"}",
    "sessionParameters": {
     "idleIntervalMs": 500,
     "activeIntervalMs": 300,
     "activeThresholdMs": 4000,
     "dataModelRevision": 17,
     "interactionModelRevision": 11,
     "specificationVersion": 16973824,
     "maxPathsPerInvoke": 1
    },
    "caseAuthenticatedTags": [
     1114154
    ]
   },
   {
    "nodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"177508816537040369\"}",
    "sharedSecret": "{\"__object__\":\"Uint8Array\",\"__value__\":\"c39a7196c95ab485137052d7a5fa3d6bed6948427d92b8bc060fbb4cf897e1cb\"}",
    "resumptionId": "{\"__object__\":\"Uint8Array\",\"__value__\":\"df8fa111a880e9acfe87080847a9a502\"}",
    "fabricId": "{\"__object__\":\"BigInt\",\"__value__\":\"177508816511501730\"}",
    "peerNodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"177508816537040369\"}",
    "sessionParameters": {
     "idleIntervalMs": 500,
     "activeIntervalMs": 300,
     "activeThresholdMs": 4000,
     "dataModelRevision": 17,
     "interactionModelRevision": 11,
     "specificationVersion": 16973824,
     "maxPathsPerInvoke": 1
    },
    "caseAuthenticatedTags": [
     1114154
    ]
   }
  ]
 },
 "root.generalDiagnostics": {
  "totalOperationalHoursCounter": 13137189,
  "__features__": "DMTEST",
  "rebootCount": 73
 },
 "root": {
  "__number__": 0,
  "__nextNumber__": 3
 },
 "root.operationalCredentials": {
  "commissionedFabrics": 1,
  "trustedRootCertificates": [
   "{\"__object__\":\"Uint8Array\",\"__value__\":\"15300111008f7e89d8d67b0aecdeae6d212deaa3b724020137032714d894477fd1553601182604537ac72a2605e378cd5937062714d894477fd15536011824070124080130094104047302d8c1c429049055346a31cf2c7e62d7266a3ddeb60a854810d9a8d3ed50a2e90bb5f1fad51b29b727c153946b64718ae2422ea10dfc9b7db0cbc48164d4370a3501290118300414c6e675219d6a1ebb8e664f86d80fe11c3758b859240261300514c6e675219d6a1ebb8e664f86d80fe11c3758b85918300b40092a586ace30018a5fa614cca2c2b23c58ab6c75dc8e759f95a7ba13db97d84043b532505e0cf61c187d29c00f56f90a4952dfb195163d49bbb1f5402e52ad9818\"}"
  ],
  "nocs": [
   {
    "noc": "{\"__object__\":\"Uint8Array\",\"__value__\":\"153001104c9414e1d10261be40bac8e9f319b0a724020137032713e66a5f7192b53211182604ce24e82e2605de35b44137062715a205ab0054a37602271120fb6a0a55df2b041824070124080130094104f99511ea14789fdb5d02c137b441253427522fb73a8b7b7288e52f8d77e368730e9a39204ae32a46444b2b1059d91fb9c7124b623baee78b273b4d9078a0a3f2370a350128011830051415b8bfaccb5a931593c7fe93db60d45db3ca77d13004145a51f3fe2e0a347c1ca54c270b9f434356cee8d12402013603040204011818300b40f590f07b301e261d1c1a38befe6e7c77f23f7dce740461d848fb1f83c27ded1684980f332151db1126a43c1d6d6d8cc49d41b0616d666f6cbe911e607160c0b118\"}",
    "icac": "{\"__object__\":\"Uint8Array\",\"__value__\":\"153001104487402a40eea81f860bc490ac3acf1c24020137032714d894477fd1553601182604adcbbc2e2605bdd2f24a37062713e66a5f7192b532111824070124080130094104da467620b6ea975b897accb3806a8445517f9d2be51e2960d2f4552ca21c45d85204d3d9c0c1f91da2fb57169b6c56e61424fa816297ed5231187ec49526e177370a3501290124020018300514c6e675219d6a1ebb8e664f86d80fe11c3758b85930041415b8bfaccb5a931593c7fe93db60d45db3ca77d124026118300b4026bd09f4ab94b05494a1b0f17cc184b0eb5b6afa54f6802afa4191fa1f1b7e60a30bb711a82e2c6e33d98179d5c4e57c9578bf51a4e38294372c2a3113aaf1a318\"}",
    "fabricIndex": 1
   }
  ],
  "fabrics": [
   {
    "fabricId": "{\"__object__\":\"BigInt\",\"__value__\":\"177508816511501730\"}",
    "label": "Alexa-1",
    "nodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"300579356490267424\"}",
    "rootPublicKey": "{\"__object__\":\"Uint8Array\",\"__value__\":\"04047302d8c1c429049055346a31cf2c7e62d7266a3ddeb60a854810d9a8d3ed50a2e90bb5f1fad51b29b727c153946b64718ae2422ea10dfc9b7db0cbc48164d4\"}",
    "vendorId": 4631,
    "fabricIndex": 1
   }
  ]
 },
 "root.commissioning": {
  "passcode": 99297234,
  "discriminator": 494,
  "enabled": true,
  "commissioned": true,
  "fabrics": {
   "1": {
    "fabricIndex": 1,
    "fabricId": "{\"__object__\":\"BigInt\",\"__value__\":\"177508816511501730\"}",
    "nodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"300579356490267424\"}",
    "rootNodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"18446744060825763882\"}",
    "rootVendorId": 4631,
    "label": "Alexa-1"
   }
  }
 },
 "root.network": {
  "ble": false,
  "operationalPort": 5540
 },
 "root.parts.aggregator": {
  "__number__": 1
 },
 "root.parts.aggregator.parts.fan_matterfan": {
  "__number__": 2
 },
 "root.productDescription": {
  "vendorId": 65521,
  "productId": 32768
 },
 "root.generalCommissioning": {
  "breadcrumb": 0
 },
 "root.basicInformation": {
  "location": "DE"
 },
 "root.accessControl": {
  "acl": [
   {
    "privilege": 5,
    "authMode": 2,
    "subjects": [
     "{\"__object__\":\"BigInt\",\"__value__\":\"18446744060825763882\"}",
     "{\"__object__\":\"BigInt\",\"__value__\":\"18446744060824715265\"}"
    ],
    "targets": null,
    "fabricIndex": 1
   }
  ]
 },
 "fabrics": {
  "fabrics": [
   {
    "fabricIndex": 1,
    "fabricId": "{\"__object__\":\"BigInt\",\"__value__\":\"177508816511501730\"}",
    "nodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"300579356490267424\"}",
    "rootNodeId": "{\"__object__\":\"BigInt\",\"__value__\":\"18446744060825763882\"}",
    "operationalId": "{\"__object__\":\"Uint8Array\",\"__value__\":\"720eee54df0e230f\"}",
    "rootPublicKey": "{\"__object__\":\"Uint8Array\",\"__value__\":\"04047302d8c1c429049055346a31cf2c7e62d7266a3ddeb60a854810d9a8d3ed50a2e90bb5f1fad51b29b727c153946b64718ae2422ea10dfc9b7db0cbc48164d4\"}",
    "keyPair": {
     "publicKey": "{\"__object__\":\"Uint8Array\",\"__value__\":\"04f99511ea14789fdb5d02c137b441253427522fb73a8b7b7288e52f8d77e368730e9a39204ae32a46444b2b1059d91fb9c7124b623baee78b273b4d9078a0a3f2\"}",
     "privateKey": "{\"__object__\":\"Uint8Array\",\"__value__\":\"437be78944ad17890a77fc0ba642c469fe00c7569f7d8adaf5105f8d8bee9e2e\"}"
    },
    "rootVendorId": 4631,
    "rootCert": "{\"__object__\":\"Uint8Array\",\"__value__\":\"15300111008f7e89d8d67b0aecdeae6d212deaa3b724020137032714d894477fd1553601182604537ac72a2605e378cd5937062714d894477fd15536011824070124080130094104047302d8c1c429049055346a31cf2c7e62d7266a3ddeb60a854810d9a8d3ed50a2e90bb5f1fad51b29b727c153946b64718ae2422ea10dfc9b7db0cbc48164d4370a3501290118300414c6e675219d6a1ebb8e664f86d80fe11c3758b859240261300514c6e675219d6a1ebb8e664f86d80fe11c3758b85918300b40092a586ace30018a5fa614cca2c2b23c58ab6c75dc8e759f95a7ba13db97d84043b532505e0cf61c187d29c00f56f90a4952dfb195163d49bbb1f5402e52ad9818\"}",
    "identityProtectionKey": "{\"__object__\":\"Uint8Array\",\"__value__\":\"a399c924f766ad8ef761496aa8977f2c\"}",
    "operationalIdentityProtectionKey": "{\"__object__\":\"Uint8Array\",\"__value__\":\"21131dc9ce7134a87599217cbd55bad0\"}",
    "intermediateCACert": "{\"__object__\":\"Uint8Array\",\"__value__\":\"153001104487402a40eea81f860bc490ac3acf1c24020137032714d894477fd1553601182604adcbbc2e2605bdd2f24a37062713e66a5f7192b532111824070124080130094104da467620b6ea975b897accb3806a8445517f9d2be51e2960d2f4552ca21c45d85204d3d9c0c1f91da2fb57169b6c56e61424fa816297ed5231187ec49526e177370a3501290124020018300514c6e675219d6a1ebb8e664f86d80fe11c3758b85930041415b8bfaccb5a931593c7fe93db60d45db3ca77d124026118300b4026bd09f4ab94b05494a1b0f17cc184b0eb5b6afa54f6802afa4191fa1f1b7e60a30bb711a82e2c6e33d98179d5c4e57c9578bf51a4e38294372c2a3113aaf1a318\"}",
    "operationalCert": "{\"__object__\":\"Uint8Array\",\"__value__\":\"153001104c9414e1d10261be40bac8e9f319b0a724020137032713e66a5f7192b53211182604ce24e82e2605de35b44137062715a205ab0054a37602271120fb6a0a55df2b041824070124080130094104f99511ea14789fdb5d02c137b441253427522fb73a8b7b7288e52f8d77e368730e9a39204ae32a46444b2b1059d91fb9c7124b623baee78b273b4d9078a0a3f2370a350128011830051415b8bfaccb5a931593c7fe93db60d45db3ca77d13004145a51f3fe2e0a347c1ca54c270b9f434356cee8d12402013603040204011818300b40f590f07b301e261d1c1a38befe6e7c77f23f7dce740461d848fb1f83c27ded1684980f332151db1126a43c1d6d6d8cc49d41b0616d666f6cbe911e607160c0b118\"}",
    "label": "Alexa-1",
    "scopedClusterData": "{\"__object__\":\"Map\",\"__value__\":\"[]\"}"
   }
  ],
  "nextFabricIndex": 2
 },
 "root.parts.aggregator.parts.fan_matterfan.fanControl": {
  "fanMode": 3,
  "percentSetting": 33,
  "speedSetting": 1,
  "__features__": "SPD,STEP,DIR"
 },
 "root.parts.aggregator.parts.fan_matterfan.onOff": {
  "onOff": true,
  "__features__": "LT"
 },
 "root.parts.aggregator.parts.fan_matterfan.bridgedDeviceBasicInformation": {
  "nodeLabel": "MatterFan "
 }
}

When rolling back to node 22.12.0 it's working with the given storage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions