default buffer size is too small

Bug #1312095 reported by Richard Stanway
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
fatrace
Fix Released
Undecided
Unassigned
fatrace (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

It appears the default 4096 byte buffer size is too small on a semi-busy system. The first or subsequent read() calls will fail with EOVERFLOW:

# fatrace
read: Value too large for defined data type

syscall_300(0, 0, 0x7f31170a4138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0x3
syscall_301(0x3, 0x11, 0x4800003b, 0xffffff9c, 0x401a00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0
brk(0) = 0xd53000
brk(0xd76000) = 0xd76000
rt_sigaction(SIGINT, {0x4018e0, [], SA_RESTORER, 0x7f3116d514f0}, NULL, 8) = 0
read(3, "\30\0\0\0\3\0\30\0 \0\0\0\0\0\0\0\4\0\0\0Q1\0\0", 4096) = 24
open("/proc/12625/comm", O_RDONLY) = 5
[...]
close(5) = 0
read(3, 0xd54000, 4096) = -1 EOVERFLOW (Value too large for defined data type)
dup(2) = 4
fcntl(4, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(4, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 13), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f31172c5000
lseek(4, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(4, "read: Value too large for define"..., 44read: Value too large for defined data type
) = 44
close(4) = 0

Increasing it to 256kb fixed the issue for me.

Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in trunk r56.

Changed in fatrace:
status: New → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in new upstream release: https://launchpad.net/fatrace/trunk/0.7

Changed in fatrace:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package fatrace - 0.7-1

---------------
fatrace (0.7-1) unstable; urgency=medium

  * New upstream release:
    - Use O_LARGEFILE to fix "Value too large for defined data type" error
      with large files on some platforms. (LP: #1161989, Closes: #722901)
    - Increase buffer size to 256 KiB. (LP: #1312095)

 -- Martin Pitt <email address hidden> Thu, 07 Aug 2014 09:41:25 +0200

Changed in fatrace (Ubuntu):
status: New → 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.