Kilvoctu / aiyabot

A neat Discord bot for AUTOMATIC1111's Web UI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Upscale Does Not Work

kklouzal opened this issue · comments

Describe the bug
Clicking the upscale icon under a generated image, or selecting the upscale image drop-down on a batch of generated images throws an error and does not upscale the image.


Environment

  • OS: Windows

Console logs

        Tile 2/9
        Tile 3/9
        Tile 4/9
        Tile 5/9
        Tile 6/9
        Tile 7/9
        Tile 8/9
        Tile 9/9
*** API error: POST: http://127.0.0.1:7860/sdapi/v1/extra-single-image {'error': 'TypeError', 'detail': '', 'body': '', 'errors': "unsupported operand type(s) for -: 'int' and 'NoneType'"}
    Traceback (most recent call last):
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 98, in receive
        return self.receive_nowait()
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 93, in receive_nowait
        raise WouldBlock
    anyio.WouldBlock

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 78, in call_next
        message = await recv_stream.receive()
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\streams\memory.py", line 118, in receive
        raise EndOfStream
    anyio.EndOfStream

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "D:\StableDiffusion\stable-diffusion-webui\modules\api\api.py", line 153, in exception_handling
        return await call_next(request)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 84, in call_next
        raise app_exc
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 70, in coro
        await self.app(scope, receive_or_disconnect, send_no_error)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 108, in __call__
        response = await self.dispatch_func(request, call_next)
      File "D:\StableDiffusion\stable-diffusion-webui\modules\api\api.py", line 117, in log_and_time
        res: Response = await call_next(req)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 84, in call_next
        raise app_exc
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\base.py", line 70, in coro
        await self.app(scope, receive_or_disconnect, send_no_error)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\cors.py", line 84, in __call__
        await self.app(scope, receive, send)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\gzip.py", line 24, in __call__
        await responder(scope, receive, send)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\gzip.py", line 44, in __call__
        await self.app(scope, receive, self.send_with_gzip)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\exceptions.py", line 79, in __call__
        raise exc
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\middleware\exceptions.py", line 68, in __call__
        await self.app(scope, receive, sender)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in __call__
        raise e
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in __call__
        await self.app(scope, receive, send)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 718, in __call__
        await route.handle(scope, receive, send)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 276, in handle
        await self.app(scope, receive, send)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\routing.py", line 66, in app
        response = await func(request)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\routing.py", line 237, in app
        raw_response = await run_endpoint_function(
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\fastapi\routing.py", line 165, in run_endpoint_function
        return await run_in_threadpool(dependant.call, **values)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\starlette\concurrency.py", line 41, in run_in_threadpool
        return await anyio.to_thread.run_sync(func, *args)
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
        return await get_asynclib().run_sync_in_worker_thread(
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
        return await future
      File "D:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
        result = context.run(func, *args)
      File "D:\StableDiffusion\stable-diffusion-webui\modules\api\api.py", line 412, in extras_single_image_api
        result = postprocessing.run_extras(extras_mode=0, image_folder="", input_dir="", output_dir="", save_output=False, **reqDict)
      File "D:\StableDiffusion\stable-diffusion-webui\modules\postprocessing.py", line 108, in run_extras
        return run_postprocessing(extras_mode, image, image_folder, input_dir, output_dir, show_extras_results, *args, save_output=save_output)
      File "D:\StableDiffusion\stable-diffusion-webui\modules\postprocessing.py", line 61, in run_postprocessing
        scripts.scripts_postproc.run(pp, args)
      File "D:\StableDiffusion\stable-diffusion-webui\modules\scripts_postprocessing.py", line 130, in run
        script.process(pp, **process_args)
      File "D:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-color-enhance\scripts\color_enhance.py", line 28, in process
        pp.image = self._color_enhance(pp.image, strength)
      File "D:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-color-enhance\scripts\color_enhance.py", line 37, in _color_enhance
        lch[:, :, 1] *= 100/(self._lerp(100, lch[:, :, 1].max(), strength)) # Normalize chroma component
      File "D:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-color-enhance\scripts\color_enhance.py", line 33, in _lerp
        return (1 - t) * a + t * b
    TypeError: unsupported operand type(s) for -: 'int' and 'NoneType'

---

Heya I'm currently on vacation, will look at this in one week

This bug is caused by the sd-webui-color-enhance extension. The aiyabot will work if you remove the extension.
The extension works in the Web UI but appears to break when receiving requests through API.

I tried to troubleshoot this person's extension, but I don't understand their code enough to update their code or provide it whatever it needs. Their _lerp() function is expecting a value that is provided by _color_enhance() function; however, the value is returning None. If you want, you can contact the extension developer and request them to add some exception handling or clarify what their extension is asking for.

Closing this stale issue.