Matter Light Switch Sample - Kernel panic

I have the matter light switch sample, SDK 3.4.0, on the nRF52840 Dev Kit. I can bind it with a light using Home Assistant (Ikea light) and it works OK. However after a while, or if I just power the dev kit down and up again I get the following from the serial output

 

I: 302 [IN]CASE Server enabling CASE session setups

D: 307 [IN]SecureSession[0x2000fb28]: Allocated Type:2 LSID:40469

I: 313 [SVR]Server Listening...

I: 316 [DL]Device Configuration:

I: 319 [DL]  Serial Number: 11223344556677889900

I: 323 [DL]  Vendor Id: 65521 (0xFFF1)

I: 327 [DL]  Product Id: 32772 (0x8004)

I: 330 [DL]  Product Name: Matter Light Switch

I: 334 [DL]  Hardware Version: 0

I: 337 [DL]  Setup Pin Code (0 for UNKNOWN/ERROR): 20202021

I: 342 [DL]  Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00)

I: 349 [DL]  Manufacturing Date: 2022-01-01

I: 353 [DL]  Device Type: 65535 (0xFFFF)

I: 356 [SVR]SetupQRCode: [MT:4CT9142C00KA0648G00]

I: 361 [SVR]Copy/paste the below URL in a browser to see the QR Code:

I: 367 [SVR]project-chip.github.io/.../qrcode.html

I: 375 [SVR]Manual pairing code: [34970112332]

I: Initialize binding Handler

D: 383 [DIS]OperationalSessionSetup[2:00000000000000F9]: State change 1 --> 2

D: 389 [DIS]OperationalSessionSetup[2:00000000000000F9]: State change 2 --> 1

E: 396 [SVR]Failed to establish connection to node 0x00000000000000F9

I: Binding Table size: [1]:

I: [0] UNICAST:

abort()

E: r0/a1:  0x00000004  r1/a2:  0x000b4014  r2/a3:  0x00000000

E: r3/a4:  0x00000004 r12/ip:  0x20011a50 r14/lr:  0x0001cb45

E:  xpsr:  0x210f0000

E: Faulting instruction address (r15/pc): 0x0001cb54

E: >>> ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0

E: Current thread: 0x20008758 (CHIP)

E: Halting system

The node of the Light is "F9" as in the output. The light is working and can be controlled from Home Assistant. Resetting the dev kit makes no difference.

I saw from a previous posting on the same subject that increasing the size of CONFIG_OPENTHREAD_THREAD_STACK_SIZE might help. I have tried doubling this to 8192 but there is no difference. I have also tried a nanoleaf light with the same result.

Parents Reply
  • Hi Tony, 

    My apologies for the delay. We currently have reduced staffing due to summer holidays. 

    The code is aborted when printing the information for the bound device, that is here: https://github.com/nrfconnect/sdk-nrf/blob/v3.4.0/samples/matter/common/src/binding/binding_handler.cpp#L123-L129. Preliminary investigation suggests that this is because the switch has no cluster ID saved for the light in the binding table. I will forward this finding internally to get a second opinion on this issue. 

    Tonyll said:

    I found the addr2line doesn't run from nRF Connect as given in Lesson 2, (vscode for windows with sdk 3.4.0 installed, I needed to find the program in the toolchain directory and run

    c:\ncs\toolchains\dcbdc366a1\opt\zephyr-sdk\gnu\arm-zephyr-eabi\bin\arm-zephyr-eabi-addr2line  -e build_dk/light_switch/zephyr/zephyr.elf 0x0001cb54

    Also the zephyr.elf file is in a sub directory of the build folder under the project name (different from Lesson 2)

    The specific method is described in more detail in exercise 2, but I do notice that the path in the exercise is missing the "gnu" directory. I'll report this internally. 

    Best regards,

    Maria

Children
Related