[ https://issues.apache.org/jira/browse/CB-2293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13696135#comment-13696135 ]
Jason Milkins commented on CB-2293: ----------------------------------- Certainly, this is an app running on Andrioid, (a Samsung Galaxy 3) the server is a Rails 3.2 server, with a PUT request (same happens when done as a POST btw.) What I'll do is set up a standalone app that does an image capture and post / put to the server. Hopefully I can get this done within the next 24-36 hour or less. I'll also setup a dedicated service to receive it, and provide the request details needed. What I've done so far is try doing uploads via an existing Cordova app, and as a separate test curl, and a http request extension for Chrome called Postman, to check that uploading works outside the Cordova app. These tests were repeated for 2.5(with a patch to allow PUT), and 2.8 both behave the same. All non Cordova tests pass, and the Cordova tests fail, as per the subject line, fault description of this ticket. No noticeable change with 2.8. Anyway, I'll get that test environment isolated and post here when it's ready. Thanks for your help > File Transfer of picture fails on every other picture > ----------------------------------------------------- > > Key: CB-2293 > URL: https://issues.apache.org/jira/browse/CB-2293 > Project: Apache Cordova > Issue Type: Bug > Components: Android > Affects Versions: 2.2.0, 2.3.0 > Environment: Tested on a Motorola Atrix HD(Android 4.1.2) as well as > a Samsung Galaxy S3(Android 4.1.1) > Reporter: Amrit Kahlon > Assignee: Ian Clelland > Fix For: 2.8.0 > > Attachments: cordova-2.4.0rc1.jar > > > When uploading pictures using the File Transfer function on android, the > first picture will upload fine. Then the second upload will give the > following error: > 01-21 13:48:02.545: W/FileTransfer(8894): Error getting HTTP status code from > connection. > 01-21 13:48:02.545: W/FileTransfer(8894): java.io.EOFException > 01-21 13:48:02.545: W/FileTransfer(8894): at > libcore.io.Streams.readAsciiLine(Streams.java:203) > 01-21 13:48:02.545: W/FileTransfer(8894): at > libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:560) > 01-21 13:48:02.545: W/FileTransfer(8894): at > libcore.net.http.HttpEngine.readResponse(HttpEngine.java:813) > 01-21 13:48:02.545: W/FileTransfer(8894): at > libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274) > 01-21 13:48:02.545: W/FileTransfer(8894): at > libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:486) > 01-21 13:48:02.545: W/FileTransfer(8894): at > org.apache.cordova.FileTransfer.createFileTransferError(FileTransfer.java:535) > 01-21 13:48:02.545: W/FileTransfer(8894): at > org.apache.cordova.FileTransfer.access$500(FileTransfer.java:62) > 01-21 13:48:02.545: W/FileTransfer(8894): at > org.apache.cordova.FileTransfer$1.run(FileTransfer.java:437) > 01-21 13:48:02.545: W/FileTransfer(8894): at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) > 01-21 13:48:02.545: W/FileTransfer(8894): at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) > 01-21 13:48:02.545: W/FileTransfer(8894): at > java.lang.Thread.run(Thread.java:856) > 01-21 13:48:02.555: E/FileTransfer(8894): > {"target":"http:\/\/xxx.xxx.xxx\/api\/photo_uploads\/create?version=2&api_key=xxxxxxxxx&source=androidapp-2.2.1","source":"file:\/\/\/storage\/sdcard0\/Android\/data\/com.hockeycommunity.hc_app\/cache\/resize.jpg?1358804880392","code":3} > 01-21 13:48:02.555: E/FileTransfer(8894): java.net.SocketException: sendto > failed: EPIPE (Broken pipe) > 01-21 13:48:02.555: E/FileTransfer(8894): at > libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:506) > 01-21 13:48:02.555: E/FileTransfer(8894): at > libcore.io.IoBridge.sendto(IoBridge.java:475) > 01-21 13:48:02.555: E/FileTransfer(8894): at > java.net.PlainSocketImpl.write(PlainSocketImpl.java:508) > 01-21 13:48:02.555: E/FileTransfer(8894): at > java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46) > 01-21 13:48:02.555: E/FileTransfer(8894): at > java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:270) > 01-21 13:48:02.555: E/FileTransfer(8894): at > libcore.net.http.FixedLengthOutputStream.write(FixedLengthOutputStream.java:41) > 01-21 13:48:02.555: E/FileTransfer(8894): at > java.io.DataOutputStream.write(DataOutputStream.java:98) > 01-21 13:48:02.555: E/FileTransfer(8894): at > org.apache.cordova.FileTransfer$1.run(FileTransfer.java:372) > 01-21 13:48:02.555: E/FileTransfer(8894): at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) > 01-21 13:48:02.555: E/FileTransfer(8894): at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) > 01-21 13:48:02.555: E/FileTransfer(8894): at > java.lang.Thread.run(Thread.java:856) > 01-21 13:48:02.555: E/FileTransfer(8894): Caused by: > libcore.io.ErrnoException: sendto failed: EPIPE (Broken pipe) > 01-21 13:48:02.555: E/FileTransfer(8894): at > libcore.io.Posix.sendtoBytes(Native Method) > 01-21 13:48:02.555: E/FileTransfer(8894): at > libcore.io.Posix.sendto(Posix.java:146) > 01-21 13:48:02.555: E/FileTransfer(8894): at > libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177) > 01-21 13:48:02.555: E/FileTransfer(8894): at > libcore.io.IoBridge.sendto(IoBridge.java:473) > 01-21 13:48:02.555: E/FileTransfer(8894): ... 9 more > 01-21 13:48:02.575: D/CordovaLog(8894): error: > {"code":3,"source":"file:///storage/sdcard0/Android/data/com.hockeycommunity.hc_app/cache/resize.jpg?1358804880392","target":"http://xxx.xxx.xxxx/api/photo_uploads/create?version=2&api_key=xxxxxxx&source=androidapp-2.2.1","http_status":null} > 01-21 13:48:02.575: I/Web Console(8894): error: > {"code":3,"source":"file:///storage/sdcard0/Android/data/com.hockeycommunity.hc_app/cache/resize.jpg?1358804880392","target":"http://xxx.xxx.xxx/api/photo_uploads/create?version=2&api_key=xxxxxxx&source=androidapp-2.2.1","http_status":null} > at file:///android_asset/www/interfaces/int.upload_picture.js:28 > Then the next picture will upload fine, and the next one will get the same > error code. Every other picture upload works. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira