Applet在初始加载时冻结页面(Mac Firefox)

时间:2009-12-18 09:48:12

标签: firefox macos applet

我们有一个网页屏幕,其中包含许多小程序,这些小程序在Mac OSX 10.5.7,Firefox 3.0.15,java 1.5.0_19上存在问题。

用户站点遇到问题。 在初始加载applet(使用空的applet缓存)时,屏幕会在加载applet时锁定/挂起。 刷新页面后,它会正常加载。 如果清除缓存,则会再次出现同样的问题。

不幸的是,我们在本地测试机器上没有遇到这种情况(相同的操作系统,Java和Firefox版本)

我们能够获得jstack线程转储,见下文: http://pastebin.com/m527e05dd

但是,我们不确定如何解释它。有什么建议或意见吗?

编辑: 我们能够通过创建新用户(干净的Firefox配置文件)在我们的测试机器中复制。如果我们清除java缓存然后访问有问题的页面,编辑控件被禁用(我们无法单击它们来聚焦它们),Firefox地址栏和搜索框具有相同的行为。当我们访问“帮助”菜单条目时,编辑框仅控制“解冻”,该条目具有 活动的搜索编辑框。

1 个答案:

答案 0 :(得分:0)

查看线程转储,你的代码在run方法中有一个等待。

Thread t@60419: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
- OurApplet$1.run() @bci=16, line=138 (Interpreted frame)

这等待的是什么?是否可能是您的小程序上的计时错误?

它是否可能是一个Swing小程序并调用invokeAndWait?如果是这样,我建议使用invokeLater来构建Swing组件,因为我注意到Opera在invokeAndWait启动时偶尔会崩溃。