Tencent / mars

Mars is a cross-platform network component developed by WeChat.
Other
17.31k stars 3.63k forks source link

#00 pc 000187b0 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] #513

Open jiahongfei opened 5 years ago

jiahongfei commented 5 years ago

会出现如下报错 主要集中在这些款机型

00 pc 000187b0 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te]

-- 2 #01 pc 000188d5 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 3 #02 pc 0001b391 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 4 #03 pc 0001b603 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 5 #04 pc 0001b79f /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 6 #05 pc 0001bf3f /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 7 #06 pc 0001c005 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 8 #07 pc 00018825 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 9 #08 pc 000188d5 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 10 #09 pc 0001b391 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te] 11 #10 pc 0001b603 /data/app/com.pa.health-2/lib/arm/libmarsxlog.so [armeabi-v5te]

设备 系统版本
# 16443903.5.02019-01-10 21:29:28 579OPPO R9MAndroid 5.1,level 22 # 1644390 3.5.0 2019-01-10 21:29:28 579 OPPO R9M Android 5.1,level 22
# 1644390 3.5.0 2019-01-10 21:29:28 579 OPPO R9M Android 5.1,level 22
# 16410683.5.02019-01-10 20:47:20 780OPPO R9TMAndroid 5.1,level 22 # 1641068 3.5.0 2019-01-10 20:47:20 780 OPPO R9TM Android 5.1,level 22
# 1641068 3.5.0 2019-01-10 20:47:20 780 OPPO R9TM Android 5.1,level 22
# 16553663.5.02019-01-10 20:33:56 597OPPO R9TMAndroid 5.1,level 22 # 1655366 3.5.0 2019-01-10 20:33:56 597 OPPO R9TM Android 5.1,level 22
# 1655366 3.5.0 2019-01-10 20:33:56 597 OPPO R9TM Android 5.1,level 22
# 16493723.5.02019-01-10 19:51:49 643OPPO R9 Plustm AAndroid 5.1.1,level 22 # 1649372 3.5.0 2019-01-10 19:51:49 643 OPPO R9 Plustm A Android 5.1.1,level 22
# 1649372 3.5.0 2019-01-10 19:51:49 643 OPPO R9 Plustm A Android 5.1.1,level 22
# 16493713.5.02019-01-10 19:39:41 054华为 TAG-AL00Android 5.1,level 22 # 1649371 3.5.0 2019-01-10 19:39:41 054 华为 TAG-AL00 Android 5.1,level 22
# 1649371 3.5.0 2019-01-10 19:39:41 054 华为 TAG-AL00 Android 5.1,level 22
# 16413473.5.02019-01-10 19:05:53 451OPPO R7PLUSMAndroid 5.1.1,level 22 # 1641347 3.5.0 2019-01-10 19:05:53 451 OPPO R7PLUSM Android 5.1.1,level 22
# 1641347 3.5.0 2019-01-10 19:05:53 451 OPPO R7PLUSM Android 5.1.1,level 22
# 16090653.5.02019-01-10 18:01:06 684OPPO A59MAndroid 5.1,level 22 # 1609065 3.5.0 2019-01-10 18:01:06 684 OPPO A59M Android 5.1,level 22
# 1609065 3.5.0 2019-01-10 18:01:06 684 OPPO A59M Android 5.1,level 22
# 16463193.5.02019-01-10 16:38:41 644OPPO R9MAndroid 5.1,level 22 # 1646319 3.5.0 2019-01-10 16:38:41 644 OPPO R9M Android 5.1,level 22
# 1646319 3.5.0 2019-01-10 16:38:41 644 OPPO R9M Android 5.1,level 22
# 16553363.5.02019-01-10 14:57:44 648OPPO R9 PLUSM AAndroid 5.1.1,level 22 # 1655336 3.5.0 2019-01-10 14:57:44 648 OPPO R9 PLUSM A Android 5.1.1,level 22
# 1655336 3.5.0 2019-01-10 14:57:44 648 OPPO R9 PLUSM A Android 5.1.1,level 22
jiahongfei commented 5 years ago

1547128341361

garryyan commented 5 years ago

