Skip to content

v0.0.1ダミーモデルでエンジンを起動すると/speakersなどが落ちる #1589

@Yosshi999

Description

@Yosshi999

不具合の内容

エンジンをローカルのダミーモデルで起動しておいた状態で
GET /speakers を行うとInternal Server Errorになる

現象・ログ

エンジン側のログ
Traceback (most recent call last):
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\middleware\errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\fastapi\routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\fastapi\routing.py", line 214, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\concurrency.py", line 37, in run_in_threadpool
    return await anyio.to_thread.run_sync(func)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\anyio\_backends\_asyncio.py", line 2461, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\anyio\_backends\_asyncio.py", line 962, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\github\vv\voicevox_engine\voicevox_engine\app\routers\character.py", line 45, in speakers
    characters = metas_store.talk_characters(core_version)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\github\vv\voicevox_engine\voicevox_engine\metas\MetasStore.py", line 221, in talk_characters
    return filter_characters_and_styles(self.characters(core_version), "talk")
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\github\vv\voicevox_engine\voicevox_engine\metas\MetasStore.py", line 98, in characters
    engine_character = self._loaded_metas[character_uuid]
                       ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '574bc678-8370-44be-b941-08e46e7b47d7'
Traceback (most recent call last):
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\middleware\errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\fastapi\routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\fastapi\routing.py", line 214, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\starlette\concurrency.py", line 37, in run_in_threadpool
    return await anyio.to_thread.run_sync(func)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\anyio\_backends\_asyncio.py", line 2461, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "...\miniconda3\envs\voicevox-dev\Lib\site-packages\anyio\_backends\_asyncio.py", line 962, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\voicevox_engine\voicevox_engine\app\routers\character.py", line 70, in singers
    characters = metas_store.sing_characters(core_version)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\voicevox_engine\voicevox_engine\metas\MetasStore.py", line 225, in sing_characters
    return filter_characters_and_styles(self.characters(core_version), "sing")
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "...\voicevox_engine\voicevox_engine\metas\MetasStore.py", line 98, in characters
    engine_character = self._loaded_metas[character_uuid]
                       ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '574bc678-8370-44be-b941-08e46e7b47d7'
INFO:     127.0.0.1:53461 - "GET /speakers HTTP/1.1" 500 Internal Server Error

再現手順

コア環境:voicevox_core-windows-x64-0.16.0-preview.0
エンジン環境:master branch b64ef12
エンジン起動コマンド

python run.py --voicelib_dir ..\voicevox_core-windows-x64-0.16.0-preview.0\lib\

期待動作

UIが起動する

VOICEVOXのバージョン

999.999.999

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

Metadata

Metadata

Assignees

No one assigned

    Labels

    バグ状態:設計設計をおこなっている状態要議論実行する前に議論が必要そうなもの

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions