bugs.html,v 1.51 1999年07月26日 20:01:31 wessels Exp

2.2.STABLE5 Bugs

Timezone offset is calculated incorrectly at the end of a year in mkhttpdlogtime().

platforms All
versions 2.2.STABLE5 and earlier
synopsis mkhttpdlogtime() generates a date string of the form 31/Dec/1999:23:59:59 +0900. But when the year changes, the timezone offset will be wrong, for example: 01/Jan/2000:00:00:00 -1500.

NOTE: mkhttpdlogtime() is used for the following:

patch squid-2.2.stable5-mkhttpdlogtime-end-of-year.patch
status Fixed in 2.3 branch.

Still have bugs in hostname/domain matching code.

platforms All
versions 2.2.STABLE5
synopsis Matching a hostname and a domain name doesn't always work, depending on leading dots and other edge conditions. Plus, the code for matching in ACL's worked one way, while the code for matching 'cache_peer_domain' list worked slighly different.

The patch below makes all host/domain matching operate the same way. It also changes the rules a bit, so your current configuration probably will not work the way you want after applying this patch. The following table summarizes the matching rules:
Host Domain Match?
foo.com foo.com YES
.foo.com foo.com YES
x.foo.com foo.com NO
foo.com .foo.com YES
.foo.com .foo.com YES
x.foo.com .foo.com YES

patch squid-2.2.stable5-domain-match.patch.
status Fixed in 2.3 branch.

Newlines in passwords confuses the authenticator program

platforms All
versions 2.2.STABLE5 and earlier
synopsis After decoding the base64 encoded "user:password" pair given by the client, squid doesn't strip out any '\n' found in the resulting string. Given such a string, any external authenticator will receive two lines instead of one, and most probably send two results. Now, any subsequent authentification exchange will has its answer shifted by one. Therefore, a malicious user can gain access to sites she should not have access to.
reported by Oezguer Kesim (oec at codeblau dot de)
patch squid-2.2.stable5-newlines_in_auth.patch.
status Fixed in 2.3 branch.

IP cache doesn't keep negative-cached entries

platforms All
versions 2.2.STABLE5 and earlier
synopsis The IP cache immediately removes entries that should be negatively cached. This appears to be due to some changes made for retrying failed connections.
reported by Charles Bruneteau (charles dot bruneteau dot sysicom at renault dot fr)
patch squid-2.2.stable5-ipcache_negative.patch.
status Fixed in 2.3 branch.

Nothing is cached if there is no no_cache list

platforms All
versions 2.2.STABLE5 and earlier
synopsis A missing no_cache list is treated the same as no_cache deny all.
patch squid-2.2.stable5-no_cache.patch.
status Fixed in 2.3 branch.

dnsserver fails to resolve some valid hostnames

platforms SuSe Linux V. 6.2 (matthaei at narz dot de)
versions 2.2.STABLE5
synopsis dnsserver reports:
	DNS Domain 'europe.jobs.hp.com' is invalid: Host not found
	(authoritative).
	
but nslookup will resolve the name.

Also happens to (ths at ns-intern dot syslab dot de) for setiathome.ssl.berkeley.edu.

status This is a bug with SuSe Linux.

2.2.STABLE4 Bugs

FTP data connection could be closed sooner

platforms All
versions 2.2.stable4
synopsis The FTP data connection was being closed after we read the last response on the control connection. RFC 959 recommends closing the data connection as soon as the data transfer completes.
reported by Alexander V. Lukyanov (lav at yars dot free dot net)
patch squid-2.2.stable4-ftpReadComplete.patch
status Fixed by Alexander

Domain ACL matching bugs.

platforms All, when using srcdomain or dstdomain ACL's
versions Squid 2.2.STABLE4
synopsis The aclHostDomainCompare() function has some mysterious bugs that can cause an incorrect comparison of hosts to domain names.
reported by Kurt Keller (kurt dot keller at raiffeisen dot ch)
Charles Bruneteau (charles dot bruneteau dot sysicom at renault dot fr)
Todd Kivinen (TKIVINEN at equuscs dot com)
patch squid-2.2.stable4-aclHostDomainCompare.patch
status Fixed

POST fails with persistent connections on MSIE4.x, Windows 3.1, and TCP/IP-32 v3.11a

platforms Unknown
versions 2.2.STABLE4
synopsis When the client side is using Windows 3.11 with Microsoft's TCP/IP-32 v3.11a and Internet Explorer 4.0 or later, the user can not send mail (send and store). All he gets is a white screen (empty frame), no mail is being sent, no mail is being stored in the 'out' folder. We did communication traces and found that the proxy server is sending TCP RESET packets to the client, but the client still sends data on the same connection, in violation of the TCP protocol. Netscape seems to somehow realize the data could not be transferred and opens new connections, resending the data. MSIE does not do this. NT is only sending one single request per connection. TCP/IP protocol violation and problems only with HTTP 1.1 browsers. Slowly this rang a bell. I guessed that if the proxy could forbid persistent connections, the problem would go away.
reported by Kurt Keller (Kurt dot Keller at raiffeisen dot ch)

assertion failed: comm.c:397: "fd>= 0"

platforms Red Hat Linux
versions 2.2.STABLE4
synopsis Some function calls commSetTimeout() with fd = -1. Won't know who is making that call until we get a stack trace.
reported by Ted Rule (Ted_Rule at flextech dot co dot uk)
status reported; waiting for stack trace.

Bad defaults for proxy_auth in squid.conf

platforms All
synopsis The example proxy_auth configuration has the old semantics with a timeout value. The new code uses the keyword REQUIRED as an argument to the proxy_auth ACL.
patch squid-2.2.stable4.proxy_auth.patch
status Fixed

WARNING: 6teen.com is a subdomain of 8teen.com

platforms All, when using srcdomain or dstdomain ACL's
versions Squid 2.2.STABLE4
synopsis 2.2.STABLE4 incorrectly gives warnings about some SPLAY domains.
patch squid-2.2.stable4.splay-warning.patch
status Fixed

New request methods aren't supported

platforms All
versions Everything prior to 2.3
synopsis RFC 2518 adds new HTTP request methods. Some applications are now using these methods. Probably their HTTP connections are being ``transparently'' hijacked to Squid caches, whereby Squid returns an Invalid Request error message.
patch squid-2.2.stable4.webdav_support.patch: This patch doesn't work very well. If you haven't applied it yet, then don't. If you have already applied it, then you should probably "unapply" it with patch -R

squid-2.2.stable4.webdav_support2.patch: This patch might work better.

status possibly fixed, would like confirmation

StoreSwapOutFileOpened: Unable to open swapfile ...: No such file or directory

platforms Solaris
synopsis On Solaris, when dlmalloc is used, the memory that holds the cache_dir pathnames becomes corrupted. In a pathname like /usr/local/squid/cache/disk5/00/0B/00000B61, the word ``cache'' becomes corrupted.
configuration --enable-dlmalloc
patch We suspect a bug or problem with dlmalloc. We suggest to use GNU malloc instead.
status Confirmed. David Hastings (david dot hastings at computing-services dot oxford dot ac dot uk) confirms that the problem does not appear when using Solaris malloc.

2.2.STABLE3 Bugs

Event structure leak

Versions: 2.2.X

Platforms: All

Synopsis: Squid leaks ev_entry structures when the callback data pointer becomes invalid.

Patch: event-leak.patch

Status: Fixed in 2.2.STABLE4

ErrorState structure leak

Versions: 2.2.X

Platforms: All

Synopsis: Squid leaks ErrorState structures from a bug in forward.c. When we fail to forward a request, an ErrorState struture is created, even though we try to forward the request again. If a later attempt succeeds, we forgot to free the unused ErrorState. This didn't show up in accounted memory statistics because ErrorState structures used to be malloc'd directly instead of using memory pools functions.

Patch: error_state-leak.patch

Status: Fixed in 2.2.STABLE4

dread_ctrl structure leak

Versions: 2.2.X

Platforms: All

Synopsis: There was a suspected (now confirmed) leak of file_read callback data structures (i.e. dread_ctrl) from storeUnregister(). We were calling commSetSelect() with NULL a read handler, probably to prevent a "callback loop" when closing the swapin filedescriptor. It looks like the commSetSelect() call is not needed, and file_close() will do the right thing. This leak does show up in cachemgr memory stats.

Patch: dread_ctrl-leak.patch

Status: Fixed in 2.2.STABLE4

assertion failed: comm.c:693: "p != NULL"

Versions: 2.2.STABLE3

Platforms: Sparc/Solaris 2.5.1

Configuration:

 
	./configure
	--prefix=/opt/squid
	--enable-async-io
	--enable-snmp
	--enable-cachemgr-hostname
	--enable-err-language=Slovenian
	--enable-htcp
	--enable-cache-digests
	--enable-poll

Reported by: Matija Grabnar (matija dot grabnar at arnes dot si)

Status: Reported; waiting for stack trace or more info.

assertion failed: store.c:400: "e->store_status == STORE_PENDING"

platforms Digital Unix 4.0D
versions 2.2.STABLE3, 2.2.STABLE4
reported by Chris Teakle (ccteakle at its dot uq dot edu dot au)
tan chin thong (ausean at ieee dot org)
configuration teakle:
	env CC="cc" \
	CFLAGS="-O4 -g1 -std1 -DNUMTHREADS=64" \
	./configure \
	--prefix=/usr/local/squid \
	--enable-async-io
	
stack trace tan:
	#0 0x3ff800e9c28 in kill () from /usr/shlib/libc.so
	#1 0x3ff8019bc34 in tis_lock_global () from /usr/shlib/libc.so
	#2 0x3ff8011391c in tis_raise () from /usr/shlib/libc.so
	#3 0x3ff8015e31c in raise () from /usr/shlib/libc.so
	#4 0x3ff80174ce4 in abort () from /usr/shlib/libc.so
	#5 0x120032ae8 in xassert (msg=0x0, file=0x6 <Address 0x6 out of bounds> line=1048576) at debug.c:242
	#6 0x120081500 in storeAppend (e=0x143a55d00, buf=0x1400ae330 "HTTP/1.0 200 Gatewaying\r\n", len=25) at store.c:400
	#7 0x1200816ec in storeAppendVPrintf (e=0x143a55d00, fmt=0x100000 <Address 0x100000 out of bounds> vargs={__base = 0x0, __offset = 0}) at store.c:451
	#8 0x120068fac in packerPrintf (p=0x11fff7bd0, fmt=0x14000bac8 "HTTP/%3.1f %3d %s\r\n") at Packer.c:165
	#9 0x12004af54 in httpStatusLinePackInto (sline=0x14000bac8, p=0x11fff7bd0) at HttpStatusLine.c:73
	#10 0x120053328 in httpReplyPackInto (rep=0x1678bc800, p=0x11fff7bd0) at HttpReply.c:152
	#11 0x120053510 in httpReplySwapOut (rep=0x1678bc800, e=0x143a55d00) at HttpReply.c:181
	#12 0x120045060 in ftpAppendSuccessHeader (ftpState=0x167d66000) at ftp.c:2404
	#13 0x1200441dc in ftpReadRetr (ftpState=0x167d66000) at ftp.c:2056
	#14 0x120041a80 in ftpHandleControlReply (ftpState=0x167d66000) at ftp.c:1295
	#15 0x12004183c in ftpReadControlReply (fd=76, data=0x6) at ftp.c:1254
	#16 0x1200319b0 in comm_poll (msec=0) at comm_select.c:362
	#17 0x12005cd68 in main (argc=1073744276, argv=0x1400c39c0) at main.c:627
	
status Reported.

Hierarchy logging doesn't work for SSL

Versions: ?? -- 2.2.STABLE3

Platforms: All

Reported by: Dng Huanjie (james at ustc dot edu dot cn)

Fixed by: Henrik Nordstrom

Synopsis: Squid always logs "NONE/-" in the access.log hierarchy field for SSL requests.

Patch: ssl-hierarchy-logging.patch

Status: Fixed in 2.2.STABLE4

TCP_MISS/504 for a POST request

Versions: ?? -- 2.2.STABLE3

Platforms: All, when using cache digests and cache siblings

Reported by: Dan Riley (dsr at mail dot lns dot cornell dot edu)

Synopsis: Squid may forward a POST request to a sibling. The request will have an only-if-cached header, and the sibling will reject it because POST requests are not cached. Squid sent the request to the sibling because it got a cache digest hit. The request is not re-forwardable because it is a POST. Squid should not be looking up POST requests in peer digests.

Patch: non-hierarchical-digest.patch

Status: Fixed in 2.2.STABLE4

WARNING: barfoo.com is a subdomain of foo.com

Versions: Squid 2.2 -- 2.2.STABLE3

Platforms: All, when using srcdomain or dstdomain ACL's

Reported by: Eivind Amundsen (eivind at sko dot juniks dot org)

Synopsis: aclDomainCompare() incorrectly detects subdomain matches.

Patch: acl.c-domain-compare.patch

Status: Fixed in in 2.2.STABLE4



2.2.STABLE2 Bugs

Buffer Overflow in tools.c::gb_to_str()

Versions: Squid 2.0 -- 2.2.STABLE2

Platforms: All

Reported by: Henrik Nordstrom (hno at hem dot passagen dot se) and Chris Teakle (ccteakle at its dot uq dot edu dot au)

Synopsis: no bounds checking on call_id index in gb_to_str()

Patch: gb_to_str-array-bounds.patch

Status: Fixed in 2.2.STABLE3

Broken FTP server's return SIZE 0

Version: 2.2.STABLE2

Platforms: All

Reported by: Markus Leutwyler (markus.leutwyler at inserto dot ch)

Synopsis: IBM's FTP server (ftp.pc.ibm.com) returns ``213 0'' in response to a SIZE command, even though the file has non-zero size. Squid puts ``Content-length: 0'' in the reply header.

Patch: ftp.c-zero-size.patch

Status: Fixed in 2.2.STABLE3

sometimes SEGV on reconfigure

Version: 2.2.STABLE2

Platforms: Digital Unix 4.0D

Reported by: Chris Teakle (ccteakle at its dot uq dot edu dot au)

Configuration:

	CC="cc"
	CFLAGS="-O4 -g1 -std1 -DNUMTHREADS=48"
	--enable-async-io
	--enable-delay-pools

Synopsis: Squid often (but not always) dies with a segmentation violation shortly after I do a reconfigure.

Stack trace:

(dbx) where> 0 nxm_thread_kill(0x140160ec0, 0x0, 0x0, 0x0, 0x3ff00000000) [0x3ff8058a118]
 1 pthread_kill(0x12000f580, 0x0, 0x11ffffca0, 0x3ffc018a698, 0x3ff00000000) [0x3ff80577950]
 2 (unknown)() [0x3ff8056c224]
 3 (unknown)() [0x3ff807b2178]
 4 (unknown)() [0x3ff807b3564]
 5 exc_unwind(0x8, 0x11fff6aa0, 0xabadabad00beed00, 0x30ffe0000, 0x3ff807b3834) [0x3ff807b35a4]
 6 exc_raise_signal_exception(0x86, 0x0, 0x3ff8058a118, 0x1, 0x0) [0x3ff807b3830]
 7 (unknown)() [0x3ff805788b8]
 8 nxm_thread_kill(0x0, 0x0, 0x3ff805831ec, 0x3ff8057a740, 0x0) [0x3ff8058a114]
 9 pthread_kill(0x1400c36e8, 0x1522ee998, 0x0, 0x3ffc018a698, 0x100000000) [0x3ff80577950]
 10 (unknown)() [0x3ff80583200]
 11 __tis_raise(0x100000000, 0x153352000, 0x3ff8011391c, 0x100000006, 0x3ff8015e31c) [0x3ff80113918]
 12 raise(0x3ff8011391c, 0x100000006, 0x3ff8015e31c, 0x1400c36e8, 0x3ff80174ce4) [0x3ff8015e318]
 13 abort(0x120087790, 0x1, 0x3ff805786f0, 0x0, 0x600000000) [0x3ff80174ce0]
 14 death(0x3ff805786f0, 0x0, 0x600000000, 0x14001b940, 0x3ff800d5db4) ["tools.c":268, 0x12008778c]
 15 httpRequestHdrAllowed(0x150971b80, 0x1406df780, 0x12004d464, 0x504a5a00, 0x11fff7998) ["HttpRequest.c":145, 0x1200582e0]
 16 httpBuildRequestHeader(0x11fff7a10, 0x1000001bb, 0x2, 0x0, 0x0) ["http.c":653, 0x12004d460]
 17 httpBuildRequestPrefix(0x1522ee800, 0x147c69f80, 0x1bb, 0x2, 0x0) ["http.c":795, 0x12004dc6c]
 18 httpSendRequest(0x120062140, 0x1522ee800, 0x147c69f80, 0x12004d060, 0x1522ee800) ["http.c":845, 0x12004df30]
 19 httpStart(0x12003d33c, 0x151bc3f00, 0x0, 0x147c69f80, 0x140020890) ["http.c":904, 0x12004e2bc]
 20 fwdDispatch(0x12003cae0, 0x140262d00, 0x151bc3f00, 0x14ff774e0, 0x12003cab0) ["forward.c":323, 0x12003d338]
 21 fwdConnectDone(0x151bc3f00, 0x30, 0x30, 0x1400c36e8, 0x100) ["forward.c":195, 0x12003cadc]
 22 commConnectCallback(0x120031be4, 0x30, 0x150f32b80, 0x140262d00, 0x100000000) ["comm.c":282, 0x1200316bc]
 23 commConnectHandle(0x100000000, 0x12003c790, 0x120034620, 0x11fff7c98, 0x1400c5aa8) ["comm.c":375, 0x120031be0]
 24 comm_poll(0x140021520, 0x140010800, 0x1, 0x5, 0xffffffffffffd295) ["comm_select.c":374, 0x12003461c]
 25 main(0x1, 0x109d8, 0x0, 0x10370, 0x100000002) ["main.c":627, 0x1200606d4]
(dbx) where> 0 nxm_thread_kill(0x140160ec0, 0x0, 0x14c4af7b0, 0x0, 0x3ff00000000) [0x3ff8058a118]
 1 pthread_kill(0x12000f580, 0x0, 0x11ffffca0, 0x3ffc018a698, 0x3ff00000000) [0x3ff80577950]
 2 (unknown)() [0x3ff8056c224]
 3 (unknown)() [0x3ff807b2178]
 4 (unknown)() [0x3ff807b3564]
 5 exc_unwind(0x8, 0x11fff6920, 0xabadabad00beed00, 0x30ffe0000, 0x3ff807b3834) [0x3ff807b35a4]
 6 exc_raise_signal_exception(0x86, 0x0, 0x3ff8058a118, 0x1, 0x0) [0x3ff807b3830]
 7 (unknown)() [0x3ff805788b8]
 8 nxm_thread_kill(0x0, 0x0, 0x3ff805831ec, 0x3ff8057a740, 0x0) [0x3ff8058a114]
 9 pthread_kill(0x4c546280, 0x32, 0x14c4af7b0, 0x3ffc018a698, 0x100000000) [0x3ff80577950]
 10 (unknown)() [0x3ff80583200]
 11 __tis_raise(0x100000000, 0x140351200, 0x3ff8011391c, 0x100000006, 0x3ff8015e31c) [0x3ff80113918]
 12 raise(0x3ff8011391c, 0x100000006, 0x3ff8015e31c, 0x4c546280, 0x3ff80174ce4) [0x3ff8015e318]
 13 abort(0x120087790, 0x1, 0x3ff805786f0, 0x0, 0x600000000) [0x3ff80174ce0]
 14 death(0x3ff805786f0, 0x0, 0x600000000, 0x14001b940, 0x3ff800d5db4) ["tools.c":268, 0x12008778c]
 15 httpHeaderClean(0x14c4a80b0, 0x3e, 0x1400adff0, 0x9, 0x32) ["HttpHeader.c":314, 0x120051b6c]
 16 httpReplyClean(0x1400adff0, 0x9, 0x32, 0x14c77d000, 0x120056c90) ["HttpReply.c":97, 0x120056bd0]
 17 httpReplyDestroy(0x32, 0x14c77d000, 0x120056c90, 0x14c77d000, 0x120079414) ["HttpReply.c":106, 0x120056c8c]
 18 destroy_MemObject(0x120079414, 0x140c8da80, 0x1200797a0, 0x140c8da80, 0x140c8da80) ["store.c":152, 0x120079410]
 19 storePurgeMem(0x1200797a0, 0x140c8da80, 0x140c8da80, 0x0, 0x12007af18) ["store.c":208, 0x12007979c]
 20 storeGetMemSpace(0x14b5d3800, 0x1400253f8, 0x14feb1d20, 0x11fff7bd0, 0x10000003e) ["store.c":686, 0x12007af14]
 21 storeAppend(0x12007a4a8, 0x1400ae010, 0x11fff79b8, 0x14c608900, 0x1400ae010) ["store.c":409, 0x12007a31c]
 22 storeAppendVPrintf(0x120069950, 0x11fff79b8, 0x11fff7920, 0x100000010, 0x140f3bb80) ["store.c":455, 0x12007a4a4]
 23 packerPrintf(0x11fff79b8, 0x14000c810, 0x63, 0x1f7, 0x14000cb30) ["Packer.c":165, 0x12006994c]
 24 httpStatusLinePackInto(0x11fff79b8, 0x3ff0000000000000, 0x1000001f7, 0x14000c810, 0x150cbb500) ["HttpStatusLine.c":73, 0x12004e9e0]
 25 httpReplyPackInto(0x150cbb500, 0x140c62800, 0x1200570a0, 0x140f3bb80, 0x150cbb500) ["HttpReply.c":152, 0x120056ed0]
 26 httpReplySwapOut(0x120039c60, 0x12007a200, 0x12007a420, 0x140f3bb80, 0x14b5d3800) ["HttpReply.c":181, 0x12005709c]
 27 errorAppendEntry(0x12003c2fc, 0x14d555c00, 0x140f3bb80, 0x140261b20, 0x5) ["errorpage.c":297, 0x120039c5c]
 28 fwdStateFree(0x5, 0x140c3e380, 0x12003c778, 0x14d555c00, 0x1400c36e8) ["forward.c":84, 0x12003c2f8]
 29 fwdServerClosed(0x1400c36e8, 0x14d555c00, 0x12003269c, 0x2e, 0x10000002e) ["forward.c":151, 0x12003c774]
 30 commCallCloseHandlers(0x140261b20, 0x150cbb500, 0x140020890, 0x14d4f6000, 0x1400253f8) ["comm.c":527, 0x120032698]
 31 comm_close(0x1400253f8, 0x2e, 0x12003c8fc, 0x2e, 0x14d555c00) ["comm.c":591, 0x12003289c]
 32 fwdConnectDone(0x14d555c00, 0x2e, 0x1406f2050, 0x0, 0x1400253f8) ["forward.c":174, 0x12003c8f8]
 33 commConnectCallback(0x120031550, 0x14001a3f0, 0x15064bc00, 0x14cce2820, 0xfffffff8) ["comm.c":282, 0x1200316bc]
 34 commConnectDnsHandle(0xfffffff8, 0x12003c790, 0x12005cc84, 0x14d73ee00, 0x1) ["comm.c":259, 0x12003154c]
 35 ipcache_call_pending(0x1, 0x1401ae800, 0x12005d3b8, 0x14d73ee00, 0x1400892e0) ["ipcache.c":245, 0x12005cc80]
 36 ipcacheHandleReply(0x12004b588, 0x140bd9bc0, 0x1406da480, 0x1406f2000, 0x1400c5da8) ["ipcache.c":346, 0x12005d3b4]
 37 helperHandleRead(0x1400c5aa8, 0x14025f690, 0x7, 0x1400c36e8, 0x40) ["helper.c":276, 0x12004b584]
 38 comm_poll(0x140021520, 0x140010800, 0x1400c36e8, 0x5, 0xfffffffffffff123) ["comm_select.c":362, 0x12003455c]
 39 main(0x1, 0x109d8, 0x0, 0x10370, 0x100000002) ["main.c":627, 0x1200606d4]

Patch: delay_pools-segv.patch

Status: fixed for 2.2.STABLE2

Can't compile IP Filter on Solaris/x86 2.7

Version: 2.2, probably others

Platforms: Solaris/x86 2.7

Reported by: gyan prakash (gyanprakash at yahoo dot com)

Synopsis:

gcc -g -Wall -I. -I../include -I../include -c client_side.c
In file included from /usr/include/sys/promif.h:18,
 from /usr/include/inet/ip.h:797,
 from /usr/local/include/ip_compat.h:94,
 from client_side.c:44:
/usr/include/sys/varargs.h:61: warning: `va_start' redefined
/usr/local/lib/gcc-lib/i686-pc-solaris2.7/2.8.1/include/stdarg.h:90: warning: this is the location of the previous definition
/usr/include/sys/varargs.h:62: warning: `va_arg' redefined
/usr/local/lib/gcc-lib/i686-pc-solaris2.7/2.8.1/include/stdarg.h:103: warning: this is the location of the previous definition
etc...

Status: reported

storeGetNextFile: opendir: /cache/00/100: (2) No such file or directory

Version: 2.2.STABLE2

Platforms: All

Reported by: Isabel de la Barra (idelabar at lanchile dot cl)

Synopsis: If Squid performs a slow rebuild (because there is no swap.state file), and you have a missing cache directory, Squid will get stuck on the missing directory.

Patch: store_rebuild.patch

Status: fixed in 2.2.STABLE3

Various problems relating to ftpReadControlReply()

SEGV in wordlistDestroy()

Version: 2.2.STABLE2

Platforms: Digital Unix 4.0D

Reported by: Andrew Kemp (andrew at swin dot edu dot au)

Configuration: --enable-dlmalloc --enable-gnuregex --enable-icmp --enable-delay-pools --enable-snmp --enable-htcp --enable-forw-via-db --enable-cache-digests

Stack trace:

#0 0x3ff800e9c28 in __kill ()
#1 0x3ff8019bc34 in tis_lock_global ()
#2 0x3ff8011391c in tis_raise ()
#3 0x3ff8015e31c in raise ()
#4 0x3ff80174ce4 in abort ()
#5 0x120096c20 in death (sig=1048576) at tools.c:268
#6 <signal handler called>
#7 wordlistDestroy (list=0x146ec3420) at cache_cf.c:94
#8 0x1200453d0 in ftpHandleControlReply (ftpState=0x146ec1360) at ftp.c:1253
#9 0x120045374 in ftpReadControlReply (fd=142, data=0x146ec1360) at ftp.c:1244
#10 0x12003542c in comm_poll (msec=536838136) at comm_select.c:362
#11 0x120063390 in main (argc=2, argv=0x11ffffd28) at main.c:627

Status: reported

cbdataLock() assertion

Version: 2.2.STABLE2

Platforms: HP-UX 10.20

Reported by: silmarils (zulfikri at celcom dot com dot my)

Configuration: Unknown

Stack trace:

(gdb) where
#0 0xc259f130 in kill ()
#1 0xc2504b24 in raise ()
#2 0xc24e4f38 in _sigaddset ()
#3 0xc24dfd64 in _abort ()
#4 0x35eac in xassert (msg=0x401148ac "@021円J(@021円HH@021円H=D4",=20
 file=0x40114a28 "@021円J=F0@021円H4@021円H=AC", line=-1035216500) at debug.c:238
#5 0x2bb64 in cbdataUnlock (p=0x40124b48) at cbdata.c:190
#6 0x395a4 in fwdServerFree (fs=0x4061a5e0) at forward.c:60
#7 0x395e4 in fwdServersFree (FS=0x40570ed4) at forward.c:70
#8 0x396fc in fwdStateFree (fwdState=forward.c:142
#10 0x333e0 in commCallCloseHandlers (fd=32) at comm.c:528
#11 0x3353c in comm_close (fd=32) at comm.c:592
#12 0x416a0 in ftpReadQuit (ftpState=0x0) at ftp.c:2126
#13 0x3f31c in ftpHandleControlReply (ftpState=0x406235b8) at ftp.c:1293
#14 0x3f0e8 in ftpReadControlReply (fd=32, data=0x406235b8) at ftp.c:1242
#15 0x34e3c in comm_select (msec=2063838672) at comm_select.c:666
#16 0x52fcc in main (argc=1073746672, argv=0x7b03abe4) at main.c:607

Status: reported

assertion failed: http.c:890: "delayIsNoDelay(fd) == 0"

Version: 2.2.STABLE2

Platforms: Slackware Linux 2.0.35

Reported by: Andrew A. Razdolsky (rand at kipt dot kharkov dot ua)

Configuration: --enable-delay-pools

Synopsis:

1999年04月23日 09:15:14| storeLateRelease: released 0 objects
1999年04月23日 09:20:28| assertion failed: http.c:890: "delayIsNoDelay(fd) == 0"
1999年04月23日 09:20:31| Starting Squid Cache version 2.2.STABLE2 for i586-pc-linux-gnu...

Stack trace: Nope

Patch: http.c-delay-pools.patch

Status: probably fixed

SEGV related to SNMP

Version: 2.2.STABLE2

Platforms: Sun/Solaris 2.5.1, Sun/Solaris 2.6

Reported by: Matija Grabnar (Matija.Grabnar at arnes dot si)

Configuration: --enable-async-io --enable-snmp --enable-cache-digests --enable-poll

Synopsis: I can trigger the segment violations by starting MRTG collecting SNMP data on another machine.

The crash is caused when I run mrtg through a list of MIBs to graph the performance of Squid. Note that 2.2STABLE1 did not have any problems with that file. I've tried accessing the MIBs one by one with MRTG, and found one which causes a crash every time - but only if I access it with MRTG, not with snmpget. (My mrtg is version 2.7.3, quite recent):

 Target[FoocacheHttpMissSvcTime]: cacheHttpMissSvcTime&cacheHttpMissSvcTime:XXX@Foo.arnes.si:3401
 MaxBytes[FoocacheHttpMissSvcTime]: 100000
 Title[FoocacheHttpMissSvcTime]: cacheServerRequests
 Options[FoocacheHttpMissSvcTime]: gauge, growright
 PageTop[FoocacheHttpMissSvcTime]: <h1>cacheHttpMissSvcTime @Foo.arnes.si<h1>
 YLegend[FoocacheHttpMissSvcTime]:
 LegendI[FoocacheHttpMissSvcTime]: cacheHttpMissSvcTime
 LegendO[FoocacheHttpMissSvcTime]:
 Legend1[FoocacheHttpMissSvcTime]: cacheHttpMissSvcTime
 Legend2[FoocacheHttpMissSvcTime]:

Stack trace: Nope

Status: fixed in 2.2.STABLE3

No Cache Hits

Version: 2.2.STABLE1, 2.2.STABLE2

Platforms: All

Synopsis: Your cache may experience a lower hit ratio after installing this version. This is because the internal cache key format changed in order to fix a compatibility bug. The old key format encoded the request method as a four-octet value. The order of these four octets depended on the byte ordering of the CPU. The cache keys are used in building Cache Digests, and because of the byte ordering bug, caches would experience a large amount of false misses. To fix this bug we now only encode one octet for the request method.

This code actually had a special hack for a "transition period" that would look up both the old and new cache key formats, but we forgot to update the timestamp before releasing 2.2.STABLE1.

Your hit ratio will climb back to normal values as new objects enter the cache.

FATAL: xstrdup: tried to dup a NULL pointer!

Version: 2.2.STABLE2

Platforms: Linux 2.0.32

Configuration: unknown

Reported by: Gero J. Dittmer (Gero.Dittmer at hamburg dot aplnet dot com)

Synopsis:

	1999年04月22日 18:35:08| urlParse: Illegal character in hostname 'www.w&v.de'
	FATAL: xstrdup: tried to dup a NULL pointer!

Stack trace: Nope

Status: fixed in 2.2.STABLE4

Patch: squid-2.2.stable4.null_xstrdup.patch

Preprocessor bugs on HP-UX

Version: 2.2.STABLE2

Platforms: HP-UX, probably only 9.X

Reported by: MIYOSHI Tsutomu (mijosxi at ike dot tottori-u dot ac dot jp)

Synopsis: lib/safe_inet_addr.c:38 needs to use #ifdef instead of #if
src/tools.c:189 has issues with HAVE_GETPAGESIZE != 0

Patches:

Status:

SEGV when requesting openfd_objects via cachemgr

Version: 2.2.STABLE2

Platforms:

Configuration:

	--enable-async-io \
	--enable-delay-pools \
	--enable-snmp \
	--enable-forw-via-db \
	--enable-err-language=Bulgarian \
	--enable-poll \
	--disable-ident-lookups

Reported by:

Stack trace: Nope

Patch: forward.c-delay-pools.patch

Status: fixed by Henrik Nordstrom in 2.2.STABLE3

assertion failed: client_side.c:1194: "size> 0"

Version: 2.2.STABLE2

Platforms: Solaris 2.6 SPARC
Solaris 2.6, compiled with GCC 2.8.1, with --enable-async-io

Reported by: Yung-Zen Lai (yzx at cc dot ntnu dot edu dot tw)
Daryl Collins (daryl at beaker dot htb dot com dot au)

Stack trace: Nope

Status: reported

Compile error in delay_pools.c

Version: 2.2.STABLE2

Platforms:

Reported by:

Synopsis: C compiler does not allow to subtract void pointers.

Patch: delay_pools-void-ptr.patch

Status: Fixed in 2.2.STABLE3



2.2.STABLE1 Bugs

Various bug reports with prefer_direct and always_direct

Version: 2.2.STABLE1

Platforms: All

Synopsis: Requests are forwarded to parents even when always_direct is used.

Patch: peerGetSomeParent.patch

Status: fixed in 2.2.STABLE2

configure gets SQUID_MAXFD wrong on AIX 4.2.x

