Skip to content

[Potential bug] Visual glitches and error #430

@Kinasa0096

Description

@Kinasa0096

I pasted into the linux shell 30 commands with different urls to download 30 different models, like this:

comfy --skip-prompt model download \
  --set-civitai-api-token <TOKEN> \
  --url "<URL>" \
  --relative-path "models/loras/"

The installation visually glitches in the console, like in the screenshot:

Image

Plus I've got a long errors like this:

╭───────────────────────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────────────────────╮
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_transports/default.py:101 in map_httpcore_exceptions                      │
│                                                                                                                                                     │
│    98 │   if len(HTTPCORE_EXC_MAP) == 0:                                                                                                            │
│    99 │   │   HTTPCORE_EXC_MAP = _load_httpcore_exceptions()                                                                                        │
│   100 │   try:                                                                                                                                      │
│ ❱ 101 │   │   yield                                                                                                                                 │
│   102 │   except Exception as exc:                                                                                                                  │
│   103 │   │   mapped_exc = None                                                                                                                     │
│   104                                                                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_transports/default.py:250 in handle_request                               │
│                                                                                                                                                     │
│   247 │   │   │   extensions=request.extensions,                                                                                                    │
│   248 │   │   )                                                                                                                                     │
│   249 │   │   with map_httpcore_exceptions():                                                                                                       │
│ ❱ 250 │   │   │   resp = self._pool.handle_request(req)                                                                                             │
│   251 │   │                                                                                                                                         │
│   252 │   │   assert isinstance(resp.stream, typing.Iterable)                                                                                       │
│   253                                                                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_sync/connection_pool.py:256 in handle_request                          │
│                                                                                                                                                     │
│   253 │   │   │   │   closing = self._assign_requests_to_connections()                                                                              │
│   254 │   │   │                                                                                                                                     │
│   255 │   │   │   self._close_connections(closing)                                                                                                  │
│ ❱ 256 │   │   │   raise exc from None                                                                                                               │
│   257 │   │                                                                                                                                         │
│   258 │   │   # Return the response. Note that in this case we still have to manage                                                                 │
│   259 │   │   # the point at which the response is closed.                                                                                          │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_sync/connection_pool.py:236 in handle_request                          │
│                                                                                                                                                     │
│   233 │   │   │   │                                                                                                                                 │
│   234 │   │   │   │   try:                                                                                                                          │
│   235 │   │   │   │   │   # Send the request on the assigned connection.                                                                            │
│ ❱ 236 │   │   │   │   │   response = connection.handle_request(                                                                                     │
│   237 │   │   │   │   │   │   pool_request.request                                                                                                  │
│   238 │   │   │   │   │   )                                                                                                                         │
│   239 │   │   │   │   except ConnectionNotAvailable:                                                                                                │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_sync/connection.py:103 in handle_request                               │
│                                                                                                                                                     │
│   100 │   │   │   self._connect_failed = True                                                                                                       │
│   101 │   │   │   raise exc                                                                                                                         │
│   102 │   │                                                                                                                                         │
│ ❱ 103 │   │   return self._connection.handle_request(request)                                                                                       │
│   104 │                                                                                                                                             │
│   105 │   def _connect(self, request: Request) -> NetworkStream:                                                                                    │
│   106 │   │   timeouts = request.extensions.get("timeout", {})                                                                                      │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_sync/http11.py:136 in handle_request                                   │
│                                                                                                                                                     │
│   133 │   │   │   with ShieldCancellation():                                                                                                        │
│   134 │   │   │   │   with Trace("response_closed", logger, request) as trace:                                                                      │
│   135 │   │   │   │   │   self._response_closed()                                                                                                   │
│ ❱ 136 │   │   │   raise exc                                                                                                                         │
│   137 │                                                                                                                                             │
│   138 │   # Sending the request...                                                                                                                  │
│   139                                                                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_sync/http11.py:106 in handle_request                                   │
│                                                                                                                                                     │
│   103 │   │   │   │   │   reason_phrase,                                                                                                            │
│   104 │   │   │   │   │   headers,                                                                                                                  │
│   105 │   │   │   │   │   trailing_data,                                                                                                            │
│ ❱ 106 │   │   │   │   ) = self._receive_response_headers(**kwargs)                                                                                  │
│   107 │   │   │   │   trace.return_value = (                                                                                                        │
│   108 │   │   │   │   │   http_version,                                                                                                             │
│   109 │   │   │   │   │   status,                                                                                                                   │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_sync/http11.py:177 in _receive_response_headers                        │
│                                                                                                                                                     │
│   174 │   │   timeout = timeouts.get("read", None)                                                                                                  │
│   175 │   │                                                                                                                                         │
│   176 │   │   while True:                                                                                                                           │
│ ❱ 177 │   │   │   event = self._receive_event(timeout=timeout)                                                                                      │
│   178 │   │   │   if isinstance(event, h11.Response):                                                                                               │
│   179 │   │   │   │   break                                                                                                                         │
│   180 │   │   │   if (                                                                                                                              │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_sync/http11.py:217 in _receive_event                                   │
│                                                                                                                                                     │
│   214 │   │   │   │   event = self._h11_state.next_event()                                                                                          │
│   215 │   │   │                                                                                                                                     │
│   216 │   │   │   if event is h11.NEED_DATA:                                                                                                        │
│ ❱ 217 │   │   │   │   data = self._network_stream.read(                                                                                             │
│   218 │   │   │   │   │   self.READ_NUM_BYTES, timeout=timeout                                                                                      │
│   219 │   │   │   │   )                                                                                                                             │
│   220                                                                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_backends/sync.py:126 in read                                           │
│                                                                                                                                                     │
│   123 │                                                                                                                                             │
│   124 │   def read(self, max_bytes: int, timeout: float | None = None) -> bytes:                                                                    │
│   125 │   │   exc_map: ExceptionMapping = {socket.timeout: ReadTimeout, OSError: ReadError}                                                         │
│ ❱ 126 │   │   with map_exceptions(exc_map):                                                                                                         │
│   127 │   │   │   self._sock.settimeout(timeout)                                                                                                    │
│   128 │   │   │   return self._sock.recv(max_bytes)                                                                                                 │
│   129                                                                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/python/cpython-3.14.4-linux-x86_64-gnu/lib/python3.14/contextlib.py:162 in __exit__                                           │
│                                                                                                                                                     │
│   159 │   │   │   │   # tell if we get the same exception back                                                                                      │
│   160 │   │   │   │   value = typ()                                                                                                                 │
│   161 │   │   │   try:                                                                                                                              │
│ ❱ 162 │   │   │   │   self.gen.throw(value)                                                                                                         │
│   163 │   │   │   except StopIteration as exc:                                                                                                      │
│   164 │   │   │   │   # Suppress StopIteration *unless* it's the same exception that                                                                │
│   165 │   │   │   │   # was passed to throw().  This prevents a StopIteration                                                                       │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpcore/_exceptions.py:14 in map_exceptions                                     │
│                                                                                                                                                     │
│   11 │   except Exception as exc:  # noqa: PIE786                                                                                                   │
│   12 │   │   for from_exc, to_exc in map.items():                                                                                                   │
│   13 │   │   │   if isinstance(exc, from_exc):                                                                                                      │
│ ❱ 14 │   │   │   │   raise to_exc(exc) from exc                                                                                                     │
│   15 │   │   raise  # pragma: nocover                                                                                                               │
│   16                                                                                                                                                │
│   17                                                                                                                                                │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
ReadTimeout: The read operation timed out

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

╭───────────────────────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────────────────────╮
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/comfy_cli/tracking.py:78 in wrapper                                              │
│                                                                                                                                                     │
│    75 │   │   │   logging.debug(f"Tracking command: {command_name} with arguments: {filtered_k                                                      │
│    76 │   │   │   track_event(command_name, properties=filtered_kwargs)                                                                             │
│    77 │   │   │                                                                                                                                     │
│ ❱  78 │   │   │   return func(*args, **kwargs)                                                                                                      │
│    79 │   │                                                                                                                                         │
│    80 │   │   return wrapper                                                                                                                        │
│    81                                                                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/comfy_cli/command/models/models.py:342 in download                               │
│                                                                                                                                                     │
│   339 │   │   │   print(f"Model downloaded successfully to: {output_path}")                                                                         │
│   340 │   else:                                                                                                                                     │
│   341 │   │   print(f"Start downloading URL: {url} into {local_filepath}")                                                                          │
│ ❱ 342 │   │   download_file(url, local_filepath, headers, downloader=resolved_downloader)                                                           │
│   343                                                                                                                                               │
│   344                                                                                                                                               │
│   345 @app.command()                                                                                                                                │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/comfy_cli/file_utils.py:178 in download_file                                     │
│                                                                                                                                                     │
│   175 │   if downloader == "aria2":                                                                                                                 │
│   176 │   │   return _download_file_aria2(url, local_filepath, headers)                                                                             │
│   177 │                                                                                                                                             │
│ ❱ 178 │   with httpx.stream("GET", url, follow_redirects=True, headers=headers) as response:                                                        │
│   179 │   │   if response.status_code == 200:                                                                                                       │
│   180 │   │   │   content_length = response.headers.get("Content-Length")                                                                           │
│   181 │   │   │   total = int(content_length) if content_length is not None else None                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/python/cpython-3.14.4-linux-x86_64-gnu/lib/python3.14/contextlib.py:141 in __enter__                                          │
│                                                                                                                                                     │
│   138 │   │   # they are only needed for recreation, which is not possible anymore                                                                  │
│   139 │   │   del self.args, self.kwds, self.func                                                                                                   │
│   140 │   │   try:                                                                                                                                  │
│ ❱ 141 │   │   │   return next(self.gen)                                                                                                             │
│   142 │   │   except StopIteration:                                                                                                                 │
│   143 │   │   │   raise RuntimeError("generator didn't yield") from None                                                                            │
│   144                                                                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_api.py:159 in stream                                                      │
│                                                                                                                                                     │
│   156 │   │   timeout=timeout,                                                                                                                      │
│   157 │   │   trust_env=trust_env,                                                                                                                  │
│   158 │   ) as client:                                                                                                                              │
│ ❱ 159 │   │   with client.stream(                                                                                                                   │
│   160 │   │   │   method=method,                                                                                                                    │
│   161 │   │   │   url=url,                                                                                                                          │
│   162 │   │   │   content=content,                                                                                                                  │
│                                                                                                                                                     │
│ /root/.local/share/uv/python/cpython-3.14.4-linux-x86_64-gnu/lib/python3.14/contextlib.py:141 in __enter__                                          │
│                                                                                                                                                     │
│   138 │   │   # they are only needed for recreation, which is not possible anymore                                                                  │
│   139 │   │   del self.args, self.kwds, self.func                                                                                                   │
│   140 │   │   try:                                                                                                                                  │
│ ❱ 141 │   │   │   return next(self.gen)                                                                                                             │
│   142 │   │   except StopIteration:                                                                                                                 │
│   143 │   │   │   raise RuntimeError("generator didn't yield") from None                                                                            │
│   144                                                                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_client.py:868 in stream                                                   │
│                                                                                                                                                     │
│    865 │   │   │   timeout=timeout,                                                                                                                 │
│    866 │   │   │   extensions=extensions,                                                                                                           │
│    867 │   │   )                                                                                                                                    │
│ ❱  868 │   │   response = self.send(                                                                                                                │
│    869 │   │   │   request=request,                                                                                                                 │
│    870 │   │   │   auth=auth,                                                                                                                       │
│    871 │   │   │   follow_redirects=follow_redirects,                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_client.py:914 in send                                                     │
│                                                                                                                                                     │
│    911 │   │                                                                                                                                        │
│    912 │   │   auth = self._build_request_auth(request, auth)                                                                                       │
│    913 │   │                                                                                                                                        │
│ ❱  914 │   │   response = self._send_handling_auth(                                                                                                 │
│    915 │   │   │   request,                                                                                                                         │
│    916 │   │   │   auth=auth,                                                                                                                       │
│    917 │   │   │   follow_redirects=follow_redirects,                                                                                               │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_client.py:942 in _send_handling_auth                                      │
│                                                                                                                                                     │
│    939 │   │   │   request = next(auth_flow)                                                                                                        │
│    940 │   │   │                                                                                                                                    │
│    941 │   │   │   while True:                                                                                                                      │
│ ❱  942 │   │   │   │   response = self._send_handling_redirects(                                                                                    │
│    943 │   │   │   │   │   request,                                                                                                                 │
│    944 │   │   │   │   │   follow_redirects=follow_redirects,                                                                                       │
│    945 │   │   │   │   │   history=history,                                                                                                         │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_client.py:979 in _send_handling_redirects                                 │
│                                                                                                                                                     │
│    976 │   │   │   for hook in self._event_hooks["request"]:                                                                                        │
│    977 │   │   │   │   hook(request)                                                                                                                │
│    978 │   │   │                                                                                                                                    │
│ ❱  979 │   │   │   response = self._send_single_request(request)                                                                                    │
│    980 │   │   │   try:                                                                                                                             │
│    981 │   │   │   │   for hook in self._event_hooks["response"]:                                                                                   │
│    982 │   │   │   │   │   hook(response)                                                                                                           │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_client.py:1014 in _send_single_request                                    │
│                                                                                                                                                     │
│   1011 │   │   │   )                                                                                                                                │
│   1012 │   │                                                                                                                                        │
│   1013 │   │   with request_context(request=request):                                                                                               │
│ ❱ 1014 │   │   │   response = transport.handle_request(request)                                                                                     │
│   1015 │   │                                                                                                                                        │
│   1016 │   │   assert isinstance(response.stream, SyncByteStream)                                                                                   │
│   1017                                                                                                                                              │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_transports/default.py:249 in handle_request                               │
│                                                                                                                                                     │
│   246 │   │   │   content=request.stream,                                                                                                           │
│   247 │   │   │   extensions=request.extensions,                                                                                                    │
│   248 │   │   )                                                                                                                                     │
│ ❱ 249 │   │   with map_httpcore_exceptions():                                                                                                       │
│   250 │   │   │   resp = self._pool.handle_request(req)                                                                                             │
│   251 │   │                                                                                                                                         │
│   252 │   │   assert isinstance(resp.stream, typing.Iterable)                                                                                       │
│                                                                                                                                                     │
│ /root/.local/share/uv/python/cpython-3.14.4-linux-x86_64-gnu/lib/python3.14/contextlib.py:162 in __exit__                                           │
│                                                                                                                                                     │
│   159 │   │   │   │   # tell if we get the same exception back                                                                                      │
│   160 │   │   │   │   value = typ()                                                                                                                 │
│   161 │   │   │   try:                                                                                                                              │
│ ❱ 162 │   │   │   │   self.gen.throw(value)                                                                                                         │
│   163 │   │   │   except StopIteration as exc:                                                                                                      │
│   164 │   │   │   │   # Suppress StopIteration *unless* it's the same exception that                                                                │
│   165 │   │   │   │   # was passed to throw().  This prevents a StopIteration                                                                       │
│                                                                                                                                                     │
│ /root/.local/share/uv/tools/comfy-cli/lib/python3.14/site-packages/httpx/_transports/default.py:118 in map_httpcore_exceptions                      │
│                                                                                                                                                     │
│   115 │   │   │   raise                                                                                                                             │
│   116 │   │                                                                                                                                         │
│   117 │   │   message = str(exc)                                                                                                                    │
│ ❱ 118 │   │   raise mapped_exc(message) from exc                                                                                                    │
│   119                                                                                                                                               │
│   120                                                                                                                                               │
│   121 class ResponseStream(SyncByteStream):                                                                                                         │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
ReadTimeout: The read operation timed out

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions