You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Eli Naeher (JIRA)" <ji...@apache.org> on 2008/04/29 05:29:57 UTC

[jira] Created: (COUCHDB-48) Invalid character in request causes double HTTP response -- 200 and 500

Invalid character in request causes double HTTP response -- 200 and 500
-----------------------------------------------------------------------

                 Key: COUCHDB-48
                 URL: https://issues.apache.org/jira/browse/COUCHDB-48
             Project: CouchDB
          Issue Type: Bug
          Components: HTTP Interface
         Environment: Debian (/etc/debian_version says lenny/sid, can never keep their versioning straight). Running CouchDB built from today's source. Accessing via ClouchDB.
            Reporter: Eli Naeher


I inadvertently created a document with an ID which contains the sequence "%da", which when URL-decoded is apparently not a valid UTF-8 character. Instead of receiving the appropriate error, I got an HTTP 200 followed by an HTTP 500, both in response to the same request.

Additionally, the document seems to have been created, since accessing certain pages of the list of documents in the built-in web interface causes the same 500 error to show up in the CouchDB logs.

Here is a Wireshark capture which explains the issue:

GET /mnemosyne/id-containing-the-sequence-%da HTTP/1.1

Host: localhost:5984

User-Agent: Drakma/0.11.5 (SBCL 1.0.12; Linux; 2.6.22-2-686; http://weitz.de/drakma/)

Accept: */*

Connection: close



HTTP/1.1 200 OK

Transfer-Encoding: chunked

Server: MochiWeb/1.0 (Any of you quaids got a smint?)

Etag: "2795559181"

Date: Tue, 29 Apr 2008 03:09:58 GMT

Content-Type: text/plain;charset=utf-8



HTTP/1.1 500 Internal Server Error

Transfer-Encoding: chunked

Server: MochiWeb/1.0 (Any of you quaids got a smint?)

Date: Tue, 29 Apr 2008 03:09:58 GMT

Content-Type: text/plain;charset=utf-8



3b

{"error":"EXIT","reason":"{ucs,{bad_utf8_character_code}}"}

0





-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (COUCHDB-48) Invalid character in request causes double HTTP response -- 200 and 500

Posted by "Christopher Lenz (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-48?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Lenz resolved COUCHDB-48.
-------------------------------------

    Resolution: Fixed

Yeah, as this seems to work okay in trunk (maybe since the move to MochiWeb?), this issue can be closed.

> Invalid character in request causes double HTTP response -- 200 and 500
> -----------------------------------------------------------------------
>
>                 Key: COUCHDB-48
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-48
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>         Environment: Debian (/etc/debian_version says lenny/sid, can never keep their versioning straight). Running CouchDB built from today's source. Accessing via ClouchDB.
>            Reporter: Eli Naeher
>
> I inadvertently created a document with an ID which contains the sequence "%da", which when URL-decoded is apparently not a valid UTF-8 character. Instead of receiving the appropriate error, I got an HTTP 200 followed by an HTTP 500, both in response to the same request.
> Additionally, the document seems to have been created, since accessing certain pages of the list of documents in the built-in web interface causes the same 500 error to show up in the CouchDB logs.
> Here is a Wireshark capture which explains the issue:
> GET /mnemosyne/id-containing-the-sequence-%da HTTP/1.1
> Host: localhost:5984
> User-Agent: Drakma/0.11.5 (SBCL 1.0.12; Linux; 2.6.22-2-686; http://weitz.de/drakma/)
> Accept: */*
> Connection: close
> HTTP/1.1 200 OK
> Transfer-Encoding: chunked
> Server: MochiWeb/1.0 (Any of you quaids got a smint?)
> Etag: "2795559181"
> Date: Tue, 29 Apr 2008 03:09:58 GMT
> Content-Type: text/plain;charset=utf-8
> HTTP/1.1 500 Internal Server Error
> Transfer-Encoding: chunked
> Server: MochiWeb/1.0 (Any of you quaids got a smint?)
> Date: Tue, 29 Apr 2008 03:09:58 GMT
> Content-Type: text/plain;charset=utf-8
> 3b
> {"error":"EXIT","reason":"{ucs,{bad_utf8_character_code}}"}
> 0

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (COUCHDB-48) Invalid character in request causes double HTTP response -- 200 and 500

Posted by "Christopher Lenz (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-48?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Lenz updated COUCHDB-48:
------------------------------------

        Fix Version/s: 0.8
    Affects Version/s: 0.7.2

> Invalid character in request causes double HTTP response -- 200 and 500
> -----------------------------------------------------------------------
>
>                 Key: COUCHDB-48
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-48
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 0.7.2
>         Environment: Debian (/etc/debian_version says lenny/sid, can never keep their versioning straight). Running CouchDB built from today's source. Accessing via ClouchDB.
>            Reporter: Eli Naeher
>             Fix For: 0.8
>
>
> I inadvertently created a document with an ID which contains the sequence "%da", which when URL-decoded is apparently not a valid UTF-8 character. Instead of receiving the appropriate error, I got an HTTP 200 followed by an HTTP 500, both in response to the same request.
> Additionally, the document seems to have been created, since accessing certain pages of the list of documents in the built-in web interface causes the same 500 error to show up in the CouchDB logs.
> Here is a Wireshark capture which explains the issue:
> GET /mnemosyne/id-containing-the-sequence-%da HTTP/1.1
> Host: localhost:5984
> User-Agent: Drakma/0.11.5 (SBCL 1.0.12; Linux; 2.6.22-2-686; http://weitz.de/drakma/)
> Accept: */*
> Connection: close
> HTTP/1.1 200 OK
> Transfer-Encoding: chunked
> Server: MochiWeb/1.0 (Any of you quaids got a smint?)
> Etag: "2795559181"
> Date: Tue, 29 Apr 2008 03:09:58 GMT
> Content-Type: text/plain;charset=utf-8
> HTTP/1.1 500 Internal Server Error
> Transfer-Encoding: chunked
> Server: MochiWeb/1.0 (Any of you quaids got a smint?)
> Date: Tue, 29 Apr 2008 03:09:58 GMT
> Content-Type: text/plain;charset=utf-8
> 3b
> {"error":"EXIT","reason":"{ucs,{bad_utf8_character_code}}"}
> 0

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (COUCHDB-48) Invalid character in request causes double HTTP response -- 200 and 500

Posted by "Jacob Torrey (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/COUCHDB-48?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12596362#action_12596362 ] 

Jacob Torrey commented on COUCHDB-48:
-------------------------------------

When run from SVN (r. 655820) it properly gives a 404 error:

GET /test_suite_db_a/foo%da HTTP/1.1

HTTP/1.1 404 Object Not Found
Transfer-Encoding: chunked
Server: MochiWeb/1.0 (Any of you quaids got a smint?)
Date: Tue, 13 May 2008 11:27:03 GMT
Content-Type: text/plain;charset=utf-8

28
{"error":"not_found","reason":"missing"}
0


> Invalid character in request causes double HTTP response -- 200 and 500
> -----------------------------------------------------------------------
>
>                 Key: COUCHDB-48
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-48
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>         Environment: Debian (/etc/debian_version says lenny/sid, can never keep their versioning straight). Running CouchDB built from today's source. Accessing via ClouchDB.
>            Reporter: Eli Naeher
>
> I inadvertently created a document with an ID which contains the sequence "%da", which when URL-decoded is apparently not a valid UTF-8 character. Instead of receiving the appropriate error, I got an HTTP 200 followed by an HTTP 500, both in response to the same request.
> Additionally, the document seems to have been created, since accessing certain pages of the list of documents in the built-in web interface causes the same 500 error to show up in the CouchDB logs.
> Here is a Wireshark capture which explains the issue:
> GET /mnemosyne/id-containing-the-sequence-%da HTTP/1.1
> Host: localhost:5984
> User-Agent: Drakma/0.11.5 (SBCL 1.0.12; Linux; 2.6.22-2-686; http://weitz.de/drakma/)
> Accept: */*
> Connection: close
> HTTP/1.1 200 OK
> Transfer-Encoding: chunked
> Server: MochiWeb/1.0 (Any of you quaids got a smint?)
> Etag: "2795559181"
> Date: Tue, 29 Apr 2008 03:09:58 GMT
> Content-Type: text/plain;charset=utf-8
> HTTP/1.1 500 Internal Server Error
> Transfer-Encoding: chunked
> Server: MochiWeb/1.0 (Any of you quaids got a smint?)
> Date: Tue, 29 Apr 2008 03:09:58 GMT
> Content-Type: text/plain;charset=utf-8
> 3b
> {"error":"EXIT","reason":"{ucs,{bad_utf8_character_code}}"}
> 0

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.