NeurodataWithoutBorders / nwbinspector

Tool to help inspect NWB files for compliance with NWB Best Practices
https://nwbinspector.readthedocs.io/
Other
17 stars 10 forks source link

[Bug]: S3 path Builder #201

Closed CodyCBakerPhD closed 2 years ago

CodyCBakerPhD commented 2 years ago

What happened?

Final error of dandiset 000209, could possibly just be a consequence of the curling issues in #197, but this shows up differently for whatever reason.

000209.txt

Steps to Reproduce

No response

Traceback

0.5  check_column_binary_capability
-----------------------------------

0.5.12  sub-1056763709/sub-1056763709_ses-1059710151_icephys.nwb: 'None' object with name 'None'
          Message: Traceback (most recent call last):
  File "/home/jovyan/GitHub/nwbinspector/nwbinspector/nwbinspector.py", line 503, in run_checks
    output = check_function(nwbfile_object)
  File "/home/jovyan/GitHub/nwbinspector/nwbinspector/register_checks.py", line 130, in auto_parse_some_output
    for result in output:
  File "/home/jovyan/GitHub/nwbinspector/nwbinspector/checks/tables.py", line 99, in check_column_binary_capability
    unique_values = np.unique(column.data[:nelems])
  File "/home/jovyan/my-conda-envs/nwbinspector/lib/python3.10/site-packages/hdmf/backends/hdf5/h5_utils.py", line 194, in __getitem__
    return [self._get_ref(x) for x in ref]
  File "/home/jovyan/my-conda-envs/nwbinspector/lib/python3.10/site-packages/hdmf/backends/hdf5/h5_utils.py", line 194, in <listcomp>
    return [self._get_ref(x) for x in ref]
  File "/home/jovyan/my-conda-envs/nwbinspector/lib/python3.10/site-packages/hdmf/backends/hdf5/h5_utils.py", line 72, in _get_ref
    return self.get_object(self.dataset.file[ref])
  File "/home/jovyan/my-conda-envs/nwbinspector/lib/python3.10/site-packages/hdmf/backends/hdf5/h5_utils.py", line 105, in get_object
    return self.io.get_container(h5obj)
  File "/home/jovyan/my-conda-envs/nwbinspector/lib/python3.10/site-packages/hdmf/utils.py", line 583, in func_call
    return func(args[0], **pargs)
  File "/home/jovyan/my-conda-envs/nwbinspector/lib/python3.10/site-packages/hdmf/backends/hdf5/h5tools.py", line 599, in get_container
    builder = self.get_builder(h5obj)
  File "/home/jovyan/my-conda-envs/nwbinspector/lib/python3.10/site-packages/hdmf/utils.py", line 583, in func_call
    return func(args[0], **pargs)
  File "/home/jovyan/my-conda-envs/nwbinspector/lib/python3.10/site-packages/hdmf/backends/hdf5/h5tools.py", line 587, in get_builder
    raise ValueError(msg)
ValueError: https://dandiarchive.s3.amazonaws.com/blobs/ebb/42b/ebb42baf-49a0-48ae-b98b-e43bb4938c34:/stimulus/presentation/data_00073_DA0 has not been built

Operating System

Linux

Python Executable

Python

Python Version

3.9

Usage

Library (Python code)

Were you streaming with ROS3?

Yes

Package Versions

No response

Code of Conduct

CodyCBakerPhD commented 2 years ago

So this one is interesting because it passed nwbfile = io.read() just fine for that asset. But it didn't build some kind of internal file link?

Probably another thing that isn't to be considered a NWBInspector-specific problem, so we can transfer this to PyNWB.

CodyCBakerPhD commented 2 years ago

Going to call this a side-effect of #197 and hope that #223 fixes it. Will reopen if I encounter it again