aliyun / aliyun-oss-android-sdk

Android SDK for aliyun object storage service
807 stars 306 forks source link

最新版本上传报stream closed错误 #125

Closed Satsrag closed 6 years ago

Satsrag commented 6 years ago

之前一直用2.3.0版本,上传完全没问题,如今更新到2.8.3报如下错误

Satsrag commented 6 years ago
06-28 09:13:49.345 31531-32069/com.zuga.im E/OSSUploader: onFailure: Stream Closed
    [ErrorMessage]: Stream Closed
    com.alibaba.sdk.android.oss.ClientException: Stream Closed
    [ErrorMessage]: Stream Closed
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:197)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:784)
     Caused by: java.io.IOException: Stream Closed
        at java.io.FileInputStream.read(FileInputStream.java:251)
        at okio.Okio$2.read(Okio.java:139)
        at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56)
        at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
        at okhttp3.RealCall.execute(RealCall.java:77)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) 
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) 
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
        at java.lang.Thread.run(Thread.java:784) 
1019272778 commented 6 years ago

是否可以开启log功能?看看具体的上下文信息?

Satsrag commented 6 years ago

我刚刚换2.8.3,现在不抛错误了,但是还是不敢用。 先用2.8.3看看,再出现这种情况,提供log(log 现在已开启)

burgessjp commented 6 years ago

我也遇到了一个类似的问题 @1019272778

部分手机是正常的,部分是不正常的(属于必现),很急,希望看到能及时回复下,谢谢。

sdk版本:2.8.3 手机:M3s

E/OssService: com.alibaba.sdk.android.oss.ClientException: read failed: EBADF (Bad file number)
    [ErrorMessage]: read failed: EBADF (Bad file number)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:197)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)
     Caused by: java.io.IOException: read failed: EBADF (Bad file number)
        at libcore.io.IoBridge.read(IoBridge.java:543)
        at java.io.FileInputStream.read(FileInputStream.java:177)
        at okio.Okio$2.read(Okio.java:139)
        at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56)
        at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
        at okhttp3.RealCall.execute(RealCall.java:77)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174)
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) 
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) 
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
        at java.lang.Thread.run(Thread.java:818) 
     Caused by: android.system.ErrnoException: read failed: EBADF (Bad file number)
        at libcore.io.Posix.readBytes(Native Method)
        at libcore.io.Posix.read(Posix.java:165)
        at libcore.io.BlockGuardOs.read(BlockGuardOs.java:230)
        at libcore.io.IoBridge.read(IoBridge.java:528)
        at java.io.FileInputStream.read(FileInputStream.java:177) 
        at okio.Okio$2.read(Okio.java:139) 
        at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56) 
        at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 
        at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 
        at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 
        at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 
        at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 
        at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 
        at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) 
        at okhttp3.RealCall.execute(RealCall.java:77) 
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174) 
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) 
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) 
        at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
        at java.lang.Thread.run(Thread.java:818) 
1019272778 commented 6 years ago

@Saqrag @burgessjp 这个问题我们一直没有复现。从log看是读取的inputstream已经被关闭。尝试更新最新的okio库不知道是否可以解决这个问题?

Satsrag commented 6 years ago

我这里页一只没有复现,出现那天是一下午一直上传不了,报上述错误,什么object都传不了,进度到100%后就失败。后来听说阿里云那天都挂了。有可能这个原因。

zhangxyfs commented 6 years ago

@1019272778 我也遇上 java.net.ProtocolException: unexpected end of stream 这个问题了. 只在三星上发现了这个问题, 在我的华为 P20 pro上 却没有这个问题 android targetSdkVersion 27

08-06 18:35:37.776 19607-20129/com.eblog D/OSS-Android-SDK: Debug: [run] - retry, retry type: OSSRetryTypeShouldRetry 08-06 18:35:37.780 19607-20129/com.eblog I/OSS-Android-SDK: INFO: =====[device info]=====

[INFO]: mobile_model:SM-C7000
[INFO]: network_state:connected
[INFO]: network_type:WIFI 

08-06 18:35:37.780 19607-20129/com.eblog D/OSS-Android-SDK: Debug: [call] - 08-06 18:35:37.781 19607-20129/com.eblog D/OSS-Android-SDK: Debug: HmacSHA1

08-06 18:35:37.782 19607-20129/com.eblog D/OSS-Android-SDK: Debug: signed content: PUT

image/jpeg
Mon, 06 Aug 2018 10:35:36 GMT
x-oss-security-token:CAISpwJ1q6Ft5B2yfSjIr4n9fPDguodL05uhT0jaqGZsXstphLbKgTz2IHtJeXFvAuAat/41mG1S7fsTlqwoEM4dFBRJ4iTgVtAFnzm6aq/t5uZbhN5t0e9NcAr+Ihr/29CoFIedZdjBe/CrRknZnytou9XTfimjWFrXXv/kjoV8PJZtYGveVzddA8pMLQZPsdITMWCrVcygKRn3mGHdfhgKzgN3kjF48r/tgJ/euBfFjFy/1vRQv5n7JpmvKIsOTp50SIWyx/ckNPiDgiNL6xkP6LwzlLFO/TbMnKnEXggBukrWbLaFroMxclYlXMVgRf4Y9sqbvOZjp+nem77wzxtwJuxPW0zdPtv7nZacR7j5ao9jL+qmYS+Qg8rhMYLu9hk7cez8xY6tollLGoABgysk//4SZw/JtGR+AuaFMb+NVERjO6OH/JAUZbihzO6fhOeAJscMsu37nspViAJkiUUap3132IuX9sqPHaC3A3Gz7jNw1WOhkPiFoVswjWHywu0EXmW6BswjcOfKN6BmeRbZ5kYeyChGDmK9Hiw7xNUd1/MEYLWzMWHetENXkss=
/eshi-ts-public/im/2018-08-06/1533551736364_7bc291d4c95e4739b20a55c4ee192273.jpg   
 ---------   signature: OSS STS.NJH7JTWXjdYJMnkLf9RDEksac:6z278LMMPCXrnFA38RG0NTp55/o=
[Debug]:  scheme : http
[Debug]:  originHost : oss-cn-beijing.aliyuncs.com

08-06 18:35:37.783 19607-20129/com.eblog D/OSS-Android-SDK: Debug: request--------------------- request url=http://59.110.185.129/im/2018-08-06/1533551736364_7bc291d4c95e4739b20a55c4ee192273.jpg request params=null requestHeader [Host]: eshi-ts-public.oss-cn-beijing.aliyuncs.com requestHeader [Date]: Mon, 06 Aug 2018 10:35:36 GMT requestHeader [Content-Length]: 1572 requestHeader [User-Agent]: aliyun-sdk-android/2.8.4(Linux/Android 7.0/SM-C7000;NRD90M) requestHeader [Content-Type]: image/jpeg requestHeader [x-oss-security-token]: CAISpwJ1q6Ft5B2yfSjIr4n9fPDguodL05uhT0jaqGZsXstphLbKgTz2IHtJeXFvAuAat/41mG1S7fsTlqwoEM4dFBRJ4iTgVtAFnzm6aq/t5uZbhN5t0e9NcAr+Ihr/29CoFIedZdjBe/CrRknZnytou9XTfimjWFrXXv/kjoV8PJZtYGveVzddA8pMLQZPsdITMWCrVcygKRn3mGHdfhgKzgN3kjF48r/tgJ/euBfFjFy/1vRQv5n7JpmvKIsOTp50SIWyx/ckNPiDgiNL6xkP6LwzlLFO/TbMnKnEXggBukrWbLaFroMxclYlXMVgRf4Y9sqbvOZjp+nem77wzxtwJuxPW0zdPtv7nZacR7j5ao9jL+qmYS+Qg8rhMYLu9hk7cez8xY6tollLGoABgysk//4SZw/JtGR+AuaFMb+NVERjO6OH/JAUZbihzO6fhOeAJscMsu37nspViAJkiUUap3132IuX9sqPHaC3A3Gz7jNw1WOhkPiFoVswjWHywu0EXmW6BswjcOfKN6BmeRbZ5kYeyChGDmK9Hiw7xNUd1/MEYLWzMWHetENXkss= requestHeader [Content-Disposition]: attachment;filename=1533551736364.jpg requestHeader [Authorization]: OSS STS.NJH7JTWXjdYJMnkLf9RDEksac:6z278LMMPCXrnFA38RG0NTp55/o= 08-06 18:35:37.798 19607-20129/com.eblog D/OSS-Android-SDK: Debug: Encounter local execpiton: java.io.IOException: Stream Closed

zhangxyfs commented 6 years ago

08-06 18:41:02.887 20241-20525/com.eblog W/System.err: java.io.IOException: Stream Closed at java.io.FileInputStream.read(FileInputStream.java:246) at okio.Okio$2.read(Okio.java:140) at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56) 08-06 18:41:02.888 20241-20525/com.eblog W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) at okhttp3.RealCall.execute(RealCall.java:77) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:762)

zhanglei1990 commented 6 years ago

Andorid 8.0 两部手机出现FileInputStream读写问题(荣耀V10、xiaomi 6) 降低版本至2.5.0 解决问题

harmongao commented 6 years ago

W/System.err: java.io.IOException: Stream Closed 08-15 15:06:52.524 20319-20878/com.ruhnn.deepfashion W/System.err: at java.io.FileInputStream.read(FileInputStream.java:251) 08-15 15:06:52.525 20319-20878/com.ruhnn.deepfashion W/System.err: at okio.Okio$2.read(Okio.java:140) 08-15 15:06:52.528 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56) 08-15 15:06:52.529 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72) 08-15 15:06:52.535 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.537 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.538 20319-20878/com.ruhnn.deepfashion W/System.err: at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52) 08-15 15:06:52.539 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.540 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 08-15 15:06:52.541 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.542 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.544 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.545 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.546 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) at okhttp3.RealCall.execute(RealCall.java:77) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174) 08-15 15:06:52.547 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 08-15 15:06:52.672 20319-20878/com.ruhnn.deepfashion W/System.err: java.io.IOException: Stream Closed 08-15 15:06:52.678 20319-20878/com.ruhnn.deepfashion W/System.err: at java.io.FileInputStream.read(FileInputStream.java:251) at okio.Okio$2.read(Okio.java:140) at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56) 08-15 15:06:52.679 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.680 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52) 08-15 15:06:52.681 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.682 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 08-15 15:06:52.683 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) 08-15 15:06:52.684 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.685 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 08-15 15:06:52.687 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.688 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.689 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) 08-15 15:06:52.690 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.RealCall.execute(RealCall.java:77) 08-15 15:06:52.691 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174) 08-15 15:06:52.692 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) 08-15 15:06:52.693 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) 08-15 15:06:52.694 20319-20878/com.ruhnn.deepfashion W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266) 08-15 15:06:52.696 20319-20878/com.ruhnn.deepfashion W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 08-15 15:06:52.722 20319-20319/com.ruhnn.deepfashion D/CrashReport: >>> com.ruhnn.widget.photo.PhotoPickerActivity onDestroyed <<< 08-15 15:06:52.778 20319-20878/com.ruhnn.deepfashion W/System.err: com.alibaba.sdk.android.oss.ClientException: Stream Closed [ErrorMessage]: Stream Closed 08-15 15:06:52.780 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:197) 08-15 15:06:52.781 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) 08-15 15:06:52.783 20319-20878/com.ruhnn.deepfashion W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 08-15 15:06:52.784 20319-20878/com.ruhnn.deepfashion W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 08-15 15:06:52.785 20319-20878/com.ruhnn.deepfashion W/System.err: at java.lang.Thread.run(Thread.java:764) 08-15 15:06:52.789 20319-20878/com.ruhnn.deepfashion W/System.err: Caused by: java.io.IOException: Stream Closed 08-15 15:06:52.790 20319-20878/com.ruhnn.deepfashion W/System.err: at java.io.FileInputStream.read(FileInputStream.java:251) at okio.Okio$2.read(Okio.java:140) 08-15 15:06:52.792 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56) 08-15 15:06:52.793 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72) 08-15 15:06:52.796 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.798 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.801 20319-20878/com.ruhnn.deepfashion W/System.err: at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52) 08-15 15:06:52.802 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.803 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 08-15 15:06:52.804 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.805 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 08-15 15:06:52.807 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) 08-15 15:06:52.808 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.809 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) at okhttp3.RealCall.execute(RealCall.java:77) 08-15 15:06:52.810 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174) ... 7 more

harmongao commented 6 years ago

我也遇到同样的问题,okhttp:3.7.0的版本,oss 2.8.5的 目前测试的手机都会报下面的错误

W/System.err: java.io.IOException: Stream Closed 08-15 15:06:52.524 20319-20878/com.ruhnn.deepfashion W/System.err: at java.io.FileInputStream.read(FileInputStream.java:251) 08-15 15:06:52.525 20319-20878/com.ruhnn.deepfashion W/System.err: at okio.Okio$2.read(Okio.java:140) 08-15 15:06:52.528 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56) 08-15 15:06:52.529 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72) 08-15 15:06:52.535 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.537 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.538 20319-20878/com.ruhnn.deepfashion W/System.err: at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52) 08-15 15:06:52.539 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.540 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 08-15 15:06:52.541 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.542 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.544 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.545 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.546 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) at okhttp3.RealCall.execute(RealCall.java:77) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174) 08-15 15:06:52.547 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 08-15 15:06:52.672 20319-20878/com.ruhnn.deepfashion W/System.err: java.io.IOException: Stream Closed 08-15 15:06:52.678 20319-20878/com.ruhnn.deepfashion W/System.err: at java.io.FileInputStream.read(FileInputStream.java:251) at okio.Okio$2.read(Okio.java:140) at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56) 08-15 15:06:52.679 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.680 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52) 08-15 15:06:52.681 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.682 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 08-15 15:06:52.683 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) 08-15 15:06:52.684 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.685 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 08-15 15:06:52.687 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.688 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.689 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) 08-15 15:06:52.690 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.RealCall.execute(RealCall.java:77) 08-15 15:06:52.691 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174) 08-15 15:06:52.692 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) 08-15 15:06:52.693 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) 08-15 15:06:52.694 20319-20878/com.ruhnn.deepfashion W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266) 08-15 15:06:52.696 20319-20878/com.ruhnn.deepfashion W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) 08-15 15:06:52.722 20319-20319/com.ruhnn.deepfashion D/CrashReport: >>> com.ruhnn.widget.photo.PhotoPickerActivity onDestroyed <<< 08-15 15:06:52.778 20319-20878/com.ruhnn.deepfashion W/System.err: com.alibaba.sdk.android.oss.ClientException: Stream Closed [ErrorMessage]: Stream Closed 08-15 15:06:52.780 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:197) 08-15 15:06:52.781 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:243) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:44) 08-15 15:06:52.783 20319-20878/com.ruhnn.deepfashion W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 08-15 15:06:52.784 20319-20878/com.ruhnn.deepfashion W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 08-15 15:06:52.785 20319-20878/com.ruhnn.deepfashion W/System.err: at java.lang.Thread.run(Thread.java:764) 08-15 15:06:52.789 20319-20878/com.ruhnn.deepfashion W/System.err: Caused by: java.io.IOException: Stream Closed 08-15 15:06:52.790 20319-20878/com.ruhnn.deepfashion W/System.err: at java.io.FileInputStream.read(FileInputStream.java:251) at okio.Okio$2.read(Okio.java:140) 08-15 15:06:52.792 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:56) 08-15 15:06:52.793 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72) 08-15 15:06:52.796 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.798 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.801 20319-20878/com.ruhnn.deepfashion W/System.err: at com.android.tools.profiler.agent.okhttp.OkHttp3Interceptor.intercept(OkHttp3Interceptor.java:52) 08-15 15:06:52.802 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.803 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) 08-15 15:06:52.804 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) 08-15 15:06:52.805 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) 08-15 15:06:52.807 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126) 08-15 15:06:52.808 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) 08-15 15:06:52.809 20319-20878/com.ruhnn.deepfashion W/System.err: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) at okhttp3.RealCall.execute(RealCall.java:77) 08-15 15:06:52.810 20319-20878/com.ruhnn.deepfashion W/System.err: at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:174) ... 7 more

1019272778 commented 6 years ago

@zhangxyfs 也有线上用户反馈同样的问题。后续跟用户沟通,让用户写了一个只有上传功能的代码。结果一切正常。目前暂时不知道这个问题产生的原因。

1019272778 commented 6 years ago

还有问题的用户可以参见如下内容: https://www.jianshu.com/p/3608630af86a 出现Stream closed的原因是打开了Android Profiler,额外添加了一个拦截器,这个拦截器关闭了Inputstream。导致真正执行网络请求时,想要使用这个Inputstream,发现这个Inputstream已经关闭了,抛出了一个异常。很好解决,去掉Android Profiler的勾选就好了。

希望能带来一些思路