Skip to content

[BUG]在某些Android设备上处理数据时崩溃 #2263

@DarkAdventurerr

Description

@DarkAdventurerr

问题描述

线上使用了fastjson兼容版本2.0.40之后发现部分Android设备上会发生闪退
后续使用了fastjson兼容版本2.0.46、fastjson2 2.0.46均可以复现闪退

环境信息

  • OS信息: Android 13
  • JDK信息: JDK 11
  • 版本信息:2.0.40/2.0.46

重现步骤

在接收到后端数据后使用JSON相关方法会发生闪退

期待的正确结果

不闪退

相关日志输出


backtrace:
#00 pc 0x00000000002fff9a /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (art_jni_trampoline+18)
#1 pc 0x0000000000330464 /apex/com.android.art/lib/libart.so (nterp_helper+5204)
#2 pc 0x0000000000365912 /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.alibaba.fastjson2.util.y.n+38)
#3 pc 0x000000000032f7ac /apex/com.android.art/lib/libart.so (nterp_helper+1948)
#4 pc 0x0000000000364a4a /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.alibaba.fastjson2.util.y.w+298)
#5 pc 0x000000000032f7ac /apex/com.android.art/lib/libart.so (nterp_helper+1948)
#6 pc 0x00000000003006f0 /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.alibaba.fastjson2.m0.a1+148)
#7 pc 0x000000000032fb00 /apex/com.android.art/lib/libart.so (nterp_helper+2800)
#8 pc 0x0000000000373a04 /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.alibaba.fastjson2.writer.r0.v+144)
#9 pc 0x000000000032fb00 /apex/com.android.art/lib/libart.so (nterp_helper+2800)
#10 pc 0x00000000003738dc /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.alibaba.fastjson2.writer.r0.n+100)
#11 pc 0x000000000032fb00 /apex/com.android.art/lib/libart.so (nterp_helper+2800)
#12 pc 0x000000000037a5fe /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.alibaba.fastjson2.writer.k2.write+318)
#13 pc 0x0000000000330bd8 /apex/com.android.art/lib/libart.so (nterp_helper+7112)
#14 pc 0x00000000002b2f0c /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.alibaba.fastjson.JSON.toJSONString+76)
#15 pc 0x00000000000a419d /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.odex (j6.a.m+420)
#16 pc 0x00000000000a67b9 /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.odex (s5.a.i+576)
#17 pc 0x000000000032f0bc /apex/com.android.art/lib/libart.so (nterp_helper+172)
#18 pc 0x000000000044fef4 /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.dragonpass.en.latam.activity.LoadingActivity.y0+244)
#19 pc 0x000000000032fb00 /apex/com.android.art/lib/libart.so (nterp_helper+2800)
#20 pc 0x000000000044fc60 /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.dragonpass.en.latam.activity.LoadingActivity.n0)
#21 pc 0x000000000032f048 /apex/com.android.art/lib/libart.so (nterp_helper+56)
#22 pc 0x000000000044f948 /data/app/~~gefk1pQ6rWbnVEinDLAsKw==/com.dragonpass.en.latam-DJfXOUyE9nqpEUdhmr1cKg==/oat/arm/base.vdex (com.dragonpass.en.latam.activity.b.run+4)
#23 pc 0x0000000000411957 /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.util.concurrent.Executors$RunnableAdapter.call+62)
#24 pc 0x0000000000496bab /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.util.concurrent.FutureTask.run+178)
#25 pc 0x00000000004e885d /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+828)
#26 pc 0x00000000004e5e27 /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+62)
#27 pc 0x00000000003c41af /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.lang.Thread.run+70)
#28 pc 0x00000000001419d5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68)
#29 pc 0x00000000001baceb /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+466)
#30 pc 0x00000000002302e3 /apex/com.android.art/lib/libart.so (art::Thread::CreateCallback(void*)+2070)
#31 pc 0x00000000000ad2a3 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40)
#32 pc 0x000000000006435d /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)

附加信息

在使用fastjson 1.2.73版本时此设备正常使用

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixed

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions