【发布时间】:2012-11-02 04:22:41
【问题描述】:
最近,我一直试图找出(并希望修复)影响 SB Nation 博客网络的频繁的 Android 2.3 浏览器崩溃。用户将导航到页面,它似乎正在加载,然后大约当您期望 DOM 完成触发时,浏览器似乎强制关闭,您被踢到主屏幕。并非每次页面加载都会发生这种情况,因此如果您打开浏览器并重试,通常会正常加载。
我在自己的手机上多次重现了这个问题,HTC Thunderbolt (2.3.4) 和 Droid Bionic (2.3.4)。我没有 Android 开发经验,但我认为连接 adb 调试器可能会让我对这个问题的原因有所了解。以下是我捕获的一些崩溃日志:
(我会在生产环境中发布一些导致这些崩溃的 URL,但我已经达到了两个链接的限制。)
您可能会注意到,所有 HTC 日志都不同,而 Bionic 似乎并没有提供太多技术细节。这是我在所有 HTC 日志中发现的唯一共同点:
D/skia (14225): createPlugin (300,150) screen proportion:(w,h)=(0.813008,0.039288), content ratio:2.000000 mainUrl:http://athleticsnation.local:3000/
D/skia (14225): createPlugin F10 typical2 video content (300,150)/(369,3818), url=
我的猜测是 F10 == Flash 10,但 Droid Bionic 甚至没有安装 Flash,所以我不相信这是原因。
无论如何,我对导致这些崩溃的原因一无所知。有没有办法获得有关这些崩溃的更准确信息?无效标记会导致浏览器崩溃吗? JavaScript 限制?任何帮助将不胜感激。
【问题讨论】:
-
如果您在模拟器上运行了链接,那么 logcat 输出是什么(将其添加到问题中)。另外不要忘记启用 console.log() stackoverflow.com/questions/5538516/…
-
在这两种情况下,浏览器都被信号 11 (Segmentation fault) 杀死,这意味着本机浏览器库执行了类似于
NullPointerException的操作。这并不是通过糟糕的标记和任何网络内容来实现的,但由于提到了插件和视频,它可能与(HTML5?)视频有关。skiabtw 是二维图形/绘图库。 -
@MorrisonChang 我在 2.3.3 模拟器中重新创建崩溃的尝试到目前为止都没有成功。如果我设法在那里重现,我会发布一个 logcat。
-
@zapl 段错误位是有道理的。我想知道这是否是浏览器错误,而这些页面上的某些东西正在加剧这个问题。这些页面上没有
-
@clifff 是的,segfault 将是由您的内容以某种方式触发的浏览器错误(甚至是设备上发生副作用的随机事件)。如果可以的话,它应该显示一个空白/损坏的页面或类似的东西。关于模拟器:模拟器和真机有很多不同,所以可能无法在模拟器上重现这个bug。
标签: android debugging android-browser