日期:2014-05-18  浏览次数:20724 次

java.lang.StackOverflowError
新浪微博接入网站,做一键登录。
用户点击“新浪微博登录”到授权页面,假如用户没有点击授权,直接关闭浏览器,再访问我的网站的其他页面就会出现下面的错误:
java.lang.StackOverflowError
at weibo4j.http.OAuthToken.hashCode(OAuthToken.java:105)
at weibo4j.http.RequestToken.hashCode(RequestToken.java:87)
at weibo4j.http.HttpClient.hashCode(HttpClient.java:806)
at weibo4j.http.RequestToken.hashCode(RequestToken.java:88)
at weibo4j.http.HttpClient.hashCode(HttpClient.java:806)


测试IE6会出现这样,IE8不会。
RequestToken是放在session里的,可是为什么访问跟它没关系的页面都会执行OAuthToken里的hashCode()呢
不知道有没人遇到跟我类似的,后面是怎么解决。

在callback页面里假如我没清除RequestToken的session 也会出现这样的错误。

------解决方案--------------------
StackOverflowError是由于当前线程的栈满了(栈帧太多,也就是函数调用层级过多)导致。
检查是否有死递归的情况~
------解决方案--------------------
这个问题没遇到过,Mark!
------解决方案--------------------
我也遇到同样的问题,不过跟浏览器似乎没关系。
------解决方案--------------------
还是看看你自己写的代码吧 检查是否有死循环、递归等程序,如果有,修正、优化相关代码。
------解决方案--------------------
探讨

StackOverflowError是由于当前线程的栈满了(栈帧太多,也就是函数调用层级过多)导致。
检查是否有死递归的情况~

------解决方案--------------------
问题是同样的代码在tomcat6.0.18中没问题,在jboss5集群下面就会出现内存溢出,怪异啊。