[Bugs] [Bug 1433460] New: Extra line of ^@^@^@ at the end of the file
bugzilla at redhat.com
bugzilla at redhat.com
Fri Mar 17 16:57:28 UTC 2017
https://bugzilla.redhat.com/show_bug.cgi?id=1433460
Bug ID: 1433460
Summary: Extra line of ^@^@^@ at the end of the file
Product: GlusterFS
Version: 3.10
Component: unclassified
Severity: medium
Assignee: bugs at gluster.org
Reporter: patrice.linel at genusplc.com
CC: bugs at gluster.org
Description of problem:
When running a program on a distribute volume with sharding, sometimes
the files get created with an extra line of special characters ^@^@^@ at
the end. This happen under load with multiple nodes access the same
folders with job creating files and reading them very shortly on another
node (>0.5 sec later).
I did an strace and the major difference is an Inappropriate ioctl
followed by an lseek like below.
When running the same workload on a panfs filesystem , the strace is the
same but no extra line get created at the end.
Manually
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS,
{B38400 opost isig icanon echo ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 32), ...}) = 0
readlink("/proc/self/fd/1", "/dev/pts/32", 4095) = 11
stat("/dev/pts/32", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 32),
...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS,
{B38400 opost isig icanon echo ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 32), ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS,
{B38400 opost isig icanon echo ...}) = 0
write(1, " Done reading parameter file for"..., 57) = 57
VS
in the job :
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS,
0x7fffffff6410) = -1 ENOTTY (Inappropriate ioctl for device)
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS,
0x7fffffffa630) = -1 ENOTTY (Inappropriate ioctl for device)
fstat(1, {st_mode=S_IFREG|0664, st_size=22753, ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS,
0x7fffffffa630) = -1 ENOTTY (Inappropriate ioctl for device)
write(1, " Done reading parameter file for"..., 57 Done reading
parameter file for chromosome 7
) = 57
lseek(1, 0, SEEK_CUR^@^@^@^@^@^@^@^@^@^@^@^@^@)
Version-Release number of selected component (if applicable): 3.10
How reproducible: All the time
Steps to Reproduce:
Heavy workload running a compiled program creating/reading files.
Actual results: file with extra lines of ^@^@^@
Expected results: just eof .
Additional info:
mailing list thread:
http://lists.gluster.org/pipermail/gluster-users/2017-March/030314.html
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the Bugs
mailing list