我觉得就是这个原因导致的 谢谢爸爸
https://github.com/square/okhttp/issues/2620
image.png image.png image.png-
这个图中的描述有误
这个图中的描述有误.png
https://www.cnblogs.com/dongweiq/p/9494033.html
image.png image.png image.png image.pnghttps://www.jianshu.com/p/0fdd9d8ca6d0
image.pnghttps://www.xuding.info/2018/02/14/post602/
image.png image.pngjava.lang.RuntimeException: Adding window failed
at android.view.ViewRootImpl.setView(ViewRootImpl.java:509)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.Dialog.show(Dialog.java:286)
at com.xfxb.paperless.weight.BaseDialog.show(BaseDialog.java:124)
at com.xfxb.paperless.base.BaseImpShowDialogActivity.baseShowDialog(BaseImpShowDialogActivity.kt:57)
at com.xfxb.paperless.base.BaseImpShowDialogActivity.showLoading(BaseImpShowDialogActivity.kt:24)
at com.xfxb.paperless.mvp.presenter.MainPresenter.countProduceInfo(MainPresenter.kt:127)
at com.xfxb.paperless.ui.MainActivity.numberOfRefreshedOrders(MainActivity.kt:295)
at com.xfxb.paperless.ui.MainActivity.access$numberOfRefreshedOrders(MainActivity.kt:39)
at com.xfxb.paperless.ui.MainActivity$initData$1.onItemClick(MainActivity.kt:422)
at com.chad.library.adapter.base.BaseQuickAdapter.setOnItemClick(BaseQuickAdapter.java:987)
at com.chad.library.adapter.base.BaseQuickAdapter$5.onClick(BaseQuickAdapter.java:966)
at android.view.View.performClick(View.java:4453)
at android.view.View$PerformClick.run(View.java:18514)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.TransactionTooLargeException
at android.os.BinderProxy.transact(Native Method)
at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:683)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:498)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.Dialog.show(Dialog.java:286)
at com.xfxb.paperless.weight.BaseDialog.show(BaseDialog.java:124)
at com.xfxb.paperless.base.BaseImpShowDialogActivity.baseShowDialog(BaseImpShowDialogActivity.kt:57)
at com.xfxb.paperless.base.BaseImpShowDialogActivity.showLoading(BaseImpShowDialogActivity.kt:24)
at com.xfxb.paperless.mvp.presenter.MainPresenter.countProduceInfo(MainPresenter.kt:127)
at com.xfxb.paperless.ui.MainActivity.numberOfRefreshedOrders(MainActivity.kt:295)
at com.xfxb.paperless.ui.MainActivity.access$numberOfRefreshedOrders(MainActivity.kt:39)
at com.xfxb.paperless.ui.MainActivity$initData$1.onItemClick(MainActivity.kt:422)
at com.chad.library.adapter.base.BaseQuickAdapter.setOnItemClick(BaseQuickAdapter.java:987)
at com.chad.library.adapter.base.BaseQuickAdapter$5.onClick(BaseQuickAdapter.java:966)
at android.view.View.performClick(View.java:4453)
at android.view.View$PerformClick.run(View.java:18514)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
at dalvik.system.NativeStart.main(Native Method)
image.png
Process: com.xfxb.paperless.prd.debug, PID: 7977
java.lang.IllegalStateException: eglMakeCurrent failed EGL_BAD_MATCH
at android.view.HardwareRenderer$GlRenderer.createSurface(HardwareRenderer.java:1361)
at android.view.HardwareRenderer$GlRenderer.createEglSurface(HardwareRenderer.java:1248)
at android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:1065)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1555)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1005)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5609)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:544)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
at dalvik.system.NativeStart.main(Native Method)
image.png
https://www.jianshu.com/p/4fd1a0deddb0
image.png image.png image.png image.png07-01 11:11:51.910 1922-4650/com.xfxb.paperless.prd.debug D/OkHttp: <-- END HTTP (146-byte body)
07-01 11:11:51.920 1922-1922/com.xfxb.paperless.prd.debug I/System.out: shiming dismissLoading
07-01 11:11:51.920 1922-1922/com.xfxb.paperless.prd.debug I/System.out: shiming RetrofitManager getServicecom.base.net.RetrofitManager@41aa1938
07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: --> POST https://rtapi-qa002.blissmall.net/apis/produce/shopApp/produceInfo/V1.0.0/homePage
07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: Content-Type: application/json; charset=UTF-8
07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: Content-Length: 127
07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: token: 1d55af6e-799e-4688-ba05-60c3c74b2101
07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: version: 1.0.0
07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: client-type: 4
07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: {"deliveryDate":"2019-06-29","storeId":"589118260356255744","produceEmployeeId":"593887005318524928","pageSize":12,"pageNum":1}
07-01 11:11:51.940 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: --> END POST (127-byte body)
07-01 11:11:51.960 165-16895/? E/BufferQueue: [com.xfxb.paperless.prd.debug/com.xfxb.paperless.ui.MainActivity] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
07-01 11:11:51.960 1922-1922/com.xfxb.paperless.prd.debug E/Surface: dequeueBuffer failed (Invalid argument)
07-01 11:11:51.960 1922-1922/com.xfxb.paperless.prd.debug E/ViewRootImpl: Could not lock surface
java.lang.IllegalArgumentException
at android.view.Surface.nativeLockCanvas(Native Method)
at android.view.Surface.lockCanvas(Surface.java:247)
at android.view.ViewRootImpl.drawSoftware(ViewRootImpl.java:2440)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2414)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2258)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1888)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1005)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5609)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:544)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
at dalvik.system.NativeStart.main(Native Method)
07-01 11:11:51.990 1922-4667/com.xfxb.paperless.prd.debug D/OkHttp: <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
07-01 11:11:51.990 173-173/? I/serial_port: not find dev
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:410)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:319)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:283)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:168)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
07-01 11:11:52.020 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:225)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at com.base.net.RetrofitManager$addHeaderInterceptor$1.intercept(RetrofitManager.kt:139)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at okhttp3.RealCall.execute(RealCall.java:92)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at retrofit2.OkHttpCall.execute(OkHttpCall.java:186)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:45)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at io.reactivex.Observable.subscribe(Observable.java:12090)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:34)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at io.reactivex.Observable.subscribe(Observable.java:12090)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at java.lang.Thread.run(Thread.java:841)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:282)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at com.android.org.conscrypt.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:202)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at com.android.org.conscrypt.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:612)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:406)
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: ... 40 more
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
07-01 11:11:52.030 1922-1922/com.xfxb.paperless.prd.debug E/BasePresenter: ... 45 more
07-01 11:11:52.100 1922-1922/com.xfxb.paperless.prd.debug E/IMGSRV: :0: validate_handle: Invalid handle
07-01 11:11:52.100 1922-1922/com.xfxb.paperless.prd.debug W/GraphicBufferMapper: lock(...) failed -22 (Invalid argument)
07-01 11:11:52.100 1922-1922/com.xfxb.paperless.prd.debug W/Surface: failed locking buffer (handle = 0x0)
07-01 11:11:52.100 1922-1922/com.xfxb.paperless.prd.debug E/ViewRootImpl: Could not lock surface
java.lang.IllegalArgumentException
at android.view.Surface.nativeLockCanvas(Native Method)
at android.view.Surface.lockCanvas(Surface.java:247)
at android.view.ViewRootImpl.drawSoftware(ViewRootImpl.java:2440)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2414)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2258)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1888)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1005)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5609)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:544)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
at dalvik.system.NativeStart.main(Native Method)
image.png
定位这个Bug的那么久,到这里我可以说下这个Bug产生的问题流程:
-
1.当我们不断的请求一个接口,我这里大概是1s三次左右
-
2.某一次出现了这个错误
HTTP FAILED: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
,在qa002环境 -
3.就会导致出现
OkHttp
出现警告,DiskLruCache /data/data/com.xfxb.paperless.prd.debug/cache/cache is corrupt: /data/data/com.xfxb.paperless.prd.debug/cache/cache/journal: open failed: EMFILE (Too many open files), removing
,这个警告的意思就是说正在删除缓存问题,正在移除中 -
4.往下进行就会报错没有找到文件,这是HTTP缓存机制,缓存对于移动端是非常重要的存在。减少请求次数,减小服务器压力.本地数据读取速度更快,让页面不会空白几百毫秒。在无网络的情况下提供数据。
-
5.然后这就会参数异常
java.net.SocketException: socket failed: EMFILE (Too many open files)
,这个异常会抛出来,但是不会影响到程序的崩溃 -
6.然后使用者不知道,又去点击下一次的网络请求,也会同样走上面的流程
-
7.在安卓上就会ANR,程序就会崩溃
-
8,解决办法,
- 一:我在优化网络请求,
- 二:如何避免请求抛出错误
HTTP FAILED: javax.net.ssl.SSLHandshakeException:
-
分析证据
image.png
image.png
image.png
[图片上传中...(image.png-886c17-1561983936449-0)]
网友评论