[BUG?] rasa train -> TypeError: argument of type 'int' is not iterable

I built a container with this Dockerfile:

FROM nvidia/cuda:12.0.0-cudnn8-runtime-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive RUN rm /bin/sh && ln -s /bin/bash /bin/sh

RUN apt-get update && \ apt-get install -y software-properties-common curl && \ add-apt-repository ppa:deadsnakes/ppa && \ apt-get update && \ apt-get install -y python3.9 python3.9-venv python3.9-distutils

RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python3.9

RUN /usr/bin/python3.9 -m pip install --upgrade pip setuptools wheel rasa

WORKDIR /app

CMD [“sleep”, “infinity”]

Inside, I just wrote “rasa init”, followed by “rasa train”, that computed successfully, but “rasa test” gave this output (and error):

root@024bccff7fac:/app# rasa test /usr/local/lib/python3.10/dist-packages/rasa/core/tracker_store.py:1044: MovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to “sqlalchemy<2.0”. Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings. Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: Error Messages — SQLAlchemy 2.0 Documentation ) Base: DeclarativeMeta = declarative_base() /usr/local/lib/python3.10/dist-packages/rasa/shared/utils/validation.py:134: DeprecationWarning: pkg_resources is deprecated as an API. See Package Discovery and Resource Access using pkg_resources - setuptools 80.9.0 documentation import pkg_resources /usr/local/lib/python3.10/dist-packages/pkg_resources/init.py:3117: DeprecationWarning: Deprecated call to pkg_resources.declare_namespace('mpl_toolkits'). Implementing implicit namespace packages (as specified in PEP 420) is preferred to pkg_resources.declare_namespace. See Keywords - setuptools 80.9.0 documentation declare_namespace(pkg) /usr/local/lib/python3.10/dist-packages/pkg_resources/init.py:3117: DeprecationWarning: Deprecated call to pkg_resources.declare_namespace('ruamel'). Implementing implicit namespace packages (as specified in PEP 420) is preferred to pkg_resources.declare_namespace. See Keywords - setuptools 80.9.0 documentation declare_namespace(pkg) /usr/local/lib/python3.10/dist-packages/tensorflow/lite/python/util.py:52: DeprecationWarning: jax.xla_computation is deprecated. Please use the AOT APIs. from jax import xla_computation as _xla_computation 2025-10-08 14:11:11 INFO rasa.core.processor - Loading model models/20251008-140953-cool-loveseat.tar.gz… 2025-10-08 14:11:25 WARNING rasa.shared.utils.common - The UnexpecTED Intent Policy is currently experimental and might change or be removed in the future 🔬 Please share your feedback on it in the forum (``https://forum.rasa.com``) to help us make this feature ready for production.

Traceback (most recent call last): File “/usr/local/bin/rasa”, line 7, in sys.exit(main()) File “/usr/local/lib/python3.10/dist-packages/rasa/main.py”, line 133, in main cmdline_arguments.func(cmdline_arguments) File “/usr/local/lib/python3.10/dist-packages/rasa/cli/test.py”, line 279, in test run_core_test(args) File “/usr/local/lib/python3.10/dist-packages/rasa/cli/test.py”, line 273, in run_core_test asyncio.run(run_core_test_async(args)) File “/usr/lib/python3.10/asyncio/runners.py”, line 44, in run return loop.run_until_complete(main) File “/usr/lib/python3.10/asyncio/base_events.py”, line 649, in run_until_complete return future.result() File “/usr/local/lib/python3.10/dist-packages/rasa/cli/test.py”, line 133, in run_core_test_async await test_core( File “/usr/local/lib/python3.10/dist-packages/rasa/model_testing.py”, line 194, in test_core await core_test( File “/usr/local/lib/python3.10/dist-packages/rasa/core/test.py”, line 1093, in test generator = _create_data_generator(stories, agent, max_stories, e2e) File “/usr/local/lib/python3.10/dist-packages/rasa/core/test.py”, line 438, in _create_data_generator test_data_importer = TrainingDataImporter.load_from_dict( File “/usr/local/lib/python3.10/dist-packages/rasa/shared/importers/importer.py”, line 169, in load_from_dict RasaFileImporter(config_path, domain_path, training_data_paths) File “/usr/local/lib/python3.10/dist-packages/rasa/shared/importers/rasa.py”, line 32, in init self._nlu_files = rasa.shared.data.get_data_files( File “/usr/local/lib/python3.10/dist-packages/rasa/shared/data.py”, line 100, in get_data_files new_data_files = _find_data_files_in_directory(path, filter_predicate) File “/usr/local/lib/python3.10/dist-packages/rasa/shared/data.py”, line 120, in _find_data_files_in_directory if filter_property(full_path): File “/usr/local/lib/python3.10/dist-packages/rasa/shared/data.py”, line 149, in is_nlu_file return nlu_loading.guess_format(file_path) != nlu_loading.UNK File “/usr/local/lib/python3.10/dist-packages/rasa/shared/nlu/training_data/loading.py”, line 131, in guess_format if format_heuristic(js, filename): File “/usr/local/lib/python3.10/dist-packages/rasa/shared/nlu/training_data/loading.py”, line 32, in WIT: lambda js, fn: “utterances” in js and “luis_schema_version” not in js, TypeError: argument of type ‘int’ is not iterable

debugging, I noticed that at a certain loop js == 1 instead of being a dict, if it helps.

edit:

SQLAlchemy 2.0 at: Error Messages — SQLAlchemy 2.0 Documentation ) Base: DeclarativeMeta = declarative_base() Rasa Version : 3.6.21 Minimum Compatible Version: 3.6.21 Rasa SDK Version : 3.6.2 Python Version : 3.10.12 Operating System : Linux-5.15.0-153-generic-x86_64-with-glibc2.35 Python Path : /usr/bin/python3

As a workaround for the bug, I found using explicit paths works.

rasa test --stories tests --nlu data/nlu.yml