[Gluster-users] Extra line of ^@^@^@ at the end of the file

Joe Julian joe at julianfamily.org
Fri Mar 17 16:43:29 UTC 2017


Would have responded on IRC, but you were already gone.

This is a twofold bug. One, your application should not be using the 
invalid flag, "SEEK_CUR^@^@^@^@^@^@^@^@^@^@^@^@^@". Second, you should 
file this as a bug report for gluster. It should probably fail EINVAL 
that lseek early.


On 03/17/17 07:56, Patrice Linel wrote:
> Hi all,
>
> 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.
>
>
> Thanks for any advice on further debugging or resolution on this.
>
> Patrice.
>
>
> 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
>
> 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^@^@^@^@^@^@^@^@^@^@^@^@^@)
>
>
> ________________________________
> *** The information contained in this communication may be confidential, is intended only for the use of the recipient(s) named above, and may be legally privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please return it to the sender immediately and delete the original message and any copies of it. If you have any questions concerning this message, please contact the sender. ***
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://lists.gluster.org/mailman/listinfo/gluster-users



More information about the Gluster-users mailing list