ModSecurity segfault

Hello,
We are running ModSecurity@1edd3570e11e9bb2b6d86b249232b24917a4b0ac and ModSecurity-nginx@abbf2c47f6f3205484a1a9db618e067dce213b89 with nginx 1.13.1 and seeing the following segfault:
(gdb) bt
#0  0x00007fc6a040945b in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007fc6a1c9934d in modsecurity::Rule::getFinalVars(modsecurity::Transaction*) () from /usr/lib/x86_64-linux-gnu/libmodsecurity.so.3
#2  0x00007fc6a1c9a4d2 in modsecurity::Rule::evaluate(modsecurity::Transaction*, std::shared_ptr<modsecurity::RuleMessage>) () from /usr/lib/x86_64-linux-gnu/libmodsecurity.so.3
#3  0x00007fc6a1c8d006 in modsecurity::Rules::evaluate(int, modsecurity::Transaction*) () from /usr/lib/x86_64-linux-gnu/libmodsecurity.so.3
#4  0x00007fc6a1c7dfb5 in modsecurity::Transaction::processLogging() () from /usr/lib/x86_64-linux-gnu/libmodsecurity.so.3
#5  0x0000000000523398 in ngx_http_modsecurity_log_handler (r=0x1bea9f310) at ../mod_security/src/ngx_http_modsecurity_log.c:72
#6  0x00000000004543f4 in ngx_http_log_request (r=r@entry=0x1ba5e3bd0) at src/http/ngx_http_request.c:3554
#7  0x0000000000455ae7 in ngx_http_free_request (r=0x1ba5e3bd0, rc=rc@entry=0) at src/http/ngx_http_request.c:3501
#8  0x000000000047fcba in ngx_http_v2_close_stream (stream=0x1ba5e4890, rc=rc@entry=0) at src/http/v2/ngx_http_v2.c:4057

This looks like an issue/bug in ModSecurity directly (and not the nginx connector) so filing the bug here, let me know if that's incorrect.

Hi @AdamJacobMuller,
Thanks for the bug report. Just compiling these versions with default modsecurity.conf and starting Nginx leads to this crash? Could you please described in more details the steps your performed that lead to the segfault?
Thanks.

Hi @victorhora,
The segfault occurs during the request processing, in the logging phase. The request is still delivered to the client. At high request/segfault rates, this will, of course, cause lots of client requests to fail if they are served by a worker that is log/panicking for another request.
I'm attaching a copy of the mod_security ruleset in use, and I can provide an nginx.conf mockup that will demonstrate the issue as well if you need, but, basically we're proxying requests to a backend and the response bodies are coming from that backend. SSL and HTTP/2 are in-use but the issue is not isolated to them.
rules.zip
Thank you,
-Adam

Hi @AdamJacobMuller,
could you tell me about nginx configuration options you used in before nginx build

Hi @wergoth,
Do you mean nginx ./configure options or for ModSecurity itself, for the latter, its just basic ./configure && make && make install
For nginx things are a bit more complex, but, not too much:
configure arguments: --prefix=/usr --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error_log --pid-path=/run/nginx.pid --lock-path=/run/lock/nginx.lock --with-cc-opt=-I/usr/include --with-ld-opt=-L/usr/lib --with-ipv6 --with-pcre --without-mail_pop3_module --without-mail_smtp_module --without-mail_imap_module --without-http_limit_conn_module --without-http_memcached_module --with-http_geoip_module --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-http_auth_request_module --user=nobody --group=nobody --with-http_mp4_module --with-http_flv_module --add-module=../lua-nginx-module --add-module=../ngx_devel_kit --add-module=../brotli --with-threads --with-file-aio --with-http_v2_module --add-module=../mod_security

@victorhora and @wergoth, if you're having issues reproducing the bug, I'm happy to give you access to a test system that I have setup to reproduce it.
The issue definitely happens much more with parallel requests. It's very difficult to reproduce with something like curl, but, trivial with a browser. Drop me an email so the credentials aren't in a public github issue<EMAIL_ADDRESS>and I'll setup access for you.

Hi @AdamJacobMuller,
We reproduced this issue and got the next results. Possibly it would help:
##########################################################
REQUEST
##########################################################
curl 'http://<IP_ADDRESS>:8081/..\..\..\..\..\..\..\..\..\..\/windows/win.ini'
expected: 404 Not Found
got: nginx segfault
##########################################################
DEBUGGER OUTPUT
##########################################################
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
igdb)
0x00007f2e60e67390 in __memcpy_ssse3 () from /lib64/libc.so.6
(gdb) where
#0  0x00007f2e60e67390 in __memcpy_ssse3 () from /lib64/libc.so.6
#1  0x00007f2e5fed48e0 in std::string::_Rep::_M_clone(std::allocator const&, unsigned long) () from /lib64/libstdc++.so.6
#2  0x00007f2e5fed4f8c in std::basic_string<char, std::char_traits, std::allocator >::basic_string(std::string const&) ()
from /lib64/libstdc++.so.6
#3  0x00007f2e622d7a76 in modsecurity::Rule::getFinalVars (this=0x31217a0, trans=0x39b5dd0) at rule.cc:572
#4  0x00007f2e622d8f02 in modsecurity::Rule::evaluate (this=0x31217a0, trans=0x39b5dd0,
ruleMessage=std::shared_ptr (count 2, weak 0) 0x3b57b20) at rule.cc:706
#5  0x00007f2e622d9705 in modsecurity::Rule::evaluate (this=0x3121650, trans=0x39b5dd0,
ruleMessage=std::shared_ptr (count 2, weak 0) 0x3b57b20) at rule.cc:758
#6  0x00007f2e622ccb40 in modsecurity::Rules::evaluate (this=0x16afed0, phase=3, transaction=0x39b5dd0) at rules.cc:212
#7  0x00007f2e622b5e9b in modsecurity::Transaction::processRequestBody (this=0x39b5dd0) at transaction.cc:799
#8  0x00007f2e622bc3a1 in modsecurity::msc_process_request_body (transaction=0x39b5dd0) at transaction.cc:1795
#9  0x00000000004aacfb in ngx_http_modsecurity_pre_access_handler (r=0x39ac500)
at /root/ModSecurity-nginx/src/ngx_http_modsecurity_pre_access.c:199
#10 0x000000000044e0ba in ngx_http_core_generic_phase (r=0x39ac500, ph=0x390e2f0) at src/http/ngx_http_core_module.c:882
#11 0x0000000000449eb3 in ngx_http_core_run_phases (r=r@entry=0x39ac500) at src/http/ngx_http_core_module.c:860
#12 0x0000000000449fc1 in ngx_http_handler (r=r@entry=0x39ac500) at src/http/ngx_http_core_module.c:843
#13 0x00000000004556d1 in ngx_http_process_request (r=r@entry=0x39ac500) at src/http/ngx_http_request.c:1940
#14 0x0000000000455aac in ngx_http_process_request_headers (rev=rev@entry=0x3911380) at src/http/ngx_http_request.c:1367
#15 0x0000000000455dc2 in ngx_http_process_request_line (rev=rev@entry=0x3911380) at src/http/ngx_http_request.c:1040
#16 0x0000000000456201 in ngx_http_wait_request_handler (rev=0x3911380) at src/http/ngx_http_request.c:506
#17 0x000000000043d430 in ngx_epoll_process_events (cycle=0x167c460, timer=, flags=)
at src/event/modules/ngx_epoll_module.c:902
#18 0x00000000004330ec in ngx_process_events_and_timers (cycle=cycle@entry=0x167c460) at src/event/ngx_event.c:242
#19 0x000000000043b40c in ngx_worker_process_cycle (cycle=0x167c460, data=) at src/os/unix/ngx_process_cycle.c:749
#20 0x0000000000439ac1 in ngx_spawn_process (cycle=cycle@entry=0x167c460, proc=0x43b379 <ngx_worker_process_cycle>, data=0x0,
name=0x4f161e "worker process", respawn=respawn@entry=0) at src/os/unix/ngx_process.c:198
#21 0x000000000043c10e in ngx_reap_children (cycle=0x167c460) at src/os/unix/ngx_process_cycle.c:621
#22 ngx_master_process_cycle (cycle=cycle@entry=0x167c460) at src/os/unix/ngx_process_cycle.c:174
#23 0x0000000000413c5e in main (argc=, argv=) at src/core/nginx.c:375
#3  0x00007f2e622d7a76 in modsecurity::Rule::getFinalVars (this=0x31217a0, trans=0x39b5dd0) at rule.cc:572
572	                new std::string(*v->m_key),
(gdb) print *this
$1 = {m_accuracy = 0, m_actionsConf = std::vector of length 0, capacity 0, m_actionsRuntimePos = std::vector of length 0, capacity 0,
m_actionsRuntimePre = std::vector of length 0, capacity 0, m_chained = false, m_chainedRule = 0x0,
m_fileName = "/usr/local/cwaf/rules/rule-33062-Apps_WPPlugin.conf", m_lineNumber = 190, m_logData = "", m_marker = "",
m_maturity = 0, m_op = 0x3121740, m_phase = 3, m_rev = "", m_ruleId = 0, m_secMarker = false, m_variables = 0x3120f80, m_ver = "",
m_unconditional = false, m_referenceCount = 1}
(gdb) l
567	                }
568	                continue;
569	            }
570
571	            std::unique_ptrcollection::Variable var(new collection::Variable(
572	                new std::string(*v->m_key),
573	                new std::string(*v->m_value)));
574	            var->m_dynamic_value = true;
575	            var->m_dynamic_key = true;
576	            for (auto &i : v->m_orign) {
(gdb) print *v
$2 = {m_key = 0x7ffce6153a70, m_value = 0x3c349d0, m_dynamic_value = false, m_dynamic_key = false, m_dynamic = true,
m_orign = empty std::list}
(gdb) printf "<%-64s>\n", (char*)(*v->m_key)
<6aaa80360ef1cc3640113a2aa4514aad::SESSION:wp_add                >
##############################################################
NOTE: here *v->m_key seems not to be \0 terminated
##############################################################
(gdb) printf "<%-64s>\n", (char*)(*v->m_value)
<1'                                                              >
(gdb) up
#4  0x00007f2e622d8f02 in modsecurity::Rule::evaluate (this=0x31217a0, trans=0x39b5dd0,
ruleMessage=std::shared_ptr (count 2, weak 0) 0x3b57b20) at rule.cc:706
706	    finalVars = getFinalVars(trans);
(gdb) print *this
$4 = {m_accuracy = 0, m_actionsConf = std::vector of length 0, capacity 0, m_actionsRuntimePos = std::vector of length 0, capacity 0,
m_actionsRuntimePre = std::vector of length 0, capacity 0, m_chained = false, m_chainedRule = 0x0,
m_fileName = "/usr/local/cwaf/rules/rule-33062-Apps_WPPlugin.conf", m_lineNumber = 190, m_logData = "", m_marker = "",
m_maturity = 0, m_op = 0x3121740, m_phase = 3, m_rev = "", m_ruleId = 0, m_secMarker = false, m_variables = 0x3120f80, m_ver = "",
m_unconditional = false, m_referenceCount = 1}
(gdb)
(gdb) print (Variable)this->m_variables
$8 = {_vptr.Variable = 0x3120ff0,
m_name = " \026\022\003\000\000\000\000 \000\000\000\000\000\000\000\061\000\000\000\000\000\000\000\060\377^b.\177\000\000\001\000\016a\001\000\000\000\330\017\022\003\000\000\000\000\370\343\021.\177\000\000\001\000\000\000H\017\267C1\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\005", '\000' <repeats 15 times>, "nolog\000\000\000\004\000\000\005L\213t$1\000\000\000\000\000\000\000\260\355^b.\177\000\000\000\000\000\000\002\000\000\000\270\020\022\003\000\000\000\000\370\343\021.\177\000\000\001\000\000\000\000\000\003L1\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004", '\000' <repeats 13 times>, "\aHpass\000\000\000\000"...,
m_collectionName = " \026\022\003\000\000\000\000 \000\000\000\000\000\000\000\061\000\000\000\000\000\000\000\060\377^b.\177\000\000\001\000\016a\001\000\000\000\330\017\022\003\000\000\000\000\370\343\021.\177\000\000\001\000\000\000H\017\267C1\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\005", '\000' <repeats 15 times>, "nolog\000\000\000\004\000\000\005L\213t$1\000\000\000\000\000\000\000\260\355^b.\177\000\000\000\000\000\000\002\000\000\000\270\020\022\003\000\000\000\000\370\343\021.\177\000\000\001\000\000\000\000\000\003L1\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004", '\000' <repeats 13 times>, "\aHpass\000\000\000\000"..., m_type = (modsecurity::Variables::Variable::MultipleMatches | unknown: 32), m_kind = modsecurity::Variables::Variable::DirectVariable,
m_isExclusion = 224, m_isCount = 8}
(gdb) print *this->m_op
$9 = {_vptr.Operator = 0x7f2e625f0fd0 <vtable for modsecurity::operators::Eq+16>, m_match_message = "", m_negation = false,
m_op = "Eq", m_param = "1"}
(gdb) print trans
$11 = {modsecurity::TransactionAnchoredVariables = {m_variableArgsNames = {m_transaction = 0x39b5dd0, m_var = 0x39c1850,
m_offset = 76, m_name = "ARGS_NAMES", m_value = "page action id"}, m_variableArgGetNames = {m_transaction = 0x39b5dd0,
m_var = 0x3964380, m_offset = 76, m_name = "ARGS_GET_NAMES", m_value = "page action id"}, m_variableArgPostNames = {
m_transaction = 0x39b5dd0, m_var = 0x3a18bc0, m_offset = 0, m_name = "ARGS_POST_NAMES", m_value = ""},
m_variableRequestHeadersNames = {m_transaction = 0x39b5dd0, m_var = 0x3a5f1e0, m_offset = 148, m_name = "REQUEST_HEADERS_NAMES",
m_value = "User-Agent Host Accept Cookie"}, m_variableResponseContentType = {m_transaction = 0x39b5dd0, m_var = 0x3ae37e0,
m_offset = 0, m_name = "RESPONSE_CONTENT_TYPE", m_value = ""}, m_variableResponseHeadersNames = {m_transaction = 0x39b5dd0,
m_var = 0x3ae3810, m_offset = 0, m_name = "RESPONSE_HEADERS_NAMES", m_value = ""}, m_variableARGScombinedSize = {
m_transaction = 0x39b5dd0, m_var = 0x3a6a4a0, m_offset = 79, m_name = "ARGS_COMBINED_SIZE", m_value = "45.000000"},
m_variableAuthType = {m_transaction = 0x39b5dd0, m_var = 0x3a25f80, m_offset = 0, m_name = "AUTH_TYPE", m_value = ""},
m_variableFilesCombinedSize = {m_transaction = 0x39b5dd0, m_var = 0x3af2150, m_offset = 0, m_name = "FILES_COMBINED_SIZE",
m_value = ""}, m_variableFullRequest = {m_transaction = 0x39b5dd0, m_var = 0x3aef060, m_offset = 656, m_name = "FULL_REQUEST",
m_value = "User-Agent: curl/7.29.0\nCookie: wordpress_6aaa80360ef1cc3640113a2aa4514aad=admin%7C1479613486%7Cl24GVlSh2KxHIDmtsbygMHW22CWFh7SUEuwQ0jKnXdH%7C85fafcb201f503724f94915ae9df1bd4762d307da6dbb9438fdfdcdf22"...}, m_variableFullRequestLength = {
m_transaction = 0x39b5dd0, m_var = 0x3af2180, m_offset = 656, m_name = "FULL_REQUEST_LENGTH", m_value = "568"},
m_variableInboundDataError = {m_transaction = 0x39b5dd0, m_var = 0x3a24ee0, m_offset = 0, m_name = "INBOUND_DATA_ERROR",
m_value = "0"}, m_variableMatchedVar = {m_transaction = 0x39b5dd0, m_var = 0x3976450, m_offset = 656, m_name = "MATCHED_VAR",
m_value = "/wp430/wp-admin/admin.php"}, m_variableMatchedVarName = {m_transaction = 0x39b5dd0, m_var = 0x3976480,
m_offset = 656, m_name = "MATCHED_VAR_NAME", m_value = "REQUEST_FILENAME"}, m_variableMultipartCrlfLFLines = {
m_transaction = 0x39b5dd0, m_var = 0x3a447c0, m_offset = 0, m_name = "MULTIPART_CRLF_LF_LINES", m_value = ""},
m_variableMultipartDataAfter = {m_transaction = 0x39b5dd0, m_var = 0x39c20d0, m_offset = 0, m_name = "MULTIPART_DATA_AFTER",
m_value = ""}, m_variableMultipartFileLimitExceeded = {m_transaction = 0x39b5dd0, m_var = 0x39c2140, m_offset = 0,
m_name = "MULTIPART_FILE_LIMIT_EXCEEDED", m_value = ""}, m_variableMultipartStrictError = {m_transaction = 0x39b5dd0,
m_var = 0x39c2170, m_offset = 0, m_name = "MULTIPART_STRICT_ERROR", m_value = ""}, m_variableMultipartHeaderFolding = {
m_transaction = 0x39b5dd0, m_var = 0x39a6c60, m_offset = 0, m_name = "MULTIPART_HEADER_FOLDING", m_value = ""},
m_variableMultipartInvalidQuoting = {m_transaction = 0x39b5dd0, m_var = 0x39549d0, m_offset = 0,
m_name = "MULTIPART_INVALID_QUOTING", m_value = ""}, m_variableMultipartInvalidHeaderFolding = {m_transaction = 0x39b5dd0,
m_var = 0x3bcd7d0, m_offset = 0, m_name = "MULTIPART_INVALID_HEADER_FOLDING", m_value = ""},
m_variableMultipartUnmatchedBoundary = {m_transaction = 0x39b5dd0, m_var = 0x3bcd840, m_offset = 0,
m_name = "MULTIPART_UNMATCHED_BOUNDARY", m_value = ""}, m_variableOutboundDataError = {m_transaction = 0x39b5dd0,
m_var = 0x3a0ad90, m_offset = 0, m_name = "OUTBOUND_DATA_ERROR", m_value = ""}, m_variablePathInfo = {m_transaction = 0x39b5dd0,
m_var = 0x3a0ae20, m_offset = 4, m_name = "PATH_INFO", m_value = "/wp430/wp-admin/admin.php"}, m_variableQueryString = {
m_transaction = 0x39b5dd0, m_var = 0x3c34af0, m_offset = 30, m_name = "QUERY_STRING",
m_value = "page=heat-trackr_abtest_admin.php&action=edit&id=1"}, m_variableRemoteAddr = {m_transaction = 0x39b5dd0,
m_var = 0x3c34b50, m_offset = 0, m_name = "REMOTE_ADDR", m_value = "<IP_ADDRESS>"}, m_variableRemoteHost = {
m_transaction = 0x39b5dd0, m_var = 0x3c34bb0, m_offset = 0, m_name = "REMOTE_HOST", m_value = "<IP_ADDRESS>"},
m_variableRemotePort = {m_transaction = 0x39b5dd0, m_var = 0x3a14050, m_offset = 0, m_name = "REMOTE_PORT", m_value = "62543"},
m_variableReqbodyError = {m_transaction = 0x39b5dd0, m_var = 0x3a140b0, m_offset = 656, m_name = "REQBODY_ERROR", m_value = "0"},
m_variableReqbodyErrorMsg = {m_transaction = 0x39b5dd0, m_var = 0x3a0adc0, m_offset = 0, m_name = "REQBODY_ERROR_MSG",
m_value = ""}, m_variableReqbodyProcessorError = {m_transaction = 0x39b5dd0, m_var = 0x3a26050, m_offset = 656,
m_name = "REQBODY_PROCESSOR_ERROR", m_value = "0"}, m_variableReqbodyProcessorErrorMsg = {m_transaction = 0x39b5dd0,
m_var = 0x3a260c0, m_offset = 0, m_name = "REQBODY_PROCESSOR_ERROR_MSG", m_value = ""}, m_variableReqbodyProcessor = {
m_transaction = 0x39b5dd0, m_var = 0x3a260f0, m_offset = 0, m_name = "REQBODY_PROCESSOR", m_value = ""},
m_variableRequestBasename = {m_transaction = 0x39b5dd0, m_var = 0x3947d60, m_offset = 20, m_name = "REQUEST_BASENAME",
m_value = "admin.php"}, m_variableRequestBody = {m_transaction = 0x39b5dd0, m_var = 0x3ae3870, m_offset = 0,
m_name = "REQUEST_BODY", m_value = ""}, m_variableRequestBodyLength = {m_transaction = 0x39b5dd0, m_var = 0x3947d90,
m_offset = 0, m_name = "REQUEST_BODY_LENGTH", m_value = ""}, m_variableRequestFilename = {m_transaction = 0x39b5dd0,
m_var = 0x3ae3920, m_offset = 4, m_name = "REQUEST_FILENAME", m_value = "/wp430/wp-admin/admin.php"}, m_variableRequestLine = {
m_transaction = 0x39b5dd0, m_var = 0x39c1990, m_offset = 0, m_name = "REQUEST_LINE",
m_value = "GET /wp430/wp-admin/admin.php?page=heat-trackr_abtest_admin.php&action=edit&id=1 HTTP/1.1"},
m_variableRequestMethod = {m_transaction = 0x39b5dd0, m_var = 0x39c19f0, m_offset = 0, m_name = "REQUEST_METHOD",
m_value = "GET"}, m_variableRequestProtocol = {m_transaction = 0x39b5dd0, m_var = 0x3ae3950, m_offset = 81,
m_name = "REQUEST_PROTOCOL", m_value = "HTTP/1.1"}, m_variableRequestURI = {m_transaction = 0x39b5dd0, m_var = 0x3af8360,
m_offset = 4, m_name = "REQUEST_URI", m_value = "/wp430/wp-admin/admin.php?page=heat-trackr_abtest_admin.php&action=edit&id=1"},
m_variableRequestURIRaw = {m_transaction = 0x39b5dd0, m_var = 0x3af83c0, m_offset = 4, m_name = "REQUEST_URI_RAW",
m_value = "/wp430/wp-admin/admin.php?page=heat-trackr_abtest_admin.php&action=edit&id=1"}, m_variableResource = {
m_transaction = 0x39b5dd0, m_var = 0x3af8420, m_offset = 0, m_name = "RESOURCE", m_value = ""}, m_variableResponseBody = {
m_transaction = 0x39b5dd0, m_var = 0x394da00, m_offset = 0, m_name = "RESPONSE_BODY", m_value = ""},
m_variableResponseContentLength = {m_transaction = 0x39b5dd0, m_var = 0x39c1a60, m_offset = 0, m_name = "RESPONSE_CONTENT_LENGTH",
m_value = ""}, m_variableResponseProtocol = {m_transaction = 0x39b5dd0, m_var = 0x394dab0, m_offset = 0,
m_name = "RESPONSE_PROTOCOL", m_value = ""}, m_variableResponseStatus = {m_transaction = 0x39b5dd0, m_var = 0x3aef3f0,
m_offset = 0, m_name = "RESPONSE_STATUS", m_value = ""}, m_variableServerAddr = {m_transaction = 0x39b5dd0, m_var = 0x3aef450,
m_offset = 0, m_name = "SERVER_ADDR", m_value = "<IP_ADDRESS>"}, m_variableServerName = {m_transaction = 0x39b5dd0,
m_var = 0x3aef4b0, m_offset = 120, m_name = "SERVER_NAME", m_value = "<IP_ADDRESS>"}, m_variableServerPort = {
m_transaction = 0x39b5dd0, m_var = 0x1684270, m_offset = 0, m_name = "SERVER_PORT", m_value = "8081"}, m_variableSessionID = {
m_transaction = 0x39b5dd0, m_var = 0x16842d0, m_offset = 656, m_name = "SESSIONID",
m_value = "6aaa80360ef1cc3640113a2aa4514aad"}, m_variableUniqueID = {m_transaction = 0x39b5dd0, m_var = 0x1684330, m_offset = 0,
m_name = "UNIQUE_ID", m_value = "15009866385.337469"}, m_variableUrlEncodedError = {m_transaction = 0x39b5dd0,
m_var = 0x394dae0, m_offset = 0, m_name = "URLENCODED_ERROR", m_value = "0"}, m_variableUserID = {m_transaction = 0x39b5dd0,
m_var = 0x399c360, m_offset = 0, m_name = "USERID", m_value = ""},
m_variableArgs = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 3 elements = {["id"] = 0x39b77c0,
["action"] = 0x39b75f0, ["page"] = 0x39a5390}, m_transaction = 0x39b5dd0, m_name = "ARGS"},
m_variableArgsGet = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 3 elements = {
["id"] = 0x3975e60, ["action"] = 0x39b7690, ["page"] = 0x39a5430}, m_transaction = 0x39b5dd0, m_name = "ARGS_GET"},
m_variableArgsPost = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "ARGS_POST"},
m_variableFilesSizes = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "FILES_SIZES"},
m_variableFilesNames = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "FILES_NAMES"},
m_variableFilesTmpContent = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "FILES_TMP_CONTENT"},
m_variableMultiPartFileName = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "MULTIPART_FILENAME"},
m_variableMultiPartName = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "MULTIPART_NAME"},
m_variableMatchedVarsNames = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 1 elements = {
["REQUEST_FILENAME"] = 0x3ad6dd0}, m_transaction = 0x39b5dd0, m_name = "MATCHED_VARS_NAMES"},
m_variableMatchedVars = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 1 elements = {
["REQUEST_FILENAME"] = 0x3ad6e30}, m_transaction = 0x39b5dd0, m_name = "MATCHED_VARS"},
m_variableFiles = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "FILES"},
m_variableRequestCookies = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 6 elements = {
["PHPSESSID"] = 0x39a58b0, ["wp-settings-time-1"] = 0x39bf140, ["wp-settings-1"] = 0x39bef20,
["wordpress_logged_in_6aaa80360ef1cc3640113a2aa4514aad"] = 0x3a312e0, ["wordpress_test_cookie"] = 0x3947260,
["wordpress_6aaa80360ef1cc3640113a2aa4514aad"] = 0x3a27350}, m_transaction = 0x39b5dd0, m_name = "REQUEST_COOKIES"},
m_variableRequestHeaders = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 4 elements = {
["Accept"] = 0x3976020, ["Host"] = 0x39a5490, ["Cookie"] = 0x3aef600, ["User-Agent"] = 0x3942770}, m_transaction = 0x39b5dd0,
m_name = "REQUEST_HEADERS"},
m_variableResponseHeaders = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "RESPONSE_HEADERS"},
m_variableGeo = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "GEO"},
m_variableRequestCookiesNames = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 6 elements = {
["PHPSESSID"] = 0x39a5800, ["wp-settings-time-1"] = 0x39bf000, ["wp-settings-1"] = 0x3a31480,
["wordpress_logged_in_6aaa80360ef1cc3640113a2aa4514aad"] = 0x3a31370, ["wordpress_test_cookie"] = 0x3a273b0,
["wordpress_6aaa80360ef1cc3640113a2aa4514aad"] = 0x3aef6a0}, m_transaction = 0x39b5dd0, m_name = "REQUEST_COOKIES_NAMES"},
m_variableRule = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 1868 elements = {
["logdata"] = 0x3b64940, ["logdata"] = 0x3b63160, ["logdata"] = 0x3c6dc20, ["logdata"] = 0x3bdfd80, ["logdata"] = 0x3b60e60,
["logdata"] = 0x3b60d80, ["logdata"] = 0x3b601d0, ["logdata"] = 0x3b5fa80, ["logdata"] = 0x3b5f1b0, ["logdata"] = 0x3b5ea30,
["logdata"] = 0x3bd8010, ["logdata"] = 0x3c37320, ["logdata"] = 0x3c369f0, ["logdata"] = 0x3c36230, ["logdata"] = 0x3c35c60,
["logdata"] = 0x3c352d0, ["logdata"] = 0x39bd660, ["logdata"] = 0x39bdc10, ["logdata"] = 0x39bceb0, ["logdata"] = 0x39bc700,
["logdata"] = 0x39bbe80, ["logdata"] = 0x39bb920, ["logdata"] = 0x3a3f3e0, ["logdata"] = 0x3a3ec90, ["logdata"] = 0x3a3e550,
["logdata"] = 0x3a3dcb0, ["logdata"] = 0x39a0160, ["logdata"] = 0x39a0860, ["logdata"] = 0x399f8c0, ["logdata"] = 0x399f020,
["logdata"] = 0x39a8cf0, ["logdata"] = 0x399ea30, ["logdata"] = 0x39a8450, ["logdata"] = 0x39a7c80, ["logdata"] = 0x39a74b0,
["logdata"] = 0x3af1e20, ["logdata"] = 0x3af20f0, ["logdata"] = 0x3af0e80, ["logdata"] = 0x3af05e0, ["logdata"] = 0x396f6b0,
["logdata"] = 0x3af0010, ["logdata"] = 0x396ee10, ["logdata"] = 0x396e570, ["logdata"] = 0x3aed4a0,
["logdata"] = 0x396dfc0...}, m_transaction = 0x39b5dd0, m_name = "RULE"},
m_variableFilesTmpNames = {<std::unordered_multimap<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Variable*, modsecurity::MyHash, modsecurity::MyEqual, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Variable*> > >> = std::unordered_multimap with 0 elements,
m_transaction = 0x39b5dd0, m_name = "FILES_TMPNAMES"}, m_variableOffset = 656}, m_creationTimeStamp = 45,
m_clientIpAddress = 0x39ad478 "<IP_ADDRESS>", m_httpVersion = 0x503072 "1.1", m_serverIpAddress = 0x7f2e62e5f818 "<IP_ADDRESS>",
m_uri = 0x1698310 "/wp430/wp-admin/admin.php?page=heat-trackr_abtest_admin.php&action=edit&id=1",
m_uri_no_query_string_decoded = "/wp430/wp-admin/admin.php", m_ARGScombinedSizeDouble = 45, m_clientPort = 62543,
m_highestSeverityAction = 2, m_httpCodeReturned = 200, m_serverPort = 8081, m_ms = 0x1689a10,
m_requestBodyType = modsecurity::Transaction::UnknownFormat, m_requestBodyProcessor = modsecurity::Transaction::UnknownFormat,
Python Exception <type 'exceptions.ValueError'> Cannot find type std::list<int, std::allocator >::_Node:
Python Exception <type 'exceptions.ValueError'> Cannot find type std::list<std::pair<std::basic_string<char, std::char_traits, std::allocator >, std::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator >, std::basic_string<char, std::char_traits, std::allocator > > > >::_Node:
m_rules = 0x16afed0, m_ruleRemoveById = empty std::list, m_ruleRemoveTargetByTag = empty std::list,
Python Exception <type 'exceptions.ValueError'> Cannot find type std::list<std::pair<int, std::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<int, std::basic_string<char, std::char_traits, std::allocator > > > >::_Node:
m_ruleRemoveTargetById = empty std::list, Python Exception <type 'exceptions.ValueError'> Cannot find type std::list<std::pair<int, std::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<int, std::basic_string<char, std::char_traits, std::allocator > > > >::_Node:
m_requestBodyAccess = 2, m_auditLogModifier = empty std::list,
m_rulesMessages = empty std::list, m_requestBody = , m_responseBody = ,
m_id = "15009866385.337469", m_marker = "", m_skip_next = 0, m_allowType = ,
m_uri_decoded = "/wp430/wp-admin/admin.php?page=heat-trackr_abtest_admin.php&action=edit&id=1",
m_actions = std::vector of length 0, capacity 0, m_it = {status = 200, pause = 0, url = 0x0, log = 0x0, disruptive = 0},
m_timeStamp =<PHONE_NUMBER>,
m_collections = {<std::unordered_map<std::basic_string<char, std::char_traits, std::allocator >, modsecurity::collection::Collection*, std::hash<std::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::basic_string<char, std::char_traits, std::allocator > const, modsecurity::collection::Collection*> > >> = std::unordered_map with 1 elements = {["TX"] = 0x394c360},
m_transient = 0x394c290, m_global_collection_key = "global", m_ip_collection_key = "<IP_ADDRESS>_curl/7.29.0'",
m_session_collection_key = "6aaa80360ef1cc3640113a2aa4514aad", m_user_collection_key = "", m_resource_collection_key = "",
m_global_collection = 0x1689a60, m_ip_collection = 0x168dc20, m_session_collection = 0x168fcd0, m_user_collection = 0x1691d80,
m_resource_collection = 0x168bb70}, m_matched = empty std::list, m_xml = 0x3a130a0, m_json = 0x3bd1990, m_variableDuration = "",
m_variableEnvs = std::map with 0 elements, m_variableHighestSeverityAction = "", m_variableRemoteUser = "", m_variableTime = "",
m_variableTimeDay = "", m_variableTimeEpoch = "", m_variableTimeHour = "", m_variableTimeMin = "", m_variableTimeSec = "",
m_variableTimeWDay = "", m_variableTimeYear = "", m_logCbData = 0x3ad32b0}
(gdb) q
#############################################
PLATFORM AND CONFIGURATION
#############################################
ModSecurity - v3.0.0+e14dc60 for Linux
Mandatory dependencies

libInjection                                  ....v2.9.0-839-ge14dc60
SecLang tests                                 ....e14dc60

Optional dependencies

GeoIP                                         ....found v1.5.0
-lGeoIP  , -I/usr/include/
LibCURL                                       ....found v7.29.0
-lcurl  ,  -DWITH_CURL
YAJL                                          ....found v2.0.4
-lyajl  , -DWITH_YAJL
LMDB                                          ....not found
LibXML2                                       ....found v2.9.1
-lxml2 -lz -lm -ldl, -I/usr/include/libxml2 -DWITH_LIBXML2

Other Options

Test Utilities                                ....enabled
SecDebugLog                                   ....enabled
afl fuzzer                                    ....disabled
library examples                              ....enabled
Building parser                               ....disabled

gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)

uname -a
Linux localhost.localdomain 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec 6 23:06:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

nginx version: nginx/1.13.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --add-module=/root/ModSecurity-nginx --with-cc-opt=-I/usr/include --with-ld-opt=-L/usr/lib --with-ipv6 --with-pcre --without-mail_pop3_module --without-mail_smtp_module --without-mail_imap_module --without-http_limit_conn_module --without-http_memcached_module --with-http_geoip_module --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-http_auth_request_module --user=nobody --group=nobody --with-http_mp4_module --with-http_flv_module --add-module=../ngx_devel_kit --add-module=../ngx_brotli --with-threads --with-file-aio --with-http_v2_module --with-debug

Hi @AdamJacobMuller,
I believe that the problem you are facing is a consequence of the rules being wrongly loaded. Not a run time issue. I am investigating.

Observing the very similar issue on Debian 8 "jessie" - this is the only OS where I was able to get 100% reproducible way to trigger segfault.
OS details:
root@vagrant:/# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 8.7 (jessie)
Release:	8.7
Codename:	jessie

root@vagrant:/# gcc -v
Using built-in specs.

SecPcreMatchLimit 1000
SecPcreMatchLimitRecursion 1000
SecRule TX:/^MSC_/ "!@streq 0" \
        "id:'200005',phase:2,t:none,deny,msg:'ModSecurity internal error flagged: %{MATCHED_VAR_NAME}'"
SecResponseBodyAccess On
SecResponseBodyMimeType text/plain text/html text/xml
SecResponseBodyLimit 524288
SecResponseBodyLimitAction ProcessPartial
SecTmpDir /tmp/
SecDataDir /tmp/
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus "^(?:5|4(?!04))"
SecAuditLogParts ABIJDEFHZ
SecAuditLogType Serial
SecAuditLog /var/log/modsec_audit.log
SecArgumentSeparator &
SecCookieFormat 0
SecUnicodeMapFile unicode.mapping 20127
SecStatusEngine On

In  /etc/nginx/modsec/owasp-crs/ there's a list of OWASP CRS v3.0.0 rules without any modifications.
Request:
root@vagrant:/# curl -vi -H 'User-Agent: Mozilla/5.00 (Nikto/2.1.6)' http://localhost/modsec-full/
* Hostname was NOT found in DNS cache
*   Trying ::1...
* connect to ::1 port 80 failed: Connection refused
*   Trying <IP_ADDRESS>...
* Connected to localhost (<IP_ADDRESS>) port 80 (#0)
> GET /modsec-full/ HTTP/1.1
> Host: localhost
> Accept: */*
> User-Agent: Mozilla/5.00 (Nikto/2.1.6)
>
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server

Backtrace:
(gdb) bt full
#0  0x00007f07d482226b in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#1  0x00007f07d57a2954 in modsecurity::Rule::getFinalVars (this=this@entry=0x7f07d982d1d0, trans=trans@entry=0x7f07d97d77a0) at rule.cc:622
        key = 0x7ffdde1e7e60
        var = std::unique_ptr<modsecurity::collection::Variable> containing 0x7ffdde1e8070
        v = <optimized out>
        __for_range = std::vector of length 1, capacity 15 = {0x7f07dab7fed0}
        variable = <optimized out>
        e = std::vector of length 1, capacity 15 = {0x7f07dab7fed0}
        ignoreVariable = false
        i = 0
        exclusions_update_by_tag_remove = empty std::list
        exclusions_update_by_id_remove = empty std::list
        variables = std::vector of length 1, capacity 1 = {0x7f07d982c9b0}
        exclusions = empty std::list
        finalVars = std::vector of length 0, capacity 0
#2  0x00007f07d57a44b4 in modsecurity::Rule::evaluate (this=this@entry=0x7f07d982d1d0, trans=trans@entry=0x7f07d97d77a0,
    ruleMessage=std::shared_ptr (count 1, weak 0) 0x7f07dab7f7e0) at rule.cc:774
        variables = <optimized out>
        recursiveGlobalRet = <optimized out>
        containsDisruptive = false
        eparam = "\"1\""
        globalRet = false
        finalVars = std::vector of length 0, capacity 0
#3  0x00007f07d5794e07 in modsecurity::Rules::evaluate (this=0x7f07d97fe6a0, phase=phase@entry=3, transaction=transaction@entry=0x7f07d97d77a0) at rules.cc:219
        rule = 0x7f07d982d1d0
        i = 295
        rules = std::vector of length -17458961258336, capacity -17458961258336 = {0x7f07d980a950, 0x7f07d980ad40, 0x7f07d980b4e0, 0x7f07d980bb70, 0x7f07d987dbb0,
          0x7f07d986d660, 0x7f07d986dc40, 0x7f07d986e2d0, 0x7f07d986e800, 0x7f07d986ef00, 0x7f07d986f720, 0x7f07d986fce0, 0x7f07d9870110, 0x7f07d987df50, 0x7f07d987e390,
          0x7f07d987e890, 0x7f07d987ee20, 0x7f07d987f460, 0x7f07d987f960, 0x7f07d98800c0, 0x7f07d9887780, 0x7f07d9887df0, 0x7f07d9888630, 0x7f07d9888be0, 0x7f07d9889110,
          0x7f07d98896f0, 0x7f07d9889d90, 0x7f07d988a280, 0x7f07d988a850, 0x7f07d988ac90, 0x7f07d98699e0, 0x7f07d9869f00, 0x7f07d986a390, 0x7f07d986b350, 0x7f07d986b7f0,
          0x7f07d986c8d0, 0x7f07d988d370, 0x7f07d988d800, 0x7f07d988e350, 0x7f07d988f190, 0x7f07d9890040, 0x7f07d9890ef0, 0x7f07d9892430, 0x7f07d98927a0, 0x7f07d9893690,
          0x7f07d9894950, 0x7f07d9895e20, 0x7f07d9898330, 0x7f07d9899cb0, 0x7f07d989a810, 0x7f07d989c260, 0x7f07d989c610, 0x7f07d989e010, 0x7f07d989e350, 0x7f07d989eb00,
          0x7f07d98674c0, 0x7f07d9868290, 0x7f07d9860d80, 0x7f07d98621f0, 0x7f07d98627c0, 0x7f07d9863c80, 0x7f07d989f040, 0x7f07d98a0510, 0x7f07d98a1ad0, 0x7f07d98a3090,
          0x7f07d98a4680, 0x7f07d98a49c0, 0x7f07d98a50f0, 0x7f07d98a5f90, 0x7f07d98a6a90, 0x7f07d98a75d0, 0x7f07d98a7a70, 0x7f07d985cf50, 0x7f07d985e400, 0x7f07d985ecf0,
          0x7f07d985f810, 0x7f07d9860380, 0x7f07d98a7e70, 0x7f07d985a870, 0x7f07d98ab4e0, 0x7f07d98ad150, 0x7f07d98adca0, 0x7f07d98ae260, 0x7f07d98aeb70, 0x7f07d98549f0,
          0x7f07d9856440, 0x7f07d991c4a0, 0x7f07d9926660, 0x7f07d9926fe0, 0x7f07d9938050, 0x7f07d994f4f0, 0x7f07d994fe70, 0x7f07d9966b70, 0x7f07d9966fe0, 0x7f07d9850b90,
          0x7f07d98520b0, 0x7f07d9853310, 0x7f07d9967410, 0x7f07d9968530, 0x7f07d996e4f0, 0x7f07d996fab0, 0x7f07d99710e0, 0x7f07d9972980, 0x7f07d9973470, 0x7f07d99748c0,
          0x7f07d9975ec0, 0x7f07d99777c0, 0x7f07d9978950, 0x7f07d9979b50, 0x7f07d997ac40, 0x7f07d997aec0, 0x7f07d997bee0, 0x7f07d997faf0, 0x7f07d9981720, 0x7f07d9982160,
          0x7f07d9983d50, 0x7f07d9984800, 0x7f07d9985b70, 0x7f07d9986ed0, 0x7f07d9988260, 0x7f07d9989570, 0x7f07d998abf0, 0x7f07d998c430, 0x7f07d998e3a0, 0x7f07d998f590,
          0x7f07d9990fc0, 0x7f07d9992090, 0x7f07d9993250, 0x7f07d99946e0, 0x7f07d999a3e0, 0x7f07d999b370, 0x7f07d999e000, 0x7f07d999f260, 0x7f07d999fa80, 0x7f07d99a0f10,
          0x7f07d99a1780, 0x7f07d99a2780, 0x7f07d99a4210, 0x7f07d99a55d0, 0x7f07d99a6c60, 0x7f07d99a6f60, 0x7f07d984ca60, 0x7f07d984e220, 0x7f07d984f890, 0x7f07d99a8020,
          0x7f07d99a96c0, 0x7f07d99aab00, 0x7f07d99abec0, 0x7f07d99ad4c0, 0x7f07d99adc60, 0x7f07d99af410, 0x7f07d99afbf0, 0x7f07d99b0870, 0x7f07d99b18e0, 0x7f07d99b2a60,
          0x7f07d99b2ea0, 0x7f07d9848b90, 0x7f07d984a740, 0x7f07d984c180, 0x7f07d99b8b70, 0x7f07d9bec540, 0x7f07d9bece90, 0x7f07d9c00450, 0x7f07d9c00fe0, 0x7f07d9c01400,
          0x7f07d9844b60, 0x7f07d9846150, 0x7f07d9847660, 0x7f07d9c01e50, 0x7f07d9c027f0, 0x7f07d9c03990, 0x7f07d9c04a60, 0x7f07d9c055f0, 0x7f07d9c05a10, 0x7f07d9840af0,
          0x7f07d9c0a010, 0x7f07d9c11900, 0x7f07d9c1a3a0, 0x7f07d9c23160, 0x7f07d9c24dd0, 0x7f07d9c89fd0, 0x7f07d9c8ba80, 0x7f07d9c94210, 0x7f07d9c95bf0, 0x7f07d9ca3510,
          0x7f07d9ca4c90, 0x7f07d9ca5580, 0x7f07d9ca60c0, 0x7f07d9ca6c50, 0x7f07d9ca71f0, 0x7f07d983ca40, 0x7f07d983f3c0, 0x7f07d9ca7d10, 0x7f07d9ca9090, 0x7f07d9d30b60,
          0x7f07d9d3b620, 0x7f07d9d3ce60, 0x7f07d9d4ee30, 0x7f07d9d50620, 0x7f07d9d51e50...}
#4  0x00007f07d5781eca in modsecurity::Transaction::processRequestBody (this=<optimized out>) at transaction.cc:811
        a = std::unique_ptr<std::basic_string<char, std::char_traits<char>, std::allocator<char> >> containing 0x0
        fullRequest = "Host: localhost\nAccept: */*\nUser-Agent: Mozilla/5.00 (Nikto/2.1.6)\n\n\n"
        l = std::vector of length 3, capacity 4 = {0x7f07da910140, 0x7f07d9803760, 0x7f07d9803a20}
#5  0x00007f07d5aa0ba0 in ngx_http_modsecurity_pre_access_handler (r=0x7f07dab80040) at ../ModSecurity-nginx/src/ngx_http_modsecurity_pre_access.c:199
        already_inspected = 0
        chain = 0x0
        ctx = 0x7f07d9791c58
        cf = 0x7f07dab80040
        old_pool = 0x0
#6  0x00007f07d7c470cf in ngx_http_core_generic_phase (r=0x7f07d9790f20, ph=0x7f07dab317f0) at src/http/ngx_http_core_module.c:873
        rc = <optimized out>
#7  0x00007f07d7c4292d in ngx_http_core_run_phases (r=r@entry=0x7f07d9790f20) at src/http/ngx_http_core_module.c:851
        rc = <optimized out>
        ph = 0x7f07dab31760
        cmcf = <optimized out>
#8  0x00007f07d7c42a22 in ngx_http_handler (r=r@entry=0x7f07d9790f20) at src/http/ngx_http_core_module.c:834
        cmcf = <optimized out>
#9  0x00007f07d7c4d60e in ngx_http_process_request (r=0x7f07d9790f20) at src/http/ngx_http_request.c:1948
        c = 0x7f07cfaf52e0
#10 0x00007f07d7c4deb0 in ngx_http_process_request_line (rev=0x7f07cf4f4130) at src/http/ngx_http_request.c:1048
        n = <optimized out>
        rc = <optimized out>
        rv = <optimized out>
        host = {len = 1,
          data = 0x7f07d7c4e008 <ngx_http_wait_request_handler+264> "H\205\300H\211\003\017\204\020\377\377\377H\215\005E\373\377\377H\211\357H\211E\020H\203\304\030[]A\\A]\351/\373\377\377\017\037\200"}
        c = 0x7f07cfaf52e0
        r = 0x7f07d9790f20
#11 0x00007f07d7c36424 in ngx_epoll_process_events (cycle=<optimized out>, timer=<optimized out>, flags=<optimized out>) at src/event/modules/ngx_epoll_module.c:902
        events = 1
        revents = 1
        instance = <optimized out>
        i = 0
        level = <optimized out>
        err = <optimized out>
        rev = <optimized out>
        wev = <optimized out>
        queue = <optimized out>
        c = 0x7f07cfaf52e0
#12 0x00007f07d7c2d1ea in ngx_process_events_and_timers (cycle=cycle@entry=0x7f07d9778ec0) at src/event/ngx_event.c:242
        flags = <optimized out>
        timer = <optimized out>
        delta =<PHONE_NUMBER>301
#13 0x00007f07d7c342b1 in ngx_worker_process_cycle (cycle=cycle@entry=0x7f07d9778ec0, data=data@entry=0x0) at src/os/unix/ngx_process_cycle.c:749
        worker = 0
#14 0x00007f07d7c32be3 in ngx_spawn_process (cycle=0x7f07d9778ec0, proc=0x7f07d7c34230 <ngx_worker_process_cycle>, data=0x0, name=0x7f07d7ccaa97 "worker process", respawn=1)
    at src/os/unix/ngx_process.c:198
        on = 1
        pid = 0
        s = 1
#15 0x00007f07d7c355ea in ngx_reap_children (cycle=<optimized out>) at src/os/unix/ngx_process_cycle.c:621
        i = 1
        n = 2
        ch = {command = 2, pid = 14165, slot = 1, fd = -1}
        ccf = 0x7f07dab80040
#16 ngx_master_process_cycle (cycle=0x7f07d9778ec0) at src/os/unix/ngx_process_cycle.c:174
        title = 0x7f07d7f2b990 <ngx_last_process> "\002"
        size =<PHONE_NUMBER>01264
        n =<PHONE_NUMBER>01264
        set = {__val = {0 <repeats 16 times>}}
        itv = {it_interval = {tv_sec = 0, tv_usec = 0}, it_value = {tv_sec = 0, tv_usec = 0}}
#17 0x00007f07d7c0d30b in main (argc=<optimized out>, argv=<optimized out>) at src/core/nginx.c:381
        b = <optimized out>
        log = 0x7f07d7f18300 <ngx_log>
        i = <optimized out>
        cycle = 0x7f07d9774eb0
        init_cycle = {conf_ctx = 0x0, pool = 0x7f07d9774970, log = 0x7f07d7f18300 <ngx_log>, new_log = {log_level = 0, file = 0x0, connection = 0, disk_full_time = 0,
            handler = 0x0, data = 0x0, writer = 0x0, wdata = 0x0, action = 0x0, next = 0x0}, log_use_stderr = 0, files = 0x0, free_connections = 0x0, free_connection_n = 0,
          modules = 0x0, modules_n = 0, modules_used = 0, reusable_connections_queue = {prev = 0x0, next = 0x0}, reusable_connections_n = 0, listening = {elts = 0x0,
            nelts = 0, size = 0, nalloc = 0, pool = 0x0}, paths = {elts = 0x0, nelts = 0, size = 0, nalloc = 0, pool = 0x0}, config_dump = {elts = 0x0, nelts = 0, size = 0,
            nalloc = 0, pool = 0x0}, config_dump_rbtree = {root = 0x0, sentinel = 0x0, insert = 0x0}, config_dump_sentinel = {key = 0, left = 0x0, right = 0x0, parent = 0x0,
            color = 0 '\000', data = 0 '\000'}, open_files = {last = 0x0, part = {elts = 0x0, nelts = 0, next = 0x0}, size = 0, nalloc = 0, pool = 0x0}, shared_memory = {
            last = 0x0, part = {elts = 0x0, nelts = 0, next = 0x0}, size = 0, nalloc = 0, pool = 0x0}, connection_n = 0, files_n = 0, connections = 0x0, read_events = 0x0,
          write_events = 0x0, old_cycle = 0x0, conf_file = {len = 21, data = 0x7ffdde1eaf8b "ss"}, conf_param = {len = 0, data = 0x0}, conf_prefix = {len = 11,
            data = 0x7ffdde1eaf8b "ss"}, prefix = {len = 11, data = 0x7f07d7cc6860 "/etc/nginx/"}, lock_file = {len = 0, data = 0x0}, hostname = {len = 0, data = 0x0}}
        cd = <optimized out>
        ccf = 0x7f07d9776c78
(gdb)

A Vagrant-based environment is available here for quick reproducing this segfault: https://github.com/defanator/modsecurity-performance
Steps to reproduce:
# git clone https://github.com/defanator/modsecurity-performance.git
# cd modsecurity-performance
# vagrant up debian
# vagrant ssh debian
vagrant@vagrant:~$ curl -vi -H 'User-Agent: Mozilla/5.00 (Nikto/2.1.6)' http://localhost/modsec-full/

Tested on the following Vagrant box:
debian/jessie64 (libvirt, 8.7.0)

Just finished testing on another box, debian/jessie64 (virtualbox, 8.9.0), the same results. OS details:
vagrant@vagrant:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 8.9 (jessie)
Release:	8.9
Codename:	jessie

vagrant@vagrant:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.9.2 (Debian 4.9.2-10)

vagrant@vagrant:~$ dpkg-query -W libc6
libc6:amd64	2.19-18+deb8u10

Should be ok at :cc1d220b408fe73a4e1950b71848772d505d6ce0

Fix confirmed. Thanks ;)


