Skip to content

Python errors when launching niceGUI #31

@jasteen

Description

@jasteen

System: macOSX Sequoia 16.6.1, running on M2 Pro.
Environment: Conda robin_0_6 directly from osx yaml file as instructed.
ROBIN launches, but fails to properly serve the niceGUI webpage. visiting localhost:8080 gives a 500 server error, displaying "ValueError: [TypeError("'coroutine' object is not iterable"), TypeError('vars() argument must have dict attribute')]"

ROBIN seems to be running just fine in the background, just unable to serve to the webserver.

(robin_0_6) MU00155730X:littlejohn jste0021$ robin workflow /Volumes/dnascreen_joshua_2/MOLBI24065 -w target,cnv,fusion,mgmt,sturgeon,nanodx,pannanodx,random_forest --reference /Users/jste0021/Documents/Projects/ont_cns2_mess/Homo_sapiens_assembly38.fasta --center test --target-panel rCNS2 --work-dir /Volumes/dnascreen_joshua_2/ROBIN_WORK
Validating reference genome: /Users/jste0021/Documents/Projects/ont_cns2_mess/Homo_sapiens_assembly38.fasta
✓ Reference genome validated and indexed: /Users/jste0021/Documents/Projects/ont_cns2_mess/Homo_sapiens_assembly38.fasta

DISCLAIMER:
This report and the data contained within it are intended for research use only and should not be used for direct diagnostic purposes. The methylation-based classification and other analyses provided here may be considered by neuropathologists as supplementary information in the context of comprehensive diagnostic assessment, which should include clinical history, radiological findings, and complete histopathological and molecular evaluation. The final interpretation and diagnosis should always be made by qualified healthcare professionals based on all available information.

The authors of this software note that:
Oxford Nanopore Technologies products are not intended for use for health assessment or to diagnose, treat, mitigate, cure, or prevent any disease or condition.

To proceed, please type 'I agree' (exactly as shown):
I agree
2025-12-03 13:14:22,156	INFO worker.py:2003 -- Started a local Ray instance. View the dashboard at 127.0.0.1:8265 
/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/ray/_private/worker.py:2051: FutureWarning: Tip: In future versions of Ray, Ray will no longer override accelerator visible devices env var if num_gpus=0 or num_gpus=None (default). To enable this behavior and turn off this error message, set RAY_ACCEL_ENV_VAR_OVERRIDE_ON_ZERO=0
  warnings.warn(
Center: test
Starting workflow on /Volumes/dnascreen_joshua_2/MOLBI24065 for BAM files (will process existing files first)...
Output directory: /Volumes/dnascreen_joshua_2/ROBIN_WORK
Workflow plan (simplified): ['preprocessing', 'bed_conversion', 'target', 'cnv', 'fusion', 'mgmt', 'sturgeon', 'nanodx', 'pannanodx', 'random_forest']
Auto-assigned queues: ['preprocessing:preprocessing', 'bed_conversion:bed_conversion', 'target:target', 'cnv:cnv', 'fusion:fusion', 'mgmt:mgmt', 'classification:sturgeon', 'classification:nanodx', 'classification:pannanodx', 'slow:random_forest']
Note: bed_conversion was automatically added as it's required for other jobs
Commands: {}
Log_level: ERROR
Distributed computing: Ray (experimental)
  - Ray CPUs: auto-detect
  - Analysis workers per type: 1 (distributed across Ray cluster)
  - Log level: ERROR (applied to all Ray actors)
Press Ctrl+C to stop
Running The Workflow!
Launching GUI early to ensure immediate availability...
NiceGUI ready to go on http://localhost:8081, and http://49.127.80.68:8081
GUI launched successfully on http://0.0.0.0:8081
GUI monitoring started - workflow status will be updated in real-time
Preprocessing:   0%|                    | 0/64 [00:14<?, ?jobs/s, PBG47499_pass_24301271...(14s) | PBG47499_pass2025-12-03 13:14:54 - nicegui - ERROR - [TypeError("'coroutine' object is not iterable"), TypeError('vars() argument must have __dict__ attribute')]
Traceback (most recent call last):00:14<?, ?jobs/s]
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/encoders.py", line 337, in jsonable_encoder
    data = dict(obj)         | 0/0 [00:14<?, ?jobs/s]
TypeError: 'coroutine' object is not iterable?jobs/s]
Classification: |                    | 0/0 [00:14<?, ?jobs/s]
During handling of the above exception, another exception occurred:
Overall Progress:   0%|                    | 0/64 [00:14<?, ?jobs/s, Act:64 | Done:0 | Fail:0 | Skip:1 | Tot:65]
Traceback (most recent call last):
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/encoders.py", line 342, in jsonable_encoder
    data = vars(obj)
