New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 692168 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

[Cronet] Crash during onWritevCompleted()

Project Member Reported by xunji...@chromium.org, Feb 14 2017

Issue description

[Internal bug 35300219]

It's possible for CronetBidirectionalStream to invoke nativeWritevData() on a destroyed stream adapter, resulting in the following crash.

  0002a671  Java_org_chromium_net_impl_CronetBidirectionalStream_nativeWritevData                                                     /usr/local/google/home/xunjieli/chrome/src/out/Debug/gen/components/cronet/android/cronet_jni_headers/cronet/jni/CronetBidirectionalStream_jni.h:106
  0001dbcc  dvmPlatformInvoke+112                                                                                                     /system/lib/libdvm.so
  0004e123  dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398                                                /system/lib/libdvm.so
  00026fe0  <unknown>                                                                                                                 /system/lib/libdvm.so
  0002dfa0  dvmMterpStd(Thread*)+76                                                                                                   /system/lib/libdvm.so
  0002b638  dvmInterpret(Thread*, Method const*, JValue*)+184                                                                         /system/lib/libdvm.so
  00060581  dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336                                        /system/lib/libdvm.so
 0004c701  <unknown>                                                                                                                 /system/lib/libdvm.so
  00027b5d  _JNIEnv::CallVoidMethod(_jobject*, _jmethodID*, ...)                                                                      
  v------>  Java_CronetBidirectionalStream_onWritevCompleted                                      


 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2f61739b0f7cfecd118bcf0e3cb5fe6f72da6b3

commit a2f61739b0f7cfecd118bcf0e3cb5fe6f72da6b3
Author: xunjieli <xunjieli@chromium.org>
Date: Wed Feb 15 22:57:06 2017

[Cronet] Add isDone() check in CronetBidirectionalStream#onWritevCompleted

This CL adds a isDone() to check to onWritevCompleted() so we can
avoid calling into native adapter if it's gone.

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester

BUG= 692168 

Review-Url: https://codereview.chromium.org/2697833003
Cr-Commit-Position: refs/heads/master@{#450826}

[modify] https://crrev.com/a2f61739b0f7cfecd118bcf0e3cb5fe6f72da6b3/components/cronet/android/java/src/org/chromium/net/impl/CronetBidirectionalStream.java
[modify] https://crrev.com/a2f61739b0f7cfecd118bcf0e3cb5fe6f72da6b3/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java
[modify] https://crrev.com/a2f61739b0f7cfecd118bcf0e3cb5fe6f72da6b3/components/cronet/android/test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java

Status: Fixed (was: Started)

Sign in to add a comment