Skip to content

Bug: show macsec crashes with KeyError: 'macsec' when run during config macsec port del #28584

Description

@darius-nexthop

Is it platform specific

generic

Importance or Severity

Medium

Description of the bug

config macsec port del <port> removes the macsec field from the CONFIG_DB PORT entry immediately, but the APPL_DB MACSEC_PORT_TABLE entry is cleaned up asynchronously by macsecmgrd. If show macsec runs during that window, MACsecPort.dump_str finds the APPL_DB entry but no macsec field in CONFIG_DB and crashes with KeyError: 'macsec'. It is easy to hit when deleting several ports at once.

The error is transient since re-running show macsec a second or two later succeeds once teardown completes.

Steps to Reproduce

  1. Configure MACsec on one or more ports.
  2. Delete them in quick succession: for p in <ports>; do sudo config macsec port del "$p"; done
  3. Immediately run show macsec.

Actual Behavior and Expected Behavior

Actual: show macsec exits non-zero with a Python traceback ending in KeyError: 'macsec'.

Expected: show macsec returns cleanly. A port still present in APPL_DB but mid-teardown should be shown with an empty profile.

Relevant log output

Traceback (most recent call last):
  File "/usr/local/bin/show", line 8, in <module>
    sys.exit(cli())
  ...
  File "/usr/local/lib/python3.13/dist-packages/show/plugins/macsec.py", line 330, in show
    print(obj.dump_str(cache_obj))
  File "/usr/local/lib/python3.13/dist-packages/show/plugins/macsec.py", line 158, in dump_str
    self.meta["profile"] = self.cfgMeta["macsec"]
KeyError: 'macsec'

Output of show version, show techsupport

$ show ver

SONiC Software Version: SONiC.202511.1170712-5cc9b4ce9
SONiC OS Version: 13
Distribution: Debian 13.5
Kernel: 6.12.41+deb13-sonic-amd64
Build commit: 5cc9b4ce9
Build date: Tue Jul 21 16:02:15 UTC 2026
Built by: azureuser@3c48205dc000000

Platform: <>
HwSKU: <>
ASIC: broadcom
ASIC Count: 1
Serial Number: <>
Model Number: <>
Hardware Revision: N/A
Uptime: 21:31:36 up 38 min,  1 user,  load average: 0.62, 0.29, 0.58
Date: Wed 22 Jul 2026 21:31:36

Docker images:
REPOSITORY                    TAG                        IMAGE ID       SIZE
docker-telemetry-sidecar      202511.1170712-5cc9b4ce9   c92fd35215c4   265MB
docker-telemetry-sidecar      latest                     c92fd35215c4   265MB
docker-syncd-brcm-dnx         202511.1170712-5cc9b4ce9   66d7fa9b94ec   854MB
docker-syncd-brcm-dnx         latest                     66d7fa9b94ec   854MB
docker-gbsyncd-agera2         202511.1170712-5cc9b4ce9   c188a37a56bc   374MB
docker-gbsyncd-agera2         latest                     c188a37a56bc   374MB
docker-gbsyncd-broncos        202511.1170712-5cc9b4ce9   1f7cc07cbc42   319MB
docker-gbsyncd-broncos        latest                     1f7cc07cbc42   319MB
docker-gbsyncd-credo          202511.1170712-5cc9b4ce9   bafafce26951   307MB
docker-gbsyncd-credo          latest                     bafafce26951   307MB
docker-dhcp-relay             202511.1170712-5cc9b4ce9   b9f53ab84ebf   297MB
docker-dhcp-relay             latest                     b9f53ab84ebf   297MB
docker-sonic-bmp              202511.1170712-5cc9b4ce9   cf8897fce96d   270MB
docker-sonic-bmp              latest                     cf8897fce96d   270MB
docker-macsec                 202511.1170712-5cc9b4ce9   279677ca1a40   302MB
docker-macsec                 latest                     279677ca1a40   302MB
docker-eventd                 202511.1170712-5cc9b4ce9   39e5ca31516d   265MB
docker-eventd                 latest                     39e5ca31516d   265MB
docker-telemetry-watchdog     202511.1170712-5cc9b4ce9   71d6d833dcd1   384MB
docker-telemetry-watchdog     latest                     71d6d833dcd1   384MB
docker-fpm-frr                202511.1170712-5cc9b4ce9   30d544a5eb7c   351MB
docker-fpm-frr                latest                     30d544a5eb7c   351MB
docker-dash-ha                202511.1170712-5cc9b4ce9   280c789389a7   318MB
docker-dash-ha                latest                     280c789389a7   318MB
docker-teamd                  202511.1170712-5cc9b4ce9   fb74abc55c1e   300MB
docker-teamd                  latest                     fb74abc55c1e   300MB
docker-snmp                   202511.1170712-5cc9b4ce9   dce180ee3a2e   290MB
docker-snmp                   latest                     dce180ee3a2e   290MB
docker-platform-monitor       202511.1170712-5cc9b4ce9   e5efcc538121   399MB
docker-platform-monitor       latest                     e5efcc538121   399MB
docker-sflow                  202511.1170712-5cc9b4ce9   48e197b0171b   301MB
docker-sflow                  latest                     48e197b0171b   301MB
docker-router-advertiser      202511.1170712-5cc9b4ce9   29c01174b53c   266MB
docker-router-advertiser      latest                     29c01174b53c   266MB
docker-orchagent              202511.1170712-5cc9b4ce9   553585895a98   312MB
docker-orchagent              latest                     553585895a98   312MB
docker-nat                    202511.1170712-5cc9b4ce9   042656558b7d   302MB
docker-nat                    latest                     042656558b7d   302MB
docker-gnmi-watchdog          202511.1170712-5cc9b4ce9   c41fbdaeae79   272MB
docker-gnmi-watchdog          latest                     c41fbdaeae79   272MB
docker-mux                    202511.1170712-5cc9b4ce9   28725f3689f9   278MB
docker-mux                    latest                     28725f3689f9   278MB
docker-lldp                   202511.1170712-5cc9b4ce9   f182651f2d2f   311MB
docker-lldp                   latest                     f182651f2d2f   311MB
docker-database               202511.1170712-5cc9b4ce9   e864536f996b   272MB
docker-database               latest                     e864536f996b   272MB
docker-bmp-watchdog           202511.1170712-5cc9b4ce9   648db9cf447d   266MB
docker-bmp-watchdog           latest                     648db9cf447d   266MB
docker-auditd-watchdog        202511.1170712-5cc9b4ce9   6c56cf1bf69b   268MB
docker-auditd-watchdog        latest                     6c56cf1bf69b   268MB
docker-auditd                 202511.1170712-5cc9b4ce9   2f269bd3a8d8   265MB
docker-auditd                 latest                     2f269bd3a8d8   265MB
docker-sysmgr                 202511.1170712-5cc9b4ce9   f27e32a4abb9   277MB
docker-sysmgr                 latest                     f27e32a4abb9   277MB
docker-sonic-mgmt-framework   202511.1170712-5cc9b4ce9   42eeb8ddbdff   360MB
docker-sonic-mgmt-framework   latest                     42eeb8ddbdff   360MB
docker-sonic-otel             202511.1170712-5cc9b4ce9   2eebd9b1835d   607MB
docker-sonic-otel             latest                     2eebd9b1835d   607MB
docker-sonic-gnmi             202511.1170712-5cc9b4ce9   49c4add5063e   382MB
docker-sonic-gnmi             latest                     49c4add5063e   382MB

Attach files (if any)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions