alibaba / druid

阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
https://github.com/alibaba/druid/wiki
Apache License 2.0
27.95k stars 8.58k forks source link

druid java.lang.StackOverflowError #4887

Open 2509569172 opened 2 years ago

2509569172 commented 2 years ago

druid版本:1.1.10 db : mysql

2022-08-05 03:27:15.311 [DubboServerHandler-thread-473] ERROR com.alibaba.dubbo.rpc.filter.ExceptionFilter - [DUBBO] Got unchecked and undeclared exception which called by service: com.simo.vsim.srms.api.service.ISimOpService, method: adjustCycle, exception: java.lang.StackOverflowError: null, dubbo version: 2.5.5, current host: java.lang.StackOverflowError at java.util.HashMap.putVal(HashMap.java:628) at java.util.HashMap.put(HashMap.java:611) at com.alibaba.druid.sql.ast.SQLObjectImpl.putAttribute(SQLObjectImpl.java:105) at com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils.visit(SQLEvalVisitorUtils.java:2036) at com.alibaba.druid.sql.dialect.mysql.visitor.MySqlEvalVisitorImpl.visit(MySqlEvalVisitorImpl.java:158) at com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr.accept0(SQLIdentifierExpr.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils.visit(SQLEvalVisitorUtils.java:850) at com.alibaba.druid.sql.dialect.mysql.visitor.MySqlEvalVisitorImpl.visit(MySqlEvalVisitorImpl.java:85) at com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr.accept0(SQLBinaryOpExpr.java:135) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.wall.spi.WallVisitorUtils.eval(WallVisitorUtils.java:1602) at com.alibaba.druid.wall.spi.WallVisitorUtils.getValue(WallVisitorUtils.java:1076) at com.alibaba.druid.wall.spi.WallVisitorUtils.getValue(WallVisitorUtils.java:1492) at com.alibaba.druid.wall.spi.WallVisitorUtils.getValue_and(WallVisitorUtils.java:1111) at com.alibaba.druid.wall.spi.WallVisitorUtils.getValue(WallVisitorUtils.java:983) at com.alibaba.druid.wall.spi.WallVisitorUtils.getValue(WallVisitorUtils.java:1496) at com.alibaba.druid.wall.spi.WallVisitorUtils.queryBlockFromIsNull(WallVisitorUtils.java:2379) at com.alibaba.druid.wall.spi.WallVisitorUtils.queryBlockFromIsNull(WallVisitorUtils.java:2321) at com.alibaba.druid.wall.spi.WallVisitorUtils.checkUnion(WallVisitorUtils.java:2273) at com.alibaba.druid.wall.spi.MySqlWallVisitor.visit(MySqlWallVisitor.java:345) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:90) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91) at com.alibaba.druid.sql.ast.SQLObjectImpl.accept(SQLObjectImpl.java:41) at com.alibaba.druid.sql.ast.SQLObjectImpl.acceptChild(SQLObjectImpl.java:63) at com.alibaba.druid.sql.ast.statement.SQLUnionQuery.accept0(SQLUnionQuery.java:91)

2509569172 commented 2 years ago

https://github.com/alibaba/druid/issues/1987 看#1987说已经在1.1.4版本上解决,但是1.1.10还在?

muyinsuifeng commented 1 year ago

1.1.20也遇到了类似的问题,是 where a = 1 or a = 2 or a =3 or a =4 ......的场景