Closed Bug 1274606 Opened 8 years ago Closed 8 years ago

HTTP2 w/ Firefox for Android fails POST w/ FormData body

Categories

(Core :: Networking: HTTP, defect)

46 Branch
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1269055

People

(Reporter: logibit+mozillabugs, Unassigned, NeedInfo)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160502172042
Firefox for Android

Steps to reproduce:

Trying to upload a picture using FormData on Android (Z3 Compact) latest version in Firefox latest version, to a HTTP2 server, when FormData contains a file, fails in 60ms without even reaching the server's logs.

    var formData = new FormData();
    formData.append('file', files[0]);
    request('POST', '/api/receipts', formData, {
      cache       : false
    }).
      done(this.handleUploadDone).
      progress(this.handleUploadProgress);

calls into

      jqOpts     = merge({ type: method,
                             data: maybeStringify(jqOpts1.contentType, data),
                             url: url,
                             beforeSend: (xhr, s) => jqSetHawkHeader(options, xhr, s)
                           }, jqOpts1);

  try {
    return jQuery.ajax(jqOpts);
  } catch (e) {
    var defer = jQuery.Deferred();
    defer.reject(e);
    return defer;
  }

maybeStringify is the identity function in this case, as we're using FormData explicitly.

This worked when the server was spdy-configured.

You can try this yourself by getting an account at "qvi too . com" (remove all spaces from the string) and uploading a picture.


Actual results:

nginx v1.10, w http2, w letsencrypt cert. I attached a detailed connection log from the server when the upload fails. We make all the GET requests successfully over HTTP2 before this happens.


Expected results:

It should work.
PS; the code base that sends the image to the server is otherwise unchanged. The upstream is HTTP 1.1, but it works in all other browsers, so nginx seems to be proxying properly. It's also the same Android device as when it worked. The only change is that we enabled HTTP 2 and then it stopped working.
Component: Untriaged → Networking: HTTP
Product: Firefox → Core
This is probably duplicate of bug 1269055.

May I ask you to try firefox beta version to confirm it? The issue should be fixed in beta.
Flags: needinfo?(logibit+mozillabugs)
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: