-
Notifications
You must be signed in to change notification settings - Fork 33
Validation failing for most recent 0.67.3 release on assets not listed #1611
Copy link
Copy link
Closed
Description
This error was observed by @ayendiki when uploading data to LINC Archive on version 0.67.3 (all issues were resolved once downgrading to 0.67.0) -- both commands failed at 0.67.3:
dandi upload -i linc 000003/derivatives/histology/sub-MF278/sub-MF278_stacked_blockface_masked_grayscale_level4.nii.gz
and
DANDI_DEVEL=1 dandi upload -i linc --validation skip 000003/derivatives/histology/sub-MF278/sub-MF278_stacked_blockface_masked_grayscale_level4.nii.gz
Investigating now -- but the errors that came about signaled that BIDS validation was occuring on all files in the directory, even though upload was centered purely on 000003/derivatives/histology/sub-MF278/sub-MF278_stacked_blockface_masked_grayscale_level4.nii.gz with a error shown down below:
$ dandi upload -i linc 000003/derivatives/histology/sub-MF278/sub-MF278_stacked_blockface_masked_grayscale_level4.nii.gz
2025-04-14 15:19:54,352 [ INFO] Found 2 files to consider
$<2>PATH$<2> $<2>$<2>PATH$<2> $<2>SIZE$<2> $<2>ERRORS$<2> $<2>PROGRESS$<2> $<2>STATUS$<2> $<2>MESSAGE$$<2>$<2>PATH$<2> $<2>SIZE$<2> $<2>ERRORS$<2> $<2>PROGRESS$<2> $<2>STATUS$<2> $<2>M$<2>$<2>PATH$<2> $<2>SIZE$<2> $<2>ERRORS$<2> $<2>PROGRESS$<2> $<2>STATUS$<2> $<2>MESSAGE$<2> 1.6 kB skipped should be edited online
$<2>$<2>dandiset.yaml$<2> 1.6 kB skipped should be edited online
$<2>$<2>derivatives/histology/sub-MF278/sub-MF278_stacked_blockface_masked_grayscale_level4.nii.gz$<2> 4.9 MB pre-validating
Summary: 4.9 MB 1 skipped 1 should be edited online
1 pre-validating
--- Logging error ---
Traceback (most recent call last):
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/logging/__init__.py", line 1160, in emit
msg = self.format(record)
^^^^^^^^^^^^^^^^^^^
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/logging/__init__.py", line 999, in format
return fmt.format(record)
^^^^^^^^^^^^^^^^^^
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/logging/__init__.py", line 703, in format
record.message = record.getMessage()
^^^^^^^^^^^^^^^^^^^
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/logging/__init__.py", line 392, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
ValueError: unsupported format character '`' (0x60) at index 25
Call stack:
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/threading.py", line 1032, in _bootstrap
self._bootstrap_inner()
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/threading.py", line 1075, in _bootstrap_inner
self.run()
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/threading.py", line 1012, in run
self._target(*self._args, **self._kwargs)
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/concurrent/futures/thread.py", line 92, in _worker
work_item.run()
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/pyout/interface.py", line 482, in async_fn
for i in gen:
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/dandi/upload.py", line 264, in process_path
validation_statuses = dfile.get_validation_errors()
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/dandi/files/bids.py", line 285, in get_validation_errors
return GenericAsset.get_validation_errors(
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/dandi/files/bases.py", line 185, in get_validation_errors
asset = self.get_metadata(digest=self._DUMMY_DIGEST)
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/dandi/files/bids.py", line 199, in get_metadata
metadata = self.bids_dataset_description.get_asset_metadata(self)
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/dandi/files/bids.py", line 128, in get_asset_metadata
self._validate()
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/dandi/files/bids.py", line 90, in _validate
results = validate_bids(self.bids_root)
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/dandi/validate.py", line 47, in validate_bids
validation_result = validate_bids_(paths, exclude_files=["dandiset.yaml"])
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/bidsschematools/validator.py", line 644, in validate_bids
validation_result = validate_all(
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/site-packages/bidsschematools/validator.py", line 432, in validate_all
lgr.debug("\t* `%s`, with pattern: `%`", target_path, target_regex)
Message: '\t* `%s`, with pattern: `%`'
Arguments: ('/autofs/space/aspasia_002/users/linc/000003/participants.tsv', '(?:.*/)?(?P<path>dataset_description\\.json)(?:/.*)?\\Z')
--- Logging error ---
Traceback (most recent call last):
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/logging/__init__.py", line 1160, in emit
msg = self.format(record)
^^^^^^^^^^^^^^^^^^^
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/logging/__init__.py", line 999, in format
return fmt.format(record)
^^^^^^^^^^^^^^^^^^
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/logging/__init__.py", line 703, in format
record.message = record.getMessage()
^^^^^^^^^^^^^^^^^^^
File "/autofs/space/aspasia_002/users/code/miniforge3/envs/dandi/lib/python3.12/logging/__init__.py", line 392, in getMessage
msg = msg % self.args
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels