[Bug 2096327] Re: apport cannot upload blobs to launchpad - X-Launchpad-Blob-Token missing from http response -> "assert ticket"
İlker Emre Koç
2096327 at bugs.launchpad.net
Wed Jan 29 11:30:07 UTC 2025
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
Foundations Bugs, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/2096327
Title:
apport cannot upload blobs to launchpad - X-Launchpad-Blob-Token
missing from http response -> "assert ticket"
Status in Launchpad itself:
Confirmed
Status in apport package in Ubuntu:
Confirmed
Bug description:
The tale is slightly convoluted. After doing an "apt upgrade"
yesterday, xsane and simple-scan started failing: scanner detected,
but could not scan. Trying to report it with ubuntu-bug then crashed
with the following error:
$ sudo ubuntu-bug simple-scan
Traceback (most recent call last):
File "/usr/share/apport/apport-gtk", line 650, in <module>
app.run_argv()
File "/usr/lib/python3/dist-packages/apport/ui.py", line 917, in run_argv
return self.run_report_bug()
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/apport/ui.py", line 740, in run_report_bug
self.file_report()
File "/usr/lib/python3/dist-packages/apport/ui.py", line 1788, in file_report
upthread.exc_raise()
File "/usr/lib/python3/dist-packages/apport/REThread.py", line 67, in exc_raise
raise self._exception[1].with_traceback(self._exception[2])
File "/usr/lib/python3/dist-packages/apport/REThread.py", line 42, in run
self._retval = self.__target(*self.__args, **self.__kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/apport/crashdb_impl/launchpad.py", line 222, in upload
ticket = upload_blob(blob_file, progress_callback, hostname=self.get_hostname())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/apport/crashdb_impl/launchpad.py", line 1246, in upload_blob
assert ticket
^^^^^^
AssertionError
This is a blocker for me.
To manage notifications about this bug go to:
https://bugs.launchpad.net/launchpad/+bug/2096327/+subscriptions
More information about the foundations-bugs
mailing list