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

xcvrd exception in transceiver eeprom during OIR #251

Open
brandonchuang opened this issue Apr 1, 2022 · 0 comments
Open

xcvrd exception in transceiver eeprom during OIR #251

brandonchuang opened this issue Apr 1, 2022 · 0 comments

Comments

@brandonchuang
Copy link

Symptoms:

  1. It takes around 10 seconds to read the eeprom of the transceiver with pages. sfp_optoe_base reads the eeprom too many times.
  2. The exception occurs when a transceiver is plugged in then unplugged within 10 seconds.
  3. If the transceiver is unplugged 10 seconds later, the the exception won't happen.

Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/xcvrd/xcvrd.py", line 1366, in task_worker
post_port_dom_info_to_db(logical_port_name, self.port_mapping, xcvr_table_helper.get_dom_tbl(asic_index), self.task_stopping_event, dom_info_cache=dom_info_cache)
File "/usr/local/lib/python3.7/dist-packages/xcvrd/xcvrd.py", line 434, in post_port_dom_info_to_db
dom_info_dict = _wrapper_get_transceiver_dom_info(physical_port)
File "/usr/local/lib/python3.7/dist-packages/xcvrd/xcvrd.py", line 154, in _wrapper_get_transceiver_dom_info
return platform_chassis.get_sfp(physical_port).get_transceiver_bulk_status()
File "/usr/local/lib/python3.7/dist-packages/sonic_platform_base/sonic_xcvr/sfp_optoe_base.py", line 28, in get_transceiver_bulk_status
return api.get_transceiver_bulk_status() if api is not None else None
File "/usr/local/lib/python3.7/dist-packages/sonic_platform_base/sonic_xcvr/api/public/cmis.py", line 205, in get_transceiver_bulk_status
self.vdm_dict = self.get_vdm()
File "/usr/local/lib/python3.7/dist-packages/sonic_platform_base/sonic_xcvr/api/public/cmis.py", line 1015, in get_vdm
vdm = self.vdm.get_vdm_allpage() if not self.is_flat_memory() else {}
File "/usr/local/lib/python3.7/dist-packages/sonic_platform_base/sonic_xcvr/api/public/cmisVDM.py", line 178, in get_vdm_allpage
vdm_current_page = self.get_vdm_page(page, vdm_flag_page)
File "/usr/local/lib/python3.7/dist-packages/sonic_platform_base/sonic_xcvr/api/public/cmisVDM.py", line 55, in get_vdm_page
vdm_typeID = vdm_descriptor[1::2]
TypeError: 'NoneType' object is not subscriptable

vdahiya12 pushed a commit to vdahiya12/sonic-platform-daemons that referenced this issue Apr 4, 2022
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

1 participant