Re: [ccache] Corrupt objects from three colliding compiles
On 2010-05-06 19:14, Wilson Snyder wrote: [...] [1273161404.432174,2424 ] === 2010-05-06 11:56:44 === [1273161404.432636,2424 ] Hostname: maserati [1273161404.432643,2424 ] Cwd: /nfs/compiling/dir02 [1273161404.432646,2424 ] Source file: INV.c [1273161404.432648,2424 ] Object file: INV.o [1273161404.432657,2424 ] Trying direct lookup [1273161404.439730,2424 ] Looking for object file hash in /nfs/ccache-dir/0/3/8/f19fe0a63fc088a9c570845a0a4eb-584.manifest [1273161404.440126,2424 ] Did not find object file hash in manifest [1273161404.440134,2424 ] Running preprocessor [1273161404.469188,2084 ] === 2010-05-06 11:56:44 === [1273161404.469515,2084 ] Hostname: bird07 [1273161404.469519,2084 ] Cwd: /nfs/compiling/dir03 [1273161404.469521,2084 ] Source file: INV.c [1273161404.469523,2084 ] Object file: INV.o [1273161404.469532,2084 ] Trying direct lookup [1273161404.471093,2084 ] Looking for object file hash in /nfs/ccache-dir/0/3/8/f19fe0a63fc088a9c570845a0a4eb-584.manifest [1273161404.475427,2084 ] Did not find object file hash in manifest [1273161404.475434,2084 ] Running preprocessor [1273161404.487509,2424 ] Got object file hash from preprocessor [1273161404.492494,2424 ] Object file /nfs/ccache-dir/2/b/2/eedf0591498af8e5f3a27fcc89c4f-69975.o not in cache Job 2424 doesn't see the object file in the cache... [1273161404.492522,2424 ] Running real compiler ...and decides to create it. [1273161404.511123,21936] === 2010-05-06 11:56:44 === [1273161404.511506,21936] Hostname: bat05 [1273161404.511510,21936] Cwd: /nfs/compiling/dir04 [1273161404.511513,21936] Source file: INV.c [1273161404.511515,21936] Object file: INV.o [1273161404.511523,21936] Trying direct lookup [1273161404.514058,21936] Looking for object file hash in /nfs/ccache-dir/0/3/8/f19fe0a63fc088a9c570845a0a4eb-584.manifest [1273161404.517648,21936] Did not find object file hash in manifest [1273161404.517654,21936] Running preprocessor [1273161404.523658,2084 ] Got object file hash from preprocessor [1273161404.542730,2084 ] Created INV.o from /nfs/ccache-dir/2/b/2/eedf0591498af8e5f3a27fcc89c4f-69975.o But here, job 2084 sees the object file in the cache ~34 ms before the object file was created... [1273161404.564688,21936] Got object file hash from preprocessor [1273161404.569955,2084 ] Added object file hash to /nfs/ccache-dir/0/3/8/f19fe0a63fc088a9c570845a0a4eb-584.manifest [1273161404.570387,2084 ] Succeded getting cached result [1273161404.576412,2424 ] Stored in cache: /nfs/ccache-dir/2/b/2/eedf0591498af8e5f3a27fcc89c4f-69975.o ...by job 2424 here. Maybe the clocks are more than 12 ms apart? [1273161404.588776,21936] Created INV.o from /nfs/ccache-dir/2/b/2/eedf0591498af8e5f3a27fcc89c4f-69975.o ***BAD OBJECT*** [1273161404.596098,2424 ] Created INV.o from /nfs/ccache-dir/2/b/2/eedf0591498af8e5f3a27fcc89c4f-69975.o [1273161404.630619,21936] Added object file hash to /nfs/ccache-dir/0/3/8/f19fe0a63fc088a9c570845a0a4eb-584.manifest [1273161404.634864,21936] Succeded getting cached result [1273161404.638443,2424 ] Added object file hash to /nfs/ccache-dir/0/3/8/f19fe0a63fc088a9c570845a0a4eb-584.manifest It looks like the third job's read of the cache is stuck in between the first's write and the second's. Note that times may be off by 8ms, this would put the bad object read right on top of the object update by the second compile when it hits the NFS server. Since renames should be atomic on NFS, I don't see any problem here, but I'm by no means an NFS expert. -- Joel ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
[ccache] amd64 buildworld (FreeBSD 8.0p2) consistently fails with ccache
I've been testing the use of ccache on my FreeBSD machines and I've found that 'make buildworld' will consistently fail when ccache is activated on my amd64 machines, while it performs as expected on my i386 machines. I have tested on both platforms with and without compile options, such as -jX, CFLAGS and CXXFLAGS. With or without these options on i386 it compiles successfully, but with or without these options on amd64 it fails. It appears that it fails at building lib32 related files but I'm not familiar enough with buildworld or ccache to be sure. What more information can I provide toward troubleshooting and hopefully resolving this situation? Cheers, -- Christer Edwards ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] amd64 buildworld (FreeBSD 8.0p2) consistently fails with ccache
On Sun, May 9, 2010 at 11:17 AM, Joel Rosdahl j...@rosdahl.net wrote: That's strange. Which ccache version are you using? If you're using 2.4, please try 3.0pre0. [r...@stringer /usr/src]# ccache -V ccache version 3.0pre0 It just failed for me again. I did not turn on logging, but this is where it failed, if this gives you any hints: === lib/csu/i386-elf (obj,depend,all,install) rm -f .depend 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/crt1.c /usr/src/lib/csu/i386-elf/crti.S /usr/src/lib/csu/i386-elf/crtn.S /usr/local/libexec/ccache/world-cc -march=native -O2 -fno-strict-aliasing -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.c {standard input}: Assembler messages: {standard input}:27: Error: suffix or operands invalid for `mov' *** 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. I can run it again with logging enabled if you need. Ooh, and this build was using CFLAGS/CXXFLAGS. I can test again without those if needed as well. -- Christer Edwards ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
[ccache] [PATCH] Move mkstemp() replacement to before its use.
$subj 0001-Move-mkstemp-replacement-to-before-its-use.patch Description: Binary data ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache
Re: [ccache] amd64 buildworld (FreeBSD 8.0p2) consistently fails with ccache
On Sun, May 9, 2010 at 11:17 AM, Joel Rosdahl j...@rosdahl.net wrote: You can enable debug logging by setting CCACHE_LOGFILE to a log file path and then send the log of a failed compilation here. I've enabled logging and I would attach the logfile, but it is 12M total size. I've included the tail end, just leading up to the failure: [78023] === 2010-05-09 14:54:37 === [78023] Base directory: /usr/obj/lib32/usr/src/gnu/lib/csu [78023] Source file: /usr/src/gnu/lib/csu/../../../contrib/gcc/crtstuff.c [78023] Object file: crtend.So [78023] Trying direct lookup [78023] Looking for object file hash in /usr/.ccache/7/d/95616197a1156b28cdd39a8047d5db-9623.manifest [78023] Did not find object file hash in manifest [78023] Running preprocessor [78023] Got object file hash from preprocessor [78023] Object file /usr/.ccache/c/a/512e749085241d05f1a72bfb1fa910-77439.o not in cache [78023] Running real compiler [78023] Stored in cache: /usr/.ccache/c/a/512e749085241d05f1a72bfb1fa910-77439.o [78023] Created crtend.So from /usr/.ccache/c/a/512e749085241d05f1a72bfb1fa910-77439.o [78023] Added object file hash to /usr/.ccache/7/d/95616197a1156b28cdd39a8047d5db-9623.manifest [78040] === 2010-05-09 14:54:37 === [78040] Base directory: /usr/obj/lib32/usr/src/lib/csu/i386-elf [78040] Compiler option -E is unsupported [78040] Failed; falling back to running the real compiler [78047] === 2010-05-09 14:54:37 === [78047] Base directory: /usr/obj/lib32/usr/src/lib/csu/i386-elf [78047] Source file: /usr/src/lib/csu/i386-elf/crt1.c [78047] Object file: crt1.o [78047] Trying direct lookup [78047] Looking for object file hash in /usr/.ccache/c/9/ea7ce3c6c0dcbf8e347e950e9ff6ea-1903.manifest [78047] Did not find object file hash in manifest [78047] Running preprocessor [78047] Got object file hash from preprocessor [78047] Object file /usr/.ccache/f/a/86dcc9067c2597ce7a0dbd718899ac-23567.o not in cache [78047] Running real compiler [78047] Compiler gave exit status 1 This build had no CFLAGS or CXXFLAGS and exited at the same point. What other information can I provide? [r...@stringer /usr/src]# ccache -s cache directory /usr/.ccache cache hit (direct) 871 cache hit (preprocessed)1039 cache miss 30393 called for link 1342 multiple source files 5 compile failed 2 not a C/C++ file3316 no input file 2 files in cache 30393 cache size 107.8 Mbytes max cache size 1.0 Gbytes -- Christer Edwards ___ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache