Skip to content

疑似出现 onebot 客户端将 message_id 扩展到 int 范围之外的数字 #385

Description

@HollisMeynell

详细描述
在最新版本的 shiro 中, 出现一些消息的 message_id 字段出现数据溢出, 由于是服务器开放了 ws 连接, 暂时无法排查出具体的客户端类型以及版本, 看看是否有其他人也遇上这个问题

屏幕截图或者日志
com.mikuac.shiro.exception.ShiroException: Cannot convert to class: com.mikuac.shiro.dto.event.message.GroupMessageEvent
at com.mikuac.shiro.common.utils.JsonObjectWrapper.to(JsonObjectWrapper.java:127)
at com.mikuac.shiro.handler.event.MessageEvent.process(MessageEvent.java:88)
at com.mikuac.shiro.handler.event.MessageEvent.group(MessageEvent.java:146)
at com.mikuac.shiro.handler.event.MessageEvent.handler(MessageEvent.java:58)
at com.mikuac.shiro.handler.EventHandler.handler(EventHandler.java:106)
at com.mikuac.shiro.task.ShiroAsyncTask.execHandlerMsg(ShiroAsyncTask.java:38)
at
Caused by: tools.jackson.core.exc.InputCoercionException: Numeric value (1482675043933618437) out of range of int (-2147483648 - 2147483647)
at [No location information] (through reference chain: com.mikuac.shiro.dto.event.message.GroupMessageEvent["message_id"])
at tools.jackson.core.base.ParserMinimalBase._constructInputCoercion(ParserMinimalBase.java:1144)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:931)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:927)
at tools.jackson.core.base.ParserMinimalBase._reportOverflowInt(ParserMinimalBase.java:923)
at tools.jackson.databind.node.TreeTraversingParser.getIntValue(TreeTraversingParser.java:328)
at tools.jackson.databind.deser.jdk.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:532)
at tools.jackson.databind.deser.jdk.NumberDeserializers$IntegerDeserializer.deserialize(NumberDeserializers.java:515)
at tools.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:120)
at tools.jackson.databind.deser.bean.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:532)
at tools.jackson.databind.deser.bean.BeanDeserializer.deserialize(BeanDeserializer.java:200)
at tools.jackson.databind.deser.DeserializationContextExt.readRootValue(DeserializationContextExt.java:265)
at tools.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:2584)
at tools.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:979)
at tools.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:1290)

运行或开发环境

  • 系统版本:linux
  • Shiro版本:2.5.3
  • 客户端版本:未知
  • JDK版本:jdk 21
  • SpringBoot版本:4.0.3

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions