couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Alfke (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (COUCHDB-1403) Multipart upload fails with exception if request body is chunked
Date Mon, 06 Feb 2012 21:16:59 GMT
Multipart upload fails with exception if request body is chunked
----------------------------------------------------------------

                 Key: COUCHDB-1403
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1403
             Project: CouchDB
          Issue Type: Bug
          Components: HTTP Interface
    Affects Versions: 1.1.1
         Environment: Mac OS X 10.7.3, Couchbase Single Server 2.0.0dev4 (based on CouchDB
1.1.1)
            Reporter: Jens Alfke
            Priority: Minor


CouchDB doesn't correctly parse MIME multipart PUT/POST requests when the HTTP transfer is
chunked. It generates an Erlang exception, and the client sees that the socket was closed
unexpectedly.

[error] [emulator] Error in process <0.15079.3> with exit value: {badarith,[{couch_httpd_db,'-receive_request_data/2-fun-0-',3},{couch_httpd,read_until,3},{couch_httpd,parse_part_body,1},{couch_httpd,parse_multipart_request,3},{couch_doc,'-doc_from_multi_part_stream/2-fun-1-'...


The source looks like:

receive_request_data(Req) ->
 receive_request_data(Req, couch_httpd:body_length(Req)).
receive_request_data(Req, LenLeft) when LenLeft > 0 ->

Robert Newson commented on the user@ list: "Pretty obvious bug, yes. We're attempting to evaluate
whether the atom 'chunked' is greater than zero."

The obvious workaround -- don't use chunked -- may not be available to clients. This level
of encoding is generally performed by the browser or client HTTP library, and the app level
code may not have control over whether it's performed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message