SSR styles for dynamic input are partially missing

Hello guys!
I'm trying to trace what goes wrong with the styles of my application. I have a next.js app that uses an internal design system written with styled-components. The setup is done precisely the same way as in the example. Input component in the design system has rather complex logic of using the label as a placeholder and moving it up when user types (https://wave.free-now.com/components/input#example):

When I use development mode, the app works as expected and all styles are in place. However, when I build and start production build, I see a particular piece of CSS is not delivered from the server.
In the picture below, the left side contains response from the production server, right side — the code from development:

On the left side, there is only one :focus class, but the right side contains two of those. So when the user types, the input changes class names, but no styles for this state were shipped.
I'm trying to understand a reason and how can I fix the thing. What is the solution for such situation?

Hi what version of styled-components are you using?
My app is having problems since update to 5.2.x I've mismatch between some of ssr classnames and csr.
It looks like that .babelrc plugin configuration is not being used so { ssr: true } is not being used

@bigpetecz I have 4.4.x

In the end, it looks like the issue is not related to the plugin. I tried to make a demo of the issue with no luck. I'm closing the bug and will reopen it if I have a good reason.


Vickel: Watch lucioai.com

Vickel requests the watch of the watch_keyword lucioai\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

lucioai\.com has been seen in 1 true positive, 1 false positive, and 0 NAAs.


Update to latest SAML IdP starter

Some of our configuration for session handling and auditing is available there ...

Fixed in PR https://github.com/swedenconnect/bankid-saml-idp/pull/245


fix: provide a copy of after in voice_state_update event

Summary
No issue was created since I encountered it, but parameters passed to on_voice_state_update are before and after.
However after was a reference to Member.voice, which means, when using Member.move_to() inside on_voice_state_update event, after would immediately get modified.
Example:
@bot.event
async def on_voice_state_update(member, before, after):
    # Let's say before is None and after is "Channel1"
    print(after.channel.name)  # prints Channel1
    chan = bot.get_channel(1234567890101112)  # Let's say that's "Channel2"
    await member.move_to(chan)
    print(after.channel.name)  # prints Channel2

Checklist

[x] If code changes were made then they have been tested.

[ ] I have updated the documentation to reflect the changes.

[x] This PR fixes an issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

There is no documentation to change.


reduce info log spam in mesh, ballots, atxs modules

change log levels to warn for:

mesh
proposals listener
atx listener

we should keep it as info on some nodes in cloud to see minimally useful info

bors merge


Students name to be displayed at the interface with their respective classnames.

We want a functionality which can fetch out the class information to the interface. So, that we can show the classes that user has joined in their dashboard.

This is fixed by #9


Pywal now has a Discord server

I've been using Discord more and more lately and have decided to open a server for discussion about Pywal and my other projects. When Matrix/Riot.im mature we will migrate to their platform or
run our own instance.
Note: I know that Discord is proprietary but so is GitHub.
Click here to join:

invalid invite?


[iOS] Fix build fail when "ipconfig getifaddr" does not have IP

One of the build phase scripts fails when IP is assigned to non-en0 interface because "ipconfig getifaddr en0" exits with 1 when IP is not assigned to en0. That produced "PhaseScriptExecution failed with a nonzero exit code" in Xcode. The patch fixes this issue by removing "set -e" and re-enabling it later in the script.

Summary:
iOS build fails during Bundle React Native code and images phase.
The actual error message is PhaseScriptExecution failed with a nonzero exit code.
After doing some debugging it appears the issue is within scripts/react-native-xcode.sh and was introduced in the commit https://github.com/facebook/react-native/commit/a56e5dad7c31b6e9e6b02333219bc33811215056
The patch removes "set -e" and re-enables it after looping through interfaces. Also, added the original commit comment to explain why it's been added there initially.

Changelog:
[IOS][FIXED] Fix the build failure when "en0" does not have IP assigned
Test Plan:

Unfortunately this is not the right fix. The purpose of having -e in this script is to bubble the error to the Xcode build pipeline and to fail the entire build if the jdbundle couldn't be created.
Closing in favour of https://github.com/facebook/react-native/pull/41839

@nochkin sorry, you're right, I somehow missed that -e didn't go away completely, but just moved to a different line 😕


Updated for Purview DataQuality....

Data Plane API - Pull Request

API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your engagement record.

Link to engagement record issue:

Is this review for (select one):

[X] a private preview
[ ] a public preview
[ ] GA release

Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified. Please share a link to the design document for the new APIs, a link to the previous Open API document (swagger) if applicable, and the root paths that have been updated.

Design Document:
Previous Open API Doc:
Updated paths:

❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting
Open API Hub

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Azure DevTools Wiki

Hi @Souvik-Microsoft Could you try to change readme.md by following our samples. Then you will get the generated sdk in the PR comment directly.
If you want to know how it generate sdk, please refer to our document
Thanks


Vote for release of v1.2.4

At least 3 approvals are needed from the 4 owners for tagging 01856bfda8a00f0ad9c6dc7bda76a1e03d7b77cf in the v1 branch as v1.2.4.

[ ]  Sajay Antony (@sajayantony)
[x]  Shiwei Zhang (@shizhMSFT)
[x]  Steve Lasker (@SteveLasker)
[x]  Sylvia Lei (@Wwwsylvia)

Aside from the dependency bump-ups, there is one noteworthy change:

registry.Service is changed from an interface to a struct in docker/docker v24.0.2. Although there is no public API change on oras-go side, it may still break users if they are using oras-go v1 along with old versions of docker/docker (see #527).

See the change log for more details.
Please respond LGTM or REJECT (with reasoning).

LGTM

LGtM

LGTM.

Closing as v1.2.4 has been released.


Complete TestStateVerifier by including Account and Data LedgerEntries in the change reader

In the amm branch there is a test which creates random ledger entries and feeds it into the state ingestion processors. The test checks that the ingested rows in the db match the ledger entry inputs.
The test has support for 4 out of 6 ledger entry types. We are only missing the generation of Account and Data ledger entries. Once both of those cases are implemented we will basically have fuzzed all our ingestion state processors.

I'll update it with liquidity pools in https://github.com/stellar/go/issues/3838 because it started failing after my changes there. There still needs to be data added (I won't be adding this in #3838).


Can't install Formr

I would love to try your Sketch plugin "Formr" but I cannot install it in any way. I've tried via Sketchpacks and I've tried the manual way, Sketch won't recognize the plugin. And when I doubleklick the plugin file, Sketch opens but shows no message or does not copy the plugin to the corresponding directory. I inspected the JSON file but didn't see any obvious bugs. What could be the problem?
Sketch 42 (36781), MacOS 10.11.6

@Arroyodorado does install via Sketch Toolbox, skpm or Chest works?

@Arroyodorado hi again. I've updated plugin bundle, please, try it out. Now the installation process is correct. Seems, that the problem was with version number in manifest.json – in contrary to docs it should be defined as a string.

Great, it works now. Installed via Sketchpacks and had no problems. Thank you. 8-)


Test failures, 1.7.4 on Debian

Issues seen in #212 heven't gone away, unfortunately. When tests are enabled properly, the following are seen.
(1) allocate_as_barrier_proc breaking on oversubscribed scenarios. Already known as #243.
(2) Segfaults in co_reduce on mips64el.
: co_reduce ........................***Exception: SegFault  0.56 sec
[mipsel-sil-01:27733] *** Process received signal ***
[mipsel-sil-01:27733] Signal: Segmentation fault (11)
[mipsel-sil-01:27733] Signal code: Address not mapped (1)
[mipsel-sil-01:27733] Failing at address: 0xffe85bf040
[mipsel-sil-01:27733] *** End of error message ***

Log: https://buildd.debian.org/status/fetch.php?pkg=open-coarrays&arch=mips64el&ver=1.7.4-4&stamp=1480837993
on Alpha:
Test project /<<PKGBUILDDIR>>/obj-alpha-linux-gnu
      Start  1: initialize_mpi
      Start  2: register
      Start  3: register_rename_me
 1/24 Test  #1: initialize_mpi ...................   Passed    0.41 sec
 2/24 Test  #2: register .........................   Passed    0.44 sec
 3/24 Test  #3: register_rename_me ...............   Passed    0.44 sec
      Start  4: register_rename_me_too
      Start  5: allocate_as_barrier
      Start  6: allocate_as_barrier_proc
 4/24 Test  #4: register_rename_me_too ...........   Passed    0.52 sec
      Start  7: get_array
 5/24 Test  #5: allocate_as_barrier ..............   Passed    1.46 sec
 6/24 Test  #6: allocate_as_barrier_proc .........   Passed    1.47 sec
 7/24 Test  #7: get_array ........................   Passed    1.05 sec
      Start  8: send_array
      Start  9: get_with_offset_1d
      Start 10: whole_get_array
 8/24 Test #10: whole_get_array ..................   Passed    0.61 sec
 9/24 Test  #9: get_with_offset_1d ...............   Passed    0.61 sec
      Start 11: strided_get
      Start 12: co_sum
10/24 Test  #8: send_array .......................   Passed    0.93 sec
      Start 13: co_broadcast
11/24 Test #12: co_sum ...........................***Failed  Required regular expression not found.Regex=[Test passed.
]  0.52 sec
number of images doesn't evenly divide into number of points
ERROR STOP
number of images doesn't evenly divide into number of points
ERROR STOP --------------------------------------------------------------------------
MPI_ABORT was invoked on rank 1 in communicator MPI COMMUNICATOR 3 DUP FROM 0
with errorcode 1.

You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
number of images doesn't evenly divide into number of points
ERROR STOP
[imago:11095] 1 more process has sent help message help-mpi-api.txt / mpi-abort
[imago:11095] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

12/24 Test #11: strided_get ......................   Passed    0.52 sec
13/24 Test #13: co_broadcast .....................***Failed  Required regular expression not found.Regex=[Test passed.
]  0.33 sec
 Incorrect co_broadcast(           0 ) on image           2
ERROR STOP
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 1 in communicator MPI COMMUNICATOR 3 DUP FROM 0
with errorcode 1.

You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------

      Start 14: co_min
      Start 15: co_max
      Start 16: syncall
14/24 Test #14: co_min ...........................   Passed    0.51 sec
      Start 17: syncimages
15/24 Test #15: co_max ...........................   Passed    0.61 sec
      Start 18: duplicate_syncimages
16/24 Test #17: syncimages .......................   Passed    0.32 sec
      Start 19: co_reduce
17/24 Test #18: duplicate_syncimages .............   Passed    0.36 sec
      Start 20: syncimages_status
18/24 Test #19: co_reduce ........................   Passed    0.34 sec
19/24 Test #16: syncall ..........................   Passed    1.52 sec
      Start 21: hello_multiverse
      Start 22: coarray_burgers_pde
20/24 Test #22: coarray_burgers_pde ..............   Passed    0.52 sec
      Start 23: co_heat
21/24 Test #21: hello_multiverse .................   Passed    0.53 sec
      Start 24: asynchronous_hello_world
22/24 Test #20: syncimages_status ................   Passed    1.38 sec
23/24 Test #24: asynchronous_hello_world .........   Passed    0.41 sec
24/24 Test #23: co_heat ..........................   Passed   11.03 sec

Hurd-i386 fails badly:
https://buildd.debian.org/status/fetch.php?pkg=open-coarrays&arch=hurd-i386&ver=1.7.4-4&stamp=1480868021
m68k didn't run tests ?
https://buildd.debian.org/status/fetch.php?pkg=open-coarrays&arch=m68k&ver=1.7.4-4&stamp=1480836000

@amckinstry Man, all these exotic and exciting architectures! It may take me some time to dig through these... Should we proceed with the Debian guest access paper work? I can look through logs etc. for the time being.

I haven't had time to dig in to this yet, but here are some initial impressions:

(1) allocate_as_barrier_proc breaking on oversubscribed scenarios. Already known as #243.

Yes, after looking at this some more, I'm quite confident that this is true.

(2) Segfaults in co_reduce on mips64el.

Maybe related to #172 ?

number of images doesn't evenly divide into number of points
ERROR STOP

I'm fairly confident that this is a problem with how I handled OpenMPI tests... Let me dig in to this, I think that either with the fixed --oversubscribe flag we might be back in business with oversubscribed OMPI, or otherwise, I'll have to be more careful of which tests require certain properties on the number of images they run with..

Incorrect co_broadcast(           0 ) on image           2

This may be related to #243 as well...

Hurd-i386 fails badly:
https://buildd.debian.org/status/fetch.php?pkg=open-coarrays&arch=hurd-i386&ver=1.7.4-4&stamp=1480868021

Do you know if any oversubscribed MPI program will work on that machine? CMake seems convinced that it has only a single core. I'm also not seeing any --oversubscribe flags being passed to the test executables... Perhaps that's the reason. I'm guessing that having a go at cleaning up the OpenMPI CMake test execution logic has a decent chance of resolving this.

m68k didn't run tests ?
https://buildd.debian.org/status/fetch.php?pkg=open-coarrays&arch=m68k&ver=1.7.4-4&stamp=1480836000

Yes it appears it did not. Is there a script somewhere that controls this process? It is also using MPICH instead of OMPI, but the build appeared to progress as one would expect it to...
A final note: FYI, in the next release you'll set FC=gfortran-6 (or whatever it is in Debian) and CC=gcc-6 rather than pointing them to the MPI wrappers. CMake's FindMPI will handle MPI and the various MPI compile/linker arguments. If mpirun and/or the wrappers are on the path, CMake should pick this out without a problem. It is possible that this more "normal" CMake/MPI workflow may resolve some issues...

Thanks. The m68k case is of academic interest only; low usage numbers, and I don't think there are any multicore m68k machines ... highly unlikely to hit real users.
I'm working on the hurd issue now.
And it appears the others are "known bugs", then, except for Alpha. I'll get the 'paperwork' done today.

Ok, the Hurd issue is likely to be due to an unrelated build issue in openmpi.

@amckinstry Ideally, I could get a vagrant or docker image/container up and running for the different archs... If you have any experience or thoughts on this, please let me know... not sure it's worth the hassle of all the debian paperwork. (Although I think things are pretty much done on my end, if I'm mistaken, please let me know.)

Apologies for the delay; i've been working on bugfixes for openmpi in Debian (moving to 2.02+git nov25) that I thought might be relevant to this (all my testing has been against openmpi).
I'm just going to rerun a test on the new openmpi and get back to you ASAP (though this week is Busy).

no worries... there are clearly some issues that I expect won't be resolved due to, e.g., GCC PR 78505

@amckinstry Just a quick update:

[X] Fix for #243 is on GFortran trunk and master here... we should be getting a new OpenCoarrays release out soon
[X] #293 was causing segfaults, potentially in a lot of places, but was doing so during caf_finalize which meant that, thanks to the way CTest works, we weren't noticing this since it happened after the test reported success....
[X] Another issue was fixed where a race condition could cause problems and the code would hang indefinitely if there were stopped images during a sync images() call.
[ ] co_reduce error may or may not be related to #172 (which appears to be a defect on the library side)
[ ] co_broadcast has me a bit perplexed... It may be a different symptom of the root cause of #172.
[ ] co_sum issue can be tracked at #267

Given the vintage, exotic nature of the one platform involved, and apparent redundancy with issue #243,  I recommend we close this issue.

hmmm let's keep it open, I was working on incorporating the patch they
apply before building... then I agree, let's re-asses with a more recent
release/build
On Tue, Jul 18, 2017 at 12:59 AM Damian Rouson<EMAIL_ADDRESS>wrote:

