sonic-buildimage/platform/mellanox
Junchao-Mellanox 9240bcb5b1
[Mellanox] Fix race condition while creating SFP (#17544)
Why I did it
Fix issue xcvrd crashes due to cannot import name 'initialize_sfp_thermal':

Nov 27 09:47:16.388639 sonic ERR pmon#xcvrd: Exception occured at CmisManagerTask thread due to ImportError("cannot import name 'initialize_sfp_thermal' from partially initialized module 'sonic_platform.thermal' (most likely due to a circular import) (/usr/local/lib/python3.9/dist-packages/sonic_platform/thermal.py)")
Nov 27 09:47:16.392544 sonic ERR pmon#xcvrd: Traceback (most recent call last):
Nov 27 09:47:16.392643 sonic ERR pmon#xcvrd:   File "/usr/local/lib/python3.9/dist-packages/xcvrd/xcvrd.py", line 1518, in run
Nov 27 09:47:16.392757 sonic ERR pmon#xcvrd:     self.task_worker()
Nov 27 09:47:16.392757 sonic ERR pmon#xcvrd:   File "/usr/local/lib/python3.9/dist-packages/xcvrd/xcvrd.py", line 1240, in task_worker
Nov 27 09:47:16.392757 sonic ERR pmon#xcvrd:     sfp = platform_chassis.get_sfp(pport)
Nov 27 09:47:16.392793 sonic ERR pmon#xcvrd:   File "/usr/local/lib/python3.9/dist-packages/sonic_platform/chassis.py", line 346, in get_sfp
Nov 27 09:47:16.392830 sonic ERR pmon#xcvrd:     self.initialize_single_sfp(index)
Nov 27 09:47:16.392830 sonic ERR pmon#xcvrd:   File "/usr/local/lib/python3.9/dist-packages/sonic_platform/chassis.py", line 288, in initialize_single_sfp
Nov 27 09:47:16.392830 sonic ERR pmon#xcvrd:     self._sfp_list[index] = sfp_module.SFP(index)
Nov 27 09:47:16.392830 sonic ERR pmon#xcvrd:   File "/usr/local/lib/python3.9/dist-packages/sonic_platform/sfp.py", line 272, in __init__
Nov 27 09:47:16.392866 sonic ERR pmon#xcvrd:     from .thermal import initialize_sfp_thermal
Nov 27 09:47:16.392918 sonic ERR pmon#xcvrd: ImportError: cannot import name 'initialize_sfp_thermal' from partially initialized module 'sonic_platform.thermal' (most likely due to a circular import) (/usr/local/lib/python3.9/dist-packages/sonic_platform/thermal.py)
Nov 27 09:47:16.393103 sonic ERR pmon#xcvrd: Xcvrd: exception found at child thread CmisManagerTask due to ImportError("cannot import name 'initialize_sfp_thermal' from partially initialized module 'sonic_platform.thermal' (most likely due to a circular import) (/usr/local/lib/python3.9/dist-packages/sonic_platform/thermal.py)")
Nov 27 09:47:16.393103 sonic ERR pmon#xcvrd: Exiting main loop as child thread raised exception!
Work item tracking
Microsoft ADO (number only):
How I did it
Add lock for creating SFP object

How to verify it
UNIT TEST
Manual Test
2023-12-19 19:52:42 +08:00
..
docker-saiserver-mlnx [infra] Support syslog rate limit configuration (#12490) 2022-12-20 10:53:58 +02:00
docker-syncd-mlnx [Mellanox] Add Copyright Headers for missing files (#15136) 2023-05-25 07:55:44 +03:00
docker-syncd-mlnx-rpc Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
hw-management [mellanox] Integrate HW-MGMT Version 7.0030.2008 (#17170) 2023-11-16 22:49:29 +08:00
integration-scripts [Mellanox] Enhance the processing of Kconfig in the hw-mgmt integration (#16752) (#17009) 2023-10-26 00:46:54 +08:00
iproute2 [Mellanox] Remove iproute2 SDK patches from SONiC tree and consume them from SDK github (#15062) 2023-06-13 15:17:52 +03:00
issu-version Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
mft [mellanox]: Disable MFT bash autocompletion. (#17359) 2023-12-08 14:35:28 +08:00
mft-fwtrace-cfg [Mellanox] Remove mlxtrace support for SPC4 (#16373) (#16625) 2023-09-21 20:38:22 +08:00
mlnx-platform-api [Mellanox] Fix race condition while creating SFP (#17544) 2023-12-19 19:52:42 +08:00
mlnx-sai [Mellanox] Update SAI build procedure (#15728) 2023-09-03 18:32:47 +08:00
non-upstream-patches [mellanox] Integrate HW-MGMT Version 7.0030.2008 (#17170) 2023-11-16 22:49:29 +08:00
nv-syncd-shared [nvidia] make sure shared storage with syncd is cleared on restarts (#14547) (#16046) 2023-08-07 09:27:43 +08:00
sdk-src [202305][Mellanox] Update SDK/FW/SAI to 4.6.1020/2012.1020/SAIBuild2305.25.0.3(#16096) (#16298) 2023-09-10 22:28:46 +08:00
.gitignore [Mellanox] Update SAI build procedure (#15728) 2023-09-03 18:32:47 +08:00
asic_table.j2 [Mellanox] add new platform 2700 a1 (#16515) (#16795) 2023-10-08 03:06:03 +08:00
docker-saiserver-mlnx.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
docker-saiserver-mlnx.mk Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
docker-syncd-mlnx-rpc.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
docker-syncd-mlnx-rpc.mk Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
docker-syncd-mlnx.dep [build][asan] make dpkg cache asan-aware (#10750) 2022-05-31 11:15:44 +03:00
docker-syncd-mlnx.mk [Mellanox] Add mlxtrace to techsupport (#15961) (#16215) 2023-08-20 23:51:38 +08:00
fw.dep [202305][Mellanox] Update SDK/FW/SAI to 4.6.1020/2012.1020/SAIBuild2305.25.0.3(#16096) (#16298) 2023-09-10 22:28:46 +08:00
fw.mk [202305][Mellanox] Update SAI to SAIBuild2305.26.0.16, SDK/FW to 4.6.2134/2012.2134 (#17474) 2023-12-14 17:29:37 +08:00
hw-management.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
hw-management.mk [mellanox] Integrate HW-MGMT Version 7.0030.2008 (#17170) 2023-11-16 22:49:29 +08:00
install-pending-fw.dep [Mellanox] Modified Platform API to support all firmware updates in single boot (#9608) 2022-01-24 00:56:38 -08:00
install-pending-fw.mk [Mellanox] Update NVIDIA License header for files changed since 1.1.2022 (#10289) 2022-03-23 13:19:25 +02:00
install-pending-fw.py [Mellanox] Update NVIDIA License header for files changed since 1.1.2022 (#10289) 2022-03-23 13:19:25 +02:00
integration-scripts.mk [mellanox] Integrate HW-MGMT Version 7.0030.2008 (#17170) 2023-11-16 22:49:29 +08:00
iproute2.dep [Mellanox] Replace iproute2 supplied by SDK to iproute2 downloaded from Debian repository (#14726) 2023-04-30 12:30:09 +03:00
iproute2.mk [Mellanox] Replace iproute2 supplied by SDK to iproute2 downloaded from Debian repository (#14726) 2023-04-30 12:30:09 +03:00
issu-version.dep Fix cache related mellanox bullseye build failures (#9234) 2021-11-16 14:49:47 -08:00
issu-version.mk Upgrade mellanox platform containers (syncd / saiserver / syncd-rpc) and pmon to bullseye (#10580) 2022-05-10 12:45:28 +03:00
libsaithrift-dev.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
libsaithrift-dev.mk [Mellanox] Add arm64 architecture support to mellanox platform (#11342) 2022-07-13 16:21:33 +03:00
mft-fwtrace-cfg.dep [Mellanox] Add mlxtrace to techsupport (#15961) (#16215) 2023-08-20 23:51:38 +08:00
mft-fwtrace-cfg.mk [Mellanox] Add mlxtrace to techsupport (#15961) (#16215) 2023-08-20 23:51:38 +08:00
mft.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mft.mk [Mellanox] Update MFT to newer version 4.25.0-62 (#16149) 2023-09-03 20:44:29 +08:00
mlnx-ffb.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-ffb.mk [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
mlnx-ffb.sh [mlnx-ffb.sh] Update issu-version location (#14925) 2023-06-15 15:14:52 -07:00
mlnx-fw-upgrade.j2 [mlnx-fw-upgrade] Add FW reactivation in case 2 FW upgrades were done without reboot (#17092) (#17286) 2023-11-24 00:55:34 +08:00
mlnx-onie-fw-update.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-onie-fw-update.mk [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
mlnx-onie-fw-update.sh [Mellanox] Update NVIDIA License header for files changed since 1.1.2022 (#10289) 2022-03-23 13:19:25 +02:00
mlnx-platform-api.dep [Bug][Build]: Fix the mlnx-platform-api dpkg cache config error (#9705) 2022-01-09 09:21:59 +08:00
mlnx-platform-api.mk Add PYTHON3_SWSSCOMMON as build time dependency to Mellanox platform API (#13847) 2023-02-20 15:24:26 +02:00
mlnx-sai.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-sai.mk [202305][Mellanox] Update SAI to SAIBuild2305.26.0.16, SDK/FW to 4.6.2134/2012.2134 (#17474) 2023-12-14 17:29:37 +08:00
mlnx-ssd-fw-update.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
mlnx-ssd-fw-update.mk [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
mlnx-ssd-fw-update.sh [Mellanox] Enhance Platform API to support SN2201 - RJ45 ports and new components mgmt. (#10377) 2022-06-20 19:12:20 -07:00
one-image.dep [mellanox]: Add DPKG local caching support. (#4441) 2020-04-20 19:02:46 -07:00
one-image.mk [Mellanox] Add mlxtrace to techsupport (#15961) (#16215) 2023-08-20 23:51:38 +08:00
peripheral_table.j2 [Mellanox] Add NVIDIA Copyright header to "mellanox" files (#8799) 2021-10-17 19:03:02 +03:00
platform.conf one image implementation (#215) 2017-01-29 11:33:33 -08:00
rules.dep [Mellanox] Modified Platform API to support all firmware updates in single boot (#9608) 2022-01-24 00:56:38 -08:00
rules.mk [Mellanox] Add mlxtrace to techsupport (#15961) (#16215) 2023-08-20 23:51:38 +08:00
sdk.dep [202305][Mellanox] Update SDK/FW/SAI to 4.6.1020/2012.1020/SAIBuild2305.25.0.3(#16096) (#16298) 2023-09-10 22:28:46 +08:00
sdk.mk [202305][Mellanox] Update SAI to SAIBuild2305.26.0.16, SDK/FW to 4.6.2134/2012.2134 (#17474) 2023-12-14 17:29:37 +08:00
zero_profiles.j2 [Mellanox] Add NVIDIA copyright header for NVIDIA added files (#12130) 2022-10-02 11:34:24 +03:00