apache / apache/servicecomb-java-chassis

升级至2.8.18后偶现空指针异常

未关闭
#4,753 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
question
主要语言
Java
星标
1.9k
派生
814
平均合并
8 天 23 小时
30 天内合并 PR
1

描述

servicecomb从2.7.8升级到2.8.18后,出现少量空指针异常,对实际业务没有什么影响,但是由于是新版本引入的,需要分析下原因。堆栈如下:

![Image](https://github.com/user-attachments/assets/cafdc73a-41f4-4526-89ca-00aadf5830df)
从堆栈可以看出抛出空指针的原因是由于RoutingContextImpl的fail方法获取的throwable对象为null

![Image](https://github.com/user-attachments/assets/a625363d-dada-43ce-ac0e-ea2479991706)
throwable来源于Http1xServerRequest的onData方法,按理来说这里e不应该为null

![Image](https://github.com/user-attachments/assets/a3d9faf2-101e-430f-b4e6-b10b235f3ed0)

贡献指南

这个仓库没有索引到贡献指南

调研方向

从堆栈跟踪以及指定的 RoutingContextImpl.fail 和 Http1xServerRequest.onData 方法开始,然后比较它们在 2.7.8 和 2.8.18 版本之间的行为。完成的标准是确定 null throwable 如何到达 fail,并通过一个可复现的测试记录或修复该回归。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
backend, networking
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。