堆栈溢出 StackOverflowError 排查

news2025/7/30 8:05:11

报错: ex=Handler dispatch failed; nested exception is java.lang.StackOverflowError
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.StackOverflowError
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1087) ~[spring-webmvc-5.3.34.jar:5.3.34]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) ~[spring-webmvc-5.3.34.jar:5.3.34]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.34.jar:5.3.34]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.34.jar:5.3.34]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:497) ~[jakarta.servlet-api-4.0.4.jar:4.0.4]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.34.jar:5.3.34]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) ~[jakarta.servlet-api-4.0.4.jar:4.0.4]

只看上述报错,看不出来原因,很迷茫,看报错的最后部分

at cn.hutool.json.JSONObject.set(JSONObject.java:393) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.JSONObject.set(JSONObject.java:352) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.JSONObject.put(JSONObject.java:340) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.JSONObject.put(JSONObject.java:32) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.core.bean.copier.BeanToMapCopier.lambda$copy$0(BeanToMapCopier.java:82) ~[hutool-all-5.8.26.jar!/:5.8.26]
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[na:1.8.0_412]
at cn.hutool.core.bean.copier.BeanToMapCopier.copy(BeanToMapCopier.java:48) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.core.bean.copier.BeanToMapCopier.copy(BeanToMapCopier.java:16) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.core.bean.copier.BeanCopier.copy(BeanCopier.java:92) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.core.bean.BeanUtil.beanToMap(BeanUtil.java:725) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.ObjectMapper.mapFromBean(ObjectMapper.java:264) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.ObjectMapper.map(ObjectMapper.java:114) ~[hutool-all-5.8.26.jar!/:5.8.26]

