See <https://builds.apache.org/job/Thrift-precommit/402/changes>
Changes: [jim.king] THRIFT-3768: ensure TThreadedServer guarantees the lifetime of the [jim.king] THRIFT-3768: properly join TThreadedServer threads, added a stress test [jim.king] THRIFT-3768: small maintainability change ------------------------------------------ [...truncated 6681 lines...] dmd -O -release -ofunittest/release/thrift/protocol/compact -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/protocol/compact.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/protocol/json -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/protocol/json.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/protocol/processor -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/protocol/processor.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/server/base -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/server/base.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/server/simple -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/server/simple.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/server/nonblocking -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/server/nonblocking.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/server/taskpool -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/server/taskpool.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/server/threaded -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/server/threaded.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/server/transport/base -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/server/transport/base.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/server/transport/socket -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/server/transport/socket.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/server/transport/ssl -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/server/transport/ssl.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/base -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/base.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/buffered -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/buffered.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/file -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/file.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/framed -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/framed.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/http -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/http.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/memory -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/memory.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/piped -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/piped.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/range -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/range.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/socket -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/socket.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/ssl -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/ssl.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/transport/zlib -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/transport/zlib.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/util/awaitable -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/util/awaitable.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/util/cancellation -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/util/cancellation.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/util/future -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/util/future.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/util/hashset -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/util/hashset.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/algorithm -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/algorithm.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/codegen -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/codegen.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/ctfe -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/ctfe.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/endian -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/endian.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/resource_pool -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/resource_pool.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/socket -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/socket.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/ssl -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/ssl.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/ssl_bio -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/ssl_bio.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/traits -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/traits.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/test/protocol -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/test/protocol.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d dmd -O -release -ofunittest/release/thrift/internal/test/server -unittest -w -wi -I../../lib/d/src -L-levent -L-lssl -L-lcrypto src/thrift/internal/test/server.d libthriftd-event.a libthriftd-ssl.a libthriftd.a unittest/emptymain.d PASS: unittest/debug/thrift/base PASS: unittest/debug/thrift/async/base PASS: unittest/debug/thrift/async/libevent PASS: unittest/debug/thrift/async/socket PASS: unittest/debug/thrift/async/ssl PASS: unittest/debug/thrift/codegen/async_client PASS: unittest/debug/thrift/codegen/async_client_pool PASS: unittest/debug/thrift/codegen/base PASS: unittest/debug/thrift/codegen/client PASS: unittest/debug/thrift/codegen/client_pool PASS: unittest/debug/thrift/codegen/processor PASS: unittest/debug/thrift/protocol/base PASS: unittest/debug/thrift/protocol/binary PASS: unittest/debug/thrift/protocol/compact PASS: unittest/debug/thrift/protocol/json PASS: unittest/debug/thrift/protocol/processor PASS: unittest/debug/thrift/server/base PASS: unittest/debug/thrift/server/simple PASS: unittest/debug/thrift/server/nonblocking PASS: unittest/debug/thrift/server/taskpool PASS: unittest/debug/thrift/server/threaded PASS: unittest/debug/thrift/server/transport/base PASS: unittest/debug/thrift/server/transport/socket PASS: unittest/debug/thrift/server/transport/ssl PASS: unittest/debug/thrift/transport/base PASS: unittest/debug/thrift/transport/buffered PASS: unittest/debug/thrift/transport/file PASS: unittest/debug/thrift/transport/framed PASS: unittest/debug/thrift/transport/http PASS: unittest/debug/thrift/transport/memory PASS: unittest/debug/thrift/transport/piped PASS: unittest/debug/thrift/transport/range PASS: unittest/debug/thrift/transport/socket PASS: unittest/debug/thrift/transport/ssl PASS: unittest/debug/thrift/transport/zlib PASS: unittest/debug/thrift/util/awaitable PASS: unittest/debug/thrift/util/cancellation PASS: unittest/debug/thrift/util/future PASS: unittest/debug/thrift/util/hashset PASS: unittest/debug/thrift/internal/algorithm PASS: unittest/debug/thrift/internal/codegen PASS: unittest/debug/thrift/internal/ctfe PASS: unittest/debug/thrift/internal/endian PASS: unittest/debug/thrift/internal/resource_pool PASS: unittest/debug/thrift/internal/socket PASS: unittest/debug/thrift/internal/ssl PASS: unittest/debug/thrift/internal/ssl_bio PASS: unittest/debug/thrift/internal/traits PASS: unittest/debug/thrift/internal/test/protocol PASS: unittest/debug/thrift/internal/test/server PASS: unittest/release/thrift/base PASS: unittest/release/thrift/async/base PASS: unittest/release/thrift/async/libevent PASS: unittest/release/thrift/async/socket PASS: unittest/release/thrift/async/ssl PASS: unittest/release/thrift/codegen/async_client PASS: unittest/release/thrift/codegen/async_client_pool PASS: unittest/release/thrift/codegen/base PASS: unittest/release/thrift/codegen/client PASS: unittest/release/thrift/codegen/client_pool PASS: unittest/release/thrift/codegen/processor PASS: unittest/release/thrift/protocol/base PASS: unittest/release/thrift/protocol/binary PASS: unittest/release/thrift/protocol/compact PASS: unittest/release/thrift/protocol/json PASS: unittest/release/thrift/protocol/processor PASS: unittest/release/thrift/server/base PASS: unittest/release/thrift/server/simple PASS: unittest/release/thrift/server/nonblocking PASS: unittest/release/thrift/server/taskpool PASS: unittest/release/thrift/server/threaded PASS: unittest/release/thrift/server/transport/base PASS: unittest/release/thrift/server/transport/socket PASS: unittest/release/thrift/server/transport/ssl PASS: unittest/release/thrift/transport/base PASS: unittest/release/thrift/transport/buffered PASS: unittest/release/thrift/transport/file PASS: unittest/release/thrift/transport/framed PASS: unittest/release/thrift/transport/http PASS: unittest/release/thrift/transport/memory PASS: unittest/release/thrift/transport/piped PASS: unittest/release/thrift/transport/range PASS: unittest/release/thrift/transport/socket PASS: unittest/release/thrift/transport/ssl PASS: unittest/release/thrift/transport/zlib PASS: unittest/release/thrift/util/awaitable PASS: unittest/release/thrift/util/cancellation PASS: unittest/release/thrift/util/future PASS: unittest/release/thrift/util/hashset PASS: unittest/release/thrift/internal/algorithm PASS: unittest/release/thrift/internal/codegen PASS: unittest/release/thrift/internal/ctfe PASS: unittest/release/thrift/internal/endian PASS: unittest/release/thrift/internal/resource_pool PASS: unittest/release/thrift/internal/socket PASS: unittest/release/thrift/internal/ssl PASS: unittest/release/thrift/internal/ssl_bio PASS: unittest/release/thrift/internal/traits PASS: unittest/release/thrift/internal/test/protocol PASS: unittest/release/thrift/internal/test/server ==================== All 100 tests passed ==================== make[4]: Leaving directory `/thrift/lib/d' make[3]: Leaving directory `/thrift/lib/d' Making check in test make[3]: Entering directory `/thrift/lib/d/test' make check-am make[4]: Entering directory `/thrift/lib/d/test' make check-TESTS check-local make[5]: Entering directory `/thrift/lib/d/test' dmd -L-levent ../libthriftd-event.a -L-lssl -L-lcrypto ../libthriftd-ssl.a -w -wi -O -release -inline -I../../../lib/d/src -Igen-d ../../../lib/d/libthriftd.a -ofclient_pool_test client_pool_test.d dmd -L-levent ../libthriftd-event.a -L-lssl -L-lcrypto ../libthriftd-ssl.a -w -wi -O -release -inline -I../../../lib/d/src -Igen-d ../../../lib/d/libthriftd.a -oftransport_test transport_test.d dmd -L-levent ../libthriftd-event.a -L-lssl -L-lcrypto ../libthriftd-ssl.a -w -wi -O -release -inline -I../../../lib/d/src -Igen-d ../../../lib/d/libthriftd.a -ofasync_test async_test.d ../../../compiler/cpp/thrift --gen d ../../../test/ThriftTest.thrift [WARNING:/thrift/test/ThriftTest.thrift:44] No generator named 'noexist' could be found! [WARNING:/thrift/test/ThriftTest.thrift:46] cpp generator does not accept 'noexist' as sub-namespace! dmd -L-levent ../libthriftd-event.a -L-lssl -L-lcrypto ../libthriftd-ssl.a -w -wi -O -release -inline -I../../../lib/d/src -Igen-d ../../../lib/d/libthriftd.a -ofthrift_test_client thrift_test_client.d thrift_test_common.d gen-d/thrift/test/SecondService.d gen-d/thrift/test/ThriftTest.d gen-d/thrift/test/ThriftTest_constants.d gen-d/thrift/test/ThriftTest_types.d dmd -L-levent ../libthriftd-event.a -L-lssl -L-lcrypto ../libthriftd-ssl.a -w -wi -O -release -inline -I../../../lib/d/src -Igen-d ../../../lib/d/libthriftd.a -ofthrift_test_server thrift_test_server.d thrift_test_common.d test_utils.d gen-d/thrift/test/SecondService.d gen-d/thrift/test/ThriftTest.d gen-d/thrift/test/ThriftTest_constants.d gen-d/thrift/test/ThriftTest_types.d PASS: client_pool_test Using seed: -329135705 Using temp file: /tmp/thrift.transport_test.1237052069 Using temp file: /tmp/thrift.transport_test.1668866946 Using temp file: /tmp/thrift.transport_test.1754797061 Using temp file: /tmp/thrift.transport_test.3530573986 Using temp file: /tmp/thrift.transport_test.3156839101 Using temp file: /tmp/thrift.transport_test.3962896835 Using temp file: /tmp/thrift.transport_test.1523184398 Using temp file: /tmp/thrift.transport_test.4284261433 Using temp file: /tmp/thrift.transport_test.3151534962 Using temp file: /tmp/thrift.transport_test.3134050046 Using temp file: /tmp/thrift.transport_test.1719720526 Using temp file: /tmp/thrift.transport_test.3450710493 Using temp file: /tmp/thrift.transport_test.3240132956 Using temp file: /tmp/thrift.transport_test.3693240592 Using temp file: /tmp/thrift.transport_test.4254608962 Using temp file: /tmp/thrift.transport_test.507016808 Using temp file: /tmp/thrift.transport_test.3875327367 Using temp file: /tmp/thrift.transport_test.3634438821 Using temp file: /tmp/thrift.transport_test.4250776086 Using temp file: /tmp/thrift.transport_test.3226419538 Using temp file: /tmp/thrift.transport_test.821215468 Using temp file: /tmp/thrift.transport_test.3051173428 Using temp file: /tmp/thrift.transport_test.1402649716 Using temp file: /tmp/thrift.transport_test.4111498067 Using temp file: /tmp/thrift.transport_test.128882487 Using temp file: /tmp/thrift.transport_test.334456709 Using temp file: /tmp/thrift.transport_test.932293757 Using temp file: /tmp/thrift.transport_test.3460681565 Using temp file: /tmp/thrift.transport_test.3179650911 Using temp file: /tmp/thrift.transport_test.1291998601 Using temp file: /tmp/thrift.transport_test.2707263090 Using temp file: /tmp/thrift.transport_test.552340092 Using temp file: /tmp/thrift.transport_test.3429988723 Using temp file: /tmp/thrift.transport_test.865555858 Using temp file: /tmp/thrift.transport_test.1861719437 Using temp file: /tmp/thrift.transport_test.1769159456 Using temp file: /tmp/thrift.transport_test.2072997969 Using temp file: /tmp/thrift.transport_test.1082434230 Using temp file: /tmp/thrift.transport_test.1670224541 Using temp file: /tmp/thrift.transport_test.1713792434 Using temp file: /tmp/thrift.transport_test.1498671677 Using temp file: /tmp/thrift.transport_test.2016389998 Using temp file: /tmp/thrift.transport_test.408147119 Using temp file: /tmp/thrift.transport_test.2017449832 Using temp file: /tmp/thrift.transport_test.3047495463 Using temp file: /tmp/thrift.transport_test.664101080 Using temp file: /tmp/thrift.transport_test.377192691 Using temp file: /tmp/thrift.transport_test.2799668336 Using temp file: /tmp/thrift.transport_test.922253445 Using temp file: /tmp/thrift.transport_test.2538513283 Using temp file: /tmp/thrift.transport_test.3732456941 Using temp file: /tmp/thrift.transport_test.3251235187 PASS: transport_test Non-SSL tests done. src/thrift/server/simple.d:143: Client died: thrift.transport.ssl.TSSLException@src/thrift/transport/ssl.d(223): SSL error: sslv3 alert certificate expired. ---------------- ??:? pure @safe bool std.exception.enforce!(bool).enforce(bool, lazy object.Throwable) [0x515e16] ??:? void thrift.transport.ssl.TSSLSocket.checkHandshake() [0x5138d9] ??:? ulong thrift.transport.ssl.TSSLSocket.read(ubyte[]) [0x513457] ??:? ulong thrift.transport.buffered.TBufferedTransport.read(ubyte[]) [0x51c819] ??:? void thrift.transport.base.TBaseTransport.readAll(ubyte[]) [0x51be10] ??:? void thrift.transport.buffered.TBufferedTransport.readAll(ubyte[]) [0x51c9d1] ??:? thrift.protocol.base.TMessage thrift.protocol.binary.TBinaryProtocol!(thrift.transport.base.TTransport).TBinaryProtocol.readMessageBegin() [0x4f02ea] ??:? bool thrift.codegen.processor.TServiceProcessor!(async_test.AsyncTest).TServiceProcessor.process(thrift.protocol.base.TProtocol, thrift.protocol.base.TProtocol, std.variant.VariantN!(32uL).VariantN) [0x4ec275] ??:? void thrift.server.simple.TSimpleServer.serve(thrift.util.cancellation.TCancellation) [0x51a32b] ??:? void async_test.ServerThread!(thrift.server.simple.TSimpleServer).ServerThread.run() [0x4ec0fa] ??:? void core.thread.Thread.run() [0x54c731] ??:? thread_entryPoint [0x54c251] ??:? [0xbaf8d181] src/thrift/server/simple.d:143: Client died: thrift.transport.ssl.TSSLException@src/thrift/transport/ssl.d(223): SSL error: sslv3 alert certificate expired. ---------------- ??:? pure @safe bool std.exception.enforce!(bool).enforce(bool, lazy object.Throwable) [0x515e16] ??:? void thrift.transport.ssl.TSSLSocket.checkHandshake() [0x5138d9] ??:? ulong thrift.transport.ssl.TSSLSocket.read(ubyte[]) [0x513457] ??:? ulong thrift.transport.buffered.TBufferedTransport.read(ubyte[]) [0x51c819] ??:? void thrift.transport.base.TBaseTransport.readAll(ubyte[]) [0x51be10] ??:? void thrift.transport.buffered.TBufferedTransport.readAll(ubyte[]) [0x51c9d1] ??:? thrift.protocol.base.TMessage thrift.protocol.binary.TBinaryProtocol!(thrift.transport.base.TTransport).TBinaryProtocol.readMessageBegin() [0x4f02ea] ??:? bool thrift.codegen.processor.TServiceProcessor!(async_test.AsyncTest).TServiceProcessor.process(thrift.protocol.base.TProtocol, thrift.protocol.base.TProtocol, std.variant.VariantN!(32uL).VariantN) [0x4ec275] ??:? void thrift.server.simple.TSimpleServer.serve(thrift.util.cancellation.TCancellation) [0x51a32b] ??:? void async_test.ServerThread!(thrift.server.simple.TSimpleServer).ServerThread.run() [0x4ec0fa] ??:? void core.thread.Thread.run() [0x54c731] ??:? thread_entryPoint [0x54c251] ??:? [0xbaf8d181] Build timed out (after 480 minutes). Marking the build as failed. Build was aborted [WARNINGS] Skipping publisher since build result is FAILURE [TASKS] Skipping publisher since build result is FAILURE Archiving artifacts Publishing Javadoc Updating THRIFT-3768