堆栈还原出来。 使用 ndk-stack

jiahongfei commented 5 years ago

如下堆栈行吗 按照要求 ndk 11

00 pc 000187b0 /data/app/com.pa.health-ZQVIAkc0oqQngWwd7Wg4iw==/lib/arm/libmarsxlog.so [armeabi-v5te::0a22840db8fbc11c3feefd29a14495a5]

-- 2 #01 pc 000188d5 /data/app/com.pa.health-ZQVIAkc0oqQngWwd7Wg4iw==/lib/arm/libmarsxlog.so [armeabi-v5te::0a22840db8fbc11c3feefd29a14495a5] 3 #02 pc 0001b391 /data/app/com.pa.health-ZQVIAkc0oqQngWwd7Wg4iw==/lib/arm/libmarsxlog.so [armeabi-v5te::0a22840db8fbc11c3feefd29a14495a5] 4 #03 pc 0001b603 /data/app/com.pa.health-ZQVIAkc0oqQngWwd7Wg4iw==/lib/arm/libmarsxlog.so [armeabi-v5te::0a22840db8fbc11c3feefd29a14495a5] 5 #04 pc 0001b79f /data/app/com.pa.health-ZQVIAkc0oqQngWwd7Wg4iw==/lib/arm/libmarsxlog.so [armeabi-v5te::0a22840db8fbc11c3feefd29a14495a5] 6 #05 pc 0001bf3f /data/app/com.pa.health-ZQVIAkc0oqQngWwd7Wg4iw==/lib/arm/libmarsxlog.so [armeabi-v5te::0a22840db8fbc11c3feefd29a14495a5]

garryyan commented 5 years ago

不行,还原出来的堆栈应该是有代码行号的

jiahongfei commented 5 years ago

我是用bugly上恢复的堆栈,只能恢复到上面那样, 下面是另外一个报错信息,这个应该可以把

00 pc 00013a1c /system/lib/libc.so (memset+48) [armeabi-v7a]

-- 2 #01 pc 000123a8 libmarsxlog.so LogBuffer::__Clear() [armeabi-v5te] 3 #02 pc 0000fd60 libmarsxlog.so appender_open(TAppenderMode, char const, char const, char const) [armeabi-v5te] 4 #03 pc 00010ad8 libmarsxlog.so appender_open_with_cache(TAppenderMode, std::string const&, std::string const&, char const, char const*) [armeabi-v5te] 5 #04 pc 00004fb0 libmarsxlog.so Java_com_tencent_mars_xlog_Xlog_appenderOpen [armeabi-v5te] 6 #05 pc 000a4aa1 /system/lib/libart.so (art_quick_generic_jni_trampoline+32) [armeabi-v8] 7 #06 pc f4827880

garryyan commented 5 years ago

你的缓存路径设置了吗?设置在了什么地方?

jiahongfei commented 5 years ago

final String SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath(); final String logPath = SDCARD + builder.xlogPath; // builder.xlogPath = SD卡根目录/pah/

    // this is necessary, or may cash for SIGBUS
    final String cachePath = builder.application.getFilesDir() + "/xlog";

    final String nameprefix = builder.fileName;

    //init xlog
    if (BuildConfig.DEBUG) {
        Xlog.appenderOpen(Xlog.LEVEL_DEBUG, Xlog.AppednerModeAsync, cachePath, logPath, nameprefix, builder.pubkey);
        Xlog.setConsoleLogOpen(true);
    } else {
        Xlog.appenderOpen(Xlog.LEVEL_INFO, Xlog.AppednerModeAsync, cachePath, logPath, nameprefix, builder.pubkey);
        Xlog.setConsoleLogOpen(false);
    }

    Log.setLogImp(new Xlog());
garryyan commented 5 years ago

这种具体估计要重现再跟了,只看堆栈看不出来

jiahongfei commented 5 years ago

哦哦,好吧,那我在试试,不过现在后台上看到时不多,如果偶尔崩溃没问题,我就怕用户一打开App就崩了直接用不了,这就悲剧了,问一句这种崩溃app会推出吗

garryyan commented 5 years ago

会退出的