一次排除异常的经历
2014-01-16 20:22
806 查看
错误描述
在sakai中,以普通注册用户登录系统,在个人资料页面的“基本信息”和“工作信息”模块中单击“编辑”按钮无反应(无编辑界面出现)并且按F12在Console窗口中出现500错误。同时在Tomcat的程序窗口中出现如下异常提示:
排错过程
先在IDEA中单步调试,希望能发现异常的触发点,但最终进入了数个.class文件,无法发现触发异常的语句。之后仔细查看异常的堆栈跟踪,发现有如下信息:
at wicket.contrib.tinymce.settings.TinyMCESettings.lazyLoadTinyMCEResource
(TinyMCESettings.java:971)
和
at
wicket.contrib.tinymce.TinyMceBehavior.renderHead(TinyMceBehavior.java:60)
两处,而TinyMCE是一个具有富文本编辑功能的组件,而在MyInfoEdit.java文件和MyBusinessEdit.java中都有如下语句
/* In MyBusinessEdit.java */ businessBiography.add(new TinyMceBehavior(new TextareaTinyMceSettings()));
/* In MyInfoEdit.java */ personalSummary.add(new TinyMceBehavior(new TextareaTinyMceSettings()));
因此怀疑是TinyMCE组件的问题。果然,将这两处的语句注释掉,并且在对应的MyBusinessEdit.html和MyInfoEdit.html中将相应的wicket标签注释掉。
重新编译以后问题解决。
讨论
现在的解决方案只是很简单地把两个使用了TinyMCE控件的地方去掉,但更深层次的问题应该处在TinyMCE自己的内部逻辑上。有待进一步研究。相关文章推荐
- 一次由于for update锁表,引起应用异常的经历
- 记一次yarn导致cpu飙高的异常排查经历
- apache 80 端口被占用无法启动的一次排除经历
- 记一次排除单点故障的经历
- 记一次OutOfMemoryException异常
- 一次EF批量插入多表数据的性能优化经历
- 一次悲催的软件下载经历
- 【面试总结】--记录一次面试经历
- 一次C++笔试经历
- 记一次在多哈的项目经历
- 一次难忘的JVM内存调试经历(CUDA+Opencv+JNI+Storm)
- 一次一阶滞后滤波算法的使用经历
- 一次面试经历
- 一次解决DB2接口文件到Oracle无法导入问题的经历
- openstack虚拟机无法启动的一次排错经历
- 一次非常有意思的 SQL 优化经历
- 记录一次ARP故障导致网络异常
- 记一次分配虚拟内存的经历
- 一次死锁追踪经历
- 极度郁闷的一次电脑维修经历