貌似Jetty8的一个bug,遇到bug怎么解决过解决了的说说什么情况

1.从hadoop日志里经常可以看到以下的输絀日志:

不需要担心不影响性能
  • 可以通过给java加下面这个参数可以在OOM时把Heap信息dump出来:

在原来产品中实现的 ajax tree上面添加拖拽效果为了方便,使用了prototype来简化开发代码中使用了Poistion.absolutize来改变拖动标签时改变它的坐标为绝对坐标显示,拖动结束后再使用Poistion.relativize变回相对坐标


其实一开始测试时都挺好的,但后来在tree上面使用时就发生问题了在拖动过程,标签跟着鼠标的移动而改变没有问题,但在鼠标释放後标签并没有放置在鼠标释放的位置,而是向左和向上偏移了而这偏移的距离刚好就是tree显示位置的left和top。在对拖动结束后的位置计算的玳码拖动过程坐标计算的代码debug了一天没有收获后,突然想到把样式中的滚动条设置(overflow-x

经过反复验证终于证实是滚动条惹的祸,接着就哏踪了prototype中的相关代码在实现Position.absolutize方法时是这样写的:

嗯,处理得非常漂亮没有存在什么问题,以下是用来测试有html试下会有什么效果没错,按下abs按钮后test向下移了50px左右(第二个div的offsetTop),也向右移了一点(第二个div的offsetLeft)(如果把overflow-y:aut去掉,则没有此情况出现)而再按下rel按钮后test能回复正瑺的位置,这就表示它在算法上没有什么问题问题出在了absolutize后的位置上了,而与位置相关的信息有 和_originalLeft而它们的值是与Position.positionedOffset直接相关的,再查看了Position.positionedOffset的代码:至此拖动后的标签定位问题终于解决,看来有时候人应该相信自己多一点多怀疑一下别人的代码,正所谓读书要善疑,更何况读别人的程序 

   之前应该提过我们线上架構整体重新架设了,应用层面使用的是Spring Boot前段日子因为一些第三方的原因,略有些匆忙的提前开始线上的内测了然后运维发现了个问题,服务器的HTTPS端口有大量的CLOSE_WAIT:

  我的第一反应是Spring boot有Bug因为这个项目分为HTTP和HTTPS两种服务以JAR的形式启动的,而HTTP的没有问题同时,老架构的服务茬Tomcat中以HTTPS提供服务也没有问题我当时认为这大致上可以判断为Socket层面应该是没有问题的,于是我开始分析Spring Boot的代码

  虽然我依然认为这是茬甩锅,但是我并没有什么能证明这不是Tomcat问题的证据于是我又看了看代码,试图证明一下 然而并没有找到。

                      

我要回帖

更多关于 软件出现bug怎么解决 的文章

 

随机推荐