Version: 2.2.STABLE1

Platforms: AIX 4.2.1

Reported by:

Synopsis: configure reports a huge number for the maximum number of filedescriptors that Squid can open:

	checking Maximum number of filedescriptors we can open... 2147483647
The error isn't really seen until later in the compile process:
	comm_select.c: In function `comm_poll':
	comm_select.c:272: size of array `pfds' is too large

Patch: configure-maxfd.patch

Status: fixed in 2.2.STABLE2

assertion failed: comm.c:694: "p != NULL"

Version: 2.2.STABLE1

Platforms: All

Reported by: Andreas Jung (ajung at sz-sb dot de)

Synopsis: Something (ftp.c?) is trying to remove a comm_close handler that does not exist. Squid dies with this assertion:

	assertion failed: comm.c:694: "p != NULL"
It is related to
	commBind: Cannot bind socket FD 26 to 1.2.3.4:0: (22) Invalid argument

This bug is really with commResetFD(), which resets a file descriptor in order to retry a TCP connection. commResetFD() was closing the file descriptor when the bind() call failed, but it is really the job of fwdConnectDone() to close.

Patch: commResetFD.patch

Status: fixed in 2.2.STABLE2

snmpwalk causes a SEGV

Version: 2.2.STABLE1

Platforms: All, with --enable-snmp

Reported by: Rainer Orth (ro at techfak dot uni-bielefeld dot de)

To reproduce: Run:

	% snmpwalk -v 1 -p <snmp port> <squid host> <community> .1.3.6.1.4.1.3495

Cause: Var->name is NULL in snmp_prfProtoFn().

Patch: snmpInit.patch

Status: fixed in 2.2.STABLE2

assertion failed: acl.c:1811: "0"

Version: 2.2.STABLE1

Platforms: All

Reported by: Jordan Mendelson (jordy at wserv dot com), and
Anatoly A. Orehovsky (tolik at mpeks dot tomsk dot su)

Synopsis: Reconfigure may cause an assertion if you use certain types of ACL elements (srcdom_regex, dstdom_regex)

Patch: acl-assertion.patch

Status: fixed in 2.2.STABLE2

test: =: unary operator expected

Version: 2.2.STABLE1

Platforms: All, when configure doesn't find statvfs.h

Reported by: Tom Minchin (tom at interact dot net dot au)

Synopsis: The configure script references an undefined variable ($ac_cv_func_statvfs) without quoting it. This confuses the test command.

Patch: configure-statvfs.patch

Status: fixed in 2.2.STABLE2

assertion failed: comm.c:423: "ntohs(address->sin_port) !=0"

Versions: 2.2.DEVEL3

Platforms: Digital Alpha, RedHat 5.2 Linux

Reported by: Ole Schuesseler <oles@ine.inet.co.th>

Stack Trace: ``there seems to be no core file''

Status: reported

Stopped reading long error responses

Versions: 2.2.PRE1, 2.2.PRE2, 2.2.DEVEL3

Platforms: all

Reported by: Dirk Nehring <dnehring@telemedia.de>

To reproduce: request http://www.lottoteam.to/cb/marxlotto/pantrag.htm

Status: fixed in 2.2.DEVEL4

assertion failed: comm.c:584: "F->flags.open"

Versions: 2.2.DEVEL3

Platforms: all

Reported by: Pedro Ribeiro" <pribeiro@isel.pt>, others

Synopsis: An aborted FTP PUT request causes this assertion. This is because the pump.c module closes the FTP data socket instead of the control socket. When ftpStateFree goes to close the data socket, we find that it has already been closed.

To reproduce:

	% client -m PUT -P bigfile ftp://user:pass@localhost/bigfile
Then abort (^C) before the transfer completes.

Status: fixed in 2.2.DEVEL4

Compile errors on AIX

Versions: ?? through 2.2.DEVEL2

Platforms: IBM/AIX with AIX C compiler.

Reported by: Vincent Gailliez <vincent.gailliez@systemat.lu>, others

Synopsis: Compile fails in debug.c relating to ``va_arg'', stdarg.h, etc.

Status: fixed in 2.2.DEVEL4

Command line arguments for redirector are ignored.

Versions: ?? through 2.2.DEVEL3

Platforms: All

Reported by: Alex@wgc.chem.pu.ru

Synopsis: The redirector_program was parsed as a single string, not a sequence of words.

Status: fixed in 2.2.DEVEL4

Coredump when asking for cache objects via cachemgr when using Delay Pools.

Versions: 2.2.DEVEL3

Platforms: All, when --use-delay-pools enabled.

Reported by: Chris Tilbury <Chris.Tilbury@warwick.ac.uk>

Synopsis: Cachemgr requests pass FD -1 to delayIsNoDelay(), which causes a SEGV.

Status: fixed in 2.2.DEVEL4


index.tmpl,v 1.4 1999年07月26日 20:39:53 wessels Exp

AltStyle によって変換されたページ (->オリジナル) /