See <http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/313/changes>
Changes: [Christos Tsantilas] author: Martin Huter <[email protected]>, Alex Rousskov <[email protected]>, Christos Tsantilas <[email protected]> Bug 2619: Excessive RAM growth due to unlimited adapted body data consumption If the client does not read from the open connection (i.e. the user does not confirm the browsers download-message-box in microsofts IE), squid keeps on reading data from the ICAP server into the store entry, while no more data can be delivered to the client. Thus the store entry in memory is growing and squid may - in worst case - consume memory up to the size of the users download. This patch add API to StoreEntry to call the producer back when released memory/space from the StoreEntry and add code to the ICAP client code to not consume body data comes from the ICAP server when there is not available space in the store entry. [Christos Tsantilas] Fill access log's %error_detail when responding with ERR_SECURE_CONNECT_FAIL. This is a Measurement Factory project [Amos Jeffries] Bug 3423: access violation in URL parser ------------------------------------------ [...truncated 6960 lines...] Testing ../../src/ICP.h ...Ok. Testing ../../src/icp_opcode.h ...Ok. Testing ../../src/ipcache.h ...Ok. Testing ../../src/LeakFinder.h ...Ok. Testing ../../src/LoadableModule.h ...Ok. Testing ../../src/LoadableModules.h ...Ok. Testing ../../src/lookup_t.h ...Ok. Testing ../../src/MemBlob.h ...Ok. Testing ../../src/MemBuf.h ...Ok. Testing ../../src/Mem.h ...Ok. Testing ../../src/mem_node.h ...Ok. Testing ../../src/MemObject.h ...Ok. Testing ../../src/MemStore.h ...Ok. Testing ../../src/NullDelayId.h ...Ok. Testing ../../src/Packer.h ...Ok. Testing ../../src/Parsing.h ...Ok. Testing ../../src/pconn.h ...Ok. Testing ../../src/PeerDigest.h ...Ok. Testing ../../src/PeerSelectState.h ...Ok. Testing ../../src/PingData.h ...Ok. Testing ../../src/ProtoPort.h ...Ok. Testing ../../src/protos.h ...Ok. Testing ../../src/RemovalPolicy.h ...Ok. Testing ../../src/Server.h ...Ok. Testing ../../src/snmp_core.h ...Ok. Testing ../../src/squid.h ...Ok. Testing ../../src/SquidMath.h ...Ok. Testing ../../src/SquidString.h ...Ok. Testing ../../src/SquidTime.h ...Ok. Testing ../../src/stmem.h ...Ok. Testing ../../src/StoreClient.h ...Ok. Testing ../../src/StoreEntryStream.h ...Ok. Testing ../../src/StoreFileSystem.h ...Ok. Testing ../../src/Store.h ...Ok. Testing ../../src/StoreHashIndex.h ...Ok. Testing ../../src/StoreIOBuffer.h ...Ok. Testing ../../src/StoreIOState.h ...Ok. Testing ../../src/StoreMeta.h ...Ok. Testing ../../src/StoreMetaMD5.h ...Ok. Testing ../../src/StoreMetaObjSize.h ...Ok. Testing ../../src/StoreMetaSTD.h ...Ok. Testing ../../src/StoreMetaSTDLFS.h ...Ok. Testing ../../src/StoreMetaUnpacker.h ...Ok. Testing ../../src/StoreMetaURL.h ...Ok. Testing ../../src/StoreMetaVary.h ...Ok. Testing ../../src/StoreSearch.h ...Ok. Testing ../../src/StoreStats.h ...Ok. Testing ../../src/StoreSwapLogData.h ...Ok. Testing ../../src/structs.h ...Ok. Testing ../../src/SwapDir.h ...Ok. Testing ../../src/swap_log_op.h ...Ok. Testing ../../src/TimeOrTag.h ...Ok. Testing ../../src/typedefs.h ...Ok. Testing ../../src/URL.h ...Ok. Testing ../../src/URLScheme.h ...Ok. Testing ../../src/wordlist.h ...Ok. Testing ../../src/DiskIO/DiskFile.h ...Ok. Testing ../../src/DiskIO/DiskIOModule.h ...Ok. Testing ../../src/DiskIO/DiskIOStrategy.h ...Ok. Testing ../../src/DiskIO/IORequestor.h ...Ok. Testing ../../src/DiskIO/ReadRequest.h ...Ok. Testing ../../src/DiskIO/WriteRequest.h ...Ok. Testing ../../src/DiskIO/AIO/AIODiskFile.h ...Ok. Testing ../../src/DiskIO/AIO/AIODiskIOModule.h ...Ok. Testing ../../src/DiskIO/AIO/AIODiskIOStrategy.h ...Ok. Testing ../../src/DiskIO/AIO/aio_win32.h ...Ok. Testing ../../src/DiskIO/AIO/async_io.h ...Ok. Testing ../../src/DiskIO/Blocking/BlockingDiskIOModule.h ...Ok. Testing ../../src/DiskIO/Blocking/BlockingFile.h ...Ok. Testing ../../src/DiskIO/Blocking/BlockingIOStrategy.h ...Ok. Testing ../../src/DiskIO/DiskDaemon/diomsg.h ...Ok. Testing ../../src/DiskIO/DiskDaemon/DiskdAction.h ...Ok. Testing ../../src/DiskIO/DiskDaemon/DiskDaemonDiskIOModule.h ...Ok. Testing ../../src/DiskIO/DiskDaemon/DiskdFile.h ...Ok. Testing ../../src/DiskIO/DiskDaemon/DiskdIOStrategy.h ...Ok. Testing ../../src/DiskIO/DiskThreads/DiskThreadsDiskFile.h ...Ok. Testing ../../src/DiskIO/DiskThreads/DiskThreadsDiskIOModule.h ...Ok. Testing ../../src/DiskIO/DiskThreads/DiskThreads.h ...Ok. Testing ../../src/DiskIO/DiskThreads/DiskThreadsIOStrategy.h ...Ok. Testing ../../src/DiskIO/IpcIo/IpcIoDiskIOModule.h ...Ok. Testing ../../src/DiskIO/IpcIo/IpcIoFile.h ...Ok. Testing ../../src/DiskIO/IpcIo/IpcIoIOStrategy.h ...Ok. Testing ../../src/DiskIO/Mmapped/MmappedDiskIOModule.h ...Ok. Testing ../../src/DiskIO/Mmapped/MmappedFile.h ...Ok. Testing ../../src/DiskIO/Mmapped/MmappedIOStrategy.h ...Ok. .. OK (2) PASS: tests/testACLMaxUserIP . OK (1) PASS: tests/testBoilerplate .. OK (2) PASS: tests/testCacheManager . OK (1) PASS: tests/testDiskIO ..Actual Text: Last event to run: last event Operation \tNext Execution \tWeight\tCallback Valid? test event \t0.000 sec\t 0\t N/A test event2 \t0.000 sec\t 0\t N/A .... OK (6) PASS: tests/testEvent ... OK (3) PASS: tests/testEventLoop PASS: tests/test_http_range . OK (1) PASS: tests/testHttpParser . OK (1) PASS: tests/testHttpReply ............. OK (13) PASS: tests/testHttpRequest Not implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implemented........... OK (11) PASS: tests/testStore .... OK (4) PASS: tests/testString stub time| persistent connection module initialized .......... OK (10) PASS: tests/testURL . OK (1) PASS: tests/testConfigParser Not implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implementedNot implemented.. OK (2) PASS: tests/testRock Not implementedNot implemented.. OK (2) PASS: tests/testUfs PASS: testHeaders =================== All 17 tests passed =================== make[5]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src'> make[4]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src'> make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src'> Making check in tools make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> Making check in purge make[3]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools/purge'> make make[4]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools/purge'> make[4]: Nothing to be done for `all'. make[4]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools/purge'> make check-TESTS make[4]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools/purge'> ================== All 0 tests passed ================== make[4]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools/purge'> make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools/purge'> make[3]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> make make[4]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> Making all in purge make[5]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools/purge'> make[5]: Nothing to be done for `all'. make[5]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools/purge'> make[5]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> make[5]: Nothing to be done for `all-am'. make[5]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> make[4]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> make check-TESTS make[4]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> ================== All 0 tests passed ================== make[4]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/tools'> Making check in test-suite make[2]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/test-suite'> make debug MemPoolTest mem_node_test mem_hdr_test refcount splay StackTest syntheticoperators VirtualDeleteOperator make[3]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/test-suite'> depbase=`echo debug.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ ccache g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../include -I../../test-suite -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -MT debug.o -MD -MP -MF $depbase.Tpo -c -o debug.o ../../test-suite/debug.cc &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo test_tools.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ ccache g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../include -I../../test-suite -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -MT test_tools.o -MD -MP -MF $depbase.Tpo -c -o test_tools.o ../../test-suite/test_tools.cc &&\ mv -f $depbase.Tpo $depbase.Po depbase=`echo stub_debug.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ ccache g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../include -I../../test-suite -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -MT stub_debug.o -MD -MP -MF $depbase.Tpo -c -o stub_debug.o ../../test-suite/stub_debug.cc &&\ mv -f $depbase.Tpo $depbase.Po /bin/bash ../libtool --tag=CXX --mode=link ccache g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -g -o debug debug.o test_tools.o stub_debug.o ../src/globals.o ../src/time.o ../lib/libmiscutil.la -L../compat -lcompat-squid -lm -lnsl -lresolv -lcap -lrt -ldl -ldl libtool: link: ccache g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -g -o debug debug.o test_tools.o stub_debug.o ../src/globals.o ../src/time.o ../lib/.libs/libmiscutil.a -L<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/compat> -lcompat-squid -lm -lnsl -lresolv -lcap -lrt -ldl depbase=`echo MemPoolTest.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ ccache g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../include -I../../test-suite -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -MT MemPoolTest.o -MD -MP -MF $depbase.Tpo -c -o MemPoolTest.o ../../test-suite/MemPoolTest.cc &&\ mv -f $depbase.Tpo $depbase.Po /bin/bash ../libtool --tag=CXX --mode=link ccache g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -g -o MemPoolTest MemPoolTest.o ../src/globals.o ../src/time.o ../lib/libmiscutil.la -L../compat -lcompat-squid -lm -lnsl -lresolv -lcap -lrt -ldl -ldl libtool: link: ccache g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -g -o MemPoolTest MemPoolTest.o ../src/globals.o ../src/time.o ../lib/.libs/libmiscutil.a -L<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/compat> -lcompat-squid -lm -lnsl -lresolv -lcap -lrt -ldl depbase=`echo mem_node_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ ccache g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../include -I../../test-suite -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -MT mem_node_test.o -MD -MP -MF $depbase.Tpo -c -o mem_node_test.o ../../test-suite/mem_node_test.cc &&\ mv -f $depbase.Tpo $depbase.Po /bin/bash ../libtool --tag=CXX --mode=link ccache g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -g -o mem_node_test mem_node_test.o ../src/mem_node.o ../src/globals.o ../src/time.o ../lib/libmiscutil.la -L../compat -lcompat-squid -lm -lnsl -lresolv -lcap -lrt -ldl -ldl libtool: link: ccache g++ -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -g -o mem_node_test mem_node_test.o ../src/mem_node.o ../src/globals.o ../src/time.o ../lib/.libs/libmiscutil.a -L<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/compat> -lcompat-squid -lm -lnsl -lresolv -lcap -lrt -ldl depbase=`echo mem_hdr_test.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ ccache g++ -DHAVE_CONFIG_H -I../.. -I../../include -I../../lib -I../../src -I../include -I../../test-suite -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -g -O2 -std=c++0x -MT mem_hdr_test.o -MD -MP -MF $depbase.Tpo -c -o mem_hdr_test.o ../../test-suite/mem_hdr_test.cc &&\ mv -f $depbase.Tpo $depbase.Po ../../test-suite/mem_hdr_test.cc: In function ‘void testLowAndHigh()’: ../../test-suite/mem_hdr_test.cc:60:48: error: call of overloaded ‘StoreIOBuffer(int, int, NULL)’ is ambiguous ../../src/StoreIOBuffer.h:62:5: note: candidates are: StoreIOBuffer::StoreIOBuffer(MemBuf*, int64_t, size_t) ../../src/StoreIOBuffer.h:48:5: note: StoreIOBuffer::StoreIOBuffer(size_t, int64_t, char*) make[3]: *** [mem_hdr_test.o] Error 1 make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/test-suite'> make[2]: *** [check-am] Error 2 make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/test-suite'> make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-ubuntu-natty/ws/btlayer-00-default/squid-3.HEAD-BZR/_build'> make: *** [distcheck] Error 1 buildtest.sh result is 2 BUILD: .././test-suite/buildtests/layer-00-default.opts configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm -lnsl -lresolv -lcap -lrt -ldl -ldl configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD C++ FLAGS: -g -O2 -std=c++0x configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD LIBRARIES: configure: BUILD EXTRA LIBRARIES: -lm -lnsl -lresolv -lcap -lrt -ldl -ldl configure: BUILD OBJECTS: configure: BUILD EXTRA OBJECTS: configure: BUILD C FLAGS: configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Werror -pipe -D_REENTRANT configure: BUILD C++ FLAGS: -g -O2 -std=c++0x configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT checking for egrep... .././test-suite/../configure: line 6995: echo: write error: Broken pipe checking for fgrep... .././test-suite/../configure: line 7824: echo: write error: Broken pipe checking for egrep... ../configure: line 6995: echo: write error: Broken pipe checking for fgrep... ../configure: line 7824: echo: write error: Broken pipe ../../test-suite/mem_hdr_test.cc:60:48: error: call of overloaded ‘StoreIOBuffer(int, int, NULL)’ is ambiguous make[3]: *** [mem_hdr_test.o] Error 1 make[2]: *** [check-am] Error 2 make[1]: *** [check-recursive] Error 1 make: *** [distcheck] Error 1 Build FAILED. Build step 'Execute shell' marked build as failure
