diff --git a/platform/mellanox/mlnx-platform-api/sonic_platform/sfp.py b/platform/mellanox/mlnx-platform-api/sonic_platform/sfp.py index a457b745807..fa9d88be2e7 100644 --- a/platform/mellanox/mlnx-platform-api/sonic_platform/sfp.py +++ b/platform/mellanox/mlnx-platform-api/sonic_platform/sfp.py @@ -29,6 +29,7 @@ import os import threading import time + import traceback from sonic_py_common.logger import Logger from sonic_py_common.general import check_output_pipe from . import utils @@ -541,6 +542,19 @@ def _read_eeprom(self, offset, num_bytes, log_on_error=True): if log_on_error: logger.log_warning(f'Failed to read sfp={self.sdk_index} EEPROM page={page}, page_offset={page_offset}, '\ f'size={num_bytes}, offset={offset}, error = {e}') + + logger.log_error(f"--- tomer --- {self.sdk_index}: Entered monitored if statement") + logger.log_error(f"--- tomer --- {self.sdk_index}: Stack trace leading to this call:") + stack = traceback.extract_stack() + for frame in stack: + logger.log_error(f"--- tomer --- {self.sdk_index}: File: {frame.filename}") + logger.log_error(f"--- tomer --- {self.sdk_index}: Line number: {frame.lineno}") + logger.log_error(f"--- tomer --- {self.sdk_index}: Function name: {frame.name}") + logger.log_error(f"--- tomer --- {self.sdk_index}: Line of code: {frame.line}") + logger.log_error('-' * 40) + logger.log_error('-' * 40) + logger.log_error('-' * 40) + return None return bytearray(result)