[Reproducible-builds] Bug#796288: Hangs on device files

Chris Lamb lamby at debian.org
Fri Aug 21 06:21:31 UTC 2015


Package: diffoscope
Version: 30

Hangs on device files:

  $ sudo mknod device-a c 5 1
  $ sudo mknod device-b c 5 1
  $ ./diffoscope.py --debug device-a device-b
     DEBUG compare files <<class
     'diffoscope.comparators.binary.FilesystemFile'> device-a None> and
     <<class 'diffoscope.comparators.binary.FilesystemFile'> device-b
     None>
     DEBUG <<class 'diffoscope.comparators.binary.FilesystemFile'>
     device-a device-a> has_same_content <<class
     'diffoscope.comparators.binary.FilesystemFile'> device-b device-b>

5, 1 is /dev/console. This simply hangs in a read(2) call which never
returns. If you use "7 1" (ie. /dev/full) diffoscope will attempt to
read the entire file with predictable results.

A quick glance of the code suggests that we attempt to compare the
contents of the file *before* specialising, but even if I make a special
exception for device files here I seem to push the error elsewhere.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-



More information about the Reproducible-builds mailing list