Galaxy Tab 3发生奇怪的崩溃



我们有一款安卓应用程序已经推出好几年了。我们最近收到一位用户的此消息。

"我在我的Tab 2 10.1上很好地使用了你的应用程序,但当我转到三星Tab 3 10.1时,我在操作几秒钟后屏幕锁定,然后应用程序关闭,从而无法使用。"

我要求用户向我发送崩溃的日志文件。我没有看到任何明显的崩溃迹象,但我确实看到了以下不寻常的达尔维克条目:

D/dalvikvm(10652): Rejecting registerization due to +iget-object-quick v1, v3, (#12)
D/dalvikvm(10652): Rejecting registerization due to +iget-object-quick v5, v7, (#8)
D/dalvikvm(10652): Rejecting registerization due to +iget-object-quick v1, v3, (#12)
D/dalvikvm(10652): Rejecting registerization due to +iget-object-quick v5, v7, (#8)
D/dalvikvm(10652): Rejecting registerization due to +iget-object-quick v2, v3, (#8)
D/dalvikvm(10652): Rejecting registerization due to +iget-object-quick v2, v3, (#8)
E/FlurryDataSender(10652): --onReport 0aaed6a1-d074-4f9c-8e96-d015a4c071e7 sent. HTTP response: 200 : OK
D/dalvikvm(10652): GC_EXPLICIT freed 679K, 23% free 7357K/9532K, paused 1ms+2ms, total 21ms
E/dalvikvm(10652): JIT_INFO: We cannot transfer from GP reg to XMM and vice versa
I/dalvikvm(10652): JIT_INFO: Unsupported bytecode if-lt
I/dalvikvm(10652): Could not compile trace for Lcom/southernstars/skysafari/Utility;createTextAtlasInfo, offset 443
I/dalvikvm(10652): ++++++++++++++++++++++++++++++++++++++++++++
I/dalvikvm(10652): JIT_INFO: Issues in trace  Lcom/southernstars/skysafari/Utility;createTextAtlasInfo, offset 443
E/dalvikvm(10652): The following issues were seen:
I/dalvikvm(10652):  Issue: Trace contains bytecode with no implementation
I/dalvikvm(10652):  Issue: Issue registerizing the trace in the backend
E/dalvikvm(10652): Trying to turn backend registerization off
E/dalvikvm(10652): ++++++++++++++++++++++++++++++++++++++++++++
E/dalvikvm(10652): JIT_INFO: We cannot transfer from GP reg to XMM and vice versa
I/dalvikvm(10652): JIT_INFO: Unsupported bytecode if-lt
I/dalvikvm(10652): Could not compile trace for Lcom/southernstars/skysafari/Utility;createTextAtlasInfo, offset 409
I/dalvikvm(10652): ++++++++++++++++++++++++++++++++++++++++++++
I/dalvikvm(10652): JIT_INFO: Issues in trace  Lcom/southernstars/skysafari/Utility;createTextAtlasInfo, offset 409
E/dalvikvm(10652): The following issues were seen:
I/dalvikvm(10652):  Issue: Trace contains bytecode with no implementation
I/dalvikvm(10652):  Issue: Issue registerizing the trace in the backend
E/dalvikvm(10652): Trying to turn backend registerization off
E/dalvikvm(10652): ++++++++++++++++++++++++++++++++++++++++++++

有人想过这意味着什么吗?我们有成千上万的用户,这是第一份这样的报告。Galaxy Tab 3有什么本质上的不同吗?

Galaxy Tab 3 10.1是一款由英特尔Atom Z2560提供动力的较新安卓平板电脑。虽然大多数安卓应用程序应该在英特尔上正常工作,但你应该先在开发环境中尝试一下。

我终于弄明白了。崩溃发生在C库中(我们在应用程序中有本机代码)。我仍然不确定它崩溃的原因,但我们更改了一个sscan()调用,它修复了它。旧代码正在执行%100c复制字符串,我们将其更改为%100s。正在用%1000c复制到\0之外的数据引起了问题(否,所有内存都已分配)。

这个确切的代码已经在许多相关项目和许多平台上使用了十多年,没有任何问题。我只能猜测三星使用的是一个略有不同的C库,它并不完全兼容。

票据

最新更新