是hutool工具的转换报错,检查代码

    private void getBodyParam(Object arg, Map<String, Object> returnMap) {
        Map<String, Object> paramMap = new HashMap<>();
        boolean isJson = false;
        try {
            paramMap = JSONUtil.toBean(JSONUtil.toJsonStr(arg), Map.class);
            isJson = true;
        } catch (Exception e) {
            log.debug("非json格式");
        }

转换 Object arg 到 Map<String, Object> paramMap 时,使用 JSONUtil.toBean 导致的循环溢出

解决方案:寻找更有的 json 转换工具

     private void getBodyParam(Object arg, Map<String, Object> returnMap) {
        Map<String, Object> paramMap = new HashMap<>();
        boolean isJson = false;
        try {

            ObjectMapper mapper = new ObjectMapper();
            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
            String jsonStr = mapper.writeValueAsString(arg);
            paramMap = mapper.readValue(jsonStr, new TypeReference<Map<String, Object>>() {});
            isJson = true;
        } catch (Exception e) {
            log.debug("非json格式");
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2338444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

树莓派_利用Ubuntu搭建gitlab

树莓派_利用Ubuntu搭建gitlab 一、给树莓派3A搭建基本系统 1、下载系统镜像 https://cdimage.ubuntu.com/ubuntu/releases/18.04/release/ 2、准备系统SD卡 二、给树莓派设备联网 1、串口后台登录 使用串口登录后台是最便捷的&#xff0c;因为前期网络可能不好直接成功 默…

ARINC818协议(三)

源特定参数 源特定参数被定义&#xff0c;用于在源和目的之间进行传输 源特定参数包括初始化&#xff0c;合适的解释&#xff0c;周期性的验证。 gamma or palette tables&#xff1a;伽马或者调色板 color format:颜色格式 Brightness and backlight control &#xff1a;亮度…

得佳胜哲讯科技 SAP项目启动会:胶带智造新起点 数字转型新征程

在全球制造业加速向数字化、智能化转型的浪潮中&#xff0c;胶带制造行业正迎来以“自动化生产、数据化运营、智能化决策”为核心的新变革。工业互联网、大数据分析与智能装备的深度融合&#xff0c;正推动胶带制造从传统生产模式向“柔性化生产精准质量控制全链路追溯”的智慧…

万字解析TCP

通过学习视频加博客的组合形式&#xff0c;整理了一些关于TCP协议的知识。 *图源&#xff1a;临界~的csdn博客。 一、TCP建立连接 TCP的建立连接&#xff0c;大致可以分为面向连接、TCP报文结构、TCP的三次握手、TCP的建立状态、SYN泛洪攻击。 1.1、面向连接 面向连接 --- …

2025年大数据实训室建设及大数据实训平台解决方案

一、引言 在数字化浪潮中&#xff0c;大数据技术已成为推动各行业创新发展的核心驱动力。从金融领域的风险预测到医疗行业的精准诊断&#xff0c;从电商平台的个性化推荐到交通系统的智能调度&#xff0c;大数据的应用无处不在。据权威机构预测&#xff0c;到 2025 年&#xf…

贪心、动态规划、其它算法基本原理和步骤

目录 1. 贪心1.1 贪心算法的基本步骤1.2 贪心算法实战1.2.1 贪心的经典问题1.2.2 贪心解决数组与子序列问题1.2.3 贪心解决区间调度问题1.2.4 贪心解决动态决策问题1.2.5 贪心解决一些复杂场景应用 2. 动态规划2.1 动态规划的基本步骤和一些优化2.2 动态规划实战2.2.1 斐波那契…

python-各种文件(txt,xls,csv,sql,二进制文件)读写操作、文件类型转换、数据分析代码讲解

1.文件txt读写标准用法 1.1写入文件 要读取文件&#xff0c;首先得使用 open() 函数打开文件。 file open(file_path, moder, encodingNone) file_path&#xff1a;文件的路径&#xff0c;可以是绝对路径或者相对路径。mode&#xff1a;文件打开模式&#xff0c;r 代表以…

ctfshow-大赛原题-web702

因为该题没有理解到位&#xff0c;导致看wp也一直出错&#xff0c;特此反思一下。 参考yu22x师傅的文章 &#xff1a;CTFSHOW大赛原题篇(web696-web710)_ctfshow 大赛原题-CSDN博客 首先拿到题目&#xff1a; // www.zip 下载源码 我们的思路就是包含一个css文件&#xff0c;…

Triton(2)——Triton源码接结构

1 triton 3.0.0 源码结构 triton docs/&#xff1a;项目文档 cmake/&#xff1a;构建配置相关 bin/&#xff1a;工具、脚本 CmakeLists.txt&#xff1a;cmake 配置文件 LSCENSE README.md Pyproject.toml&#xff1a;python 项目配置文件 utils/&#xff1a;项目配置文…

容器docker入门学习

这里写目录标题 容器容器的软件厂商 dockerdocker引擎 虚拟化虚拟化技术 docker安装详解1、安装检查2、安装yum相关的工具3、安装docker-ce软件4、查看docker版本5、启动docker服务6、设置docker开机启动7、查看有哪些docker容器运行进程8、查看容器里有哪些镜像9、下载nginx软…

HarmonyOS NEXT开发教程:全局悬浮窗

今天跟大家分享一下HarmonyOS开发中的悬浮窗。 对于悬浮窗&#xff0c;可能有的同学会想到使用层叠布局是否可以实现&#xff0c;将悬浮窗叠在导航栏组件Tabs上&#xff0c;像这样&#xff1a; Stack({alignContent:Alignment.BottomEnd}){Tabs({barPosition:BarPosition.End…

解锁元生代:ComfyUI工作流与云原生后端的深度融合

目录 蓝耘元生代&#xff1a;智算新势力崛起​ ComfyUI 工作流创建详解​ ComfyUI 初印象​ 蓝耘平台上搭建 ComfyUI 工作流​ 构建基础工作流实操​ 代码示例与原理剖析​ 云原生后端技术全景 云原生后端概念解析​ 核心技术深度解读​ 蓝耘元生代中两者的紧密联系​…

STM32 基本GPIO控制

目录 GPIO基础知识 ​编辑IO八种工作模式 固件库实现LED点灯 蜂鸣器 按键基础知识 ​编辑继电器 震动传感器 433M无线模块 GPIO基础知识 GPIO(General-Purpose input/output,通用输入/输出接口) 用于感知外部信号&#xff08;输入模式&#xff09;和控制外部设备&…

汽车免拆诊断案例 | 2019款大众途观L车鼓风机偶尔不工作

故障现象 一辆2019款大众途观L车&#xff0c;搭载DKV发动机和0DE双离合变速器&#xff0c;累计行驶里程约为8万km。车主进厂反映&#xff0c;鼓风机偶尔不工作。 故障诊断  接车后试车&#xff0c;鼓风机各挡位均工作正常。用故障检测仪检测&#xff0c;空调控制单元&#x…

FastAPI与SQLAlchemy数据库集成

title: FastAPI与SQLAlchemy数据库集成 date: 2025/04/17 15:33:34 updated: 2025/04/17 15:33:34 author: cmdragon excerpt: FastAPI与SQLAlchemy的集成通过创建虚拟环境、安装依赖、配置数据库连接、定义数据模型和实现路由来完成。核心模块包括数据库引擎、会话工厂和声…

免费将静态网站部署到服务器方法(仅支持HTML,CSS,JS)

原视频链接&#xff1a;把HTML免费部署到网站上&#xff0c;实现别人也能访问的教程来啦QAQ_哔哩哔哩_bilibili 注意&#xff1a;仅支持HTML、CSS、JS。不支持Vue等框架。 1.打开网站www.wordpress.org 点击红框按钮 点击红框按钮下载wordpress模板文件并解压。 将自己编写的…

51单片机实验一:点亮led灯

目录 一、实验环境与实验器材 二、实验内容及实验步骤 1.用keil 软件创建工程&#xff0c;C文件编写程序&#xff0c;编译生成hex文件​编辑 2.用STC烧写hex文件&#xff0c;点亮第一个LED灯 3.使用法2&#xff0c;点除第一个以外的LED灯 一、实验环境与实验器材 环境&am…

PyCharm 开发工具 修改字体大小及使用滚轮没有反应

PyCharm 开发工具 修改字体大小及使用滚轮没有反应 提示&#xff1a;帮帮志会陆续更新非常多的IT技术知识&#xff0c;希望分享的内容对您有用。本章分享的是PyCharm 开发工具。前后每一小节的内容是有学习/理解关联性&#xff0c;希望对您有用~ PyCharm 开发工具 修改字体大小…

zookeeper启动报错have small server identifier

解决方案&#xff1a; 1、查看myid是否有重复 2、查看server.X 与myid的X是否一致 3、启动顺序为myid从小到大的服务器顺序

1.Framer Motion 中 motion/react 和 motion/react-client 的用法和区别

背景知识&#xff1a;服务器端渲染 (SSR) 和客户端渲染 (CSR) 在最新的 Motion for React&#xff08;原 Framer Motion&#xff09;12.x 及更高版本中&#xff0c;官方提供了两个入口模块&#xff1a;motion/react 和 motion/react-client。二者对外 API 完全一致&#xff0c…