fastjson2.0.0 JSONObject.parseObject导致jvm宕机

1.背景:

测试环境测试人员经常反馈网页抛出网络异常

2.技术架构:

前后端分离架构,前端部署在nginx下,前端请求后端有一个超时时间,超过这个响应时间就抛出网络异常

3.问题定位

当测试反馈网络异常时,迅速连上测试服务器查看服务进程,发现服务宕机了。同时还生成了hs_err_pid***.log 重启服务器后几分钟后也是宕机。查看hs_err_pid文件发现这些关键信息
fastjson2.0.0 JSONObject.parseObject导致jvm宕机_第1张图片
通过这些发现是fastjson parseObject异常了。 后面写测试代码发现是Json.parseObject方法异常

4. 问题复现

4.1 pom文件

fastjson2.0.0 JSONObject.parseObject导致jvm宕机_第2张图片

4.2 测试代码

 public static void main(String[] args) {
        System.out.println("parseObject之前");
        JSONObject.parseObject(null);
        //char[] chars = JDKUtils.getCharArray(null);
        System.out.println("parseObject之后");
    }

4.3 运行后就会复现这个问题

5.解决方案

升级fastjson 版本 升级到2.0.20即可解决这个问题。

6. 注意事项

fastjson 版本升级影响面很大,建议升级后进行回归测试,避免出现不可控因素

你可能感兴趣的:(java,fastjson,jvm,java,服务器)