Duplicate hashes can become too long

Bug #968070 reported by Martin Pitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
Fix Released
High
Martin Pitt
Precise
Fix Released
High
Martin Pitt

Bug Description

Retracer crashed with

Traceback (most recent call last):
  File "bin/dupdb-admin", line 87, in <module>
    command(crashdb, options, args)
  File "bin/dupdb-admin", line 54, in command_publish
    crashdb.duplicate_db_publish(args[0])
  File "/home/ubuntu-archive/apport/apport/crashdb.py", line 394, in duplicate_db_publish
    cur_file = open(os.path.join(sig_base, cur_hash), 'wb')
IOError: [Errno 36] File name too long: '/home/ubuntu-archive/apport-duplicates.new/sig/_usr_share_hplip_toolbox.py_%27%5Cx16%5Cx96%5Cxa1%5Cx94%2AT%5Cxaf%5Cx82%7BD%5Cx9cK%5Cxfb%5Cxbax%5Cx19%5Cxc9%5Cxde%5Cxf0%5Cxfd%5Cxdb%2C%3E.%5Cx8a%5Cxe0%5Cxcfde%5Cxd15%5Cxf0%5Cx91-%5Cxfd%5Cxac%5Cxbb%5Cxf3%40%5Cx17x%3E%5Cxe3%2A%21N%5Cxf7%5Cxcd%5Cxc7%5Cxf2%5Cxc4%5Cx96V%5Cx8a%5Cx1f%5Cxc2%5Cx86%5Cxb'

Apparently we need to shorten the maximum hash length, and then also roll this out to clients so that they can still find the file.

Martin Pitt (pitti)
Changed in apport (Ubuntu):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in trunk, rolled out to DC. Now we need this on the client side as well to find the new file names.

Changed in apport (Ubuntu Precise):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apport - 2.0-0ubuntu1

---------------
apport (2.0-0ubuntu1) precise; urgency=low

  * New upstream release: This is the final 2.0 release, featuring the
    overhauled and simplified GUI, support for whoopsie-daemon, and
    client-side duplicate checking.
    - report.py, anonymize(): Only replace whole words, not substrings.
      (LP: #966562)
    - apport_python_hook.py: Fix filtering of
      org.freedesktop.DBus.Error.NoReply exceptions. (LP: #958575)
    - crashdb.py: When publishing the crash database, cut hash file names
      after quoting, to avoid that the quoting causes them to become too long.
      (LP: #968070) This also uncovered that known() did not actually find any
      signature which contained an URL-quoted character, therefore breaking
      client-side duplicate checking in a lot of cases. Double-quote the file
      name now, as urlopen() unquotes it.
    - Add a new crash database option "problem_types" and a CrashDatabase
      method "accepts(report)". This can be used to stop uploading particular
      problem report types to that database. E. g. a distribution might decide
      to not get "Crash" reports any more after release. Document the new
      option in doc/crashdb-conf.txt.
    - ui.py: Do not upload a report if the crash database does not accept the
      report's type. This behaviour is not really correct, but necessary as
      long as we only support a single crashdb and have whoopsie hardcoded.
      Once we have multiple crash dbs, we need to not even present the data if
      none of the DBs wants the report. See LP #957177 for details.
      (LP: #968121)
    - ui.py: Do not short-circuit information collection if report already has
      a "DistroRelease" field, as the GUIs add that in some cases. Check for
      "Dependencies" instead. This fixes information collection for kernel
      problems (which now has a full GTK GUI test case). (LP: #968488)
  * Merge from trunk:
    - test_ui_gtk.py: Disable package hooks for the tests, as they might ask
      for sudo passwords and other interactive bits, and thus make the tests
      hang.
 -- Martin Pitt <email address hidden> Fri, 30 Mar 2012 12:38:02 +0200

Changed in apport (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.