Thread-202(202) SIGSEGV(SEGV_MAPERR)

android
jpush
标签: #<Tag:0x00007fb830a6f0f0> #<Tag:0x00007fb830a6efb0>

(xiongge) #1

Android 推送,报错

# Thread-202(202) SIGSEGV(SEGV_MAPERR)
#00 pc 00045cec /system/lib/libdvm.so (dvmAbort+75) [armeabi-v7a]
2 #01 pc 00040ee3 /system/lib/libdvm.so [armeabi-v7a]
3 #02 pc 0001b80b /system/lib/libjavacore.so [armeabi-v7a]
4 #03 pc 0001c871 /system/lib/libjavacore.so [armeabi-v7a]
5 #04 pc 0001de30 /system/lib/libdvm.so (dvmPlatformInvoke+112) [armeabi-v7a]
6 #05 pc 0004ce67 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+390) [armeabi-v7a]
7 #06 pc 00038d85 /system/lib/libdvm.so (dvmCheckCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+8) [armeabi-v7a]
8 #07 pc 00027260 /system/lib/libdvm.so [armeabi-v7a]
9 #08 pc 0002bb2c /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180) [armeabi-v7a]
10 #09 pc 0005f591 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272) [armeabi-v7a]
11 #10 pc 0005f5bb /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20) [armeabi-v7a]
12 #11 pc 00054173 /system/lib/libdvm.so [armeabi-v7a]
13 #12 pc 00012db0 /system/lib/libc.so (__thread_entry+48) [armeabi-v7a]
14 #13 pc 00012514 /system/lib/libc.so (pthread_create+172) [armeabi-v7a]
15 java:
16 libcore.io.Posix.getaddrinfo(Native Method)
17 libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
18 java.net.InetAddress.parseNumericAddressNoThrow(InetAddress.java:269)
19 java.net.InetAddress.getAllByNameImpl(InetAddress.java:227)
20 java.net.InetAddress.getByName(InetAddress.java:289)
21 cn.jiguang.d.d.d.run(Unknown Source)
22 java pending exception:
23 [Native crash above happened with a java pending exception as following]
24 libcore.io.ErrnoException: getaddrinfo failed: EINVAL (Invalid argument)
25 libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
26 java.net.InetAddress.parseNumericAddressNoThrow(InetAddress.java:269)
27 java.net.InetAddress.getAllByNameImpl(InetAddress.java:227)
28 java.net.InetAddress.getByName(InetAddress.java:289)
**29 cn.jiguang.d.d.d.run(Unknown Source)**

最后一行cn.jiguang.d.d.d.run(Unknown Source),看不懂这个bug,求指教


#2

信息过少,请提供如下信息:

  1. 你所使用的极光产品是什么(是 JPush / JMessage / JShare / JAnalytics / JSMS 的原生 SDK ,还是某插件,还是服务端某语言 SDK )

  2. 该产品的 具体版本号 ;请 避免使用最新版本 这样的模糊描述词。

  3. 你需要咨询的、测试出现问题的是 iOS 、Android、Web、Windows 还是其他设备,具体系统和机型。

  4. 导致该问题出现的具体操作步骤(以便于我们测试复现)、观测到的具体现象(必要时可截图、录屏)、所有相关 log 信息(上传 TXT 文件或直接粘贴文本,如何查看客户端日志


(xiongge) #3

使用的是JPush,jcenter自动集成。
implementation ‘cn.jiguang.sdk:jpush:3.1.1’
implementation ‘cn.jiguang.sdk:jcore:1.1.9’
Android 4.1.2 ,level 16 armeabi-v7a 谷歌 NEXUS 4
Android 4.1.1,level 16 armeabi-v7a GI-I9500_TMMARS
生产环境上的,难以复现。


#4

我们调用的是InetAddress.getByName(string ) 用于把一个host转换为网络地址,这个是系统API,报错的话目前没有什么特别的处理办法


(xiongge) #5

貌似报错的都是level 16的,是否可以做到向下兼容,level 16以下的直接跳过,也不至于报错。


#6

这个API是java网络编程的基本API,不存在兼容问题,如果直接16以下跳过会影响到其他正常设备的功能,目前你这个问题的发生频率高吗


(Rong5690001) #7

发生频率很高。现在解决了吗?


#8

我也遇到了这个问题


#9

SIGBUS(BUS_ADRERR)
我遇到的问题还有这个,SDK是新版的。主要集中在4.几的手机,用的Jpush


#10

这里有说明,我们调的是系统 API ,底层崩溃的话目前没有什么办法处理


#11

那有没有办法捕获这个错误呢?不让APP崩溃?


#12

那有没有办法捕获这个错误呢?不让APP崩溃?


#13

捕获我们加了,但是这个是 native 崩溃的,java 层的捕获不起作用