TypeError: vars() argument must have __dict__ attribute

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/sessions.py", line 85, in __call__
    await self.app(scope, receive, send_wrapper)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 196, in __call__
    recv_stream.close()
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 193, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/nicegui/storage.py", line 33, in dispatch
    response = await call_next(request)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 168, in call_next
    raise app_exc from app_exc.__cause__ or app_exc.__context__
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 144, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 196, in __call__
    recv_stream.close()
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 193, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/nicegui/middlewares.py", line 23, in dispatch
    response = await call_next(request)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 168, in call_next
    raise app_exc from app_exc.__cause__ or app_exc.__context__
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 144, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 196, in __call__
    recv_stream.close()
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 193, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/nicegui/middlewares.py", line 13, in dispatch
    response = await call_next(request)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 168, in call_next
    raise app_exc from app_exc.__cause__ or app_exc.__context__
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 144, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/gzip.py", line 29, in __call__
    await responder(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/gzip.py", line 130, in __call__
    await super().__call__(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/gzip.py", line 46, in __call__
    await self.app(scope, receive, self.send_with_compression)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/routing.py", line 736, in app
    await route.handle(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/routing.py", line 290, in handle
    await self.app(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/routing.py", line 119, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/routing.py", line 105, in app
    response = await f(request)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/routing.py", line 407, in app
    content = await serialize_response(
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/routing.py", line 273, in serialize_response
    return jsonable_encoder(response_content)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/encoders.py", line 345, in jsonable_encoder
    raise ValueError(errors) from e
ValueError: [TypeError("'coroutine' object is not iterable"), TypeError('vars() argument must have __dict__ attribute')]
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/encoders.py", line 337, in jsonable_encoder
    data = dict(obj)
TypeError: 'coroutine' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/encoders.py", line 342, in jsonable_encoder
    data = vars(obj)
TypeError: vars() argument must have __dict__ attribute

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/applications.py", line 1139, in __call__
    await super().__call__(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/sessions.py", line 85, in __call__
    await self.app(scope, receive, send_wrapper)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 196, in __call__
    recv_stream.close()
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 193, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/nicegui/storage.py", line 33, in dispatch
    response = await call_next(request)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 168, in call_next
    raise app_exc from app_exc.__cause__ or app_exc.__context__
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 144, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 196, in __call__
    recv_stream.close()
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 193, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/nicegui/middlewares.py", line 23, in dispatch
    response = await call_next(request)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 168, in call_next
    raise app_exc from app_exc.__cause__ or app_exc.__context__
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 144, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 196, in __call__
    recv_stream.close()
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 193, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/nicegui/middlewares.py", line 13, in dispatch
    response = await call_next(request)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 168, in call_next
    raise app_exc from app_exc.__cause__ or app_exc.__context__
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/base.py", line 144, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/gzip.py", line 29, in __call__
    await responder(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/gzip.py", line 130, in __call__
    await super().__call__(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/gzip.py", line 46, in __call__
    await self.app(scope, receive, self.send_with_compression)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/routing.py", line 736, in app
    await route.handle(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/routing.py", line 290, in handle
    await self.app(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/routing.py", line 119, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/routing.py", line 105, in app
    response = await f(request)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/routing.py", line 407, in app
    content = await serialize_response(
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/routing.py", line 273, in serialize_response
    return jsonable_encoder(response_content)
  File "/Users/jste0021/miniconda3/envs/robin_0_6/lib/python3.9/site-packages/fastapi/encoders.py", line 345, in jsonable_encoder
    raise ValueError(errors) from e
ValueError: [TypeError("'coroutine' object is not iterable"), TypeError('vars() argument must have __dict__ attribute')]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions