brkirch / stable-diffusion-webui

Stable Diffusion web UI
GNU Affero General Public License v3.0
195 stars 10 forks source link

[Bug]: Launch Web UI keeps breaking in the most recent release #45

Open jayododds opened 9 months ago

jayododds commented 9 months ago

Is there an existing issue for this?

What happened?

I installed a fresh install using the latest release (september 19) had it successfully running for a day, then ran into the following:

Launching Web UI with arguments: --skip-torch-cuda-test --skip-install --no-half-vae --upcast-sampling --precision full --api Traceback (most recent call last): File "/Applications/stable-diffusion-webui/launch.py", line 48, in main() File "/Applications/stable-diffusion-webui/launch.py", line 44, in main start() File "/Applications/stable-diffusion-webui/modules/launch_utils.py", line 432, in start import webui File "/Applications/stable-diffusion-webui/webui.py", line 16, in initialize.imports() File "/Applications/stable-diffusion-webui/modules/initialize.py", line 21, in imports import gradio # noqa: F401 File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/init.py", line 3, in import gradio.components as components File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/components/init.py", line 1, in from gradio.components.annotated_image import AnnotatedImage File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/components/annotated_image.py", line 12, in from gradio import utils File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/utils.py", line 353, in class AsyncRequest: File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/utils.py", line 372, in AsyncRequest client = httpx.AsyncClient() File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/httpx/_client.py", line 1397, in init self._transport = self._init_transport( File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/httpx/_client.py", line 1445, in _init_transport return AsyncHTTPTransport( File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 275, in init self._pool = httpcore.AsyncConnectionPool( TypeError: AsyncConnectionPool.init() got an unexpected keyword argument 'socket_options'

I have tried reinstalling only to get either the same errors or a line about packages not being valid? Not 100% I forgot to copy it. If I get it again I will paste it. Whatever the issue, the hotfix doesn't seem to work. Deleting repositories and venv doesn't seem to work. Launching it directly from webui.sh instead of Launch Web UI.app - also returns syntax errors. Launching the hotfix and applying it to an existing install doesn't seem to work either.

Is there an easy way to take my current install that was working and drag over the components that have been added/installed into a fresh experimental SD build without the Launch Web UI.app?

Steps to reproduce the problem

  1. Launch - Launch Web Ui.app
  2. Wait
  3. Receive errors

What should have happened?

Successful execution of the web ui

Sysinfo

Unable to get the sysinfo to export even with dump command - the only sysinfo I have is the .py which looks like this

import json import os import sys import traceback

import platform import hashlib import pkg_resources import psutil import re

import launch from modules import paths_internal, timer, shared, extensions, errors

checksum_token = "DontStealMyGamePlz__WINNERS_DONT_USE_DRUGS__DONT_COPY_THAT_FLOPPY" environment_whitelist = { "GIT", "INDEX_URL", "WEBUI_LAUNCH_LIVE_OUTPUT", "GRADIO_ANALYTICS_ENABLED", "PYTHONPATH", "TORCH_INDEX_URL", "TORCH_COMMAND", "REQS_FILE", "XFORMERS_PACKAGE", "CLIP_PACKAGE", "OPENCLIP_PACKAGE", "STABLE_DIFFUSION_REPO", "K_DIFFUSION_REPO", "CODEFORMER_REPO", "BLIP_REPO", "STABLE_DIFFUSION_COMMIT_HASH", "K_DIFFUSION_COMMIT_HASH", "CODEFORMER_COMMIT_HASH", "BLIP_COMMIT_HASH", "COMMANDLINE_ARGS", "IGNORE_CMD_ARGS_ERRORS", }

def pretty_bytes(num, suffix="B"): for unit in ["", "K", "M", "G", "T", "P", "E", "Z", "Y"]: if abs(num) < 1024 or unit == 'Y': return f"{num:.0f}{unit}{suffix}" num /= 1024

def get(): res = get_dict()

text = json.dumps(res, ensure_ascii=False, indent=4)

h = hashlib.sha256(text.encode("utf8"))
text = text.replace(checksum_token, h.hexdigest())

return text

re_checksum = re.compile(r'"Checksum": "([0-9a-fA-F]{64})"')

def check(x): m = re.search(re_checksum, x) if not m: return False

replaced = re.sub(re_checksum, f'"Checksum": "{checksum_token}"', x)

h = hashlib.sha256(replaced.encode("utf8"))
return h.hexdigest() == m.group(1)

def get_dict(): ram = psutil.virtual_memory()

