Build failed in Jenkins: 3.HEAD-amd64-opensuse #577

From: <noc_at_squid-cache.org>
Date: Thu, 29 Aug 2013 14:04:18 +0200 (CEST)

See <http://build.squid-cache.org/job/3.HEAD-amd64-opensuse/577/changes>

Changes:

[Christos Tsantilas] Fix configuration file parsing bugs, related to quoted strings

Try to fix 'comparison between signed and unsigned integer expression' compiler
warning.

[Christos Tsantilas] Fix configuration file parsing bugs, related to quoted strings

This is patch try to fix problems discussed under the "[PATCH] Unknown cfg function"
mail thread on squid-dev mailing list

Fixes/changes:
- The quoted tokens mode (configuration_includes_quoted_values parameter)
is set to off by default

- If configuration_includes_quoted_values is off the quoted tokens
parsed using the ConfigParser::NextToken include the quotes, to keep
compatibility with older releases.

- The methods ConfigParser::RegexPattern() and ConfigParser::RegexStrtokFile()
added to parse regex tokens. The regex tokens can not be quoted values but
have their own syntax.

- For the cases where quoted strings are required (wordlists, Notes
parsing, Headers with acl), the new ConfigParser::NextQuotedToken method
added.
The old wordlists parser allowed escaping any character, this patch
will return an error if you try to escape alphanumeric characters. The
\r \n and \t have the C semantics.

- Removes the ConfigParser::TokenUndo method. The new method
ConfigParser::NextTokenPreview() which can be used to preview the next
token is added. This method if the next token is invalid (eg unquoted
with special characters) instead of calling self_destruct it will return
the "[invalid token]" as token.

- A set of new flags defined under ConfigParser class to define the type of
parsing: ParseRegex_ (next token is regex) ParseQuotedOrToEOL_
(next token is quoted or to-EOL), PreviewMode_ (just do preview do not
pop next token)

- Currently parser read a line, and the tokens stored on this line
and the line modified while parsed.
This patch extracts the tokens from line and store them to
ConfigParser::CfgLineTokens_ member. This method selected because
1) We may need to parse again the line so we do not want to modify it.
For example call the ConfigParser::PeekAtToken method to check if it
is a flag token ( eg "-i"), and if not call the
ConfigParser::RegexPattern() method to read next regex expression.
2) The current line tokens must stored somewhere to support the following:
char *name = ConfigParser::NextToken();
char *value = ConfigParser::NextToken();
The ConfigParser::CfgLineTokens_ reset when a new config line is read.

TODO:
- The ConfigParser::TokenPutBack method probably should removed in the future
together with the ConfigParser::Undo_ and ConfigParser::Undo().
This method is currently used only in one place (acl regex).

------------------------------------------
[...truncated 7177 lines...]
Testing ../../src/CpuAffinity.h ...Ok.
Testing ../../src/store_rebuild.h ...Ok.
Testing ../../src/StoreMetaURL.h ...Ok.
Testing ../../src/MemObject.h ...Ok.
Testing ../../src/SwapDir.h ...Ok.
Testing ../../src/HelperChildConfig.h ...Ok.
Testing ../../src/StoreMetaUnpacker.h ...Ok.
Testing ../../src/err_detail_type.h ...Ok.
Testing ../../src/cbdata.h ...Ok.
Testing ../../src/snmp_agent.h ...Ok.
Testing ../../src/clientStream.h ...Ok.
Testing ../../src/snmp_core.h ...Ok.
Testing ../../src/tools.h ...Ok.
Testing ../../src/URL.h ...Ok.
Testing ../../src/ClientRequestContext.h ...Ok.
Testing ../../src/wordlist.h ...Ok.
Testing ../../src/SquidString.h ...Ok.
Testing ../../src/AccessLogEntry.h ...Ok.
Testing ../../src/EventLoop.h ...Ok.
Testing ../../src/CommCalls.h ...Ok.
Testing ../../src/SquidDns.h ...Ok.
Testing ../../src/send-announce.h ...Ok.
Testing ../../src/disk.h ...Ok.
Testing ../../src/ETag.h ...Ok.
Testing ../../src/PeerSelectState.h ...Ok.
Testing ../../src/IoStats.h ...Ok.
Testing ../../src/peer_sourcehash.h ...Ok.
Testing ../../src/SquidTime.h ...Ok.
Testing ../../src/DelayPools.h ...Ok.
Testing ../../src/ChunkedCodingParser.h ...Ok.
Testing ../../src/Store.h ...Ok.
Testing ../../src/StoreMetaMD5.h ...Ok.
Testing ../../src/HttpHeaderMask.h ...Ok.
Testing ../../src/StoreIOState.h ...Ok.
Testing ../../src/StoreHashIndex.h ...Ok.
Testing ../../src/DelayConfig.h ...Ok.
Testing ../../src/SquidIpc.h ...Ok.
Testing ../../src/hier_code.h ...Ok.
Testing ../../src/fqdncache.h ...Ok.
Testing ../../src/NeighborTypeDomainList.h ...Ok.
Testing ../../src/RegexList.h ...Ok.
Testing ../../src/gopher.h ...Ok.
Testing ../../src/DelayUser.h ...Ok.
Testing ../../src/MemBlob.h ...Ok.
Testing ../../src/icp_opcode.h ...Ok.
Testing ../../src/refresh.h ...Ok.
Testing ../../src/int.h ...Ok.
Testing ../../src/DelayVector.h ...Ok.
Testing ../../src/helper.h ...Ok.
Testing ../../src/http.h ...Ok.
Testing ../../src/ExternalACLEntry.h ...Ok.
Testing ../../src/CompletionDispatcher.h ...Ok.
Testing ../../src/HttpHdrScTarget.h ...Ok.
Testing ../../src/comm_err_t.h ...Ok.
Testing ../../src/wccp2.h ...Ok.
Testing ../../src/PingData.h ...Ok.
Testing ../../src/DelayId.h ...Ok.
Testing ../../src/SquidMath.h ...Ok.
Testing ../../src/HierarchyLogEntry.h ...Ok.
Testing ../../src/HttpBody.h ...Ok.
Testing ../../src/StoreMetaSTD.h ...Ok.
Testing ../../src/fde.h ...Ok.
Testing ../../src/neighbors.h ...Ok.
Testing ../../src/StoreFileSystem.h ...Ok.
Testing ../../src/comm.h ...Ok.
Testing ../../src/store_digest.h ...Ok.
Testing ../../src/LoadableModules.h ...Ok.
Testing ../../src/URLScheme.h ...Ok.
Testing ../../src/stmem.h ...Ok.
Testing ../../src/CommRead.h ...Ok.
Testing ../../src/HttpRequest.h ...Ok.
Testing ../../src/Server.h ...Ok.
Testing ../../src/wccp.h ...Ok.
Testing ../../src/DelayTagged.h ...Ok.
Testing ../../src/swap_log_op.h ...Ok.
Testing ../../src/repl_modules.h ...Ok.
Testing ../../src/carp.h ...Ok.
Testing ../../src/DelayPool.h ...Ok.
Testing ../../src/ClientDelayConfig.h ...Ok.
Testing ../../src/Parsing.h ...Ok.
Testing ../../src/unlinkd.h ...Ok.
Testing ../../src/SnmpRequest.h ...Ok.
Testing ../../src/store_log.h ...Ok.
Testing ../../src/TimeOrTag.h ...Ok.
Testing ../../src/defines.h ...Ok.
Testing ../../src/multicast.h ...Ok.
Testing ../../src/HttpHeaderTools.h ...Ok.
Testing ../../src/RemovalPolicy.h ...Ok.
Testing ../../src/mem_node.h ...Ok.
Testing ../../src/Packer.h ...Ok.
Testing ../../src/DelaySpec.h ...Ok.
Testing ../../src/Notes.h ...Ok.
Testing ../../src/event.h ...Ok.
Testing ../../src/StoreSwapLogData.h ...Ok.
Testing ../../src/client_side_request.h ...Ok.
Testing ../../src/HttpMsg.h ...Ok.
Testing ../../src/mime_header.h ...Ok.
Testing ../../src/DnsLookupDetails.h ...Ok.
Testing ../../src/peer_userhash.h ...Ok.
Testing ../../src/ftp.h ...Ok.
Testing ../../src/FileMap.h ...Ok.
Testing ../../src/CpuAffinityMap.h ...Ok.
Testing ../../src/HttpRequestMethod.h ...Ok.
Testing ../../src/SquidConfig.h ...Ok.
Testing ../../src/StoreMetaVary.h ...Ok.
Testing ../../src/Generic.h ...Ok.
Testing ../../src/HttpHeaderRange.h ...Ok.
Testing ../../src/HttpHdrSc.h ...Ok.
Testing ../../src/SquidList.h ...Ok.
Testing ../../src/StoreMetaObjSize.h ...Ok.
Testing ../../src/NullDelayId.h ...Ok.
Testing ../../src/DelayBucket.h ...Ok.
Testing ../../src/fd.h ...Ok.
Testing ../../src/StoreClient.h ...Ok.
Testing ../../src/ExternalACL.h ...Ok.
Testing ../../src/HttpParser.h ...Ok.
Testing ../../src/MasterXaction.h ...Ok.
Testing ../../src/whois.h ...Ok.
Testing ../../src/YesNoNone.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.
/bin/sh: line 5: 29759 Illegal instruction ${dir}$tst
FAIL: tests/testACLMaxUserIP
.
OK (1)
PASS: tests/testBoilerplate
/bin/sh: line 5: 29767 Illegal instruction ${dir}$tst
FAIL: tests/testCacheManager
/bin/sh: line 5: 29772 Illegal instruction ${dir}$tst
FAIL: tests/testDiskIO
/bin/sh: line 5: 29779 Illegal instruction ${dir}$tst
FAIL: tests/testEvent
/bin/sh: line 5: 29784 Illegal instruction ${dir}$tst
FAIL: tests/testEventLoop
/bin/sh: line 5: 29789 Illegal instruction ${dir}$tst
FAIL: tests/test_http_range
/bin/sh: line 5: 29794 Illegal instruction ${dir}$tst
FAIL: tests/testHttpParser
/bin/sh: line 5: 29799 Illegal instruction ${dir}$tst
FAIL: tests/testHttpReply
/bin/sh: line 5: 29804 Illegal instruction ${dir}$tst
FAIL: tests/testHttpRequest
/bin/sh: line 5: 29809 Illegal instruction ${dir}$tst
FAIL: tests/testStore
/bin/sh: line 5: 29814 Illegal instruction ${dir}$tst
FAIL: tests/testString
/bin/sh: line 5: 29819 Illegal instruction ${dir}$tst
FAIL: tests/testURL
/bin/sh: line 5: 29824 Illegal instruction ${dir}$tst
FAIL: tests/testConfigParser
/bin/sh: line 5: 29829 Illegal instruction ${dir}$tst
FAIL: tests/testStatHist
.
OK (1)
PASS: tests/testVector
/bin/sh: line 5: 29837 Illegal instruction ${dir}$tst
FAIL: tests/testRock
/bin/sh: line 5: 29842 Illegal instruction ${dir}$tst
FAIL: tests/testUfs
PASS: testRefCount
PASS: testHeaders
=============================================
16 of 20 tests failed
Please report to http://bugs.squid-cache.org/
=============================================
make[5]: *** [check-TESTS] Error 1
make[5]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-opensuse/ws/btlayer-00-default/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-opensuse/ws/btlayer-00-default/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-opensuse/ws/btlayer-00-default/squid-3.HEAD-BZR/_build/src'>
make[2]: *** [check] Error 2
make[2]: Leaving directory `<http://build.squid-cache.org/job/3.HEAD-amd64-opensuse/ws/btlayer-00-default/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-opensuse/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: -Wall
configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow -Werror -pipe -D_REENTRANT
configure: BUILD C++ FLAGS: -g -O2 -march=native -std=c++0x
configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -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: -Wall
configure: BUILD EXTRA C FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow -Werror -pipe -D_REENTRANT
configure: BUILD C++ FLAGS: -g -O2 -march=native -std=c++0x
configure: BUILD EXTRA C++ FLAGS: -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow -Werror -pipe -D_REENTRANT
checking for egrep... .././test-suite/../configure: line 6990: echo: write error: Broken pipe
checking for fgrep... .././test-suite/../configure: line 7900: echo: write error: Broken pipe
checking for egrep... ../configure: line 6990: echo: write error: Broken pipe
FAIL: tests/testACLMaxUserIP
FAIL: tests/testCacheManager
FAIL: tests/testDiskIO
FAIL: tests/testEvent
FAIL: tests/testEventLoop
FAIL: tests/test_http_range
FAIL: tests/testHttpParser
FAIL: tests/testHttpReply
FAIL: tests/testHttpRequest
FAIL: tests/testStore
FAIL: tests/testString
FAIL: tests/testURL
FAIL: tests/testConfigParser
FAIL: tests/testStatHist
FAIL: tests/testRock
FAIL: tests/testUfs
make[5]: *** [check-TESTS] Error 1
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
Received on Thu Aug 29 2013 - 12:04:20 MDT

This archive was generated by hypermail 2.2.0 : Thu Aug 29 2013 - 12:00:45 MDT