Hi, Excuse me if this is a known issue. I have compiled Squid 2.6STABLE1 using Sun Studio 8 with the --enable-poll, --enable-cache-digests flags on Solaris 10/SPARC. The cache is configured to use the internal DNS feature and communicates with several parent caches. Squid stopped after an assertion failure in the internal DNS code. Below is the stack trace. Your help would be appreciated. Bertold Reading squid core file header read successfully Reading ld.so.1 Reading libcrypt_i.so.1 Reading libm.so.2 Reading libsocket.so.1 Reading libnsl.so.1 Reading libc.so.1 Reading libgen.so.1 Reading libc_psr.so.1 Reading nss_files.so.1 Reading nss_nis.so.1 program terminated by signal ABRT (Abort) 0xff13d5ec: _lwp_kill+0x0008: bcc,a,pt %icc,_lwp_kill+0x18 ! 0xff13d5fc Current function is hash_lookup 194 assert(walker != walker->next); (dbx) where [1] _lwp_kill(0x0, 0x6, 0x0, 0x6, 0xffff0000, 0x0), at 0xff13d5ec [2] raise(0x6, 0x0, 0xff121af4, 0x42770, 0xff164278, 0x6), at 0xff0dd884 [3] abort(0xffbf6770, 0x1, 0xff16527c, 0xa6544, 0xff167298, 0x0), at 0xff0bde38 [4] __assert(0x154da4, 0x154dbc, 0xc2, 0x77656263, 0xa6260, 0x16554c), at 0xff0be074 =>[5] hash_lookup(hid = 0x28a550, k = 0x80e330), line 194 in "hash.c" [6] idnsCachedLookup(key = 0x80e330 "somehost.example.com", callback = 0xc4fb8 = &`squid`ipcache.c`ipcacheHandleReply(void *data, struct _rfc1035_rr *answers, int na, const char *error_message), data = 0x80e3a0), line 895 in "dns_internal.c" [7] idnsALookup(name = 0x80e330 "somehost.example.com", callback = 0xc4fb8 = &`squid`ipcache.c`ipcacheHandleReply(void *data, struct _rfc1035_rr *answers, int na, const char *error_message), data = 0x80e3a0), line 920 in "dns_internal.c" [8] ipcache_nbgethostbyname(name = 0x281228 "somehost.example.com", handler = 0x7f5f8 = &`squid`comm.c`commConnectDnsHandle(const struct _ipcache_addrs *ia, void *data), handlerData = 0x3c46888), line 453 in "ipcache.c" [9] commConnectStart(fd = 22, host = 0x281228 "webcache1.west.sun.com", port = 8080U, callback = 0x93818 = &`squid`forward.c`fwdConnectDone(int server_fd, int status, void *data), data = 0x873cb98), line 277 in "comm.c" [10] fwdConnectStart(data = 0x873cb98), line 625 in "forward.c" [11] fwdStartComplete(servers = 0x936118, data = 0x873cb98), line 635 in "forward.c" [12] peerSelectCallback(psstate = 0x6344e38), line 202 in "peer_select.c" [13] peerSelectFoo(ps = 0x6344e38), line 310 in "peer_select.c" [14] peerCheckNeverDirectDone(answer = 1, data = 0x6344e38), line 167 in "peer_select.c" [15] aclCheckCallback(checklist = 0x932910, answer = ACCESS_ALLOWED), line 2267 in "acl.c" [16] aclCheck(checklist = 0x932910), line 2224 in "acl.c" [17] aclNBCheck(checklist = 0x932910, callback = 0xdbf20 = &`squid`peer_select.c`peerCheckNeverDirectDone(int answer, void *data), callback_data = 0x6344e38), line 2402 in "acl.c" [18] peerSelectFoo(ps = 0x6344e38), line 265 in "peer_select.c" [19] peerCheckAlwaysDirectDone(answer = 0, data = 0x6344e38), line 177 in "peer_select.c" [20] aclCheckCallback(checklist = 0x933cb0, answer = ACCESS_DENIED), line 2267 in "acl.c" [21] aclCheck(checklist = 0x933cb0), line 2236 in "acl.c" [22] aclNBCheck(checklist = 0x933cb0, callback = 0xdbfd0 = &`squid`peer_select.c`peerCheckAlwaysDirectDone(int answer, void *data), callback_data = 0x6344e38), line 2402 in "acl.c" [23] peerSelectFoo(ps = 0x6344e38), line 254 in "peer_select.c" [24] peerSelect(request = 0x3a50328, entry = 0xa4b3470, callback = 0x94aa0 = &`squid`forward.c`fwdStartComplete(struct _FwdServer *servers, void *data), callback_data = 0x873cb98), line 157 in "peer_select.c" [25] fwdStart(fd = 19, e = 0xa4b3470, r = 0x3a50328), line 881 in "forward.c" [26] clientProcessMiss(http = 0x951828), line 3517 in "client_side.c" [27] clientProcessRequest(http = 0x951828), line 3440 in "client_side.c" [28] clientCheckNoCacheDone(answer = 0, data = 0x951828), line 669 in "client_side.c" [29] aclCheckCallback(checklist = 0x933dc8, answer = ACCESS_DENIED), line 2267 in "acl.c" [30] aclCheck(checklist = 0x933dc8), line 2224 in "acl.c" [31] aclNBCheck(checklist = 0x933dc8, callback = 0x6d7f8 = &`squid`client_side.c`clientCheckNoCacheDone(int answer, void *data), callback_data = 0x951828), line 2402 in "acl.c" [32] clientCheckNoCache(http = 0x951828), line 657 in "client_side.c" [33] clientAccessCheck2(data = 0x951828), line 368 in "client_side.c" [34] clientRedirectDone(data = 0x951828, result = (nil)), line 649 in "client_side.c" [35] clientRedirectStart(http = 0x951828), line 551 in "client_side.c" [36] clientAccessCheckDone(answer = 1, data = 0x951828), line 425 in "client_side.c" [37] aclCheckCallback(checklist = 0x932590, answer = ACCESS_ALLOWED), line 2267 in "acl.c" [38] aclCheck(checklist = 0x932590), line 2224 in "acl.c" [39] aclNBCheck(checklist = 0x932590, callback = 0x6c4e0 = &`squid`client_side.c`clientAccessCheckDone(int answer, void *data), callback_data = 0x951828), line 2402 in "acl.c" [40] clientAccessCheck(data = 0x951828), line 357 in "client_side.c" [41] clientCheckFollowXForwardedFor(data = 0x951828), line 349 in "client_side.c" [42] clientReadRequest(fd = 19, data = 0x2888800), line 4059 in "client_side.c" [43] comm_select(msec = 501), line 471 in "comm_poll.c" [44] main(argc = 2, argv = 0xffbffcdc), line 840 in "main.c" (dbx) print walker walker = 0x83a080 (dbx) print walker->next walker->next = 0x83a080 (dbx) up Current function is idnsCachedLookup 895 idns_query *old = hash_lookup(idns_lookup_hash, key); (dbx) print *idns_lookup_hash *idns_lookup_hash = { buckets = 0x284318 cmp = 0x16562c hash = 0x11b148 = &hash_string(const void *data, unsigned size) size = 103U current_slot = 0 next = (nil) count = 174 }