Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TC_CADMIN_1_19] Fabric removal table full failure 0x00000B noticed from controller side instead of device side during test step 7 #473

Open
j-ororke opened this issue Jan 9, 2025 · 2 comments

Comments

@j-ororke
Copy link

j-ororke commented Jan 9, 2025

Summary Title:

Fabric removal table full failure 0x00000B noticed from controller side instead of device side as currently max number of fabrics is the same between controller and device side.
Test script location: CADMIN_1_19

Description:

  • Issue noticed when running test step 7, where when running this test step the controller is providing back the fabric table full instead of receiving the failure NOC response from the device side during commissioning. This is caused due to the test script expecting that the controller should have allowed more fabrics than the device, which needs adjustment to allow the failure to occur from the device instead of from the controller.

Steps to reproduce:

  • Run TC_CADMIN_1_19 test script on TH
  • Test script is expected to pass, which it does, but does not pass in expected manner according to test step 7

Logs:

[2025-01-08 09:36:49.441242][TEST][STDOUT]Traceback (most recent call last): [2025-01-08 09:36:49.441274][TEST][STDOUT] File "/home/ubuntu/connectedhomeip/pyvenv_testing/lib/python3.12/site-packages/mobly/base_test.py", line 818, in exec_one_test [2025-01-08 09:36:49.441281][TEST][STDOUT] test_method() [2025-01-08 09:36:49.441332][TEST][STDOUT] File "/home/ubuntu/connectedhomeip/pyvenv_testing/lib/python3.12/site-packages/chip/testing/matter_testing.py", line 2093, in async_runner [2025-01-08 09:36:46.603655][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with 00155D4A12E20000.local [2025-01-08 09:36:49.441467][TEST][STDOUT] return _async_runner(body, self, *args, **kwargs) [2025-01-08 09:36:49.441501][TEST][STDOUT] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [2025-01-08 09:36:49.441536][TEST][STDOUT] File "/home/ubuntu/connectedhomeip/pyvenv_testing/lib/python3.12/site-packages/chip/testing/matter_testing.py", line 2081, in _async_runner [2025-01-08 09:36:49.441548][TEST][STDOUT] return asyncio.run(runner_with_timeout) [2025-01-08 09:36:49.441560][TEST][STDOUT] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [2025-01-08 09:36:49.441576][TEST][STDOUT] File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run [2025-01-08 09:36:49.441595][TEST][STDOUT] return runner.run(main) [2025-01-08 09:36:49.441615][TEST][STDOUT] ^^^^^^^^^^^^^^^^ [2025-01-08 09:36:46.603656][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with _I9858F840B3B8B702._sub._matter._tcp.local [2025-01-08 09:36:46.603656][APP ][STDOUT][2817188:2817188] CHIP:DIS: CHIP minimal mDNS configured as 'Operational device'; instance name: 9858F840B3B8B702-0000000012344321. [2025-01-08 09:36:49.441950][TEST][STDOUT] File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run [2025-01-08 09:36:49.442002][TEST][STDOUT] return self._loop.run_until_complete(task) [2025-01-08 09:36:49.442017][TEST][STDOUT] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [2025-01-08 09:36:49.442038][TEST][STDOUT] File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete [2025-01-08 09:36:49.442046][TEST][STDOUT] return future.result() [2025-01-08 09:36:49.442053][TEST][STDOUT] ^^^^^^^^^^^^^^^ [2025-01-08 09:36:49.442070][TEST][STDOUT] File "/usr/lib/python3.12/asyncio/tasks.py", line 520, in wait_for [2025-01-08 09:36:49.442077][TEST][STDOUT] return await fut [2025-01-08 09:36:49.442083][TEST][STDOUT] ^^^^^^^^^ [2025-01-08 09:36:49.442139][TEST][STDOUT] File "/home/ubuntu/connectedhomeip/src/python_testing/TC_CADMIN_1_19.py", line 140, in test_TC_CADMIN_1_19 [2025-01-08 09:36:46.603839][APP ][STDOUT][2817188:2817188] CHIP:DIS: mDNS service published: _matter._tcp [2025-01-08 09:36:46.603851][APP ][STDOUT][2817188:2817188] CHIP:DL: Using WiFi MAC for hostname [2025-01-08 09:36:46.603852][APP ][STDOUT][2817188:2817188] CHIP:DIS: Advertise operational node C0379863AB150FE0-0000000012344321 [2025-01-08 09:36:46.603855][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with _matter._tcp.local [2025-01-08 09:36:46.603855][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with C0379863AB150FE0-0000000012344321._matter._tcp.local [2025-01-08 09:36:49.442402][TEST][STDOUT] fids[next_fabric] = fids_fa_dir[next_fabric].NewController(nodeId=next_fabric) [2025-01-08 09:36:49.442501][TEST][STDOUT] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [2025-01-08 09:36:49.442556][TEST][STDOUT] File "/home/ubuntu/connectedhomeip/pyvenv_testing/lib/python3.12/site-packages/chip/FabricAdmin.py", line 99, in NewController [2025-01-08 09:36:49.442574][TEST][STDOUT] controller = ChipDeviceCtrl.ChipDeviceController( [2025-01-08 09:36:49.442588][TEST][STDOUT] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [2025-01-08 09:36:49.442621][TEST][STDOUT] File "/home/ubuntu/connectedhomeip/pyvenv_testing/lib/python3.12/site-packages/chip/ChipDeviceCtrl.py", line 2038, in __init__ [2025-01-08 09:36:49.442629][TEST][STDOUT] ).raise_on_error() [2025-01-08 09:36:49.442636][TEST][STDOUT] ^^^^^^^^^^^^^^^^ [2025-01-08 09:36:49.442723][TEST][STDOUT] File "/home/ubuntu/connectedhomeip/pyvenv_testing/lib/python3.12/site-packages/chip/native/__init__.py", line 89, in raise_on_error [2025-01-08 09:36:49.442755][TEST][STDOUT] raise exception [2025-01-08 09:36:46.603856][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with C0379863AB150FE0-0000000012344321._matter._tcp.local [2025-01-08 09:36:46.603857][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with 00155D4A12E20000.local [2025-01-08 09:36:46.603858][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with 00155D4A12E20000.local [2025-01-08 09:36:46.603859][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with _IC0379863AB150FE0._sub._matter._tcp.local [2025-01-08 09:36:49.443034][TEST][STDOUT]chip.exceptions.ChipStackError: src/credentials/FabricTable.cpp:833: CHIP Error 0x0000000B: No memory [2025-01-08 09:36:49.443078][TEST][STDOUT][MatterTest] 01-08 09:36:46.642 INFO ***** Test Failure : [2025-01-08 09:36:49.443108][TEST][STDOUT][MatterTest] 01-08 09:36:46.642 INFO Finished test in 40210944.0ms [2025-01-08 09:36:49.443121][TEST][STDOUT][MatterTest] 01-08 09:36:46.642 ERROR [2025-01-08 09:36:49.443124][TEST][STDOUT] [2025-01-08 09:36:49.443141][TEST][STDOUT]****************************************************************** [2025-01-08 09:36:49.443144][TEST][STDOUT]* [2025-01-08 09:36:49.443160][TEST][STDOUT]* Test test_TC_CADMIN_1_19 failed for the following reason: [2025-01-08 09:36:46.603859][APP ][STDOUT][2817188:2817188] CHIP:DIS: CHIP minimal mDNS configured as 'Operational device'; instance name: C0379863AB150FE0-0000000012344321. [2025-01-08 09:36:46.604057][APP ][STDOUT][2817188:2817188] CHIP:DIS: mDNS service published: _matter._tcp [2025-01-08 09:36:46.604069][APP ][STDOUT][2817188:2817188] CHIP:DL: Using WiFi MAC for hostname [2025-01-08 09:36:46.604070][APP ][STDOUT][2817188:2817188] CHIP:DIS: Advertise operational node 2D797C62B3678AE8-0000000012344321 [2025-01-08 09:36:46.604074][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with _matter._tcp.local [2025-01-08 09:36:46.604074][APP ][STDOUT][2817188:2817188] CHIP:DIS: Responding with 2D797C62B3678AE8-0000000012344321._matter._tcp.local [2025-01-08 09:36:49.443429][TEST][STDOUT]* src/credentials/FabricTable.cpp:833: CHIP Error 0x0000000B: No memory [2025-01-08 09:36:49.443461][TEST][STDOUT]* [2025-01-08 09:36:49.443504][TEST][STDOUT]* File "/home/ubuntu/connectedhomeip/pyvenv_testing/lib/python3.12/site-packages/chip/native/__init__.py", line 89, in raise_on_error [2025-01-08 09:36:49.443540][TEST][STDOUT]* chip.exceptions.ChipStackError: src/credentials/FabricTable.cpp:833: CHIP Error 0x0000000B: No memory

Additional Info:

  • Issue caused due to mState array in src/credentials/FabricTable.cpp being full before we can attempt to commission final controller with the device and get the same failure returned from the device side.
  • Issue is currently noticed with the test script and possible resolution is that we delete fabrics from the TH before we max's out first
  • We had been able to resolve this issue by increasing CHIP_CONFIG_MAX_FABRICS var to value of 18 in src/lib/core/CHIPConfig.h. however, this is not a permanent solution as we do not know how many fabrics a device might have during certifications.
@j-ororke
Copy link
Author

j-ororke commented Jan 9, 2025

This above issue was reported by Ingo Fischer.

Please assign this issue to me as I will be working on attempting to resolve the problem with the CADMIN_1_19 test script at this time

@sander-gitl
Copy link

sander-gitl commented Jan 13, 2025

As discussed, is this is also an issue in earlier Matter versions (that use YAML) -> if so this might warrant a (urgent) CCB.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants