ccache pausing in buildworld

Garrett Cooper gcooper at FreeBSD.org
Mon Nov 1 01:02:28 UTC 2010


On Sun, Oct 31, 2010 at 5:21 PM, Warren Block <wblock at wonkity.com> wrote:
> On Sun, 31 Oct 2010, Garrett Cooper wrote:
>
>> On Sun, Oct 31, 2010 at 9:38 AM, Warren Block <wblock at wonkity.com> wrote:
>>>
>>> About a month ago, ccache began to pause in buildworld.  The build
>>> doesn't
>>> halt or quit, it stays running but not doing anything:
>>>
>>> /usr/local/libexec/ccache/world-cc -fpic -DPIC -O2 -pipe -march=prescott
>>> -I/usr/src/lib/libc/include -I/usr/src/lib/libc/../../include
>>> -I/usr/src/lib/libc/i386-DNLS -D__DBINTERFACE_PRIVATE
>>> -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6
>>> -I/usr/obj/usr/src/lib/libc
>>> -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE
>>> -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN
>>> -I/usr/src/lib/libc/rpc -DYP -DNS_CACHING -DSYMBOL_VERSIONING -std=gnu99
>>> -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k
>>> -Wno-uninitialized -Wno-pointer-sign -c crypt_xdr.c -o crypt_xdr.So
>>>
>>> And there it stays:
>>>
>>>  load: 0.02  cmd: make 83143 [select] 401.32r 0.05u 0.05s 0% 852k
>>>  load: 0.01  cmd: make 83143 [select] 409.08r 0.05u 0.05s 0% 852k
>>>  load: 0.01  cmd: make 83143 [select] 422.00r 0.05u 0.05s 0% 852k
>>
>>   Have you tried trussing or ktrace'ing the processes to determine
>> where they get stuck?
>
> Not until now:
>
> # truss -p 89904
> wait4(0xffffffff,0xbfbfdda8,0x3,0x0,0x0,0x0)     = 0 (0x0)
> select(1024,{4},0x0,0x0,{2.000000 })             = 0 (0x0)
> wait4(0xffffffff,0xbfbfdda8,0x3,0x0,0x0,0x0)     = 0 (0x0)
> select(1024,{4},0x0,0x0,{2.000000 })             = 0 (0x0)
>
> Like it's waiting for input.  Yet do it alone, and it works fine:
>
>  # cd /usr/obj/usr/src/lib/libc
>  # /usr/local/libexec/ccache/world-cc -O2 -pipe -march=prescott
> -I/usr/src/lib/libc/include -I/usr/src/lib/libc/../../include
> -I/usr/src/lib/libc/i386 -DNLS -D__DBINTERFACE_PRIVATE
> -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 -I/usr/obj/usr/src/lib/libc
> -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE
> -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN
> -I/usr/src/lib/libc/rpc -DYP -DNS_CACHING -DSYMBOL_VERSIONING -std=gnu99
> -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k
> -Wno-uninitialized -Wno-pointer-sign -c nslexer.c
>  #
>
> Emanuel Haupt points out ports/151287, which is the same thing.

    Question is, is it ccache's fault, or something else's?
    FWIW, it would be really nice to see what the 4th file descriptor
actually maps to, and what command is being run at the time, as well
as what other commands are being run.
Thanks,
-Garrett


More information about the freebsd-hackers mailing list