Skip to content

[Bug]: Unexpected UTF-8 BOM #499

@xForMe

Description

@xForMe

Bug Description

Image

平台: window11 ,openclaw
作为插件启动时候报错

Steps to Reproduce

  1. 初始化安装成功
  2. gateway run 报错

Expected Behavior

启动报错

Actual Behavior

作为插件启动直接报错

Minimal Reproducible Example

Error Logs

14:06:35 [gateway] memory-openviking: subprocess exited (code=1, signal=null)
[openviking stderr]
Traceback (most recent call last):
File "D:\software\python313\Lib\site-packages\openviking_cli\utils\config\config_loader.py", line 86, in load_json_config
    return json.load(f)
           ~~~~~~~~~^^^
  File "D:\software\python313\Lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
        cls=cls, object_hook=object_hook,
        parse_float=parse_float, parse_int=parse_int,
        parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "D:\software\python313\Lib\json\__init__.py", line 335, in loads
    raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)",
                          s, 0)
json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)

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

Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import sys,os,warnings; warnings.filterwarnings('ignore', category=RuntimeWarning, message='.*sys.modules.*'); sys.argv=['openviking.server.bootstrap','--config',os.environ['OPENVIKING_START_CONFIG'],'--host',os.environ.get('OPENVIKING_START_HOST','127.0.0.1'),'--port',os.environ['OPENVIKING_START_PORT']]; import runpy, importlib.util; spec=importlib.util.find_spec('openviking.server.bootstrap'); (runpy.run_path(spec.origin, run_name='__main__') if spec and getattr(spec,'origin',None) else runpy.run_module('openviking.server.bootstrap', run_name='__main__', alter_sys=True))
                                                                                                                                                                                                                                                                                                                                                                                                                     ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "D:\software\python313\Lib\site-packages\openviking\server\bootstrap.py", line 270, in <module>
    main()
    ~~~~^^
  File "D:\software\python313\Lib\site-packages\openviking\server\bootstrap.py", line 110, in main
    config = load_server_config(args.config)
  File "D:\software\python313\Lib\site-packages\openviking\server\config.py", line 67, in load_server_config
    data = load_json_config(path)
  File "D:\software\python313\Lib\site-packages\openviking_cli\utils\config\config_loader.py", line 88, in load_json_config
    raise ValueError(f"Invalid JSON in config file {path}: {e}") from e
ValueError: Invalid JSON in config file C:\Users\hpj34\.openviking\ov.conf: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)
14:07:32 [gateway] memory-openviking: local mode marked unavailable (startup failed): Error: OpenViking health check timeout at http://127.0.0.1:1933
14:07:32 [gateway] memory-openviking: startup failed (health check timeout or error). OpenViking stderr:
Traceback (most recent call last):
File "D:\software\python313\Lib\site-packages\openviking_cli\utils\config\config_loader.py", line 86, in load_json_config
    return json.load(f)
           ~~~~~~~~~^^^
  File "D:\software\python313\Lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
        cls=cls, object_hook=object_hook,
        parse_float=parse_float, parse_int=parse_int,
        parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "D:\software\python313\Lib\json\__init__.py", line 335, in loads
    raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)",
                          s, 0)
json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)

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

Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import sys,os,warnings; warnings.filterwarnings('ignore', category=RuntimeWarning, message='.*sys.modules.*'); sys.argv=['openviking.server.bootstrap','--config',os.environ['OPENVIKING_START_CONFIG'],'--host',os.environ.get('OPENVIKING_START_HOST','127.0.0.1'),'--port',os.environ['OPENVIKING_START_PORT']]; import runpy, importlib.util; spec=importlib.util.find_spec('openviking.server.bootstrap'); (runpy.run_path(spec.origin, run_name='__main__') if spec and getattr(spec,'origin',None) else runpy.run_module('openviking.server.bootstrap', run_name='__main__', alter_sys=True))
                                                                                                                                                                                                                                                                                                                                                                                                                     ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 287, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "D:\software\python313\Lib\site-packages\openviking\server\bootstrap.py", line 270, in <module>
    main()
    ~~~~^^
  File "D:\software\python313\Lib\site-packages\openviking\server\bootstrap.py", line 110, in main
    config = load_server_config(args.config)
  File "D:\software\python313\Lib\site-packages\openviking\server\config.py", line 67, in load_server_config
    data = load_json_config(path)
  File "D:\software\python313\Lib\site-packages\openviking_cli\utils\config\config_loader.py", line 88, in load_json_config
    raise ValueError(f"Invalid JSON in config file {path}: {e}") from e
ValueError: Invalid JSON in config file C:\Users\hpj34\.openviking\ov.conf: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)
14:07:32 [plugins] plugin service failed (memory-openviking): Error: OpenViking health check timeout at http://127.0.0.1:1933
22:07:32 [openclaw] Unhandled promise rejection: Error: OpenViking health check timeout at http://127.0.0.1:1933
    at Timeout.tick [as _onTimeout] (C:\Users\hpj34\.openclaw\extensions\memory-openviking\process-manager.ts:14:16)
    at listOnTimeout (node:internal/timers:605:17)
    at processTimers (node:internal/timers:541:7)

OpenViking Version

0.2.5

Python Version

Python 3.13.5

Operating System

Windows

Model Backend

OpenAI

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions