Page MenuHomePhabricator

Chunked uploads: fails immediately when trying to upload large JPEG due to binReader.result being undefined
Closed, DeclinedPublic

Description

I was trying to upload a JPEG file using chunked uploads. It is 270 MB (283,562,965 bytes) and 24576 x 29696 (730 megapixels / 729808896 pixels). The file was created using ImageMagick 6.7.9-8 2012-09-22 Q16 ("convert a.tiff a.jpg"). As soon as I try to upload it fails immediately at:

Error: http://bits.wikimedia.org/static-1.20wmf12/extensions/UploadWizard/resources/mw.UploadWizardUpload.js at line 471: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMFileReader.result]

 if( this.file.type === 'image/jpeg' ) {
     var binReader = new FileReader();
     binReader.onload = function() {
         var binStr;
         if ( typeof binReader.result == 'string' ) {
>            binStr = binReader.result;
         } else {

Debugging in Firebug shows that binReader.result is undefined at the time of failure.

binReader FileReader {readyState=2,onload=[xpconnect wrapped nsIDOMEventListener],EMPTY=0, more...}
   DONE=2,
   EMPTY=0,	
   LOADING=1,
   error=null,
   onloadend=null,
   readyState=2,
   result=undefined,
   constructor=[object FileReader],
   abort=abort(),
   addEventListener=addEventListener(),
   dispatchEvent=dispatchEvent(),
   getInterface=getInterface(),
   readAsArrayBuffer=readAsArrayBuffer(),
   readAsBinaryString=readAsBinaryString(),
   readAsDataURL=readAsDataURL(),
   readAsText=readAsText(),
   removeEventListener=removeEventListener(),
   __proto__=[xpconnect wrapped native prototype] { ... }

I got the same failure in Chrome and Firefox. IE apparently has no chunked uploads support at all, as I'm unable to upload any file in it, it just claims to be uploading but uses no bandwidth.

I have no trouble uploading a smaller 90 MB JPEG file.


Version: unspecified
Severity: major
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=35354
https://bugzilla.wikimedia.org/show_bug.cgi?id=36587

Details

Reference
bz40586

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 12:47 AM
bzimport added a project: UploadWizard.
bzimport set Reference to bz40586.
bzimport added a subscriber: Unknown Object (MLST).

An update: I re-encoded the same image at 70% quality, bringing it down to 109 MB, and it uploaded with no problem. At 80% quality (144 MB) it failed. This suggests the image size/format/generation process are not at issue, but rather the file size in combination with the file type. Also, the maximum appears to be somewhere between 109 and 144 MB (perhaps 128MB? might be a browser limitation?)

Another update: the file size trials in the previous comment were done on Chrome on Windows 7 x64 with 8 GB RAM. When moving to Firefox on Ubuntu Linux 64-bit with 2 GB of RAM, the same issue occurred but the maximum size was considerably higher: somewhere between 175 MB and 277 MB, about twice as much.

matmarex set Security to None.
matmarex removed a subscriber: wikibugs-l-list.

@Dcoetzee sorry to come back to this after all this time, but could you provide us with the image so we can determine if this is still an issue? Thanks.

MarkTraceur claimed this task.

I think this is impossible, so until someone else reports it, closing