fastjson報Illegal target of jump or branch


完整報錯信息如下:

nested exception is java.lang.VerifyError: (class: com/alibaba/fastjson/parser/deserializer/FastjsonASMDeserializer_3_TianyanchaMainObject, method: deserialze signature: (Lcom/alibaba/fastjson/parser/DefaultJSONParser;Ljava/lang/reflect/Type;Ljava/lang/Object;I)Ljava/lang/Object;) Illegal target of jump or branch
at org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1260)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)

本地測試沒有問題、部署到生產出現問題。

本地:fastjson版本1.2.6、jdk版本1.7.51

生產:fastjson版本1.2.73(因漏洞問題升級到最新)、jdk版本1.7.45。

網上查詢的信息都是fastjson解析的數量問題.Fastjson1.2.28版本下,在json反序列化的時候,當字段數量為32或者64時,會反序列化報錯。

實際字段數量是由71升級到75后出現的錯誤。嘗試改到74個還是報錯。排除數量問題。

懷疑是fastjson版本問題,不過網上查詢說是fastjson1.2.73版本向下兼容5、6、7。嘗試把本地升級到1.2.73,果然出錯。

maven庫中找到打漏洞補丁的低版本1.2.7.sec10。替換后問題解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM