#1474·RD-Agent

错误: debug/receive 端点对于有效的列表负载返回 500

作者: yifanxiong272创建于 2026年9月2日更新于 2026年9月5日
标签bug

□ 错误描述

调试服务器在 “rdagent/log/server/debug app.py” 中的“/接收”端点有一个明确的分支,用于接收 JSON 信件对象列表:

zz
如果存在( 数据, 列表) :
d 数据:
msgs  for frontend [d ["id"]]. append (d ["msg"]) (中文(简体) ).

然而,在到达该列表分支之前,处理器无条件地将解析的JSON有效载荷作为字典通过"data ["msg" ["tag"]'.

[Python] 数据 = request.get json () app.logger.info(数据 ["msg"]["tag"])


因此,一个有效的列表有效有效有效载荷在记录期间被像字典一样对待,引起例外,并在列表分支运行前返回HTTP 500.

例如,这种有效载荷:

贾森
[
{
"id":"轨迹一",.
"msg":{(英语:
"塔克":"A" (中文(简体) ).
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
{\fn华文楷体\fs16\1cHE0E0E0}
{
"id":"轨迹一",.
"msg":{(英语:
"上":"乙"作"上".
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
[ . ]

返回:

贾森 { "错误":"内部服务器错误" {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


而不是同时附上信件和返回成功。

□ 重现

复制行为的步骤 :

1. 检查RD-Agent ' main ' 犯罪:

页:1
2c878f9d2453dced 35061165786d1f31bbff0ab6 c.
  1. 从源头安装RD-Agent并安装pytest:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? Python - m pip 安装 -e. Python - m pip 安装 pytest


3. 创建 'test/test debug receive msgs list paidload.py' :

```4ZZ
从 radagent.log.server 导入调试 app


def 测试 接收 msgs 接受 list payload():
app = 调试 app.app
客户端=app.test 客户端()

调试 app.msgs  for frontend. clear ()

响应=客户端. post(
"/收到,","
json=[
{
"id":"轨迹一",.
"msg":{(英语:
"tag":"A","",".
"内容":{
"价值": 1,
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn华文楷体\fs16\1cHE0E0E0}
{
"id":"轨迹一",.
"msg":{(英语:
"塔克":"B","",".
"内容":{
"价值": 二,
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn华文楷体\fs16\1cHE0E0E0}
[
(中文(简体) ).

坚持回应. status code = 200
表示响应。 get json () ===
"状态":"成功",
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
主张去bug app.msgs for frontend ["trace-1"] ==:
{
"tag":"A","",".
"内容":{
"价值": 1,
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn华文楷体\fs16\1cHE0E0E0}
{
"塔克":"B","",".
"内容":{
"价值": 二,
{\fn华文楷体\fs16\1cHE0E0E0}
{\fn华文楷体\fs16\1cHE0E0E0}
[ . ]
  1. 运行:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? Python - m pytest
测试/ test debug receive msgs list payload.py\

  • q (英语).

5. 注意试验失败,因为终点返回了HTTP 500。

□ 预期行为

有效的JSON清单有效载荷应沿用现有的清单分支:

```6ZZ
如果存在( 数据, 列表) :
d 数据:
msgs  for frontend [d ["id"]]. append (d ["msg"]) (中文(简体) ).

终点应返回:

贾森 { "状态":"成功" {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


加上HTTP 200,每条电文应按顺序附在其相应的 " id " 下。

□ 截图

不适用。 这是一个
. . . . . . .

内容来源: microsoft/RD-Agent