小程序在初始加载时冻结页面 (Mac Firefox)

发布于 2024-08-15 12:28:51 字数 565 浏览 1 评论 0原文

我们的网页屏幕上有许多小程序,在 Mac OSX 10.5.7、Firefox 3.0.15、java 1.5.0_19 上存在问题。

该问题是在用户站点上遇到的。 初始加载小程序(小程序缓存为空)时,加载小程序时屏幕会锁定/挂起。 刷新页面后,就可以正常加载了。 如果清除缓存,同样的问题会再次发生。

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

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

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

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

We have a web screen with a number of applets that has a problem on Mac OSX 10.5.7, Firefox 3.0.15, java 1.5.0_19.

The problem is encountered on the user site.
On initial load of applets (with an empty applet cache), the screen locks up/hangs while loading the applets.
After refreshing the page, it loads normally.
If the cache is cleared, same problem happens again.

Unfortunately, we're not encountering this on our local test machine (same OS, java and Firefox versions)

We were able to get a jstack thread dump, see below:
http://pastebin.com/m527e05dd

However, we're not sure how to interpret it. Any suggestions or advice?

Edit:
We were able to replicate in our testing machine by creating a new user (clean Firefox profile). If we clear the java cache then visit the problematic pages, the edit controls are disabled (we can't click them to focus them), the Firefox address bar and search box have the same behavior. The edit box controls only "unfreeze" when we access the "Help" menu entry, which has a Search edit box that is active.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

星軌x 2024-08-22 12:28:51

查看线程转储,代码的 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 启动时偶尔会崩溃。

Looking at the thread dump there's a wait in a run method on your code.

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

What is this wait for? Is it possible that it's a timing error on your applet?

Is it possible it's a Swing applet and calls invokeAndWait? If so I would recommend using invokeLater to build the Swing components as I have noticed that Opera can sporadically crash at start up with invokeAndWait.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文