Skip to content

Uncaught (in promise) TypeError: Path must be a string, received "undefined" #3523

@psadil

Description

@psadil

What went wrong?

I'm trying to upload a dataset with the deno cli, but it's encountering an error. Though, I'm not sure whether this is an issue with the cli (the error message says that it's deno, itself 🤷🏻 ).

Expected behavior

I expected the dataset to be created on OpenNeuro and my local files uploaded.

How to reproduce

$ deno run -A jsr:@openneuro/cli --version
openneuro 4.37.0

$ deno run -A jsr:@openneuro/cli upload --ignoreWarnings --affirmDefaced --new /dcs07/smart/data/SpatialTopology/ds005256-mriqc
This dataset appears to be BIDS compatible.

          Summary:                         Available Tasks:        Available Modalities:
          2 Files, 3.78 kB                                                              
          0 - Subjects 1 - Sessions                                                     

	If you have any questions, please post on https://neurostars.org/tags/bids.

Validation complete, preparing upload.
error: Uncaught (in promise) TypeError: Path must be a string, received "undefined"
    throw new TypeError(
          ^
    at assertPath (https://jsr.io/@std/path/1.1.1/_common/assert_path.ts:6:11)
    at https://jsr.io/@std/path/1.1.1/posix/join.ts:43:27
    at Array.forEach (<anonymous>)
    at join (https://jsr.io/@std/path/1.1.1/posix/join.ts:43:9)
    at join (https://jsr.io/@std/path/1.1.1/join.ts:30:52)
    at Command.uploadAction [as actionHandler] (https://jsr.io/@openneuro/cli/4.37.0/src/commands/upload.ts:119:20)
    at eventLoopTick (ext:core/01_core.js:178:7)
    at async Command.execute (https://jsr.io/@effigies/cliffy-command/1.0.0-dev.8/command.ts:1940:7)
    at async Command.parseCommand (https://jsr.io/@effigies/cliffy-command/1.0.0-dev.8/command.ts:1772:14)
    at async commandLine (https://jsr.io/@openneuro/cli/4.37.0/src/options.ts:46:29)

============================================================
Deno has panicked. This is a bug in Deno. Please report this
at https://github.com/denoland/deno/issues/new.
If you can reliably reproduce this panic, include the
reproduction steps and re-run with the RUST_BACKTRACE=1 env
var set and include the backtrace in your report.

Platform: linux x86_64
Version: 2.3.3
Args: ["deno", "run", "-A", "jsr:@openneuro/cli", "upload", "--ignoreWarnings", "--affirmDefaced", "--new", "/dcs07/smart/data/SpatialTopology/ds005256-mriqc"]


thread 'main' panicked at /home/conda/feedstock_root/build_artifacts/deno_1748619837309/_build_env/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/deno_unsync-0.4.3/src/tokio/task.rs:76:16:
there is no reactor running, must be called from the context of a Tokio 1.x runtime
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Desktop

  • OS: linux x86_64
  • Browser: n/a
  • Version: n/a

Phone

n/a

Additional information

The dataset contains derivatives for MRIQC, so almost all files are covered in the .bidsignore.

The raw data is a git submodule

$ cat .gitmodules 
[submodule "rawdata"]
	path = sourcedata/raw
	url = https://github.com/OpenNeuroDatasets/ds005256.git
	datalad-id = 2ee2bfa7-6c1b-4cf6-87e9-297e30f42517
	datalad-url = https://github.com/OpenNeuroDatasets/ds005256.git
[submodule "sourcedata/templateflow"]
	path = sourcedata/templateflow
	url = https://datasets.datalad.org/templateflow/.git
	datalad-id = c79c47b6-d0fb-11e8-aa11-64006a8a730f
	datalad-url = ///templateflow
Conda Environment
$ conda env export
name: spacetop2
channels:
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - annexremote=1.6.6=py312h7900ff3_0
  - anyio=4.9.0=pyh29332c3_0
  - attr=2.5.1=h166bdaf_1
  - backoff=2.2.1=pyhd8ed1ab_1
  - backports=1.0=pyhd8ed1ab_5
  - backports.tarfile=1.2.0=pyhd8ed1ab_1
  - boto3=1.38.10=pyhd8ed1ab_0
  - botocore=1.38.10=pyge310_1234567_0
  - brotli-python=1.1.0=py312h2ec8cdc_2
  - bzip2=1.0.8=h4bc722e_7
  - c-ares=1.34.5=hb9d3cd8_0
  - ca-certificates=2025.7.14=hbd8a1cb_0
  - certifi=2025.7.14=pyhd8ed1ab_0
  - cffi=1.17.1=py312h06ac9bb_0
  - chardet=5.2.0=pyhd8ed1ab_3
  - charset-normalizer=3.4.2=pyhd8ed1ab_0
  - colorama=0.4.6=pyhd8ed1ab_1
  - cryptography=44.0.3=py312hda17c39_0
  - curl=8.13.0=h332b0f4_0
  - datalad=1.1.4=py312h7900ff3_0
  - dbus=1.13.6=h5008d03_3
  - deno=2.3.4=hbf66b88_0
  - distro=1.9.0=pyhd8ed1ab_1
  - exceptiongroup=1.2.2=pyhd8ed1ab_1
  - exifread=3.3.0=pyhd8ed1ab_0
  - expat=2.7.0=h5888daf_0
  - fasteners=0.19=pyhd8ed1ab_1
  - freetype=2.13.3=ha770c72_1
  - git=2.49.0=pl5321h59d505e_0
  - git-annex=10.20230626=alldep_h9c70df9_101
  - gmp=6.3.0=hac33072_2
  - gnupg=2.5.5=h1be56c8_0
  - gql=3.5.2=pyhd8ed1ab_0
  - graphql-core=3.2.4=pyhd8ed1ab_0
  - h2=4.2.0=pyhd8ed1ab_0
  - hpack=4.1.0=pyhd8ed1ab_0
  - humanize=4.12.3=pyhd8ed1ab_0
  - hyperframe=6.1.0=pyhd8ed1ab_0
  - idna=3.10=pyhd8ed1ab_1
  - importlib-metadata=8.6.1=pyha770c72_0
  - importlib_resources=6.5.2=pyhd8ed1ab_0
  - iso8601=2.1.0=pyhd8ed1ab_1
  - jaraco.classes=3.4.0=pyhd8ed1ab_2
  - jaraco.context=6.0.1=pyhd8ed1ab_0
  - jaraco.functools=4.1.0=pyhd8ed1ab_0
  - jeepney=0.9.0=pyhd8ed1ab_0
  - jmespath=1.0.1=pyhd8ed1ab_1
  - keyring=25.6.0=pyha804496_0
  - keyrings.alt=5.0.2=pyhd8ed1ab_0
  - keyutils=1.6.1=h166bdaf_0
  - krb5=1.21.3=h659f571_0
  - lcms2=2.17=h717163a_0
  - ld_impl_linux-64=2.43=h712a8e2_4
  - lerc=4.0.0=h0aef613_1
  - libassuan=3.0.2=h5888daf_0
  - libcap=2.75=h39aace5_0
  - libcbor=0.10.2=hcb278e6_0
  - libcurl=8.13.0=h332b0f4_0
  - libdeflate=1.23=h86f0d12_0
  - libedit=3.1.20250104=pl5321h7949ede_0
  - libev=4.33=hd590300_2
  - libexpat=2.7.0=h5888daf_0
  - libffi=3.4.6=h2dba641_1
  - libfido2=1.15.0=hdd1f21f_0
  - libfreetype=2.13.3=ha770c72_1
  - libfreetype6=2.13.3=h48d6fc4_1
  - libgcc=14.2.0=h767d61c_2
  - libgcc-ng=14.2.0=h69a702a_2
  - libgcrypt=1.11.0=ha770c72_2
  - libgcrypt-devel=1.11.0=hb9d3cd8_2
  - libgcrypt-lib=1.11.0=hb9d3cd8_2
  - libgcrypt-tools=1.11.0=hb9d3cd8_2
  - libglib=2.84.1=h2ff4ddf_0
  - libgomp=14.2.0=h767d61c_2
  - libgpg-error=1.55=h3f2d84a_0
  - libiconv=1.18=h4ce23a2_1
  - libjpeg-turbo=3.1.0=hb9d3cd8_0
  - libksba=1.6.7=hac33072_0
  - liblzma=5.8.1=hb9d3cd8_1
  - libmagic=5.46=hadc24fc_0
  - libnghttp2=1.64.0=h161d5f1_0
  - libnsl=2.0.1=hd590300_0
  - libpng=1.6.47=h943b412_0
  - libsqlite=3.49.1=hee588c1_2
  - libssh2=1.11.1=hcf80075_0
  - libstdcxx=14.2.0=h8f9b012_2
  - libstdcxx-ng=14.2.0=h4852527_2
  - libtiff=4.7.0=hd9ff511_4
  - libudev1=257.4=hbe16f8c_1
  - libuuid=2.38.1=h0b41bf4_0
  - libwebp-base=1.5.0=h851e524_0
  - libxcb=1.17.0=h8a09558_0
  - libxcrypt=4.4.36=hd590300_1
  - libzlib=1.3.1=hb9d3cd8_2
  - looseversion=1.3.0=pyhd8ed1ab_0
  - lsof=4.99.4=hb9d3cd8_0
  - lz4-c=1.10.0=h5888daf_1
  - more-itertools=10.7.0=pyhd8ed1ab_0
  - msgpack-python=1.1.0=py312h68727a3_0
  - multidict=6.4.3=py312h178313f_0
  - mutagen=1.47.0=pyhd8ed1ab_1
  - ncurses=6.5=h2d0b736_3
  - npth=1.8=h5888daf_0
  - ntbtls=0.3.2=hfc55251_0
  - openjpeg=2.5.3=h5fbd93e_0
  - openssh=10.0p1=hc830a30_0
  - openssl=3.5.1=h7b32b05_0
  - p7zip=16.02=h9c3ff4c_1001
  - patool=4.0.1=pyhd8ed1ab_0
  - pcre2=10.44=hc749103_2
  - perl=5.32.1=7_hd590300_perl5
  - pillow=11.1.0=py312h80c1187_0
  - pip=25.1.1=pyh8b19718_0
  - platformdirs=4.3.7=pyh29332c3_0
  - popt=1.16=h0b475e3_2002
  - propcache=0.3.1=py312h178313f_0
  - psutil=7.0.0=py312h66e93f0_0
  - pthread-stubs=0.4=hb9d3cd8_1002
  - pycparser=2.22=pyh29332c3_1
  - pyperclip=1.9.0=pyha804496_3
  - pysocks=1.7.1=pyha55dd90_7
  - python=3.12.10=h9e4cc4f_0_cpython
  - python-dateutil=2.9.0.post0=pyhff2d567_1
  - python-gitlab=5.6.0=pyhff2d567_0
  - python_abi=3.12=7_cp312
  - readline=8.2=h8c095d6_2
  - requests=2.32.3=pyhd8ed1ab_1
  - requests-ftp=0.3.1=pyhd8ed1ab_2
  - requests-toolbelt=1.0.0=pyhd8ed1ab_1
  - rsync=3.4.1=h81c0278_2
  - s3transfer=0.12.0=pyhd8ed1ab_0
  - secretstorage=3.3.3=py312h7900ff3_3
  - setuptools=80.1.0=pyhff2d567_0
  - simplejson=3.20.1=py312h66e93f0_0
  - six=1.17.0=pyhd8ed1ab_0
  - sniffio=1.3.1=pyhd8ed1ab_1
  - sqlite=3.49.1=h9eae976_2
  - tk=8.6.13=noxft_h4845f30_101
  - tqdm=4.67.1=pyhd8ed1ab_1
  - typing_extensions=4.13.2=pyh29332c3_0
  - tzdata=2025b=h78e105d_0
  - urllib3=2.4.0=pyhd8ed1ab_0
  - wheel=0.45.1=pyhd8ed1ab_1
  - whoosh=2.7.4=py312h7900ff3_9
  - xclip=0.13=hb9d3cd8_4
  - xorg-libice=1.1.2=hb9d3cd8_0
  - xorg-libsm=1.2.6=he73a12e_0
  - xorg-libx11=1.8.12=h4f16b4b_0
  - xorg-libxau=1.0.12=hb9d3cd8_0
  - xorg-libxdmcp=1.1.5=hb9d3cd8_0
  - xorg-libxext=1.3.6=hb9d3cd8_0
  - xorg-libxmu=1.2.1=hb9d3cd8_1
  - xorg-libxt=1.3.1=hb9d3cd8_0
  - xsel=1.2.1=hb9d3cd8_6
  - xxhash=0.8.3=hb47aa4a_0
  - yarl=1.20.0=py312h178313f_0
  - zipp=3.21.0=pyhd8ed1ab_1
  - zlib=1.3.1=hb9d3cd8_2
  - zstandard=0.23.0=py312h66e93f0_2
  - zstd=1.5.7=hb8e6e7a_2

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions