[squid-dev] Build failed in Jenkins: 3.HEAD-amd64-centos-7 #171

noc at squid-cache.org noc at squid-cache.org
Fri Nov 7 09:23:03 UTC 2014


See <http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/171/changes>

Changes:

[Amos Jeffries] Parser-NG: HTTP Parser structural redesign

This update is to lay the groundwork for several planned future projects
implementing protocol specific parsers, seperating the currently
intertwinned client connection management and HTTP protocol parsing
logics, and for zero-copy processing of transactions using SBuf.


This patch renames the HttpParser class as RequestParser and moves it
into the Http::One:: namespace as child of an Http::Parser class with
generic API accessors for shared use by other HTTP message parsers.

The class API
- is updated to process both the request-line and HTTP mime headers,
returning an incomplete parse result until the entire headers parts of
the message have been received.
- now contains accessor methods for retrieving the method, URI,
protocol, mime headers block (as an SBuf) and some metrics about those.
- the old request_offsets structure and similar offset details are no
longer exposed.
- now emits 414 and 431 HTTP status codes as appropriate.

The parser is made partially incremental and some use of Tokenizer is
added for faster parsing. There is more that can be done to further
speed up parsing of slow or very large requests.

Much of the code from client_side.cc parseHttpRequest() and also the
header-field code from mime_headers.cc has been moved into the parser
class. The client_side.cc code now simply runs the main
Http1::RequestParser::parse() method then uses accessors to retrieve
and process the parse results.

A unit test for incremental parsing has been added to testHttpParser.

Also, the HttpRequestMethod class is moved into the Http:: namespace and
library to reduce dependencies on the parser class outside the library.


The gains made so far from incremental parse, reducing parser passes and
zero-copy SBuf are offset by several temporary performance regressions
added converting SBuf for legacy code use. These are marked for later
removal.

------------------------------------------
[...truncated 21520 lines...]
Testing ../../src/whois.h ...Ok.
Testing ../../src/disk.h ...Ok.
Testing ../../src/Transients.h ...Ok.
Testing ../../src/fde.h ...Ok.
Testing ../../src/CacheDigest.h ...Ok.
Testing ../../src/SquidIpc.h ...Ok.
Testing ../../src/StoreSearch.h ...Ok.
Testing ../../src/MemStore.h ...Ok.
Testing ../../src/DiskIO/DiskFile.h ...Ok.
Testing ../../src/DiskIO/ReadRequest.h ...Ok.
Testing ../../src/DiskIO/DiskIOModule.h ...Ok.
Testing ../../src/DiskIO/DiskIOStrategy.h ...Ok.
Testing ../../src/DiskIO/WriteRequest.h ...Ok.
Testing ../../src/DiskIO/IORequestor.h ...Ok.
Testing ../../src/DiskIO/Mmapped/MmappedFile.h ...Ok.
Testing ../../src/DiskIO/Mmapped/MmappedDiskIOModule.h ...Ok.
Testing ../../src/DiskIO/Mmapped/MmappedIOStrategy.h ...Ok.
Testing ../../src/DiskIO/AIO/AIODiskFile.h ...Ok.
Testing ../../src/DiskIO/AIO/async_io.h ...Ok.
Testing ../../src/DiskIO/AIO/aio_win32.h ...Ok.
Testing ../../src/DiskIO/AIO/AIODiskIOModule.h ...Ok.
Testing ../../src/DiskIO/AIO/AIODiskIOStrategy.h ...Ok.
Testing ../../src/DiskIO/DiskThreads/DiskThreadsDiskFile.h ...Ok.
Testing ../../src/DiskIO/DiskThreads/CommIO.h ...Ok.
Testing ../../src/DiskIO/DiskThreads/DiskThreads.h ...Ok.
Testing ../../src/DiskIO/DiskThreads/DiskThreadsIOStrategy.h ...Ok.
Testing ../../src/DiskIO/DiskThreads/DiskThreadsDiskIOModule.h ...Ok.
Testing ../../src/DiskIO/IpcIo/IpcIoFile.h ...Ok.
Testing ../../src/DiskIO/IpcIo/IpcIoDiskIOModule.h ...Ok.
Testing ../../src/DiskIO/IpcIo/IpcIoIOStrategy.h ...Ok.
Testing ../../src/DiskIO/DiskDaemon/DiskdFile.h ...Ok.
Testing ../../src/DiskIO/DiskDaemon/diomsg.h ...Ok.
Testing ../../src/DiskIO/DiskDaemon/DiskdIOStrategy.h ...Ok.
Testing ../../src/DiskIO/DiskDaemon/DiskdAction.h ...Ok.
Testing ../../src/DiskIO/DiskDaemon/DiskDaemonDiskIOModule.h ...Ok.
Testing ../../src/DiskIO/Blocking/BlockingIOStrategy.h ...Ok.
Testing ../../src/DiskIO/Blocking/BlockingFile.h ...Ok.
Testing ../../src/DiskIO/Blocking/BlockingDiskIOModule.h ...Ok.
PASS: testHeaders
make[7]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make  all-recursive
make[8]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
Making all in base
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/base'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/base'>
Making all in anyp
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/anyp'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/anyp'>
Making all in helper
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/helper'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/helper'>
Making all in ftp
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/ftp'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/ftp'>
Making all in parser
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/parser'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/parser'>
Making all in comm
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/comm'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/comm'>
Making all in eui
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/eui'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/eui'>
Making all in acl
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/acl'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/acl'>
Making all in format
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/format'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/format'>
Making all in clients
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/clients'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/clients'>
Making all in servers
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/servers'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/servers'>
Making all in fs
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/fs'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/fs'>
Making all in repl
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/repl'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/repl'>
Making all in http
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/http'>
Making all in one
make[10]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/http/one'>
make[10]: Nothing to be done for `all'.
make[10]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/http/one'>
make[10]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/http'>
make[10]: Nothing to be done for `all-am'.
make[10]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/http'>
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/http'>
Making all in ip
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/ip'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/ip'>
Making all in icmp
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/icmp'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/icmp'>
Making all in ident
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/ident'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/ident'>
Making all in log
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/log'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/log'>
Making all in ipc
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/ipc'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/ipc'>
Making all in mgr
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/mgr'>
make[9]: Nothing to be done for `all'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src/mgr'>
make[9]: Entering directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make[9]: Nothing to be done for `all-am'.
make[9]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make[8]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make[7]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
============================================================================
Testsuite summary for Squid Web Proxy 3.HEAD-BZR
============================================================================
# TOTAL: 18
# PASS:  17
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See src/test-suite.log
Please report to http://bugs.squid-cache.org/
============================================================================
make[6]: *** [test-suite.log] Error 1
make[6]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make[5]: *** [check-TESTS] Error 2
make[5]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make[2]: *** [check] Error 2
make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build/src'>
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-centos-7/ws/btlayer-01-minimal/squid-3.HEAD-BZR/_build'>
make: *** [distcheck] Error 1
buildtest.sh result is 2
BUILD: .././test-suite/buildtests/layer-01-minimal.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: -Wall -g 
configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow -Werror -pipe
configure: BUILD C++ FLAGS: -g  -std=c++11
configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Werror -pipe
configure: BUILD Tools C++ FLAGS:  -g  -std=c++11
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: -Wall -g 
configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow -Werror -pipe
configure: BUILD C++ FLAGS: -g  -std=c++11
configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Werror -pipe
configure: BUILD Tools C++ FLAGS:  -g  -std=c++11
cat: ../../src/DiskIO/../../scripts/boilerplate.h: No such file or directory
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
# XFAIL: 0
# FAIL:  0
FAIL: tests/testHttp1Parser
# XFAIL: 0
# FAIL:  1
make[6]: *** [test-suite.log] Error 1
make[5]: *** [check-TESTS] Error 2
make[4]: *** [check-am] Error 2
make[3]: *** [check-recursive] Error 1
make[2]: *** [check] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [distcheck] Error 1
Build FAILED.
Build step 'Execute shell' marked build as failure


More information about the squid-dev mailing list