一次 Anki 同步出问题的调试

From 清冽之泉
Revision as of 08:52, 5 January 2026 by Mwroot (talk | contribs)
Jump to navigation Jump to search

本文记述一次 Anki 同步出问题时的调试经历:通过日志发现绝大多数请求都能正确应答,只有一个请求失败,那证明大多数功能都正常,那这就是很明显的软件小版本的 bug 了。

以下是Windows端Anki同步日志:
2026-01-04T08:37:35.404910Z  INFO request{uri="/sync/meta" ip="127.0.0.1" uid="sth@163.com" client="23.08.4,1174c2d3,windows" session="d384O9"}: finished elap_ms=45 httpstatus=200
2026-01-04T08:37:36.679710Z  INFO request{uri="/sync/meta" ip="127.0.0.1" uid="sth@163.com" client="23.08.4,1174c2d3,windows" session="dhvc8c"}: finished elap_ms=0 httpstatus=200
2026-01-04T08:37:36.703143Z  INFO request{uri="/sync/start" ip="127.0.0.1" uid="sth@163.com" client="23.08.4,1174c2d3,windows" session="dhvc8c"}: finished elap_ms=0 httpstatus=200
2026-01-04T08:37:36.741975Z  INFO request{uri="/sync/applyChanges" ip="127.0.0.1" uid="sth@163.com" client="23.08.4,1174c2d3,windows" session="dhvc8c"}: finished elap_ms=1 httpstatus=200
2026-01-04T08:37:36.762382Z  INFO request{uri="/sync/chunk" ip="127.0.0.1" uid="sth@163.com" client="23.08.4,1174c2d3,windows" session="dhvc8c"}: finished elap_ms=0 httpstatus=200
2026-01-04T08:37:36.787367Z  INFO request{uri="/sync/applyChunk" ip="127.0.0.1" uid="sth@163.com" client="23.08.4,1174c2d3,windows" session="dhvc8c"}: finished elap_ms=0 httpstatus=200
2026-01-04T08:37:36.816403Z  INFO request{uri="/sync/sanityCheck2" ip="127.0.0.1" uid="sth@163.com" client="23.08.4,1174c2d3,windows" session="dhvc8c"}: finished elap_ms=3 httpstatus=200
2026-01-04T08:37:36.852866Z  INFO request{uri="/sync/finish" ip="127.0.0.1" uid="sth@163.com" client="23.08.4,1174c2d3,windows" session="dhvc8c"}: finished elap_ms=19 httpstatus=200

以下是Android端AnkiDroid同步日志:
2026-01-04T08:38:34.990253Z  INFO request{uri="/sync/meta" ip="127.0.0.1" uid="sth@163.com" client="" session="32e51f33"}: finished elap_ms=1 httpstatus=200
2026-01-04T08:38:35.125984Z  INFO request{uri="/sync/start" ip="127.0.0.1" uid="sth@163.com" client="" session="32e51f33"}: finished elap_ms=0 httpstatus=200
2026-01-04T08:38:35.176226Z  INFO request{uri="/sync/applyChanges" ip="127.0.0.1" uid="sth@163.com" client="" session="32e51f33"}: finished elap_ms=2 httpstatus=200
2026-01-04T08:38:35.233999Z  INFO request{uri="/sync/chunk" ip="127.0.0.1" uid="sth@163.com" client="" session="32e51f33"}: finished elap_ms=0 httpstatus=200
2026-01-04T08:38:35.289172Z  INFO request{uri="/sync/applyChunk" ip="127.0.0.1" uid="sth@163.com" client="" session="32e51f33"}: finished elap_ms=0 httpstatus=200
2026-01-04T08:38:35.353970Z  INFO request{uri="/sync/sanityCheck2" ip="127.0.0.1" uid="sth@163.com" client="" session="32e51f33"}: finished elap_ms=0 httpstatus=200
2026-01-04T08:38:35.522681Z  INFO request{uri="/sync/finish" ip="127.0.0.1" uid="sth@163.com" client="" session="32e51f33"}: finished elap_ms=11 httpstatus=200
2026-01-04T08:38:35.731715Z  INFO request{uri="/begin"}: finished elap_ms=0 httpstatus=404

一看大部分请求都 200,只有一个请求 404,明显是 AnkiDroid 小版本 bug 的可能性最大,换最新稳定版后果然问题解决。