简介:单个请求向/wallet/deploycontract提交几兆字节码以及CPU密集型长解析将消耗CPU大约10分钟,同时仍然在堆中保存几兆字节码。发起足够的请求,足以使用所有可用线程来处理传入的HTTP请求,填满内存并导致产生拒绝访问。
描述:
*从一个很大的带有大指数的十进制数中获取longValue非常慢。例如newBigDecimal("10000000e100000000").longValue();这段代码大约需要2-3分钟才能在较新的macbookpro中运行完成。*/wallet/deploycontract有6个字段,它们从解析的json对象中获取longValue,即token_id,call_token_value,fee_limit,call_value,consume_user_resource_percent,origin_energy_limit。这意味着单个请求可以使用最多12分钟的线程。*当一个线程被锁定12分钟/deploycontract时,整个字节码也会放入内存中,这会占用内存并过早地将对象从eden内存空间移动到旧的内存空间*一旦将对象移动到旧的存储空间,当指针被释放时将很难清理它们,因此GC会在尝试清理之前卡住。请注意gc日志和屏幕截图,其中内存在攻击停止后很长时间内保持在3G状态。
参考:
jconsole代表内存,CPU和线程的截图
gclog来显示JVM进入无限的GC并且仍然无法释放内存
修复建议
JSONObject.parse使用Feature.UseBigDecimal.getMask;默认情况下。不使用BigDecimal会解决问题,但可能会在需要BigDecimal的其他地方引入问题。
如果整个字节码一直没有放入内存中那就好了。
影响使用单台计算机,攻击者可以向所有或51%的SR节点发起DDOS攻击,并使Tron网络无法使用。
6月11日,据英国金融行为监管局在其网站上发布的一则消息称,FCA已经就如何处理与「加密资产」相关的风险给予银行以指导意见.
亲爱的用户:?? IDAX将上线EMI。开通EMI/ETH交易,立即前往。充值开放时间:2019年6月25日21:00(UTC8)交易开放时间:2019年5月25日21:00(UTC8)英国金融.
近日,北京云集隐居四合院出现了一台比特币自助购买机,引起业内关注。5月20日,Odaily星球日报实地探访后发现,上市不到一周,该机器竟突然撤离.
写在前面的话:任何事物都有阴阳两极,阳光总是伴随着阴影。行业里面有很多的投机主义者,也不乏价值的坚守者,他们不畏牛熊,不论阳光或阴雨,将赞赏与诽谤一一吞下,一步一个脚印,朝着理想的目标,前进、前.
本文观点仅代表个人,仅限交流学习,所有内容不构成任何投资建议。想及时了解更多行情信息,请添加官方微信进群:jiamibaoluo.
尊敬的用户: 火币全球站将针对USDT及BTC杠杆交易区的LTC、EOS、TRX、ATOM、IOST、ONT、BTT、NEO交易对推出《参与杠杆借贷和交易,赢15000USDT大礼!》活动.