[ccache] ccache 3.1 cache failure

H. Ingow hingow at googlemail.com
Thu Oct 28 13:09:27 MDT 2010


Hi and hello to everyone on this list,

I ran into the following and I can't figure out what I may do wrong.

Box is  FreeBSD 7.3-STABLE Revision: 214445, which is actually  of
today, 2010-10-28, on i386.

Buildworld works fine without ccache.
Compiling ports w/ ccache-3.1  works fine, AFAIK until today.
Only default FreeBSD compiler flags are  being  used for all compilations
further down.

Buildworld with ccache-3.1 though fails on nslexer.o , but it succeeds with
the
previous ccache-2.4.9.

Shown are builds running 'make toolchain' since thats smaller than a
complete
buildworld.

####
 -----------------------------------------------------
 Builds with  ccache-2.4.9  succeed.
 Starting with empty ( ccache -Cz ) cache.
 ccache-2.4.9 's  initial cache after a fresh 'make toolchain':

cache directory
/twelve/.ccache
cache hit                                                              19
cache miss                                                      7911
called for link                                                      173
multiple source files                                               1
not a C/C++ file                                                  945
no input file                                                             1
files in cache                                                  15822
cache size                                                         57.1
Mbytes
max cache size                                               976.6 Mbytes:

 Everything runs through the build until it is done as it should.

 The immediate consequent run of 'make toolchain' succeeds.
 ccache -s shows:

cache directory
/twelve/.ccache
cache hit                                                           7947
cache miss                                                       7913
called for link                                                       346
multiple source files                                                2
not a C/C++ file                                                 1890
no input file                                                              2
files in cache                                                   15826
cache size                                                         57.1
Mbytes
max cache size                                               976.6 Mbytes
 ------------------------------------------------------
 ------------------------------------------------------

####
 Same procedure for ccache-3.1, initial cache after a  'make toolchain':

cache directory
/twelve/.ccache
cache hit (direct)                                                    3
cache hit (preprocessed)                                    16
cache miss                                                       7911
called for link                                                      236
multiple source files                                                1
unsupported source language                           882
unsupported compiler option                              213
no input file                                                             1
files in cache                                                  15897
cache size                                                        75.5
Mbytes
max cache size                                                  1.0 Gbytes

 Next immediate consequent run of 'make toolchain' (after make clean,
 make cleanworld) fails.
 ccache -s shows:

cache directory
/twelve/.ccache
cache hit (direct)                                             1078
cache hit (preprocessed)                                   46
cache miss                                                      7911
called for link                                                     335
multiple source files                                               2
unsupported source language                        1233
unsupported compiler option                             262
no input file                                                             1
files in cache                                                  15905
cache size                                                        75.5
Mbytes
max cache size                                                  1.0 Gbytes
  -------------------------------------------------------

## relevant part of ccache's log, starting with empty ( ccache -Cz ) cache:

[2010-10-28T16:08:41.513052 31350] === CCACHE STARTED
=========================================
[2010-10-28T16:08:41.513342 31350] Hostname: rasta
[2010-10-28T16:08:41.513358 31350] Working directory: /obj/src/lib/libc
[2010-10-28T16:08:41.513436 31350] Source file: nslexer.c
[2010-10-28T16:08:41.513445 31350] Object file: nslexer.o
[2010-10-28T16:08:41.514392 31350] Trying direct lookup
[2010-10-28T16:08:41.514693 31350] Looking for object file hash in
/twelve/.ccache/6/e/38b5811e7e57c1e0c2518697ad6c91-427760.manifest
[2010-10-28T16:08:41.514722 31350] No such manifest file
[2010-10-28T16:08:41.514737 31350] Did not find object file hash in manifest
[2010-10-28T16:08:41.514747 31350] Running preprocessor
[2010-10-28T16:08:41.514778 31350] Executing /usr/obj/src/tmp/usr/bin/cc -O2
-fno-strict-aliasing -pipe -march=prescott -I/src/lib/libc/include
-I/src/lib/libc/../../include -I/src/lib/libc/i386
-D__DBINTERFACE_PRIVATE -I/src/lib/libc/../../contrib/gdtoa -DINET6
-I/obj/src/lib/libc -I/src/lib/libc/resolv -DPOSIX_MISTAKE
-I/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN
-I/src/lib/libc/rpc
-DYP -DNS_CACHING -DSYMBOL_VERSIONING -Wsystem-headers -Wall -Wno-format-y2k
-Wno-uninitialized -Wno-pointer-sign -c -E nslexer.c
[2010-10-28T16:08:41.529749 31350] Got object file hash from preprocessor
[2010-10-28T16:08:41.529843 31350] Object file
/twelve/.ccache/6/c/28b9fde6d50592ef3140a263a348ce-442360.o not in cache
[2010-10-28T16:08:41.529864 31350] Running real compiler
[2010-10-28T16:08:41.529874 31350] Executing /usr/obj/src/tmp/usr/bin/cc -O2
-fno-strict-aliasing -pipe -march=prescott -I/src/lib/libc/include
-I/src/lib/libc/../../include -I/src/lib/libc/i386
-D__DBINTERFACE_PRIVATE -I/src/lib/libc/../../contrib/gdtoa -DINET6
-I/obj/src/lib/libc -I/src/lib/libc/resolv -DPOSIX_MISTAKE
-I/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN
-I/src/lib/libc/rpc
-DYP -DNS_CACHING -DSYMBOL_VERSIONING -Wsystem-headers -Wall -Wno-format-y2k
-Wno-uninitialized -Wno-pointer-sign -c -o
/twelve/.ccache/6/c/28b9fde6d50592ef3140a263a348ce-442360.o.tmp.rasta.31350
/twelve/.ccache/tmp/nslexer.tmp.rasta.31350.i
[2010-10-28T16:08:41.665349 31350] Stored in cache:
/twelve/.ccache/6/c/28b9fde6d50592ef3140a263a348ce-442360.o
[2010-10-28T16:08:41.665422 31350] Copying
/twelve/.ccache/6/c/28b9fde6d50592ef3140a263a348ce-442360.o to nslexer.o
(uncompressed)
[2010-10-28T16:08:41.665604 31350] Created nslexer.o from
/twelve/.ccache/6/c/28b9fde6d50592ef3140a263a348ce-442360.o
[2010-10-28T16:08:41.667251 31350] Added object file hash to
/twelve/.ccache/6/e/38b5811e7e57c1e0c2518697ad6c91-427760.manifest
[2010-10-28T16:08:41.668117 31350] Acquired lock
/twelve/.ccache/6/stats.lock
[2010-10-28T16:08:41.669167 31350] Releasing lock
/twelve/.ccache/6/stats.lock
[2010-10-28T16:08:41.669465 31350] Result: cache miss


###  after a make clean, make cleanworld and make toolchain with the freshly
build cache:

[2010-10-28T16:44:26.487828 24415] === CCACHE STARTED
=========================================
[2010-10-28T16:44:26.488090 24415] Hostname: rasta
[2010-10-28T16:44:26.488099 24415] Working directory: /obj/src/lib/libc
[2010-10-28T16:44:26.488168 24415] Source file: nslexer.c
[2010-10-28T16:44:26.488175 24415] Object file: nslexer.o
[2010-10-28T16:44:26.489106 24415] Trying direct lookup
[2010-10-28T16:44:26.489387 24415] Looking for object file hash in
/twelve/.ccache/6/e/38b5811e7e57c1e0c2518697ad6c91-427760.manifest

and this is where all related processes stall, waiting forever for things
to happen.

Builds fail with or without different  options in the same way as soon as
ccache gets to look for nslexer.o the whole procedure sleeps away.

Thanks for any hints on this issue.

Regards

H. Ingow


More information about the ccache mailing list