Seetong · Report
🎯 Seetong 问题雷达 09:00 第86期
时间窗口:2026-08-02 01:00 ~ 2026-08-02 09:00(过去 8h)
TL;DR 核心要点
- 🔴 Android 国际用户 SSL 连接失败(-102)(严重度 80/100,置信度 强)
- 🟠 iOS 人形追踪加速异常(严重度 65/100,置信度 中)
- 现象描述:Android 用户(多为中国境外用户)在 App 登录 / 刷新设备列表时遭遇 -102 错误,提示"请检查手机网络,重启 App 尝试解决"。Logan 显示真实错误为 SSL handshake 失败(-2000002),而非用户网络本身问题。
最近一个月 Top 问题
按严重度与复发期数排序,已把跨期同类反馈归集;负责人由问题代码锚点对应的 Git 提交历史(blame / 近期主要提交者)反查;数据窗口:最近 30 天(截至 2026-08-02)。
| # | 问题(严重度降序) | 严重度 | 平台 | 版本 | 负责人 | 问题原因 |
|---|---|---|---|---|---|---|
| 1 | Harmony 1.1.1.6 多用户"离线/看不到监控"聚集(严重度 90/100,置信度 弱) 1 期 | 90 | Android · iOS | 1.1.0.9 / 1.1.1.6 | 待定 | 可能为 Harmony 1.1.1.6 客户端连接信令或 P2P SDK 与 HUAWEI 设备兼容性偶发问题;需补 Logan 才能确认 |
| 2 | 设备离线/P2P 通道失败(5 条 8h) 1 期 | 90 | — | 8.2.1.3 / 8.3.10.2 / 8.3.12.5 | 唐胜、许源、张威 | 用户设备 lastHeartTime 自 2026-07-03 02:25 起完全停止(用户尝试断电重启无效),客户端 TPS_MSG_P2P_OFFLINE 反复触发导致离线提示循环,但设备侧的物理掉线才是真实根因 |
| 3 | 回放入口/状态映射异常:无存储能力设备仍露出回放入口 2 期 | 70 | Android | 1.1.0.9 / 8.1.2.4 / 8.3.12.5 | 唐胜、张威 | 回放入口与录像状态 UI 主要依赖 sdRecordStu/权限,但未同步校验 NO_LOCAL_STOARGE 与 SDCardState=0,导致无存储能力设备仍可能暴露回放预期或状态显示异常。 |
| 4 | 在线看不到 1 期 | 70 | Android | 8.3.13.3 | 张威、唐胜 | NVR 通道预览链路在握手后立即被底层判为 PeerOffLine,APP 按现有逻辑只做快速重试,没有把通道离线与临时连接抖动区分开,最终表现为“在线看不到”。 |
| 5 | 多端手机端无回放 1 期 | 70 | Android | 1.1.1.6 / 8.3.13.3 | 冉博麟、李国涛 | (本期未收敛到单一根因) |
| 6 | 设备离线/掉线后无法预览 1 期 | 70 | Android · iOS | 1.1.1.6 / 8.2.2.1 / 8.3.13.3 | 唐胜、张威 | 设备预览链路在收到 TPS_MSG_P2P_OFFLINE 后直接走离线兜底分支,UI 进入“该设备不在线”,而自动恢复逻辑又被离线判断短路,导致用户感知为“掉线后无法再连上”。 |
| 7 | 录像回放缺失 — 无 SD 卡的设备被直接引导云存购买(产品设计问题) 1 期 | 65 | Android · iOS | 8.3.12.5 / 8.3.13.3 / 8.3.13.4 | 张威、唐胜、陈宝旺 | 无 SD 卡 + 未开通云存的设备,在 NVR 回放协议响应无效时直接跳转云存购买页,没有任何"为什么没录像"的说明,用户感知是"以前能看现在不能" |
| 8 | 设备二维码模糊/找不到(3 条 8h) 1 期 | 65 | — | 8.3.12.5 | 待定 | (本期未收敛到单一根因) |
| 9 | Android NVR 回放/预览偶发不出图,断开重连后恢复 1 期 | 60 | Android | — | 唐胜、张威 | NVR 回放/预览链路在首次 addWatch + 查询录像时间片 阶段存在瞬时失败,UI 侧又把多类失败统一收敛为空/超时,导致用户感知为“不出图,重连才恢复”。 |
| 10 | Android 监控预览 addWatch 失败 + 10 秒循环重试 1 期 | 60 | Android | 8.3.13.3 | 唐胜 | Android 端 LibImpl.startPlay 把 addWatch 返回的 P2P 断连错误码(-1)通过 if (ret == SDK_CONSTANT.ERR_P2P_DISCONNECTED) ret = 0; 强制归零,导致上层误以为流启动成功,进入 10 秒循环重试;用户看到的"长时间缓冲"实质是 10 秒 × N 次的循环重试视觉感受 |
🔴 问题 1:Android 国际用户 SSL 连接失败(-102)(详细分析) | 负责人:张威、唐胜
1. 现象与覆盖范围
- 现象描述:Android 用户(多为中国境外用户)在 App 登录 / 刷新设备列表时遭遇 -102 错误,提示"请检查手机网络,重启 App 尝试解决"。Logan 显示真实错误为 SSL handshake 失败(-2000002),而非用户网络本身问题。
- 涉及反馈:~40 条(8h 内),占反馈总量最大单类;累计版本 8.3.13.3 / 8.3.14.2 占绝对多数
- 设备品牌:Xiaomi / vivo / OPPO / Samsung / HUAWEI / HONOR / realme / Redmi 等,覆盖 15+ 国家/地区(缅甸 / 越南 / 俄罗斯 / 伊朗 / 阿尔及利亚 / 老挝 / 美国 / 乌兹别克斯坦 / 中国各省)
- 严重度评分:80/100(反馈量 30 + 共性广度 30 + 关键度 20)
2. 神策证据(核心数据源,降级)
- ⚠️ 数据源状态:
query_segmentation_report因 filter 语法限制(neq/not_equal_to函数不支持)连续 2 次失败,按规则降级 query_event_count(Login)正常:近 7 天 Login 总次数 ~90-101 万/天,趋势稳定,今日为半天数据(13 万)无异常- 降级说明:无法直接拿到 error_code 分布,但 Logan 日志提供了等效的 SSL 失败证据链
3. Logan 关键日志(核心数据源,必须含类名:行号 + 错误码)
反馈 ID:FB-239977(Xiaomi 25019PNF3C,缅甸)
- 关键栈:
CSSLComm::ssl_connect→ 返回-2000002(Funclib/SSLComm.cpp:398)CCSInf::SocketPost→ 泛化为ERR_SOCKET = -102(Funclib/Funclib.h:558)BaseRepository→ 触发loginFailureDialog(App 层)- 错误码链路:
ssl_connect return error -2000002= SSL socket 创建失败(Funclib/SSLComm.cpp:326/398)HttpRequest failed, ret=-102(CSInf.cpp:2003)- 用户看到:
"请检查手机网络,重启App尝试解决(-102)" - 触发条件:
- DNS 解析到
app-auth.seetong.com→ IP129.227.87.49(中国节点) socketCanReadWrite ipv4, ret=-3000004, fdread error=111(ECONNREFUSED,服务器端口 443 被拒)- SSL 握手在 20-7000ms 内超时失败
- 国际域名:
app-auth-gbl.seetong.com仍失败(越南用户日志:IP18.67.221.70,AWS 全球节点)
反馈 ID:FB-239974(Samsung SM-A065F,越南)
- 用户 IP:171.234.133.87,DNS 解析到
app-auth-gbl.seetong.com→18.67.221.70 - SSL 握手超时 7007ms 后失败:
duration=7007, ssl_connect return error -2000002 - 域名切换:
isForceSwitch=0,未触发备用域切换(m_bUseUserBackDomain=1静默跳过)
6. 代码定位(详细)
- 涉及模块:
Seetong-CliCmpt-Net-Sdk/Funclib/(Android/iOS 共享 C/C++ 网络 SDK) - 关键类:
CSSLComm(Funclib/SSLComm.cpp,SSL 连接封装)CCSInf(Funclib/CSInf.cpp,HTTP 请求 + SSL 封装层)Funclib.h:558:ERR_SOCKET = -102(泛化错误码定义)- 调用链:
App LoginActivity → LoginServiceImpl → funclib RequestHttp → CCSInf::SocketPost → CSSLComm::ssl_connect → 返回 -2000002 → 映射 -102
- 关键分支:
CSSLComm::ssl_connect返回-2000002条件:m_sockfd == -1(socket 创建失败)或 SSL 握手失败被映射为 socket 错误CSInf.cpp:2003:HttpRequest failed, ret=%d日志记录,ret =ERR_SOCKET = -102- 修复方向锚点:
Funclib/SSLComm.cpp第 326 行:-2000002的真实根因是 socket fd 创建后connect()调用失败(ECONNREFUSED),而非证书问题。需确认服务器 443 端口对国际 IP 的可达性。CSInf.cpp第 2003 行:错误信息需区分"SSL socket 连接失败(-2000002)"与"真正无网络",当前统一返回 -102 导致用户误判。app-auth-gbl.seetong.com全局域名 SSL 证书或 TLS 版本配置问题(越南用户连 AWS 节点18.67.221.70仍失败)。
7. 根因结论
- 置信度:🟢 强
- 一句话根因:国际用户连接 Seetong 服务器时 SSL socket 连接失败(ECONNREFUSED/超时),SDK 将 -2000002 泛化为 -102,用户看到误导性提示"请检查手机网络"。
- 关键证据链:
- Logan 日志:多国用户
ssl_connect return error -2000002(Funclib/SSLComm.cpp:398) - Logan 日志:DNS 解析到中国节点 IP
129.227.87.49,端口 443 被 ECONNREFUSED - Logan 日志:全局域名
app-auth-gbl.seetong.com→18.67.221.70仍 SSL 失败 - 反馈批量集中(~40 条/8h),多品牌多国,规律性强
8. 建议下一步
- 分配给:服务端网络组 + Android SDK 维护者
- 优先处理项:
- 排查国际用户连接
app-auth.seetong.com443 端口是否被防火墙/运营商拦截(重点:缅甸/越南/俄罗斯) - 确认
app-auth-gbl.seetong.com全局域名 SSL 证书有效性(越南用户连 AWS 仍失败) - SDK 层错误提示区分:
ssl_connect失败应提示"服务器连接异常"而非"请检查手机网络"
- 验证方法:海外节点实测(VPN + 海外真机测试);抓包确认 443 SYN 是否收到 RST
🟠 问题 2:iOS 人形追踪加速异常(可选)
1. 现象与覆盖范围
- 现象描述:iOS 用户(iPhone 16,8.3.13.4)反馈"人形监控时,有人路过跟开了加速一样,瞬间就过去了"——AI 检测后录像回放帧率异常加速。
- 涉及反馈:1 条(单设备,无共性)
- 严重度评分:65/100(反馈量 10 + 共性广度 10 + 关键度 30 + 录像回放)
2. 神策证据
- ⚠️ 未调用(单条反馈,共性不足,数据源价值有限)
3. Logan 关键日志
- 反馈 ID:FB-239910(iPhone 16,iOS 8.3.13.4)
- Logan 下载失败(OBS 文件不存在)
- 无 Logan:记录"Logan 未提供,根因分析受限"
4. 代码定位
- 关键词:
人形/加速/motion detection/ AI 检测帧率 - 可能在模块:
Seetong-App-iOS/→MonitorPlayerViewController或 AI 相关的AIDetector类 - 修复方向:检查 AI 检测触发后的录像回放帧率控制逻辑
5. 根因结论
- 置信度:🔴 弱(单条 + 无 Logan + 无神策证据)
- 一句话根因:AI 检测触发后录像回放帧率控制异常,Logan 未提供,无法定位具体原因
6. 建议下一步
- 联系用户获取 Logan(如有)
- 检查 iOS AI 检测回调与录像回放模块的帧率同步逻辑
本期扫描全量(全部沉淀到知识库)
| # | 关键词 | 反馈数 | 分类 | 处置 |
|---|---|---|---|---|
| 1 | -102 网络异常(国际SSL失败) | ~40 | 🔴 进雷达 | 详细分析见上 |
| 2 | 人形追踪加速(iOS) | 1 | 🟠 进雷达 | 详细分析见上 |
| 4 | 设备离线/掉线 | 8 | 🔴 功能性问题(未进TOP2) | 现象与问题1重叠 |
| 5 | 监控无图像/卡顿 | 3 | 🟡 配置/设备问题 | 已排除 |
| 6 | 心愿单功能建议 | ~25 | 🟤 心愿单建议 | 已排除 |
| 7 | 杂音/音频异常(Harmony) | 2 | 🟡 单设备 | 已排除 |
| 8 | 监控无法查看回放 | 2 | 🟡 版本老旧(8.1.2.4) | 已排除 |
| 9 | 其他闲聊/无效 | ~10 | 🟢 已排除 | 已排除 |
已折叠 1 条普遍性网络问题(含-102/-101/-1002与中/英/俄/法/西/葡/土/阿/日多语言网络提示模板,如Проверьте телефонную сеть、Please check your mobile network);全量明细见同名 Markdown 知识库。
数据源状态汇总
| 数据源 | 状态 | 降级说明 |
|---|---|---|
| 反馈模块 | ✅ 正常 | 100 条全部拉取 |
| 心愿单 | ✅ 正常 | 用于排除产品建议 |
| 神策 query_segmentation_report | ❌ 降级 | neq/not_equal_to 函数不支持,连续 2 次失败;改用 query_event_count 验证 Login 总量正常 |
| 神策 query_event_count | ✅ 正常 | Login 近 7 天 ~90-101 万/天,趋势稳定 |
| Logan 日志 | ✅ 成功 | 3 个代表性样本下载成功,关键证据链完整 |
| 友盟 | ⏭️ 跳过 | 非崩溃/ANR 类 |
| TAPD | ⏭️ 跳过 | 无已知 BUG 单号,功能性根因分析不查 |
待补证(≤ 3 条,每条 ≤ 50 字)
- 神策无法按 error_code 过滤 → 建议下次用
query_sql验证 login_fail_type 字段分布 - iOS 人形追踪加速 Logan 未提供 → 建议联系用户补 Logan 或复现测试
app-auth-gbl.seetong.comSSL 失败根因 → 需服务端确认海外 443 端口可达性
下一期 = 第87期 = 2026-08-02-H17(今天下午 17:00)
本消息由 Seetong小助手 自动生成,欧阳荣 监督发布。