Re: AW: svn commit: r1773865 - /httpd/httpd/trunk/modules/http/http_filters.c
On Mon, Dec 19, 2016 at 9:00 PM, Ruediger Pluem wrote: > > > This doesn't seem to be in trunk yet. Care to commit? Done in r1775195, thanks Rüdiger for your great suggestions. Regards, Yann.
Strange http2 test error on Solaris with static linking
The test t/modules/http2.t fails consistently on Solaris when httpd is statically linked. Results are based on 2.4.25. Here is an excerpt from the truss output for the first test in http2.t (all fail) starting around the first difference between the good and bad case. The first log line indicating the problem is: [Mon Dec 19 22:39:20.178603 2016] [http2:debug] [pid 9984:tid 52] h2_session.c(1592): [client 127.0.0.1:64013] AH03466: h2_stream(215-1): no response, RST_STREAM, err=1 Fail: 9984/20:open(".../t/htdocs/index.html", O_RDONLY|O_LARGEFILE) = 39 9984/20:fcntl(39, F_GETFD, 0x) = 0 9984/20:fcntl(39, F_SETFD, 0x0001) = 0 9984/20:getpid()= 9984 [9960] 9984/20:write(2, 0xFCE77970, 134) = 134 9984/20: [ M o n D e c 1 9 2 2 : 3 9 : 2 0 . 1 7 7 4 8 8 2 0 1 6 9984/20: ] [ h e a d e r s : t r a c e 2 ] [ p i d 9 9 8 4 : t i d 9984/20: 2 0 ] m o d _ h e a d e r s . c ( 8 7 5 ) : A H 0 1 5 0 2 9984/20: : h e a d e r s : a p _ h e a d e r s _ o u t p u t _ f i l 9984/20: t e r ( )\n 9984/20:getpid()= 9984 [9960] 9984/20:write(2, 0xFCE76AA8, 167) = 167 9984/20: [ M o n D e c 1 9 2 2 : 3 9 : 2 0 . 1 7 7 9 0 9 2 0 1 6 9984/20: ] [ h t t p 2 : d e b u g ] [ p i d 9 9 8 4 : t i d 2 0 9984/20: ] h 2 _ t a s k . c ( 8 8 ) : [ c l i e n t 1 2 7 . 0 . 0 9984/20: . 1 : 6 4 0 1 3 ] A H 0 3 3 4 8 : h 2 _ t a s k ( 2 1 5 - 1 9984/20: ) : o p e n o u t p u t t o G E T l o c a l h o s t : 9984/20: 8 5 4 6 /\n 9984/20:lwp_unpark(52) = 0 9984/52:lwp_park(0xFAE7BAA8, 0) Err#62 ETIME 9984/52:timeout: 0.0 sec 9984/20:lwp_unpark(52) = 0 9984/52:lwp_park(0x, 0) = 0 9984/52:read(38, 0x00684688, 8000) Err#11 EAGAIN 9984/52:getpid()= 9984 [9960] 9984/52:write(2, 0xFAE77938, 169) = 169 9984/52: [ M o n D e c 1 9 2 2 : 3 9 : 2 0 . 1 7 8 6 0 3 2 0 1 6 9984/52: ] [ h t t p 2 : d e b u g ] [ p i d 9 9 8 4 : t i d 5 2 9984/52: ] h 2 _ s e s s i o n . c ( 1 5 9 2 ) : [ c l i e n t 1 2 9984/52: 7 . 0 . 0 . 1 : 6 4 0 1 3 ] A H 0 3 4 6 6 : h 2 _ s t r e a 9984/52: m ( 2 1 5 - 1 ) : n o r e s p o n s e , R S T _ S T R E A 9984/52: M , e r r = 1\n 9984/52:getpid()= 9984 [9960] 9984/52:write(2, 0xFAE778D0, 206) = 206 9984/52: [ M o n D e c 1 9 2 2 : 3 9 : 2 0 . 1 7 8 8 2 5 2 0 1 6 9984/52: ] [ h t t p 2 : d e b u g ] [ p i d 9 9 8 4 : t i d 5 2 9984/52: ] h 2 _ s e s s i o n . c ( 6 6 1 ) : [ c l i e n t 1 2 7 9984/52: . 0 . 0 . 1 : 6 4 0 1 3 ] A H 0 3 0 6 8 : h 2 _ s e s s i o 9984/52: n ( 2 1 5 ) : s e n t F R A M E [ R S T _ S T R E A M [ l e 9984/52: n g t h = 4 , f l a g s = 0 , s t r e a m = 1 ] ] , f r a 9984/52: m e s = 3 / 3 ( r / s )\n OK: 10047/11: open(".../t/htdocs/index.html", O_RDONLY|O_LARGEFILE) = 39 10047/11: fcntl(39, F_GETFD, 0x) = 0 10047/11: fcntl(39, F_SETFD, 0x0001) = 0 10047/11: getpid()= 10047 [10039] 10047/11: write(2, 0xFC377970, 135) = 135 10047/11: [ M o n D e c 1 9 2 2 : 4 1 : 3 6 . 9 1 6 8 5 9 2 0 1 6 10047/11: ] [ h e a d e r s : t r a c e 2 ] [ p i d 1 0 0 4 7 : t i 10047/11: d 1 1 ] m o d _ h e a d e r s . c ( 8 7 5 ) : A H 0 1 5 0 10047/11: 2 : h e a d e r s : a p _ h e a d e r s _ o u t p u t _ f i 10047/11: l t e r ( )\n 10047/52: lwp_park(0xF9A7BAA8, 0) Err#62 ETIME 10047/52: timeout: 0.0 sec 10047/52: read(38, 0x003196D8, 8000) Err#11 EAGAIN 10047/11: getpid()= 10047 [10039] 10047/52: getpid()= 10047 [10039] 10047/11: write(2, 0xFC376AA8, 167) = 167 10047/11: [ M o n D e c 1 9 2 2 : 4 1 : 3 6 . 9 3 6 5 4 5 2 0 1 6 10047/11: ] [ h t t p 2 : d e b u g ] [ p i d 1 0 0 4 7 : t i d 1 10047/11: 1 ] h 2 _ t a s k . c ( 8 8 ) : [ c l i e n t 1 2 7 . 0 . 10047/11:
Re: svn commit: r1774328 - in /httpd/test/framework/trunk: c-modules/test_utilities/ c-modules/test_utilities/mod_test_utilities.c t/conf/extra.conf.in t/modules/rewrite.t
On 12/19/2016 12:57 PM, Ruediger Pluem wrote: This breaks the test suite for httpd 2.2.x.: Should be fixed now. (Sorry it took so long; turns out HTTPD_TEST_REQUIRE_APACHE doesn't work correctly if it's not the first line...) I chose to disable the test entirely for 2.2, since AFAIK there's no intention to backport a fix there. If that's not true, we can still enable the test without the utility module -- the downside is that a failing test would then run the server out of memory. Thanks again! --Jacob
Re: svn commit: r1774328 - in /httpd/test/framework/trunk: c-modules/test_utilities/ c-modules/test_utilities/mod_test_utilities.c t/conf/extra.conf.in t/modules/rewrite.t
On 12/19/2016 12:57 PM, Ruediger Pluem wrote: This breaks the test suite for httpd 2.2.x.: Oof, thanks for the catch. Didn't consider the effects on 2.2... --Jacob
Re: svn commit: r1774328 - in /httpd/test/framework/trunk: c-modules/test_utilities/ c-modules/test_utilities/mod_test_utilities.c t/conf/extra.conf.in t/modules/rewrite.t
On 12/14/2016 08:37 PM, jchamp...@apache.org wrote: > Author: jchampion > Date: Wed Dec 14 19:37:03 2016 > New Revision: 1774328 > > URL: http://svn.apache.org/viewvc?rev=1774328&view=rev > Log: > PR60478: add test case > > Includes a utility ap_expr function to determine the length of a string > argument. > > Added: > httpd/test/framework/trunk/c-modules/test_utilities/ > httpd/test/framework/trunk/c-modules/test_utilities/mod_test_utilities.c > (with props) > Modified: > httpd/test/framework/trunk/t/conf/extra.conf.in > httpd/test/framework/trunk/t/modules/rewrite.t > > Added: > httpd/test/framework/trunk/c-modules/test_utilities/mod_test_utilities.c > URL: > http://svn.apache.org/viewvc/httpd/test/framework/trunk/c-modules/test_utilities/mod_test_utilities.c?rev=1774328&view=auto > == > --- httpd/test/framework/trunk/c-modules/test_utilities/mod_test_utilities.c > (added) > +++ httpd/test/framework/trunk/c-modules/test_utilities/mod_test_utilities.c > Wed Dec 14 19:37:03 2016 > @@ -0,0 +1,48 @@ > +/** > + * This module provides utility functions for other tests; it doesn't provide > + * test cases of its own. > + */ > + > +#define HTTPD_TEST_REQUIRE_APACHE 2 > + > +#define APACHE_HTTPD_TEST_EXTRA_HOOKS util_register_hooks > +#include "apache_httpd_test.h" > + > +#include "apr_strings.h" > +#include "ap_expr.h" > + > +/** > + * The util_strlen() ap_expr function simply returns the length of its string > + * argument as a decimal string. > + */ > +static const char *util_strlen_func(ap_expr_eval_ctx_t *ctx, const void > *data, > +const char *arg) > +{ > +if (!arg) { > +return NULL; > +} > + > +return apr_psprintf(ctx->p, "%" APR_SIZE_T_FMT, strlen(arg)); > +} > + > +static int util_expr_lookup(ap_expr_lookup_parms *parms) > +{ > +switch (parms->type) { > +case AP_EXPR_FUNC_STRING: > +if (!strcasecmp(parms->name, "util_strlen")) { > +*parms->func = util_strlen_func; > +*parms->data = "dummy"; > +return OK; > +} > +break; > +} > + > +return DECLINED; > +} > + > +static void util_register_hooks(apr_pool_t *p) > +{ > +ap_hook_expr_lookup(util_expr_lookup, NULL, NULL, APR_HOOK_MIDDLE); > +} This breaks the test suite for httpd 2.2.x.: mod_test_utilities.c:12:21: error: ap_expr.h: No such file or directory mod_test_utilities.c:18: error: expected ‘)’ before ‘*’ token mod_test_utilities.c:28: error: expected ‘)’ before ‘*’ token mod_test_utilities.c: In function ‘util_register_hooks’: mod_test_utilities.c:45: warning: implicit declaration of function ‘ap_hook_expr_lookup’ mod_test_utilities.c:45: error: ‘util_expr_lookup’ undeclared (first use in this function) mod_test_utilities.c:45: error: (Each undeclared identifier is reported only once mod_test_utilities.c:45: error: for each function it appears in.) apxs:Error: Command failed with rc=65536 Regards Rüdiger
Re: svn commit: r1722154 - in /httpd/httpd/trunk: docs/log-message-tags/next-number modules/core/mod_watchdog.c
Late review due to compiler warning in 2.4.25 release testing, see below: Am 29.12.2015 um 16:38 schrieb j...@apache.org: Author: jim Date: Tue Dec 29 15:38:29 2015 New Revision: 1722154 URL: http://svn.apache.org/viewvc?rev=1722154&view=rev Log: Update w/ better logging Modified: httpd/httpd/trunk/docs/log-message-tags/next-number httpd/httpd/trunk/modules/core/mod_watchdog.c Modified: httpd/httpd/trunk/docs/log-message-tags/next-number URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/log-message-tags/next-number?rev=1722154&r1=1722153&r2=1722154&view=diff == --- httpd/httpd/trunk/docs/log-message-tags/next-number (original) +++ httpd/httpd/trunk/docs/log-message-tags/next-number Tue Dec 29 15:38:29 2015 @@ -1 +1 @@ -2972 +2982 Modified: httpd/httpd/trunk/modules/core/mod_watchdog.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/core/mod_watchdog.c?rev=1722154&r1=1722153&r2=1722154&view=diff == --- httpd/httpd/trunk/modules/core/mod_watchdog.c (original) +++ httpd/httpd/trunk/modules/core/mod_watchdog.c Tue Dec 29 15:38:29 2015 @@ -155,8 +155,8 @@ static void* APR_THREAD_FUNC wd_worker(a if (w->is_running) { watchdog_list_t *wl = w->callbacks; ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, wd_server_conf->s, - "%sWatchdog (%s) running", - w->singleton ? "Singleton" : "", w->name); + APLOGNO(02972) "%sWatchdog (%s) running", + w->singleton ? "Singleton " : "", w->name); apr_time_clock_hires(w->pool); if (wl) { apr_pool_t *ctx = NULL; @@ -251,8 +251,8 @@ static void* APR_THREAD_FUNC wd_worker(a } } ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, wd_server_conf->s, - "%sWatchdog (%s) stopping", - w->singleton ? "Singleton" : "", w->name); + APLOGNO(02973) "%sWatchdog (%s) stopping", + w->singleton ? "Singleton " : "", w->name); if (locked) apr_proc_mutex_unlock(w->mutex); @@ -456,11 +456,16 @@ static int wd_post_config_hook(apr_pool_ const ap_list_provider_names_t *wn; int i; +ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02974) +"Watchdog: found parent providers."); + wn = (ap_list_provider_names_t *)wl->elts; for (i = 0; i < wl->nelts; i++) { ap_watchdog_t *w = ap_lookup_provider(AP_WATCHDOG_PGROUP, wn[i].provider_name, AP_WATCHDOG_PVERSION); +ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02975) +"Watchdog: Looking for parent (%s).", wn[i].provider_name); if (w) { if (!w->active) { int status = ap_run_watchdog_need(s, w->name, 1, @@ -481,6 +486,8 @@ static int wd_post_config_hook(apr_pool_ "Watchdog: Failed to create parent worker thread."); return rv; } +ap_log_error(APLOG_MARK, APLOG_DEBUG, rv, s, APLOGNO(02976) +"Watchdog: Created parent worker thread (%s).", w->name); wd_server_conf->parent_workers++; } } @@ -495,13 +502,17 @@ static int wd_post_config_hook(apr_pool_ AP_WATCHDOG_CVERSION))) { const ap_list_provider_names_t *wn; int i; +ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02977) +"Watchdog: found child providers."); wn = (ap_list_provider_names_t *)wl->elts; for (i = 0; i < wl->nelts; i++) { ap_watchdog_t *w = ap_lookup_provider(AP_WATCHDOG_PGROUP, wn[i].provider_name, AP_WATCHDOG_CVERSION); -if (w) { +ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02978) +"Watchdog: Looking for child (%s).", wn[i].provider_name); + if (w) { if (!w->active) { int status = ap_run_watchdog_need(s, w->name, 0, w->singleton); @@ -524,7 +535,9 @@ static int wd_post_config_hook(apr_pool_ return rv; } } -wd_server_conf->child_workers++; +ap_log_error(APLOG_MARK, APLOG_DEBUG, rv, s, APLOGNO(02979) +"Watchdog: Created child worker thread (%s).", w->name); > + wd_server_conf->child_workers++; Here "rv" is used potentially uninitialized as a log
Re: AW: svn commit: r1773865 - /httpd/httpd/trunk/modules/http/http_filters.c
On 12/15/2016 11:13 AM, Plüm, Rüdiger, Vodafone Group wrote: > > >> -Ursprüngliche Nachricht- >> Von: Yann Ylavic [mailto:ylavic@gmail.com] >> Gesendet: Mittwoch, 14. Dezember 2016 19:58 >> An: httpd-dev >> Betreff: Re: svn commit: r1773865 - >> /httpd/httpd/trunk/modules/http/http_filters.c >> >> On Wed, Dec 14, 2016 at 9:45 AM, Plüm, Rüdiger, Vodafone Group >> wrote: >>> -Ursprüngliche Nachricht- Von: Yann Ylavic [mailto:ylavic@gmail.com] Gesendet: Mittwoch, 14. Dezember 2016 01:42 >> For the EOC case, how about: >>> >>> Looks good apart that I wouldn't do the break in the EOS case to catch >> EOC buckets after the EOS. >> >> Applied in r1774286 (and proposed for backport, 2.4.24?). > > Thanks. Just voted. So only one more vote missing. > >> >> No hurry about the new (attached) patch however, only an improvement >> IMHO. > > New one looks good. Happy to see this in trunk. This doesn't seem to be in trunk yet. Care to commit? Regards Rüdiger
Re: [VOTE] Release Apache httpd 2.4.25 as GA
Am 16.12.2016 um 19:29 schrieb Jim Jagielski: At long, long last, the pre-release test tarballs for Apache httpd version 2.4.25 can be found at the usual place: http://httpd.apache.org/dev/dist/ I'm calling a VOTE on releasing these as Apache httpd 2.4.25 GA. [ ] +1: Good to go [ ] +0: meh [ ] -1: Danger Will Robinson. And why. Vote will last the normal 72 hrs. NOTE: The *-deps are only there for convenience. +1 to release and thanks a bunch for RMing and to all who contributed to the release. In short: No regressions found. Detailed report: - Sigs and hashes OK - contents of tarballs identical - contents of tag and tarballs identical except for expected deltas (we could cleanup some m4 files in apr-util/xml/expat/conftools at the end of buildconf, no regression) Built on - Solaris 8+10 Sparc as 32 Bit Binaries - SLES 10+11 (64 Bits) - RHEL 6 (64 Bits) For all platforms built - with default (shared), shared and static modules - with module sets none, few, most, all, reallyall and default (always mod_privileges disabled) - using --enable-load-all-modules - against "included" APR/APU from deps tarball, plus external APR/APU 1.5.2/1.5.4 plus external apr 1.6.x head and apu 1.5.x head. - using external libraries - expat 2.2.0 - pcre 8.39 - openssl 1.0.2j plus patches - lua 5.3.3 plus LUA_COMPAT_5_1 define - distcache 1.5.1 - libxml2 2.9.4 - libnghttp2 1.7.0 - Tool chain: - platform gcc except for Solaris (gcc 4.1.2 for Solaris 8 and 4.9.2 for Solaris 10 and apr/u 1.5.2/1.5.4 and gcc 6.2.0 for Solaris with apr/u bundeled and heads) - CFLAGS: -O2 -g -Wall -fno-strict-aliasing (and -mpcu=v9 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__ on Solaris plus -D_XPG6 when using gcc 6.2.0) 208 build succeeded, 2 builds both on SLES 11 didn't succeed due to segmentation faults in ksh during configure run. Not a regression. - compiler warnings: modules/core/mod_watchdog.c:437: warning: 'rv' may be used uninitialized in this function modules/proxy/mod_proxy_express.c:111: warning: 'backend' may be used uninitialized in this function modules/ssl/ssl_util_stapling.c:686: warning: 'ok' may be used uninitialized in this function srclib/apr-util/xlate/xlate.c:120:38: warning: passing argument 2 of 'iconv' from incompatible pointer type (only Solaris 10) Tested for - Solaris 10 (32), SLES 11 (64), RHEL 6 (64) - MPMs prefork, worker, event - default, shared and static modules - log levels info, debug and trace8 - module set reallyall (124 modules plus MPMs) - module sets few, default, most and all ongoing The following test failures were seen: a Test 5 in t/modules/dav.t: Happens for 11 out of about 750 runs (4 on SLES 11, 6 on RHEL6, 1 on Solaris 10). Creation, modified and now times not in the correct order. This seems to be a system issue, all tests done on NFS, many tested on virtualized guests. Not a regression. b Various tests in t/apache/expr_string.t: (3, 6, 11, 14, 17, 20 ,23) Happens for 58 out of about 750 runs (2 on SLES 11, 53 on RHEL6, 3 on Solaris10). The failure is always on line 68, where the error_log contents are checked. Not a regression. c Test 59 of t/modules/include.t only and always on Solaris. This is due to a bug in the test, which uses strftime() with a "%s" pattern that is not supported on Solaris. Until recently the server and the test client both returned verbatim "%s" and the test succeeded. After updating some Perl modules for the http2 tests, the perl client even on Solaris now supports "%s" in strftime and the test starts to fail. It seems we have to fix the test. Not a regression d Test 163, 68 or 171 in t/ssl/proxy.t Sporadic (3) failures only for Solaris and only on event. We always get back about 40-60KB of data instead of the expected Proxy Error 502. The error message always refers to .../Apache-Test/lib/Apache/TestCommonPost.pm at line 131 Regression, but maybe a test framework problem? e Test25 and 30 in t/http11/chunked.t Fails only once on SLES 11 with event and "few" module set statically linked. # testing : number of requests # expected: 5 # received: 1 not ok 25 # testing : number of requests # expected: 6 # received: 2 not ok 30 Regression but extremely rare f Failure of tests 5-24 in t/modules/ext_filter.t Roughly 2/3 of all test runs fail those tests, didn't look for details, because it seems to be an open issue (BZ) and not a regression. g Few failures of test 1 in t/modules/ext_filter.t Only on Solaris while using "sed", did not appear later when the test was using the "perl" replacement I checked in in the meantime h Tests 1, 5-6, 10-11, 13-16, 20-21, 23-26, 28-31 in t/module/session.t Fail always for static builds with "all" and "most" module sets. I haven't yet checked but hopefully just a missed dependency thing. i Tests 72-75, 77 in t/apache/http_strict.t Fail alw
[RESULT] (Was: Re: [VOTE] Release Apache httpd 2.4.25 as GA)
With 72 hours up, and sufficient +1 (binding) votes, I call this vote CLOSED with the result of PASS. I have gone ahead and moved the release artifacts over the the required place for the mirrors to sync up. I will be away (In Tyson's Corner, VA) later today and all day tomorrow, and the 1st half of Weds), so if someone wants to take on the announcing part, that would be great. I'll have limited cycles and external net access. > On Dec 16, 2016, at 1:29 PM, Jim Jagielski wrote: > > At long, long last, the pre-release test tarballs for Apache httpd > version 2.4.25 can be found at the usual place: > > http://httpd.apache.org/dev/dist/ > > I'm calling a VOTE on releasing these as Apache httpd 2.4.25 GA. > > [ ] +1: Good to go > [ ] +0: meh > [ ] -1: Danger Will Robinson. And why. > > Vote will last the normal 72 hrs. > > NOTE: The *-deps are only there for convenience. > > Thx!
Re: [VOTE] Release Apache httpd 2.4.25 as GA
On Fri, Dec 16, 2016 at 12:29 PM, Jim Jagielski wrote: > At long, long last, the pre-release test tarballs for Apache httpd > version 2.4.25 can be found at the usual place: > > http://httpd.apache.org/dev/dist/ > > I'm calling a VOTE on releasing these as Apache httpd 2.4.25 GA. > Regressions noted; Build fails at mod_socache_memcache.mak on Windows command line 'nmake' invocation, fixed in 2.4.x branch with r1774650. GUI build of Windows works; cmake-provisioned build works, in light of security fixes, decided this won't-fix defect, is not a showstopper. +1 for httpd-2.4.25.tar.gz release. httpd-2.4.25/srclib/apr-util/xml/expat contains Expat 1.95.7. For reference, 2.0 derived from 1.95.8 final, which was not a security release. 2.1.0, 2.1.1 and 2.2.0 have resolved a significant number of security defects, noted here; http://expat.sourceforge.net/ Note apr-util-1.6.x branch (and apr-trunk) no longer bundles any expat sources. -1 to distribute httpd-2.4.25-deps.tar.gz from httpd.
Re: [VOTE] Release Apache httpd 2.4.25 as GA
All fine here on Windows. Steffen > Op 16 dec. 2016 om 19:29 heeft Jim Jagielski het volgende > geschreven: > > At long, long last, the pre-release test tarballs for Apache httpd > version 2.4.25 can be found at the usual place: > >http://httpd.apache.org/dev/dist/ > > I'm calling a VOTE on releasing these as Apache httpd 2.4.25 GA. > > [ ] +1: Good to go > [ ] +0: meh > [ ] -1: Danger Will Robinson. And why. > > Vote will last the normal 72 hrs. > > NOTE: The *-deps are only there for convenience. > > Thx!
Re: [VOTE] Release Apache httpd 2.4.25 as GA
> Am 16.12.2016 um 19:29 schrieb Jim Jagielski : > > I'm calling a VOTE on releasing these as Apache httpd 2.4.25 GA. > > [x] +1: Good to go macOS 10.12, x64 - event, worker Ubuntu 14.04 x64 - event, worker