System is flooded with failed read(2) calls: Resource temporarily unavailable (errno=35) coming from xorg unix socket

Alexander Kabaev kabaev at gmail.com
Mon Jul 2 22:32:40 UTC 2012


On Fri, 29 Jun 2012 13:16:47 -0700
Yuri <yuri at rawbw.com> wrote:

<SKIP>
> #  Declare DTrace script
> #
>   if ($COUNT) {          # aggregate style
> $dtrace = <<END;
> /usr/sbin/dtrace -n '
>          #pragma D option quiet
>          syscall:::return
>          /errno != 0 && pid != \$pid $FILTER/
>          {
>                  \@Errs[execname, probefunc, errno] = count();
>          }
>          dtrace:::END {
>                  printa("%s %s %d %\@d\\n", \@Errs);
>          }'
> END

Pardon my possibly naive question, but isn't using errno to detect
whether the syscall is succesful a wrong techique? Syscall will NOT
change errno unless unless it actually failed, so unless dtrace's errno
emulation is more magic than I thought, your script will mistakenly
attribute error code coming from a distant past to syscalls just
complete with no errors?
-- 
Alexander Kabaev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20120702/9c4b1468/signature.pgp


More information about the freebsd-hackers mailing list