The bug seems to be stemming from a conflict of wrong HTTP request formatting of apport package and the latest version upgrade of multipart package on Launchpad.
The current version of multipart package is strict in its input request criteria, requiring the standard HTTP1.1 format, and rejecting any request that doesn’t fit the standard https://github.com/defnull/multipart/issues/55 . One of those standards is the line breaks, which are enforced to be CRLF, as can be seen here https://www.rfc-editor.org/rfc/rfc2616#section-2.2 . The apport package meanwhile uses LF line endings in its HTTP requests to Launchpad, which is done in its /crashdb_impl/launchpad.py file in the upload_blob method (in line:1198) when the request was being constructed and sent. Because of the wrong line break, the request fails to parse properly on Launchpad and the returned response is broken for the same reason which triggers the assert statement. One of the simplest ways of solving this problem would be to update the request creation part of the script to fit the HTTP1.1 standard and change LF line breaks into CRLF line breaks. Even a simple req.data = req.data.replace(b‘\n’, b’\r\n’) would work in the simplest cases, but a more generalized approach would be preferred. ** Bug watch added: github.com/defnull/multipart/issues #55 https://github.com/defnull/multipart/issues/55 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2096327 Title: apport cannot upload blobs to launchpad - X-Launchpad-Blob-Token missing from http response -> "assert ticket" To manage notifications about this bug go to: https://bugs.launchpad.net/launchpad/+bug/2096327/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
