See <http://build.squid-cache.org/job/3.HEAD-amd64-FreeBSD-10-clang/83/changes>
Changes: [Amos Jeffries] Do not leak ex_data for SSL state that survived reconfigure. SSL_get_ex_new_index() allocates a new index on every call, even if its parameters remain unchanged. It should be called once per process lifetime. Besides leaking, this 12 year-old(!) bug could probably make some SSL code misbehave during reconfigure because reconfigure would change the supposedly constant ex_data indexes. [Amos Jeffries] Do not register the same Cache Manager action more than once ... to avoid wrong mgr:menu output and the impression of a reconfigure memory leak. The old code was comparing action object pointers, which could not work, and was adding the same action on every reconfigure call for modules that register with Cache Manager during [re]configuration. We already have a working method for finding registered actions. Use it. [Amos Jeffries] Fix leaked TcpAcceptor job on reconfiguration ... by monitoring and reacting to the listening socket closure. Every job that waits for Comm I/O must have a FD closure handler. [Amos Jeffries] Fix leak of ACLs related to adaptation access rules ------------------------------------------ [...truncated 28879 lines...] ^ ../../../src/icmp/Icmp4.cc:116:9: error: member access into incomplete type 'struct icmp' icmp->icmp_code = 0; ^ ../../../src/icmp/Icmp4.cc:95:28: note: forward declaration of 'icmp' LOCAL_ARRAY(char, pkt, MAX_PKT4_SZ); ^ ../../../src/icmp/Icmp.h:40:91: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../include/leakcheck.h:10:54: note: expanded from macro 'LOCAL_ARRAY' #define LOCAL_ARRAY(type,name,size) static type name[size] ^ ../../../src/icmp/Icmp4.cc:117:9: error: member access into incomplete type 'struct icmp' icmp->icmp_cksum = 0; ^ ../../../src/icmp/Icmp4.cc:95:28: note: forward declaration of 'icmp' LOCAL_ARRAY(char, pkt, MAX_PKT4_SZ); ^ ../../../src/icmp/Icmp.h:40:91: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../include/leakcheck.h:10:54: note: expanded from macro 'LOCAL_ARRAY' #define LOCAL_ARRAY(type,name,size) static type name[size] ^ ../../../src/icmp/Icmp4.cc:118:9: error: member access into incomplete type 'struct icmp' icmp->icmp_id = icmp_ident; ^ ../../../src/icmp/Icmp4.cc:95:28: note: forward declaration of 'icmp' LOCAL_ARRAY(char, pkt, MAX_PKT4_SZ); ^ ../../../src/icmp/Icmp.h:40:91: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../include/leakcheck.h:10:54: note: expanded from macro 'LOCAL_ARRAY' #define LOCAL_ARRAY(type,name,size) static type name[size] ^ ../../../src/icmp/Icmp4.cc:119:9: error: member access into incomplete type 'struct icmp' icmp->icmp_seq = (unsigned short) icmp_pkts_sent; ^ ../../../src/icmp/Icmp4.cc:95:28: note: forward declaration of 'icmp' LOCAL_ARRAY(char, pkt, MAX_PKT4_SZ); ^ ../../../src/icmp/Icmp.h:40:91: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../include/leakcheck.h:10:54: note: expanded from macro 'LOCAL_ARRAY' #define LOCAL_ARRAY(type,name,size) static type name[size] ^ ../../../src/icmp/Icmp4.cc:123:35: error: arithmetic on a pointer to an incomplete type 'struct icmp' echo = (icmpEchoData *) (icmp + 1); ~~~~ ^ ../../../src/icmp/Icmp4.cc:95:28: note: forward declaration of 'icmp' LOCAL_ARRAY(char, pkt, MAX_PKT4_SZ); ^ ../../../src/icmp/Icmp.h:40:91: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../include/leakcheck.h:10:54: note: expanded from macro 'LOCAL_ARRAY' #define LOCAL_ARRAY(type,name,size) static type name[size] ^ ../../../src/icmp/Icmp4.cc:138:9: error: member access into incomplete type 'struct icmp' icmp->icmp_cksum = CheckSum((unsigned short *) icmp, icmp_pktsize); ^ ../../../src/icmp/Icmp4.cc:95:28: note: forward declaration of 'icmp' LOCAL_ARRAY(char, pkt, MAX_PKT4_SZ); ^ ../../../src/icmp/Icmp.h:40:91: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../include/leakcheck.h:10:54: note: expanded from macro 'LOCAL_ARRAY' #define LOCAL_ARRAY(type,name,size) static type name[size] ^ ../../../src/icmp/Icmp4.cc:142:28: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' assert(icmp_pktsize <= MAX_PKT4_SZ); ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../../../src/icmp/Icmp.h:40:77: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ../../../src/Debug.h:48:23: note: expanded from macro 'assert' #define assert(EX) ((EX)?((void)0):xassert( # EX , __FILE__, __LINE__)) ^ ../../../src/icmp/Icmp4.cc:95:28: note: forward declaration of 'icmp' LOCAL_ARRAY(char, pkt, MAX_PKT4_SZ); ^ ../../../src/icmp/Icmp.h:40:91: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../include/leakcheck.h:10:54: note: expanded from macro 'LOCAL_ARRAY' #define LOCAL_ARRAY(type,name,size) static type name[size] ^ ../../../src/icmp/Icmp4.cc:180:31: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' pkt = (char *)xmalloc(MAX_PKT4_SZ); ^~~~~~~~~~~ ../../../src/icmp/Icmp.h:40:77: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ~~~~~~~~~~~~~~~~ ../../../src/icmp/Icmp4.cc:168:12: note: forward declaration of 'icmp' struct icmphdr *icmp = NULL; ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../src/icmp/Icmp4.cc:185:18: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' MAX_PKT4_SZ, ^~~~~~~~~~~ ../../../src/icmp/Icmp.h:40:77: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ~~~~~~~~~~~~~~~~ ../../../src/icmp/Icmp4.cc:168:12: note: forward declaration of 'icmp' struct icmphdr *icmp = NULL; ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../src/icmp/Icmp4.cc:224:13: error: member access into incomplete type 'struct icmp' if (icmp->icmp_type != ICMP_ECHOREPLY) { ^ ../../../src/icmp/Icmp4.cc:168:12: note: forward declaration of 'icmp' struct icmphdr *icmp = NULL; ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../src/icmp/Icmp4.cc:229:13: error: member access into incomplete type 'struct icmp' if (icmp->icmp_id != icmp_ident) { ^ ../../../src/icmp/Icmp4.cc:168:12: note: forward declaration of 'icmp' struct icmphdr *icmp = NULL; ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../src/icmp/Icmp4.cc:234:44: error: arithmetic on a pointer to an incomplete type 'struct icmp' echo = (icmpEchoData *) (void *) (icmp + 1); ~~~~ ^ ../../../src/icmp/Icmp4.cc:168:12: note: forward declaration of 'icmp' struct icmphdr *icmp = NULL; ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../src/icmp/Icmp4.cc:244:59: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' preply.psize = n - iphdrlen - (sizeof(icmpEchoData) - MAX_PKT4_SZ); ^~~~~~~~~~~ ../../../src/icmp/Icmp.h:40:77: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ~~~~~~~~~~~~~~~~ ../../../src/icmp/Icmp4.cc:168:12: note: forward declaration of 'icmp' struct icmphdr *icmp = NULL; ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../src/icmp/Icmp4.cc:246:59: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' control.SendResult(preply, (sizeof(pingerReplyData) - MAX_PKT4_SZ + preply.psize) ); ^~~~~~~~~~~ ../../../src/icmp/Icmp.h:40:77: note: expanded from macro 'MAX_PKT4_SZ' #define MAX_PKT4_SZ (MAX_PAYLOAD + sizeof(struct timeval) + sizeof (char) + sizeof(struct icmphdr) + 1) ^ ~~~~~~~~~~~~~~~~ ../../../src/icmp/Icmp4.cc:168:12: note: forward declaration of 'icmp' struct icmphdr *icmp = NULL; ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ ../../../src/icmp/Icmp4.cc:248:26: error: member access into incomplete type 'struct icmp' Log(preply.from, icmp->icmp_type, icmpPktStr[icmp->icmp_type], preply.rtt, preply.hops); ^ ../../../src/icmp/Icmp4.cc:168:12: note: forward declaration of 'icmp' struct icmphdr *icmp = NULL; ^ ../../../src/icmp/Icmp4.h:48:17: note: expanded from macro 'icmphdr' #define icmphdr icmp ^ 18 errors generated. gmake[4]: *** [Icmp4.o] Error 1 gmake[4]: Leaving directory `/usr<http://build.squid-cache.org/job/3.HEAD-amd64-FreeBSD-10-clang/ws/btlayer-02-maximus/squid-3.HEAD-BZR/_build/src/icmp'> gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/usr<http://build.squid-cache.org/job/3.HEAD-amd64-FreeBSD-10-clang/ws/btlayer-02-maximus/squid-3.HEAD-BZR/_build/src'> gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/usr<http://build.squid-cache.org/job/3.HEAD-amd64-FreeBSD-10-clang/ws/btlayer-02-maximus/squid-3.HEAD-BZR/_build/src'> gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/usr<http://build.squid-cache.org/job/3.HEAD-amd64-FreeBSD-10-clang/ws/btlayer-02-maximus/squid-3.HEAD-BZR/_build'> gmake: *** [distcheck] Error 1 buildtest.sh result is 2 BUILD: .././test-suite/buildtests/layer-02-maximus.opts configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: -g -O2 -I/usr/local/include configure: BUILD EXTRA C FLAGS: -Werror -Qunused-arguments -D_REENTRANT configure: BUILD C++ FLAGS: -g -O2 -I/usr/local/include configure: BUILD EXTRA C++ FLAGS: -I/usr/local/include/libxml2 -Werror -Qunused-arguments -D_REENTRANT configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: -g -O2 -I/usr/local/include configure: BUILD EXTRA C FLAGS: -Werror -Qunused-arguments -D_REENTRANT configure: BUILD C++ FLAGS: -g -O2 -I/usr/local/include configure: BUILD EXTRA C++ FLAGS: -I/usr/local/include/libxml2 -Werror -Qunused-arguments -D_REENTRANT ../../../src/icmp/Icmp4.cc:95:28: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:99:27: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:115:9: error: member access into incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:116:9: error: member access into incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:117:9: error: member access into incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:118:9: error: member access into incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:119:9: error: member access into incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:123:35: error: arithmetic on a pointer to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:138:9: error: member access into incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:142:28: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:180:31: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:185:18: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:224:13: error: member access into incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:229:13: error: member access into incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:234:44: error: arithmetic on a pointer to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:244:59: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:246:59: error: invalid application of 'sizeof' to an incomplete type 'struct icmp' ../../../src/icmp/Icmp4.cc:248:26: error: member access into incomplete type 'struct icmp' gmake[4]: *** [Icmp4.o] Error 1 gmake[3]: *** [all-recursive] Error 1 gmake[2]: *** [all] Error 2 gmake[1]: *** [all-recursive] Error 1 gmake: *** [distcheck] Error 1 Build FAILED. Build step 'Execute shell' marked build as failure