Given the vintage, exotic nature of the one platform involved, and
apparent redundancy with issue #243
https://github.com/sourceryinstitute/OpenCoarrays/issues/243, I
recommend we close this issue.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/sourceryinstitute/OpenCoarrays/issues/271#issuecomment-315958455,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAREPCTTo4xLYpcMppa9eoP-0UtI4K7yks5sPDu8gaJpZM4LETCu
.

@amckinstry Any chance you could give the latest release a test drive? If you can't get to it soonish, then we'll close this issue until we hear back.
FYI, if you happen to have MPICH 3.2 on any of the systems, there's a chance you may need to configure with -DCAF_ENABLE_FAILED_IMAGES:BOOL=FALSE to get the tests to pass due to a bug in MPICH 3.2

@zbeekman This works on Debian with openmpi; think you can close the issue. I'll give mpich 3.2 a test later, but i'm short of time right now.
The test 'navier-stokes' breaks for me as the code fails to link against the pre-built .a file - code needs to be rebuilt fPIC to work.

ah, ok. I'll look into this. As I said, with MPICH 3.2 you will need to disable failed images or apply the MPICH patch at: https://github.com/pmodels/mpich/pull/2730.patch. If you build with a slightly older MPICH the ULFM support won't be present and failed images will be turned off by default.


IL2CPP Problems

