Warren Block <wbl...@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
> 
> The file where it pauses varies depending on the number of jobs (-j) 
> option.  The example above is with -j6; -j1 doesn't fix it, although
> it pauses on nslexer.c instead.
> 
> This is on 8-stable as of today, i386.  The -march=prescott option
> comes from CPUTYPE?=core2 in make.conf, and removing that setting
> doesn't fix the problem.
> 
> buildworld without ccache works fine, just takes more than twice as 
> long.
> 
> The kernel target works fine with or without ccache.
> 
> Any ideas?

I've just updated the ccache port to 3.1.1.

Excerpt from the ChangeLog:
  
    * ccache now falls back to preprocessor mode when a non-regular include file
      (device, socket, etc) has been detected so that potential hanging due to
      blocking reads is avoided.
    * CRC errors are now detected when decompressing compressed files in the
      cache.
    * Fixed potential object file corruption race on NFS.
    * Minor documentation corrections.
    * Fixed configure detection of ar.

After updating and zeroing the cache files the a build of RELENG_8_1 fails with:

CC='/usr/local/libexec/ccache/world-cc' mkdep -f .depend -a    
-I/usr/src/lib/csu/i386-elf/../common 
-I/usr/src/lib/csu/i386-elf/../../libc/include /usr/src/lib/csu/i386-elf/crti.S 
/usr/src/lib/csu/i386-elf/crtn.S
/usr/local/libexec/ccache/world-cc -O2 -pipe 
-I/usr/src/lib/csu/i386-elf/../common  
-I/usr/src/lib/csu/i386-elf/../../libc/include -std=gnu99  -Wsystem-headers 
-Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes 
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings 
-Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline 
-Wnested-externs -Wredundant-decls -Wno-pointer-sign -c 
/usr/src/lib/csu/i386-elf/crti.S
/usr/local/libexec/ccache/world-cc -O2 -pipe 
-I/usr/src/lib/csu/i386-elf/../common  
-I/usr/src/lib/csu/i386-elf/../../libc/include -std=gnu99  -Wsystem-headers 
-Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes 
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings 
-Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline 
-Wnested-externs -Wredundant-decls -Wno-pointer-sign -c 
/usr/src/lib/csu/i386-elf/crtn.S
/usr/local/libexec/ccache/world-cc -O2 -pipe 
-I/usr/src/lib/csu/i386-elf/../common  
-I/usr/src/lib/csu/i386-elf/../../libc/include -std=gnu99  -Wsystem-headers 
-Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes 
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings 
-Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline 
-Wnested-externs -Wredundant-decls -Wno-pointer-sign -DGCRT -c -o gcrt1_c.o 
/usr/src/lib/csu/i386-elf/crt1_c.c
/usr/local/libexec/ccache/world-cc -O2 -pipe 
-I/usr/src/lib/csu/i386-elf/../common  
-I/usr/src/lib/csu/i386-elf/../../libc/include -std=gnu99  -Wsystem-headers 
-Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes 
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings 
-Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline 
-Wnested-externs -Wredundant-decls -Wno-pointer-sign -c 
/usr/src/lib/csu/i386-elf/crt1_s.S
/usr/src/lib/csu/i386-elf/crt1_s.S: Assembler messages:
/usr/src/lib/csu/i386-elf/crt1_s.S:34: Error: suffix or operands invalid for 
`push'
/usr/src/lib/csu/i386-elf/crt1_s.S:37: Error: `8(%ebp)' is not a valid 64 bit 
base/index expression
/usr/src/lib/csu/i386-elf/crt1_s.S:38: Error: suffix or operands invalid for 
`push'
/usr/src/lib/csu/i386-elf/crt1_s.S:39: Error: `4(%ebp)' is not a valid 64 bit 
base/index expression
/usr/src/lib/csu/i386-elf/crt1_s.S:40: Error: suffix or operands invalid for 
`push'
*** Error code 1

Stop in /usr/src/lib/csu/i386-elf.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.


Emanuel
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to