okHttp3 JVM崩溃

问题描述

我正在使用内部使用okHttp3 v3.14.7的SDK, 它在内部创建ConnectionPool()和OkHTTPClient()的多个实例,

不是每次通话,而是在随机阶段,我得到了一个核心转储, 下面是回溯文件

Java frames: (J=compiled Java code,j=interpreted,Vv=VM code)
J 11488  java.net.SocketInputStream.socketRead0(Ljava/io/FileDescriptor;[BIII)I (0 bytes) @ 0x0000000804578fff [0x0000000804578f80+0x7f]
J 10954 C1 java.net.SocketInputStream.read([BIII)I (290 bytes) @ 0x00000008043b3f5c [0x00000008043b3800+0x75c]
J 10953 C1 java.net.SocketInputStream.read([BII)I (15 bytes) @ 0x00000008043b7f64 [0x00000008043b7e00+0x164]
J 11133 C1 sun.security.ssl.InputRecord.readFully(Ljava/io/InputStream;[BII)I (137 bytes) @ 0x00000008044890dc [0x0000000804488f60+0x17c]
J 12140 C1 sun.security.ssl.InputRecord.read(Ljava/io/InputStream;Ljava/io/OutputStream;)V (127 bytes) @ 0x00000008047d687c [0x00000008047d6720+0x15c]
J 13279 C1 sun.security.ssl.SSLSocketImpl.readRecord(Lsun/security/ssl/InputRecord;Z)V (872 bytes) @ 0x0000000804a6e31c [0x0000000804a6dec0+0x45c]
J 14563 C1 sun.security.ssl.AppInputStream.read([BII)I (129 bytes) @ 0x0000000804ee94b4 [0x0000000804ee8bc0+0x8f4]
J 15367 C1 okio.Okio$2.read(Lokio/Buffer;J)J (154 bytes) @ 0x0000000803f893ac [0x0000000803f88f60+0x44c]
J 15366 C1 okio.AsyncTimeout$2.read(Lokio/Buffer;J)J (68 bytes) @ 0x0000000803f76e44 [0x0000000803f76c20+0x224]
J 11589 C1 okio.RealBufferedSource.indexOf(BJJ)J (152 bytes) @ 0x00000008045cd1cc [0x00000008045ccde0+0x3ec]
J 11135 C1 okio.RealBufferedSource.readUtf8LineStrict(J)Ljava/lang/String; (235 bytes) @ 0x00000008044936bc [0x00000008044934a0+0x21c]
J 11134 C1 okhttp3.internal.http1.Http1ExchangeCodec.readHeaderLine()Ljava/lang/String; (30 bytes) @ 0x0000000804488a4c [0x0000000804488900+0x14c]
j  okhttp3.internal.http1.Http1ExchangeCodec.readResponseHeaders(Z)Lokhttp3/Response$Builder;+47
j  okhttp3.internal.connection.Exchange.readResponseHeaders(Z)Lokhttp3/Response$Builder;+5
j  okhttp3.internal.http.CallServerInterceptor.intercept(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;+226
J 11815 C1 okhttp3.internal.http.RealInterceptorChain.proceed(Lokhttp3/Request;Lokhttp3/internal/connection/Transmitter;Lokhttp3/internal/connection/Exchange;)Lokhttp3/Response; (378 bytes) @ 0x00000008046c4b3c [0x00000008046c41e0+0x95c]
j  okhttp3.internal.connection.ConnectInterceptor.intercept(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;+51
J 11815 C1 okhttp3.internal.http.RealInterceptorChain.proceed(Lokhttp3/Request;Lokhttp3/internal/connection/Transmitter;Lokhttp3/internal/connection/Exchange;)Lokhttp3/Response; (378 bytes) @ 0x00000008046c4b3c [0x00000008046c41e0+0x95c]
J 12440 C1 okhttp3.internal.http.RealInterceptorChain.proceed(Lokhttp3/Request;)Lokhttp3/Response; (14 bytes) @ 0x000000080492e984 [0x000000080492e840+0x144]
j  okhttp3.internal.cache.CacheInterceptor.intercept(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;+192
J 11815 C1 okhttp3.internal.http.RealInterceptorChain.proceed(Lokhttp3/Request;Lokhttp3/internal/connection/Transmitter;Lokhttp3/internal/connection/Exchange;)Lokhttp3/Response; (378 bytes) @ 0x00000008046c4b3c [0x00000008046c41e0+0x95c]
J 12440 C1 okhttp3.internal.http.RealInterceptorChain.proceed(Lokhttp3/Request;)Lokhttp3/Response; (14 bytes) @ 0x000000080492e984 [0x000000080492e840+0x144]
j  okhttp3.internal.http.BridgeInterceptor.intercept(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;+238
J 11815 C1 okhttp3.internal.http.RealInterceptorChain.proceed(Lokhttp3/Request;Lokhttp3/internal/connection/Transmitter;Lokhttp3/internal/connection/Exchange;)Lokhttp3/Response; (378 bytes) @ 0x00000008046c4b3c [0x00000008046c41e0+0x95c]
j  okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;+56
J 11815 C1 okhttp3.internal.http.RealInterceptorChain.proceed(Lokhttp3/Request;Lokhttp3/internal/connection/Transmitter;Lokhttp3/internal/connection/Exchange;)Lokhttp3/Response; (378 bytes) @ 0x00000008046c4b3c [0x00000008046c41e0+0x95c]
J 12440 C1 okhttp3.internal.http.RealInterceptorChain.proceed(Lokhttp3/Request;)Lokhttp3/Response; (14 bytes) @ 

最后一个本机帧

C  [libc.so.7+0x7ee33]  free+0x1e3

在多个okHttpClient对象上创建是否可以导致核心转储?

在运行类似程序并创建connectionPool()和okHTTPClient()的多个对象时,只有OutOfMemoryException而不是核心转储

OS: FreeBSD 8 
JVM: OpenJDK 8 (8u265)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...