[Bug 510613] Re: look(1) can't open bigfiles

Mark Nieweglowski 510613 at bugs.launchpad.net
Sat May 28 00:21:19 UTC 2011


BTW:  The original bug mentioned EOVERFLOW and in hindsight I see that my patch doesn't address it, but EOVERFLOW is not the bug I'm seeing.  I'm seeing the max size check fail.
--- look.c:145
                if (sb.st_size > SIZE_T_MAX)
                        errx(2, "%s: %s", file, strerror(EFBIG));
---


$ strace look foo the.player.4.mpg 2>&1 | tail -n 7
open("the.player.4.mpg", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=4045771844, ...}) = 0
write(2, "look: "..., 6look: )                = 6
write(2, "the.player.4.mpg: File too large"..., 32the.player.4.mpg: File too large) = 32
write(2, "\n"..., 1
)                    = 1
exit_group(2)                           = ?

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to bsdmainutils in Ubuntu.
https://bugs.launchpad.net/bugs/510613

Title:
  look(1) can't open bigfiles

Status in “bsdmainutils” package in Ubuntu:
  New

Bug description:
  Binary package hint: bsdmainutils

  look(1) isn't passing O_LARGEFILE to open(2).

      $ dpkg -S /usr/bin/look
      bsdmainutils: /usr/bin/look
      $ dpkg-query -W bsdmainutils
      bsdmainutils    6.1.10ubuntu4
      $
      $ echo | socat -u - file:bigfile,create,largefile,seek=100000000000
      $ ls -l bigfile
      -rw-r--r-- 1 kiosk kiosk 100000000001 2010-01-21 11:17 bigfile
      $ look foo bigfile
      look: bigfile: Value too large for defined data type
      $ strace look foo bigfile 2>&1 | grep EOVERFLOW
      open("bigfile", O_RDONLY)               = -1 EOVERFLOW (Value too large for defined data type)
      $

  I've a 11.5GB sorted file and look's binary search would be ideal but I 
  can't use it.  Once it manages to open the file, it needs to be able to
  cope with the long offsets it may be seeking to.




More information about the foundations-bugs mailing list