res = {
    "Platform": platform.platform(),
    "Python": platform.python_version(),
    "Version": launch.git_tag(),
    "Commit": launch.commit_hash(),
    "Script path": paths_internal.script_path,
    "Data path": paths_internal.data_path,
    "Extensions dir": paths_internal.extensions_dir,
    "Checksum": checksum_token,
    "Commandline": get_argv(),
    "Torch env info": get_torch_sysinfo(),
    "Exceptions": get_exceptions(),
    "CPU": {
        "model": platform.processor(),
        "count logical": psutil.cpu_count(logical=True),
        "count physical": psutil.cpu_count(logical=False),
    },
    "RAM": {
        x: pretty_bytes(getattr(ram, x, 0)) for x in ["total", "used", "free", "active", "inactive", "buffers", "cached", "shared"] if getattr(ram, x, 0) != 0
    },
    "Extensions": get_extensions(enabled=True),
    "Inactive extensions": get_extensions(enabled=False),
    "Environment": get_environment(),
    "Config": get_config(),
    "Startup": timer.startup_record,
    "Packages": sorted([f"{pkg.key}=={pkg.version}" for pkg in pkg_resources.working_set]),
}

return res

def format_traceback(tb): return [[f"{x.filename}, line {x.lineno}, {x.name}", x.line] for x in traceback.extract_tb(tb)]

def format_exception(e, tb): return {"exception": str(e), "traceback": format_traceback(tb)}

def get_exceptions(): try: return list(reversed(errors.exception_records)) except Exception as e: return str(e)

def get_environment(): return {k: os.environ[k] for k in sorted(os.environ) if k in environment_whitelist}

def get_argv(): res = []

for v in sys.argv:
    if shared.cmd_opts.gradio_auth and shared.cmd_opts.gradio_auth == v:
        res.append("<hidden>")
        continue

    if shared.cmd_opts.api_auth and shared.cmd_opts.api_auth == v:
        res.append("<hidden>")
        continue

    res.append(v)

return res

re_newline = re.compile(r"\r*\n")

def get_torch_sysinfo(): try: import torch.utils.collect_env info = torch.utils.collect_env.get_env_info()._asdict()

    return {k: re.split(re_newline, str(v)) if "\n" in str(v) else v for k, v in info.items()}
except Exception as e:
    return str(e)

def get_extensions(*, enabled):

try:
    def to_json(x: extensions.Extension):
        return {
            "name": x.name,
            "path": x.path,
            "version": x.version,
            "branch": x.branch,
            "remote": x.remote,
        }

    return [to_json(x) for x in extensions.extensions if not x.is_builtin and x.enabled == enabled]
except Exception as e:
    return str(e)

def get_config(): try: return shared.opts.data except Exception as e: return str(e)

What browsers do you use to access the UI ?

Google Chrome

Console logs

Last login: Mon Nov 13 09:16:58 on ttys001
cd '/Applications/stable-diffusion-webui';./webui.sh;exit                       
(base) *********************** ~ % cd '/Applications/stable-diffusion-webui';./webui.sh;exit

################################################################
Install script for stable-diffusion + Web UI
Tested on Debian 11 (Bullseye)
################################################################

################################################################
Running on ******* user
################################################################

################################################################
Repo already cloned, using it as install directory
################################################################

################################################################
Create and activate python venv
################################################################

################################################################
Launching launch.py...
################################################################
Traceback (most recent call last):
  File "/Applications/stable-diffusion-webui/launch.py", line 48, in <module>
    main()
  File "/Applications/stable-diffusion-webui/launch.py", line 29, in main
    filename = launch_utils.dump_sysinfo()
  File "/Applications/stable-diffusion-webui/modules/launch_utils.py", line 440, in dump_sysinfo
    from modules import sysinfo
  File "/Applications/stable-diffusion-webui/modules/sysinfo.py", line 13, in <module>
    from modules import paths_internal, timer, shared, extensions, errors
  File "/Applications/stable-diffusion-webui/modules/shared.py", line 3, in <module>
    import gradio as gr
  File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/__init__.py", line 3, in <module>
    import gradio.components as components
  File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/components/__init__.py", line 1, in <module>
    from gradio.components.annotated_image import AnnotatedImage
  File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/components/annotated_image.py", line 12, in <module>
    from gradio import utils
  File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/utils.py", line 353, in <module>
    class AsyncRequest:
  File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/gradio/utils.py", line 372, in AsyncRequest
    client = httpx.AsyncClient()
  File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/httpx/_client.py", line 1397, in __init__
    self._transport = self._init_transport(
  File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/httpx/_client.py", line 1445, in _init_transport
    return AsyncHTTPTransport(
  File "/tmp/stable-diffusion-webui.Iyk4q1WJ/venv/lib/python3.10/site-packages/httpx/_transports/default.py", line 275, in __init__
    self._pool = httpcore.AsyncConnectionPool(
TypeError: AsyncConnectionPool.__init__() got an unexpected keyword argument 'socket_options'

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

Additional information

No response