nickrsan / seabird_ctd

Handles command, control, and data reading for stationary Seabird CTDs on fixed deployment
https://seabird-ctd.readthedocs.io
2 stars 0 forks source link

Exception when deleting CTD object #4

Closed nickrsan closed 7 years ago

nickrsan commented 7 years ago

Original report by Nicholas Santos (Bitbucket: nickrsan, GitHub: nickrsan).


#!python

Exception ignored in: <bound method CTD.__del__ of <seabird_ctd.CTD object at 0x000002AD1A7F6978>>
Traceback (most recent call last):
  File "C:\Users\dsx\Code\icefish_backend\seabird_ctd\__init__.py", line 487, in __del__
  File "C:\Users\dsx\Code\icefish_backend\seabird_ctd\__init__.py", line 483, in close
  File "C:\Users\dsx\Code\icefish_backend\seabird_ctd\__init__.py", line 228, in sleep
  File "C:\Users\dsx\Code\icefish_backend\seabird_ctd\__init__.py", line 201, in _send_command
  File "C:\Users\dsx\Code\icefish_backend\seabird_ctd\__init__.py", line 417, in check_data_for_records
  File "C:\Users\dsx\Code\icefish_backend\seabird_ctd\__init__.py", line 444, in find_and_insert_records
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 954, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 887, in _find_spec
TypeError: 'NoneType' object is not iterable

Could it be that it's trying to read after it sends the QS command?

nickrsan commented 7 years ago

Original comment by Nicholas Santos (Bitbucket: nickrsan, GitHub: nickrsan).


Fixed by setting it so that when QS is sent, the object doesn't try to then read from the CTD before closing it. Unit test written, with some limitations noted in its docstring.