{"action":"opened","issue":{"url":"https://api.github.com/repos/square/okhttp/issues/2634","repository_url":"https://api.github.com/repos/square/okhttp","labels_url":"https://api.github.com/repos/square/okhttp/issues/2634/labels{/name}","comments_url":"https://api.github.com/repos/square/okhttp/issues/2634/comments","events_url":"https://api.github.com/repos/square/okhttp/issues/2634/events","html_url":"https://github.com/square/okhttp/issues/2634","id":160856611,"number":2634,"title":"Handshake's localPrincipal causes NPE.","user":{"login":"brannpark","id":608776,"avatar_url":"https://avatars.githubusercontent.com/u/608776?v=3","gravatar_id":"","url":"https://api.github.com/users/brannpark","html_url":"https://github.com/brannpark","followers_url":"https://api.github.com/users/brannpark/followers","following_url":"https://api.github.com/users/brannpark/following{/other_user}","gists_url":"https://api.github.com/users/brannpark/gists{/gist_id}","starred_url":"https://api.github.com/users/brannpark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brannpark/subscriptions","organizations_url":"https://api.github.com/users/brannpark/orgs","repos_url":"https://api.github.com/users/brannpark/repos","events_url":"https://api.github.com/users/brannpark/events{/privacy}","received_events_url":"https://api.github.com/users/brannpark/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-06-17T10:17:21Z","updated_at":"2016-06-17T10:17:21Z","closed_at":null,"body":"Hello! I got a strange crash report from Crashlytics today.\r\n\r\n```\r\nFatal Exception: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.isEmpty()' on a null object reference\r\n       at okhttp3.Handshake.localPrincipal(Handshake.java:114)\r\n       at android.support.v4.view.ViewPager.populate(ViewPager.java)\r\n       at android.support.v4.view.ViewPager.populate(ViewPager.java:1025)\r\n       at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728)\r\n       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:464)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5832)\r\n       at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)\r\n       at <my-package>.onMeasure(<my-view>.java:937)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728)\r\n       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:464)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5832)\r\n       at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)\r\n       at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5832)\r\n       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)\r\n       at android.widget.LinearLayout.measureVertical(LinearLayout.java:721)\r\n       at android.widget.LinearLayout.onMeasure(LinearLayout.java:612)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5832)\r\n       at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5832)\r\n       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)\r\n       at android.widget.LinearLayout.measureVertical(LinearLayout.java:721)\r\n       at android.widget.LinearLayout.onMeasure(LinearLayout.java:612)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5832)\r\n       at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)\r\n       at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3011)\r\n       at android.view.View.measure(View.java:18646)\r\n       at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2310)\r\n       at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1354)\r\n       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1597)\r\n       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1239)\r\n       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)\r\n       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)\r\n       at android.view.Choreographer.doCallbacks(Choreographer.java:590)\r\n       at android.view.Choreographer.doFrame(Choreographer.java:560)\r\n       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)\r\n       at android.os.Handler.handleCallback(Handler.java:739)\r\n       at android.os.Handler.dispatchMessage(Handler.java:95)\r\n       at android.os.Looper.loop(Looper.java:145)\r\n       at android.app.ActivityThread.main(ActivityThread.java:6145)\r\n       at java.lang.reflect.Method.invoke(Method.java)\r\n       at java.lang.reflect.Method.invoke(Method.java:372)\r\n       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)\r\n       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)\r\n```\r\n\r\n```\r\nOkHttp https://***.com/***.apsx\r\n       at com.android.org.conscrypt.NativeCrypto.SSL_read(NativeCrypto.java)\r\n       at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:728)\r\n       at okio.Okio$2.read(Okio.java:139)\r\n       at okio.AsyncTimeout$2.read(AsyncTimeout.java:211)\r\n       at okio.RealBufferedSource.indexOf(RealBufferedSource.java:306)\r\n       at okio.RealBufferedSource.indexOf(RealBufferedSource.java:300)\r\n       at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:196)\r\n       at okhttp3.internal.http.Http1xStream.readResponse(Http1xStream.java:184)\r\n       at okhttp3.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:125)\r\n       at okhttp3.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:723)\r\n       at okhttp3.internal.http.HttpEngine.access$200(HttpEngine.java:81)\r\n       at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:708)\r\n       at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:563)\r\n       at okhttp3.RealCall.getResponse(RealCall.java:241)\r\n       at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198)\r\n       at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:142)\r\n       at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:187)\r\n       at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160)\r\n       at okhttp3.RealCall.access$100(RealCall.java:30)\r\n       at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127)\r\n       at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)\r\n       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)\r\n       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)\r\n       at java.lang.Thread.run(Thread.java:818)\r\n```\r\n\r\nI'm wondering what causes this problem. \r\nI'm using Retrofit2(v2.0.2) with okhttp(v3.2.0) and the device is sm_a700l and OS version is 5.0.2."}}
{"actor":{"display_login":"brannpark"}}