Hi all, I've just started using Promises in Unity3d (2017.1) because they look.... promising. I've got a very small test scene running on PS4 compiling with il2cpp, stable .net 3.5, api compat .net 2.0 and no il2cpp optimisation set, the latest promise DLLs from here and I get errors at runtime with this code:
`public class PromiseTest : MonoBehaviour
{
private void Awake()
{
DoThing().Then(b => UnityEngine.Debug.Log("Done: "+b)).Done();
}
private Promise<bool> DoThing()
{
    Promise<bool> p = new Promise<bool>();
    p.Resolve(true);
    return p;
}

}`
Error at runtime:
MissingMethodException: No constructor found for System.Runtime.CompilerServices.StrongBox1[[RSG.Promise1+<>c__DisplayClass61[[System.Boolean, mscorlib, Version=<IP_ADDRESS>, Culture=, PublicKeyToken=b77a5c561934e089],[System.Boolean, mscorlib, Version=<IP_ADDRESS>, Culture=, PublicKeyToken=b77a5c561934e089]], RSG.Promise, Version=<IP_ADDRESS>, Culture=, PublicKeyToken=null]]::.ctor(RSG.Promise1+<>c__DisplayClass61[System.Boolean,System.Boolean])`
I've tried adding
<linker>      <assembly fullname="System">	 		<namespace fullname="System.Runtime.CompilerServices" preserve="all"/> 	 </assembly>	 	 <assembly fullname="RSG.Promise">	 		<namespace fullname="RSG.Promise" preserve="all"/> 	 </assembly> 	 <assembly fullname="RSG.Toolkit">	 		<namespace fullname="RSG.Utils" preserve="all"/> 	 </assembly>	  </linker>
to a link.xml file, but still get the same problem. Does anyone know how this might be solved? I've love to use promises for my project.

Hey, thanks for finding that issue. No one at Real Serious Games has a PS4 dev kit but I attempted to reproduce it using IL2CPP for WebGL. Unfortunately that seemed to work fine with your code so it may be a PS4-specific issue, not a general IL2CPP issue.
The only time I've seen that error before is trying to use certain types of reflection on IL2CPP platforms. C-Sharp-Promise does not use reflection but RSG.Toolkit does, so do you think you could try it again with just the RSG.Promise.dll DLL in your project and none of the others? RSG.Toolkit is actually only a dependency of the tests and examples, not the core library, so you don't need to include it in your project.
If that works then I will probably just remove RSG.Toolkit from the project because it is only needed for a very small function anyway.

Ah, okay, cool. I got this working using the suggestion above.

I removed the RSG.Toolkit.dll from the unity project
This caused some issues where some extensions references weren't available (seems there is a decependency)
In the promises VS solution, I removed the references of the toolkit from the examples folder projects to test I was properly removing the need for the toolkit reference
I added the entire LinqExts code from the RSG.Toolkit.dll->RSG.Utils.LinqExts in to the RSG.Promises code
I made a build of the new RSG.Promise.dll (now with linqExts) and added back to Unity
Build works, I'm testing more now.
There seems to be an issue with existing, previously working code I had (to do with a promise<list>, but I can try and work this out later.

promises.patch.txt
Awesome!

I've pushed a fix that removes that dependency from all the projects. I'm going to close the issue now but if you have any more issues on PS4 after updating to the latest code, feel free to reopen it


preview for old code

[Is it possible to preview the old layout quickly with an action key command?]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 447e23ae-0256-d8c1-4dca-d31fe21602a5
Version Independent ID: 926db74c-be79-f7cd-a4e9-e156dafa6287
Content: C# template changes in .NET 6 - .NET
Content Source: docs/core/tutorials/top-level-templates.md
Product: dotnet-fundamentals
GitHub Login: @tdykstra
Microsoft Alias: tdykstra

If you want to see the old template, you can create a project that targets .NET 5 instead of .NET 6.

See #26313, where you can vote on the new template code.  Closing this issue in favor of that one.


[SliverAppBar][Semantics] Voice over gets stuck when sliver app bar is collapsed.

Internal: b/158621034
When you have an app with a SliverAppBar and a SliverList body, and you're using voiceover on iOS, scrolling to the bottom of the list and then back up will get the voice over stuck in the status bar.
Additionally, an extra "Heading" node seems to be added.
Steps to Reproduce
Using the following example app:
import 'package:flutter/material.dart';

void main() {
  runApp(Demo());
}

class Demo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: CustomScrollView(
          slivers: [
            SliverAppBar(
              pinned: true,
              expandedHeight: 200,
              flexibleSpace: Container(height: 100),
            ),
            SliverList(
              delegate: SliverChildListDelegate([
                for (var i = 0; i < 50; i ++)
                  Text('This is text. ' * 45),
              ]),
            ),
          ],
        ),
      ),
    );
  }
}

Open the above app with voiceover enabled on an iOS device.
Swipe to the right to navigate to the very bottom of the list.
Swipe back up to the header, while it is still collapsed.
Notice that the voice over tool gets stuck in the status bar, even when you swipe left and right, you can not get back to the page.

Expected results:
Swiping left to navigate back up the list will put you back in AppBar.
Actual results:
Voice Over gets stuck in the status bar, back button, nor text in list, can not be navigated to.
Video of bug (error state begins at the ~8 second mark):
https://photos.app.goo.gl/bYAsCBz4ixdZmCcg9

Flutter Doctor

[✓] Flutter (Channel master, 1.20.0-1.0.pre.135, on Mac OS X 10.15.5 19F96, locale en-US)

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Xcode - develop for iOS and macOS (Xcode 11.3)
    ✗ CocoaPods installed but not working.
        You appear to have CocoaPods installed but it is not working.
        This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
        This can usually be fixed by re-installing CocoaPods. For more info, see https://github.com/flutter/flutter/issues/14293.
      To re-install CocoaPods, run:
        sudo gem install cocoapods
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.0)
[✓] Android Studio (version 3.5)
[✓] Connected device (4 available)

It looks like we do send correct semantics tree over to the ios accessbility bridge, it is not clear to me why it focus a wrong rectangle when it focus the header.
The other problem is we do not scroll up enough when we swipe back up to reveal the full header.

It seems like the bug only happen when we change the accessbility tree dramatically due to the way we construct the semantics tree in scrollable.
The scrollable divide its children into two group (the code )
The first group is children that are excluded from scrolling and the second group is children that are included. The sliver app bar is jumping between this two group. it is included when it is not collapsed, and excluded when it is collapsed.

it seems like when the native ios cannot handle such change when the focus is on the content in the customscrollview. I think this may be a native ios bug.

It looks like we do send correct semantics tree over to the ios accessbility bridge, it is not clear to me why it focus a wrong rectangle when it focus the header.
The other problem is we do not scroll up enough when we swipe back up to reveal the full header.

The other problem that we do not scroll up enough when we swipe back up to reveal the full header is still reproducible. Is there another issue tracking it?

@liuyingshan  I opened a issue to track the issue https://github.com/flutter/flutter/issues/61360


Generate desired state once

I am trying to put together a CompositeController that needs to generate certain unique values that go into the desired state. These values should only be generated once, so I need some way of having them remembered. Are far as I can tell, the CompositeController (and possibly others as well; I have not worked with them before) works by recalculating the desired state every time the webhook is called and sending that back the "status" (in order to update the parent) and and "children" (i.e. the desired state).
So if the psuedo-code for the (python-based) sync function looks like this:
def sync(self, parent, children):
    # calculate current status
    ....

    # calculate desired state
    replicas = parent.get("spec").get("replicas")
    namespace = parent.get("metadata", {}).get("namespace")
    address = generate_address() # This generates a unique value
    desired_resources = build_desired(parent.get("spec"), namespace, address) # This generates the desired resource specs

    return {"status": current_status, "children": desired_resources}

What I need is a way to remember that "address" has already been calculated. (This is a simplification, the actual generation steps are much more complicated). Is there some way that the CompositeController can support this case? Can I for example access the previously declared "children": desired_resources?
I would like to avoid having to keep a local cache on the webhook server. If I can get the previous result of "children" back, plus I can get the previous parent then I could implement simple logic like:
if parent == previous_parent:
  desired_resources = previous_desire_resources
else
  desired_resources = build_desired(...)

Is there some way to do this? Would I for example be able to rely on the annotation metacontroller.k8s.io/last-applied-configuration always having the correct latest information? In that case I could reconstruct it as:
def get_latest_applied_resources(children):
    latest_applied_resources = []

    for d in children.values():
        for child in d.values():
            latest_applied_resources.append(
                json.loads(
                    child.get("metadata", {})
                    .get("annotations", {})
                    .get("metacontroller.k8s.io/last-applied-configuration")
                )
            )

    return latest_applied_resources

This does work, but I do not know if this can be used with confidence. Is it possible that the webhook is called again before all of the children have been updated? What happens if apply fails for some?
For parent the issue is altogether different, since there is only  kubectl.kubernetes.io/last-applied-configuration which gets when applying the CR, so by the time it gets to the webhook, the previous last-applied is no longer available.

Closing as no additional input. Feel free to reopen with additional comments.


Trigger windows tests on pull requests

Any reason why the github actions workflow should not be triggered by a pull request?

Thank you!

Any reason why the github actions workflow should not be triggered by a pull request?

No, just I didn't know how to use it well :roll_eyes:


Multiple images selection + crop features

Hi @ArthurHub,
I am adding multiple images selection + crop features. Please review and suggest changes accordingly.

Hey!
I start a new project to handover this library
https://github.com/CanHub/Android-Image-Cropper
The ideia is that we keep improving because this project don't have updates since 2018
Hope I can count with your help.
Open to contribute, next pieces of work will be Android 11 permissions, refactor into Kotlin and ActivityContract

fssdsdf


chore/update-playwright-and-lint-test-action

Whats being changed?

Update playwright 1.23.3 -> 1.26.1
Add run test workflow in lint.yml

Closes issue #107

Thinking 😆 not familiar with Electron and Playwright, but looks like the problem is a playwright config or a miss in the launch on test
 🤔


Rolling restart logic is broken

After configuring my cluster CR (by adding a wrong plugin name), the operator updates the sts with the wrong plugin name and restarts one the pods (rolling restart) but the pod is stuck in CLB. When I correct the the plugin name in the CR, the sts is updated with the right name but the pods are not restarted. This is likely due to multiple checks that we have before performing a rolling restart of the pods.
Before doing a rolling restart:

We check if all the data nodes pods are ready or not. This would not be the case on the second try(when the plugin name is corrected) since one of the pod is in CLB

Even after this check, we again check if the sts is healthy i.e. replicas == readyReplicas. Again this would not be the case as one of the pods is stuck in CLB.

While this can easily be fixed by deleting the pod manually, the operator should be handling this case rather the user having to do anything.
Cluster CR -
apiVersion: opensearch.opster.io/v1
kind: OpenSearchCluster
metadata:
  name: vz-os-cluster
  namespace: default
spec:
  security:
    tls:
      transport:
        generate: true
      http:
        generate: true
  general:
    httpPort: 9200
    serviceName: vz-os-cluster
    version: 2.3.0
    drainDataNodes: false
  dashboards:
    tls:
      enable: true
      generate: true
    version: 2.3.0
    enable: true
    replicas: 1
    resources:
      requests:
         memory: "512Mi"
         cpu: "200m"
      limits:
         memory: "512Mi"
         cpu: "200m"
  nodePools:
    - component: masters
      replicas: 3
      resources:
         requests:
            memory: "1Gi"
      roles:
        - "data"
        - "cluster_manager"
      persistence:
        emptyDir: { }

After all the pods are ready, add a wrong plugin to the pluginsList and the pod goes to CLB. Correct the plugin name but the pods are restarted anymore.

Misconfiguring the plugin name is just one example. If for any reason, one of the pods is stuck on a rolling restart, then it seems any further updates to the CR won't have any effect as it will keep on waiting for sts to be healthy before attempting another restart.

Should be fixed with PR #614


torch.ops.image.decode_image(called from torchvision.io.read_image) crashes python on this image

🐛 Describe the bug
torchvision.io.read_image crashes python when reading this image(from 300W/lfpw/trainset dataset).
There's no error message, but it looks like the crash happens in torch.ops.image.decode_image.
I have tested it on three different computer(0.10.0, 0.10.1 and 0.10.1+cpu), and all of them crashed.
from PIL import Image
import numpy as np
img = np.array(Image.open('image_0779.png'))#this is fine
import torchvision
torchvision.io.read_image('image_0779.png')#this crash

Versions
Collecting environment information...
PyTorch version: 1.9.1+cu102
Is debug build: False
CUDA used to build PyTorch: 10.2
ROCM used to build PyTorch: N/A
OS: Microsoft Windows 10 Home Insider Preview
GCC version: Could not collect
Clang version: Could not collect
CMake version: version 3.21.2
Libc version: N/A
Python version: 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.21296-SP0
Is CUDA available: True
CUDA runtime version: 11.1.74
GPU models and configuration: GPU 0: NVIDIA TITAN Xp COLLECTORS EDITION
Nvidia driver version: 510.10
cuDNN version: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\cudnn_ops_train64_8.dll
HIP runtime version: N/A
MIOpen runtime version: N/A
Versions of relevant libraries:
[pip3] Could not collect
[conda] Could not collect

On Mac, this throws the following error:
RuntimeError: At most 8-bit PNG images are supported currently.

Your image has a bit-depth of 16, which is currently not supported.
That said, it should not crash your Python. I'll try to reproduce this on Windows.

Thanks for reporting the bug. I was able to reproduce this issue with 0.10 on Windows. However, I think this issue is same as https://github.com/pytorch/vision/issues/3613 which was fixed in https://github.com/pytorch/vision/pull/4101. If you try the latest nightly(conda install pytorch torchvision torchaudio cpuonly -c pytorch-nightly), you wouldn't see the crash with the correct exception thrown.

Oh, searching with read_image didn't give me that issue. I have to search with torchvision.io.read_image.
Thank you for the explanation and solution.


Stream flush seems not work.

I send a big file (~10GiB) to client use pistache by stream write to avoid buffer in memory:
const int32_t buffer_size = 1024 * 4;
            // char *buffer = new char[buffer_size];
            uint64_t offset = 0;
            auto stream = response.stream(Http::Code::Ok);
            bool finished = false;
            while(offset < session->get_file_size()) {
                session->read_data(offset, buffer_size, [&offset, &finished, &stream](const int64_t size, const char* buffer) {
                    if (size == 0) {
                        finished = true;
                        return;
                    }
                    if (size < 0) {
                        LOG_ERROR_WRITE("console", "read failed at {}", offset)
                        finished = true;
                        return;
                    }
                    stream.write(buffer, size);
                    stream.flush();
                    offset += size;
                });
                if (finished) break;
            }
            LOG_DEBUG_WRITE("console", "read finished.")
            stream.ends();

But, when I open chrome to download file, it will wait for a long time for server read all file in to memory. stream.flush() seems doesn't clear stream buffer to client, I can see the memory used is going higher and higher. But the client doesn't receive any data from server at this time.
When all read finished, Chrome begin to download file, Is there any wrong with my usage?

I do not know; I do not use this feature of Pistache myself.
10G is a rather large request.  If the download fails, will your client retry the entire thing, or do you have a mechanism to resume the download from where if left off?


Not working - Payload structure changed

I see that they introduced the 'ExecuteQuery' and 'FindResultDataByJob', but I'm not sure what functions to replace (query_result_id, query_result, job_result) or if now one of them is not needed anymore.

Did anybody find a solution?


Instlaation instructions

Related to #11 we should add instructions for installing this package and using it

resolved in #47


Trigger CI on PRs or push in master

Avoid redundant CI jobs when PRs are opened from upstream branches.
Makes CI trigger from either PRs to master or pushes to master (e.g. when the PR is merged).

@rth will this also work for draft pull requests ? (e.g., for a branch that work on docker, you may want to test each commit, so opening a draft PR would allow to launch these actions?)
Otherwise all fine for me.

will this also work for draft pull requests ?

I don't see why they wouldn't -- they are still PRs. If that's not the case when you try it, ping me.


Empty stream, columns do not show up in metadata

Issue
When I have two streams and only one of them actually has data, when using the plugin, the preview  of the plugin only shows the columns of the stream that actually had data in it. The metadata actually shows the correct fields (Right Click > Output Fields), but (sometimes) they do not show up in any of the 'fields' drop down boxes of next steps.
This makes it hard to develop against e.g. tables that do not have data (yet).
SchemaMerge-issue.zip
Example:
Stream A:

id
first
last
address

1
Julien
H
Street 1

Stream B:

id
first
last
address
phone

null
null
null
null
null

Expected result:

id
first
last
address
phone

1
Julien
H
Street 1
null

Actual result:

id
first
last
address

1
Julien
H
Street 1

I'll take a look at this issue, empty rows are difficult to work with with this step, but I'm continuing to work on improving the handling of them.

Hi, thanks for the feedback! Meanwhile I managed to work around this 'issue' by using the ' detect empty stream' step. Works like a charm!


Enable SUPPORTS_ROOT_NS to allow managing root NS records

/cc https://github.com/octodns/octodns/pull/876 which adds the underlying support
/cc https://github.com/octodns/octodns/issues/38 which tracks the broader functionality request

BTW, ci is going to fail on this until there's an octoDNS release with root ns support. The tests pass when run with ./script/coverage, but fail when the installed module is tested b/c it's getting 0.9.15 via setup.py


Create Testcases for User Stories in Sprint 2

As a developer
I need to be able to easily test what I have built
So that I know my code is working
Assumptions:
Every user story needs a separate test case
Acceptance Criteria
...
Given a test case was build
When testing
Then it becomes clear whether it works

Guys, please advise me how many test case we need in sprint 2 and how best to split that up in user stories

We can create this as an epic. I also saw other zenhubs and they have separate issues of testing for every method that they are creating


Rename no_reload

The variable no_reload is true whenever we want to reload, and is false when we want no reload. I renamed it to use_reloader.

Codecov Report

Merging #4703 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4703   +/-   ##
=======================================
  Coverage   71.56%   71.56%
=======================================
  Files         191      191
  Lines       14958    14958
  Branches     1100     1100
=======================================
  Hits        10705    10705
  Misses       4250     4250
  Partials        3        3

Impacted Files
Coverage Δ

superset/cli.py
47.74% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 485b0c2...dd3398d. Read the comment docs.


Update bv_main.sh

@biagas try this.
I blackslashed the . char and bracketed in single quotes to ensure it matches a line with a literal dot in it instead of interpreting . as any single char.
Description
Resolves #18728

Type of change

[x] Bug fix~~
[ ] New feature
[ ] Documentation update
[ ] Other

How Has This Been Tested?
I ran output from g++ -v on catalyst through the logic manually WITHOUT this fix and I got a corrupted version number which included date. I added this fix and it corrected the result.

I tested with this output from gcc on catalyst...
Reading specs from /usr/tce/packages/gcc/gcc-4.9.3/lib64/gcc/x86_64-unknown-linux-gnu/4.9.3/specs
COLLECT_GCC=/usr/tce/packages/gcc/gcc-4.9.3/bin/g++
COLLECT_LTO_WRAPPER=/usr/tce/packages/gcc/gcc-4.9.3/libexec/gcc/x86_64-unknown-linux-gnu/4.9.3/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /builddir/build/BUILD/gccspack/spack/var/spack/stage/gcc-4.9.3-34vmmvov5ct2riknhkfcmxieffb5pyex/gcc-4.9.3/configure --prefix=/usr/tce/packages/gcc/gcc-4.9.3 --libdir=/usr/tce/packages/gcc/gcc-4.9.3/lib64 --disable-multilib --enable-languages=c,java,c++,fortran,objc,go --with-mpc=/builddir/build/BUILD/gccspack/spack/opt/spack/linux-redhat7-x86_64/gcc-4.8.5/mpc-1.0.3-hj3ado6aurkkeiulr7fabqov7dh5nomf --with-mpfr=/builddir/build/BUILD/gccspack/spack/opt/spack/linux-redhat7-x86_64/gcc-4.8.5/mpfr-3.1.4-btpsymgkcfsazkot7mksiiaiqi56q3iz --with-gmp=/builddir/build/BUILD/gccspack/spack/opt/spack/linux-redhat7-x86_64/gcc-4.8.5/gmp-6.1.0-rdkrxbnzwlletmtlntg4vbxhc24zspva --enable-lto --with-quad
Thread model: posix
gcc version 4.9.3 (GCC)

and it worked.

@biagas when you get a chance, can you confirm this one line change fixes your issue?


Adapt template to 0.8.0-alpha1

This adds a few additional changes to #37. If they are good, we can merge everything together into master.

Let's wait on merging to master until 0.8 is released.
Otherwise people using this for 0.7 development will have it broken. But we can explicitly opt I to 0.8 earlier


[Backport Request] Any plans for a 1.20.1 release?

1.20.1 is still very popular for modding, so any chance of getting a 1.20.1 version?

Also interested in this.   Looks like a great mod!

Yes please

1.20.1 is super popular. But if there aren't any plans, then I'll create a backport of this.

do it i am impatient

do it now i am impatient

I am sure they appreciate that input! 👍

i don't think it is planned because it was made for modfest

oof

At the very least I'd love to have a version of Minecraft that contains both this mod and the new minecart mechanics! Imagine a parabolic corkscrew track that you then jump through!

https://modrinth.com/mod/forkcart/versions

+1.
Also,

https://modrinth.com/mod/forkcart/versions

This doesn't have a forge version yet.