clone 657276 -1
retitle -1 pcf2bdf crashes on unifont.pcf.gz
severity -1 normal
reassign -1 pcf2bdf
found -1 1.04-2

clone -1 -2
retitle -2 pcf2bdf should have distinct exit status for corrupted font
severity -2 wishlist

clone 657276 -3
retitle -3 update-xfonts-traditional should ignore all corrupted pcfs
severity -3 wishlist
block -3 by -2

retitle 657276 xfonts-traditional trigger dies if pcf2bdf crashes on any font
thanks

This report reveals (at least) three things wrong which will require
four changes to be made to the various bits of software:

1. pcf2bdf crashes on unifont.pcf.gz.  To reproduce:
    - Install pcf2bdf 1.04-2
    - Install xfonts-unifont 1:5.1.20080914-1
    - Run  
        zcat zcat /usr/share/fonts/X11/misc/unifont.pcf.gz | pcf2bdf >t
    - Observe the output:
        terminate called after throwing an instance of 'std::bad_alloc'
          what():  std::bad_alloc
        Aborted
    - Note that the output file is empty.  The "Aborted" line is the
      shell reporting SIGABRT
   If the font is in fact corrupted somehow then of course it is
   OK for pcf2bdf to fail, but it should not crash.
   This is the new bug -1 "pcf2bdf crashes on unifont.pcf.gz"

2. update-xfonts-traditional cannot cope with the existence of any
   font for which pcf2bdf crashes.  It needs to have a special case
   for this pending a fix to (1).  #657276 will be this bug.

3. It would be very good if update-xfonts-traditional could ignore
   corrupted pcfs.  But it should not ignore other errors (such as
   disk io problems, programs dying due to lack of memory or disk
   space, etc.)  Currently xfonts-traditional cannot do this because
   pcf2bdf does not have a distinct exit status for corrupted fonts.

   I would therefore like to request that bdf2pcf be modified to
   produce a distinct exit status for corrupted or invalid pcfs.  I
   suggest the value 2 should be used for this, since 1 has already
   been used by older versions of pcf2bdf to mean "any kind of
   failure" and thus cannot safely be ignored by callers.

   This change request to pcf2bdf is the new bug -2 "pcf2bdf should
   have distinct exit status for corrupted font".

   When this is done, or at least an interface defined,
   update-xfonts-traditional needs to be changed to handle that exit
   status appropriately.  This is the new bug -3
   "update-xfonts-traditional should ignore all corrupted pcfs"

Additionally, it would be nice of xfonts-traditional had rewriting
rules for xfonts-unifont.  However, I don't propose to keep wishlist
items of the form "xfonts-traditional should have rewriting rules for
font X" in the BTS.  And of course this depends on pcf2bdf being fixed
not to crash on this font and also on someone doing the necessary
glyph investigation (or perhaps editing).

Thanks,
Ian.



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to