Description of problem: Since F8, squid's transparent HTTP proxying mode has broken. Version-Release number of selected component (if applicable): squid-3.0.STABLE2-3.fc9.x86_64 How reproducible: completely Steps to Reproduce: 1. configure "http_port 8080 transparent" 2. start squid 3. look at access log Actual results: NONE/400 $bytes GET /path/file.html Expected results: TCP_{HIT,MISS}/$code $bytes GET http://www.server.com/path/file.html Additional info: Worked fine in F8 squid 2.6. Non-transparent proxying still works fine.
Yeah, how about we get 3.0-STABLE5 for F9? There could be patches in there that fix this...
BTW, I rebuilt the latest rawhide RPM on F9, but when I attempt to upgrade, I get this (i.e. squid dies misearably): warning: /root/squid-3.0.STABLE5-2.fc9.i386.rpm: Header V3 DSA signature: NOKEY, key ID b832d3e3 Preparing... ########################################### [100%] 1:squid warning: /etc/squid/squid.conf created as /etc/squid/squid.conf.rpmnew ########################################### [100%] *** glibc detected *** squid: free(): invalid next size (fast): 0xb90170b0 *** ======= Backtrace: ========= /lib/libc.so.6[0x4e57e4] /lib/libc.so.6(cfree+0x96)[0x4e7846] squid(xfree+0x21)[0xb7f4f8e1] squid[0xb7ee1a4f] squid[0xb7ee1c84] squid[0xb7e1a22d] squid(main+0x4bf)[0xb7e9921f] /lib/libc.so.6(__libc_start_main+0xe6)[0x48e5d6] squid[0xb7deeba1] ======= Memory map: ======== 00110000-0012c000 r-xp 00000000 fd:00 213122 /lib/ld-2.8.so 0012c000-0012d000 r--p 0001c000 fd:00 213122 /lib/ld-2.8.so 0012d000-0012e000 rw-p 0001d000 fd:00 213122 /lib/ld-2.8.so 0012e000-0012f000 r-xp 0012e000 00:00 0 [vdso] 0012f000-00138000 r-xp 00000000 fd:00 213133 /lib/libcrypt-2.8.so 00138000-00139000 r--p 00009000 fd:00 213133 /lib/libcrypt-2.8.so 00139000-0013a000 rw-p 0000a000 fd:00 213133 /lib/libcrypt-2.8.so 0013a000-00161000 rw-p 0013a000 00:00 0 00161000-001a8000 r-xp 00000000 fd:00 213915 /lib/libssl.so.0.9.8g 001a8000-001ac000 rw-p 00046000 fd:00 213915 /lib/libssl.so.0.9.8g 001ac000-002e3000 r-xp 00000000 fd:00 213913 /lib/libcrypto.so.0.9.8g 002e3000-002f7000 rw-p 00136000 fd:00 213913 /lib/libcrypto.so.0.9.8g 002f7000-002fa000 rw-p 002f7000 00:00 0 002fa000-00302000 r-xp 00000000 fd:00 213157 /lib/librt-2.8.so 00302000-00303000 r--p 00007000 fd:00 213157 /lib/librt-2.8.so 00303000-00304000 rw-p 00008000 fd:00 213157 /lib/librt-2.8.so 00304000-00319000 r-xp 00000000 fd:00 213153 /lib/libpthread-2.8.so 00319000-0031a000 r--p 00014000 fd:00 213153 /lib/libpthread-2.8.so 0031a000-0031b000 rw-p 00015000 fd:00 213153 /lib/libpthread-2.8.so 0031b000-0031d000 rw-p 0031b000 00:00 0 0031d000-00320000 r-xp 00000000 fd:00 213135 /lib/libdl-2.8.so 00320000-00321000 r--p 00002000 fd:00 213135 /lib/libdl-2.8.so 00321000-00322000 rw-p 00003000 fd:00 213135 /lib/libdl-2.8.so 00322000-00333000 r-xp 00000000 fd:00 213155 /lib/libresolv-2.8.so 00333000-00334000 r--p 00010000 fd:00 213155 /lib/libresolv-2.8.so 00334000-00335000 rw-p 00011000 fd:00 213155 /lib/libresolv-2.8.so 00335000-00337000 rw-p 00335000 00:00 0 00337000-0034d000 r-xp 00000000 fd:00 213139 /lib/libnsl-2.8.so 0034d000-0034e000 r--p 00015000 fd:00 213139 /lib/libnsl-2.8.so 0034e000-0034f000 rw-p 00016000 fd:00 213139 /lib/libnsl-2.8.so 0034f000-00351000 rw-p 0034f000 00:00 0 00351000-00436000 r-xp 00000000 fd:00 297905 /usr/lib/libstdc++.so.6.0.10 00436000-0043a000 r--p 000e4000 fd:00 297905 /usr/lib/libstdc++.so.6.0.10 0043a000-0043b000 rw-p 000e8000 fd:00 297905 /usr/lib/libstdc++.so.6.0.10 0043b000-00441000 rw-p 0043b000 00:00 0 00441000-00468000 r-xp 00000000 fd:00 213137 /lib/libm-2.8.so 00468000-00469000 r--p 00026000 fd:00 213137 /lib/libm-2.8.so 00469000-0046a000 rw-p 00027000 fd:00 213137 /lib/libm-2.8.so 0046a000-00477000 r-xp 00000000 fd:00 213187 /lib/libgcc_s-4.3.0-20080428.so.1 00477000-00478000 rw-p 0000c000 fd:00 213187 /lib/libgcc_s-4.3.0-20080428.so.1 00478000-005db000 r-xp 00000000 fd:00 213129 /lib/libc-2.8.so 005db000-005dd000 r--p 00163000 fd:00 213129 /lib/libc-2.8.so 005dd000-005de000 rw-p 00165000 fd:00 213129 /lib/libc-2.8.so 005de000-005e1000 rw-p 005de000 00:00 0 005e1000-0060e000 r-xp 00000000 fd:00 297395 /usr/lib/libgssapi_krb5.so.2.2 0060e000-0060f000 rw-p 0002d000 fd:00 297395 /usr/lib/libgssapi_krb5.so.2.2 0060f000-006ac000 r-xp 00000000 fd:00 298221 /usr/lib/libkrb5.so.3.3 006ac000-006af000 rw-p 0009c000 fd:00 298221 /usr/lib/libkrb5.so.3.3 006af000-006b1000 r-xp 00000000 fd:00 213254 /lib/libcom_err.so.2.1 006b1000-006b2000 rw-p 00001000 fd:00 213254 /lib/libcom_err.so.2.1 006b2000-006d6000 r-xp 00000000 fd:00 297606 /usr/lib/libk5crypto.so.3.1 006d6000-006d7000 rw-p 00024000 fd:00 297606 /usr/lib/libk5crypto.so.3.1 006d7000-006ea000 r-xp 00000000 fd:00 213168 /lib/libz.so.1.2.3 006ea000-006eb000 rw-p 00012000 fd:00 213168 /lib/libz.so.1.2.3 006eb000-006f3000 r-xp 00000000 fd:00 298323 /usr/lib/libkrb5support.so.0.1 006f3000-006f4000 rw-p 00007000 fd:00 298323 /usr/lib/libkrb5support.so.0.1 006f4000-006f6000 r-xp 00000000 fd:00 213902 /lib/libkeyutils-1.2.so 006f6000-006f7000 rw-p 00001000 fd:00 213902 /lib/libkeyutils-1.2.so 006f7000-00711000 r-xp 00000000 fd:00 213212 /lib/libselinux.so.1 00711000-00712000 r--p 00019000 fd:00 213212 /lib/libselinux.so.1 00712000-00713000 rw-p 0001a000 fd:00 213212 /lib/libselinux.so.1 00713000-0071d000 r-xp 00000000 fd:00 213145 /lib/libnss_files-2.8.so 0071d000-0071e000 r--p 0000a000 fd:00 213145 /lib/libnss_files-2.8.so 0071e000-0071f000 rw-p 0000b000 fd:00 213145 /lib/libnss_files-2.8.so 0071f000-0076e000 r-xp 00000000 fd:00 301550 /usr/lib/libnss_ldap-259.so 0076e000-00770000 rw-p 0004e000 fd:00 301550 /usr/lib/libnss_ldap-259.so 00770000-0077b000 rw-p 00770000 00:00 0 0077b000-00793000 r-xp 00000000 fd:00 296477 /usr/lib/libsasl2.so.2.0.22 00793000-00794000 rw-p 00017000 fd:00 296477 /usr/lib/libsasl2.so.2.0.22 b7c00000-b7c21000 rw-p b7c00000 00:00 0 b7c21000-b7d00000 ---p b7c21000 00:00 0 b7d46000-b7dce000 rw-p b7d46000 00:00 0 b7dd6000-b7fbf000 r-xp 00000000 fd:00 295052 /usr/sbin/squid b7fbf000-b7fc7000 rw-p 001e9000 fd:00 295052 /usr/sbin/squid b7fc7000-b80c2000 rw-p b7fc7000 00:00 0 b8f80000-b908c000 rw-p b8f80000 00:00 0 [heap] bf9aa000-bf9bf000 rw-p bffeb000 00:00 0 [stack] *** glibc detected *** squid: free(): invalid next size (fast): 0xb8d200b0 *** ======= Backtrace: ========= /lib/libc.so.6[0x4e57e4] /lib/libc.so.6(cfree+0x96)[0x4e7846] squid(xfree+0x21)[0xb7ff28e1] squid[0xb7f84a4f] squid[0xb7f84c84] squid[0xb7ebd22d] squid(main+0x4bf)[0xb7f3c21f] /lib/libc.so.6(__libc_start_main+0xe6)[0x48e5d6] squid[0xb7e91ba1] ======= Memory map: ======== 00110000-0012c000 r-xp 00000000 fd:00 213122 /lib/ld-2.8.so 0012c000-0012d000 r--p 0001c000 fd:00 213122 /lib/ld-2.8.so 0012d000-0012e000 rw-p 0001d000 fd:00 213122 /lib/ld-2.8.so 0012e000-0012f000 r-xp 0012e000 00:00 0 [vdso] 0012f000-00138000 r-xp 00000000 fd:00 213133 /lib/libcrypt-2.8.so 00138000-00139000 r--p 00009000 fd:00 213133 /lib/libcrypt-2.8.so 00139000-0013a000 rw-p 0000a000 fd:00 213133 /lib/libcrypt-2.8.so 0013a000-00161000 rw-p 0013a000 00:00 0 00161000-001a8000 r-xp 00000000 fd:00 213915 /lib/libssl.so.0.9.8g 001a8000-001ac000 rw-p 00046000 fd:00 213915 /lib/libssl.so.0.9.8g 001ac000-002e3000 r-xp 00000000 fd:00 213913 /lib/libcrypto.so.0.9.8g 002e3000-002f7000 rw-p 00136000 fd:00 213913 /lib/libcrypto.so.0.9.8g 002f7000-002fa000 rw-p 002f7000 00:00 0 002fa000-00302000 r-xp 00000000 fd:00 213157 /lib/librt-2.8.so 00302000-00303000 r--p 00007000 fd:00 213157 /lib/librt-2.8.so 00303000-00304000 rw-p 00008000 fd:00 213157 /lib/librt-2.8.so 00304000-00319000 r-xp 00000000 fd:00 213153 /lib/libpthread-2.8.so 00319000-0031a000 r--p 00014000 fd:00 213153 /lib/libpthread-2.8.so 0031a000-0031b000 rw-p 00015000 fd:00 213153 /lib/libpthread-2.8.so 0031b000-0031d000 rw-p 0031b000 00:00 0 0031d000-00320000 r-xp 00000000 fd:00 213135 /lib/libdl-2.8.so 00320000-00321000 r--p 00002000 fd:00 213135 /lib/libdl-2.8.so 00321000-00322000 rw-p 00003000 fd:00 213135 /lib/libdl-2.8.so 00322000-00333000 r-xp 00000000 fd:00 213155 /lib/libresolv-2.8.so 00333000-00334000 r--p 00010000 fd:00 213155 /lib/libresolv-2.8.so 00334000-00335000 rw-p 00011000 fd:00 213155 /lib/libresolv-2.8.so 00335000-00337000 rw-p 00335000 00:00 0 00337000-0034d000 r-xp 00000000 fd:00 213139 /lib/libnsl-2.8.so 0034d000-0034e000 r--p 00015000 fd:00 213139 /lib/libnsl-2.8.so 0034e000-0034f000 rw-p 00016000 fd:00 213139 /lib/libnsl-2.8.so 0034f000-00351000 rw-p 0034f000 00:00 0 00351000-00436000 r-xp 00000000 fd:00 297905 /usr/lib/libstdc++.so.6.0.10 00436000-0043a000 r--p 000e4000 fd:00 297905 /usr/lib/libstdc++.so.6.0.10 0043a000-0043b000 rw-p 000e8000 fd:00 297905 /usr/lib/libstdc++.so.6.0.10 0043b000-00441000 rw-p 0043b000 00:00 0 00441000-00468000 r-xp 00000000 fd:00 213137 /lib/libm-2.8.so 00468000-00469000 r--p 00026000 fd:00 213137 /lib/libm-2.8.so 00469000-0046a000 rw-p 00027000 fd:00 213137 /lib/libm-2.8.so 0046a000-00477000 r-xp 00000000 fd:00 213187 /lib/libgcc_s-4.3.0-20080428.so.1 00477000-00478000 rw-p 0000c000 fd:00 213187 /lib/libgcc_s-4.3.0-20080428.so.1 00478000-005db000 r-xp 00000000 fd:00 213129 /lib/libc-2.8.so 005db000-005dd000 r--p 00163000 fd:00 213129 /lib/libc-2.8.so 005dd000-005de000 rw-p 00165000 fd:00 213129 /lib/libc-2.8.so 005de000-005e1000 rw-p 005de000 00:00 0 005e1000-0060e000 r-xp 00000000 fd:00 297395 /usr/lib/libgssapi_krb5.so.2.2 0060e000-0060f000 rw-p 0002d000 fd:00 297395 /usr/lib/libgssapi_krb5.so.2.2 0060f000-006ac000 r-xp 00000000 fd:00 298221 /usr/lib/libkrb5.so.3.3 006ac000-006af000 rw-p 0009c000 fd:00 298221 /usr/lib/libkrb5.so.3.3 006af000-006b1000 r-xp 00000000 fd:00 213254 /lib/libcom_err.so.2.1 006b1000-006b2000 rw-p 00001000 fd:00 213254 /lib/libcom_err.so.2.1 006b2000-006d6000 r-xp 00000000 fd:00 297606 /usr/lib/libk5crypto.so.3.1 006d6000-006d7000 rw-p 00024000 fd:00 297606 /usr/lib/libk5crypto.so.3.1 006d7000-006ea000 r-xp 00000000 fd:00 213168 /lib/libz.so.1.2.3 006ea000-006eb000 rw-p 00012000 fd:00 213168 /lib/libz.so.1.2.3 006eb000-006f3000 r-xp 00000000 fd:00 298323 /usr/lib/libkrb5support.so.0.1 006f3000-006f4000 rw-p 00007000 fd:00 298323 /usr/lib/libkrb5support.so.0.1 006f4000-006f6000 r-xp 00000000 fd:00 213902 /lib/libkeyutils-1.2.so 006f6000-006f7000 rw-p 00001000 fd:00 213902 /lib/libkeyutils-1.2.so 006f7000-00711000 r-xp 00000000 fd:00 213212 /lib/libselinux.so.1 00711000-00712000 r--p 00019000 fd:00 213212 /lib/libselinux.so.1 00712000-00713000 rw-p 0001a000 fd:00 213212 /lib/libselinux.so.1 00713000-0071d000 r-xp 00000000 fd:00 213145 /lib/libnss_files-2.8.so 0071d000-0071e000 r--p 0000a000 fd:00 213145 /lib/libnss_files-2.8.so 0071e000-0071f000 rw-p 0000b000 fd:00 213145 /lib/libnss_files-2.8.so 0071f000-0076e000 r-xp 00000000 fd:00 301550 /usr/lib/libnss_ldap-259.so 0076e000-00770000 rw-p 0004e000 fd:00 301550 /usr/lib/libnss_ldap-259.so 00770000-0077b000 rw-p 00770000 00:00 0 0077b000-00793000 r-xp 00000000 fd:00 296477 /usr/lib/libsasl2.so.2.0.22 00793000-00794000 rw-p 00017000 fd:00 296477 /usr/lib/libsasl2.so.2.0.22 b7c00000-b7c21000 rw-p b7c00000 00:00 0 b7c21000-b7d00000 ---p b7c21000 00:00 0 b7de9000-b7e71000 rw-p b7de9000 00:00 0 b7e79000-b8062000 r-xp 00000000 fd:00 295052 /usr/sbin/squid b8062000-b806a000 rw-p 001e9000 fd:00 295052 /usr/sbin/squid b806a000-b8165000 rw-p b806a000 00:00 0 b8c89000-b8d95000 rw-p b8c89000 00:00 0 [heap] bf94c000-bf961000 rw-p bffeb000 00:00 0 [stack]
This crash from comment #2 happens in src/tools.cc, line 1390. From what I can see there by looking briefly at it, it's a legitimate free, but something else must have gone wrong. Also, for me this problem (hostname being stripped) only occurs for some FQDNs, namely on my own domain. Not sure why...
Actually, on closer inspection, there appears to be a problem with allocation. I think it should be as below. Anyhow, even that doesn't fix it - there is still a crash. There must be other heap corruption somewhere... --- squid-3.0.STABLE5/src/tools.cc.orig 2008-05-19 21:47:18.000000000 +1000 +++ squid-3.0.STABLE5/src/tools.cc 2008-05-19 21:47:34.000000000 +1000 @@ -1343,8 +1343,8 @@ restoreCapabilities(int keep) { #if defined(_SQUID_LINUX_) && HAVE_SYS_CAPABILITY_H - cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(cap_user_header_t)); - cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(cap_user_data_t)); + cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(*head)); + cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(*cap)); head->version = _LINUX_CAPABILITY_VERSION;
This call screws things up (line 1351 of tools.cc): if (capget(head, cap) != 0) { I'm guessing even after the above patch, there is still not enough space allocated for what capget stuffs into the structures, possibly indicating that /usr/include/linux/capabilities.h is busted. If I do this (numbers pulled out of my arse, of course :-): ------------------------------------------------------------------------ --- squid-3.0.STABLE5/src/tools.cc.orig 2008-05-19 21:47:18.000000000 +1000 +++ squid-3.0.STABLE5/src/tools.cc 2008-05-19 21:47:34.000000000 +1000 @@ -1343,8 +1343,8 @@ restoreCapabilities(int keep) { #if defined(_SQUID_LINUX_) && HAVE_SYS_CAPABILITY_H - cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(cap_user_header_t)); - cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(cap_user_data_t)); + cap_user_header_t head = (cap_user_header_t) xcalloc(1, 200); + cap_user_data_t cap = (cap_user_data_t) xcalloc(1, 400); head->version = _LINUX_CAPABILITY_VERSION; ------------------------------------------------------------------------ Squid then starts OK.
BTW, when I get STABLE5 into place, transparent proxying appears to work fine. So, that's the ticket for this bug.
*sigh*, this is the same as bug 435499 but I still can't reproduce it. I'll see what I can do..
Someone who can reproduce this, please give me the output of iptables-save. Thanks.
BTW, the fix for Squid code is now upstream: http://www.squid-cache.org/bugs/show_bug.cgi?id=2350
Please note that just released STABLE6 does not include the fix from bug 2350.
I've built a new rawhide package, updated to STABLE6 and included the fix. Please try it and let me know how it works for you. If there won't be any problems, I'll update it also for F9. http://koji.fedoraproject.org/koji/taskinfo?taskID=622225
OK, will do. I'm hoping the fix includes the fix for bug #447518 as well, correct?
Yes, I have included the patch you provided in comment #9
I built your .fc10 package (from koji) for F9 and it has fixed the bug for me. Thanks!
The patch from comment #9 is (unfortunately) not sufficient to address the issue. That's because capget() overflows buffers (see bug #447518). When I rebuild on F9, I get: ------------------------------------------------------ *** glibc detected *** squid: free(): invalid next size (fast): 0xb879a720 *** ======= Backtrace: ========= /lib/libc.so.6[0x4e77e4] /lib/libc.so.6(cfree+0x96)[0x4e9846] squid(xfree+0x21)[0xb8013b71] squid[0xb7fa5b7f] squid[0xb7fa5db4] squid[0xb7ede23d] squid(main+0x4bf)[0xb7f5d2df] /lib/libc.so.6(__libc_start_main+0xe6)[0x4905d6] squid[0xb7eb2ba1] ======= Memory map: ======== 00110000-0012c000 r-xp 00000000 08:02 2820377 /lib/ld-2.8.so 0012c000-0012d000 r--p 0001c000 08:02 2820377 /lib/ld-2.8.so 0012d000-0012e000 rw-p 0001d000 08:02 2820377 /lib/ld-2.8.so 0012e000-0012f000 r-xp 0012e000 00:00 0 [vdso] 0012f000-00138000 r-xp 00000000 08:02 2820391 /lib/libcrypt-2.8.so 00138000-00139000 r--p 00009000 08:02 2820391 /lib/libcrypt-2.8.so 00139000-0013a000 rw-p 0000a000 08:02 2820391 /lib/libcrypt-2.8.so 0013a000-00161000 rw-p 0013a000 00:00 0 00161000-001a8000 r-xp 00000000 08:02 2820403 /lib/libssl.so.0.9.8g 001a8000-001ac000 rw-p 00046000 08:02 2820403 /lib/libssl.so.0.9.8g 001ac000-002e3000 r-xp 00000000 08:02 2820402 /lib/libcrypto.so.0.9.8g 002e3000-002f7000 rw-p 00136000 08:02 2820402 /lib/libcrypto.so.0.9.8g 002f7000-002fa000 rw-p 002f7000 00:00 0 002fa000-00302000 r-xp 00000000 08:02 2820380 /lib/librt-2.8.so 00302000-00303000 r--p 00007000 08:02 2820380 /lib/librt-2.8.so 00303000-00304000 rw-p 00008000 08:02 2820380 /lib/librt-2.8.so 00304000-00319000 r-xp 00000000 08:02 2820379 /lib/libpthread-2.8.so 00319000-0031a000 r--p 00014000 08:02 2820379 /lib/libpthread-2.8.so 0031a000-0031b000 rw-p 00015000 08:02 2820379 /lib/libpthread-2.8.so 0031b000-0031d000 rw-p 0031b000 00:00 0 0031d000-00320000 r-xp 00000000 08:02 2820381 /lib/libdl-2.8.so 00320000-00321000 r--p 00002000 08:02 2820381 /lib/libdl-2.8.so 00321000-00322000 rw-p 00003000 08:02 2820381 /lib/libdl-2.8.so 00322000-00333000 r-xp 00000000 08:02 2820400 /lib/libresolv-2.8.so 00333000-00334000 r--p 00010000 08:02 2820400 /lib/libresolv-2.8.so 00334000-00335000 rw-p 00011000 08:02 2820400 /lib/libresolv-2.8.so 00335000-00337000 rw-p 00335000 00:00 0 00337000-0034d000 r-xp 00000000 08:02 2820398 /lib/libnsl-2.8.so 0034d000-0034e000 r--p 00015000 08:02 2820398 /lib/libnsl-2.8.so 0034e000-0034f000 rw-p 00016000 08:02 2820398 /lib/libnsl-2.8.so 0034f000-00351000 rw-p 0034f000 00:00 0 00351000-00438000 r-xp 00000000 08:02 1156606 /usr/lib/libstdc++.so.6.0.10 00438000-0043c000 r--p 000e6000 08:02 1156606 /usr/lib/libstdc++.so.6.0.10 0043c000-0043e000 rw-p 000ea000 08:02 1156606 /usr/lib/libstdc++.so.6.0.10 0043e000-00443000 rw-p 0043e000 00:00 0 00443000-0046a000 r-xp 00000000 08:02 2820389 /lib/libm-2.8.so 0046a000-0046b000 r--p 00026000 08:02 2820389 /lib/libm-2.8.so 0046b000-0046c000 rw-p 00027000 08:02 2820389 /lib/libm-2.8.so 0046c000-00479000 r-xp 00000000 08:02 2818255 /lib/libgcc_s-4.3.0-20080428.so.1 00479000-0047a000 rw-p 0000c000 08:02 2818255 /lib/libgcc_s-4.3.0-20080428.so.1 0047a000-005dd000 r-xp 00000000 08:02 2820378 /lib/libc-2.8.so 005dd000-005df000 r--p 00163000 08:02 2820378 /lib/libc-2.8.so 005df000-005e0000 rw-p 00165000 08:02 2820378 /lib/libc-2.8.so 005e0000-005e3000 rw-p 005e0000 00:00 0 005e3000-00610000 r-xp 00000000 08:02 1162654 /usr/lib/libgssapi_krb5.so.2.2 00610000-00612000 rw-p 0002d000 08:02 1162654 /usr/lib/libgssapi_krb5.so.2.2 00612000-006af000 r-xp 00000000 08:02 1162641 /usr/lib/libkrb5.so.3.3 006af000-006b2000 rw-p 0009c000 08:02 1162641 /usr/lib/libkrb5.so.3.3 006b2000-006b4000 r-xp 00000000 08:02 2820401 /lib/libcom_err.so.2.1 006b4000-006b5000 rw-p 00001000 08:02 2820401 /lib/libcom_err.so.2.1 006b5000-006d9000 r-xp 00000000 08:02 1162614 /usr/lib/libk5crypto.so.3.1 006d9000-006da000 rw-p 00024000 08:02 1162614 /usr/lib/libk5crypto.so.3.1 006da000-006ed000 r-xp 00000000 08:02 2820392 /lib/libz.so.1.2.3 006ed000-006ee000 rw-p 00012000 08:02 2820392 /lib/libz.so.1.2.3 006ee000-006f6000 r-xp 00000000 08:02 1161479 /usr/lib/libkrb5support.so.0.1 006f6000-006f7000 rw-p 00007000 08:02 1161479 /usr/lib/libkrb5support.so.0.1 006f7000-006f9000 r-xp 00000000 08:02 2820399 /lib/libkeyutils-1.2.so 006f9000-006fa000 rw-p 00001000 08:02 2820399 /lib/libkeyutils-1.2.so 006fa000-00714000 r-xp 00000000 08:02 2820382 /lib/libselinux.so.1 00714000-00715000 r--p 00019000 08:02 2820382 /lib/libselinux.so.1 00715000-00716000 rw-p 0001a000 08:02 2820382 /lib/libselinux.so.1 00716000-00720000 r-xp 00000000 08:02 2818405 /lib/libnss_files-2.8.so 00720000-00721000 r--p 0000a000 08:02 2818405 /lib/libnss_files-2.8.so 00721000-00722000 rw-p 0000b000 08:02 2818405 /lib/libnss_files-2.8.so 00722000-00771000 r-xp 00000000 08:02 1172758 /usr/lib/libnss_ldap-259.so 00771000-00773000 rw-p 0004e000 08:02 1172758 /usr/lib/libnss_ldap-259.so 00773000-0077e000 rw-p 00773000 00:00 0 0077e000-00796000 r-xp 00000000 08:02 1168391 /usr/lib/libsasl2.so.2.0.22 00796000-00797000 rw-p 00017000 08:02 1168391 /usr/lib/libsasl2.so.2.0.22 00797000-0079b000 r-xp 00000000 08:02 2818404 /lib/libnss_dns-2.8.so 0079b000-0079c000 r--p 00003000 08:02 2818404 /lib/libnss_dns-2.8.so 0079c000-0079d000 rw-p 00004000 08:02 2818404 /lib/libnss_dns-2.8.so b7c00000-b7c21000 rw-p b7c00000 00:00 0 b7c21000-b7d00000 ---p b7c21000 00:00 0 b7dfb000-b7e83000 rw-p b7dfb000 00:00 0 b7e9a000-b8083000 r-xp 00000000 08:02 1152162 /usr/sbin/squid b8083000-b808b000 rw-p 001e9000 08:02 1152162 /usr/sbin/squid b808b000-b8186000 rw-p b808b000 00:00 0 b869a000-b882b000 rw-p b869a000 00:00 0 [heap] bff6d000-bff82000 rw-p bffeb000 00:00 0 [stack] /etc/init.d/squid: line 62: 7164 Aborted $SQUID -k parse Starting squid: [FAILED] ------------------------------------------------------ This is with squid-3.0.STABLE6-1.fc9.i386 in F9 i686. I think we'll need to wait for kernel folks to tell us what's going on here... PS. Trivial (and incorrect) workaround for this issue is to allocate double the space required, like this: cap_user_data_t cap = (cap_user_data_t) xcalloc(1, 2 * sizeof(*cap));
Created attachment 306446 [details] Capability version patch As suggested by kernel folks, as a short term solution for the problem at hand.
Here is a scratch build of squid for F-9 http://koji.fedoraproject.org/koji/taskinfo?taskID=626036 Please try if this finally solves the problem.
Sorry, can't get to the build right now (Koji seems slow or out of action). Will check when I get a chance, but I'm pretty confident that should be it. BTW, that second patch is now also in Squid and kernel folks are thinking of reverting the headers. In any event, the patch should cause no harm.
That build from comment #17 is looking good!
squid-3.0.STABLE6-1.fc9 has been submitted as an update for Fedora 9
squid-3.0.STABLE6-1.fc9 has been pushed to the Fedora 9 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update squid'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-4500
squid-3.0.STABLE6-1.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.