v3/master nginx segfault

Hi,
using the latest v3/master (commit 6421ff087a25331f9b389781432960e919659a4a) with nginx and the ModSecurity-nginx connector, i receive the following error when start nginx:
# sbin/nginx
Segmentation fault (core dumped)

# dmesg | grep nginx
[2937346.082045] nginx[9632]: segfault at 7f6f62b52928 ip 00007f6f62b52928 sp 00007ffc7a7eeac8 error 15 in libc-2.19.so[7f6f62b52000+2000]

I've tried with Nginx <IP_ADDRESS> and <IP_ADDRESS>
# sbin/nginx -V
nginx version: openresty/<IP_ADDRESS>
built by gcc 4.9.2
built with OpenSSL 1.0.1t  3 May 2016
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.0 --add-module=../echo-nginx-module-0.60 --add-module=../xss-nginx-module-0.05 --add-module=../ngx_coolkit-0.2rc3 --add-module=../set-misc-nginx-module-0.31 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.06 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.7 --add-module=../ngx_lua_upstream-0.06 --add-module=../headers-more-nginx-module-0.32 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.17 --add-module=../redis2-nginx-module-0.13 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.14 --add-module=../rds-csv-nginx-module-0.07 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-http_v2_module --add-module=../ModSecurity-nginx --with-http_ssl_module

Hi @theMiddleBlue,
Can you send me the gdb backtrace for this issue?

Hi @zimmerle,
this is the backtrace:
(gdb) run
Starting program: /usr/local/openresty/nginx/sbin/nginx
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00000000000003c1 in ?? ()

(gdb) backtrace full
#0  0x00000000000003c1 in ?? ()
No symbol table info available.
#1  0x00007ffff6f16a70 in modsecurity::Rule::~Rule (this=0x4a4f3c0, __in_chrg=<optimized out>) at rule.cc:133
No locals.
#2  0x00007ffff6f16972 in modsecurity::Rule::~Rule (this=0x4a4f6e0, __in_chrg=<optimized out>) at rule.cc:161
No locals.
#3  0x00007ffff6ef25d1 in refCountDecreaseAndCheck (this=0x4a4f6e0) at ../headers/modsecurity/rule.h:84
        this = 0x4a4f6e0
#4  ~RulesProperties (this=0x46e5068, __in_chrg=<optimized out>) at ../headers/modsecurity/rules_properties.h:112
        rule = 0x4a4f6e0
        rules = std::vector of length 318, capacity -9780204 = {0x4910ef0, 0x46e55f0, 0x46e5e10, 0x3e32150, 0x49159a0, 0x4ab4d80, 0x4ac1b90, 0x4ab0fa0, 0x4ab15e0, 0x4ab1d20, 0x4ab2260, 0x4ab29a0, 0x4ab3220, 0x4ab3890,
          0x4ab3d20, 0x4ac2190, 0x4ac2620, 0x4ac2be0, 0x4ac3190, 0x4ac3780, 0x4ac3cc0, 0x4ac4420, 0x4ac7fa0, 0x4ac8650, 0x4ac8ed0, 0x4ac94e0, 0x4ac9a10, 0x4aca030, 0x4ace740, 0x4acec90, 0x4acf2d0, 0x4acf6d0, 0x4aad380,
          0x4aada00, 0x4aadf10, 0x4aaef20, 0x4aaf440, 0x4ab0600, 0x4ad2410, 0x4ad2920, 0x4ad35f0, 0x4ad4590, 0x4ad55a0, 0x4ad65b0, 0x4ad7c50, 0x4ad7fe0, 0x4ad9000, 0x4ada420, 0x4adba50, 0x4ade060, 0x4adfb40, 0x4ae07e0,
          0x4ae2480, 0x4ae28a0, 0x4ae4510, 0x4ae4890, 0x4ae5040, 0x4aaaba0, 0x4aab940, 0x4aa4560, 0x4aa59f0, 0x4aa5fc0, 0x4aa7450, 0x4ae5600, 0x4ae6ac0, 0x4ae8290, 0x4ae9850, 0x4aeac40, 0x4aeaf80, 0x4aeb6b0, 0x4aec550,
          0x4aed050, 0x4aedb90, 0x4aedf30, 0x4aa0660, 0x4aa1ae0, 0x4aa2400, 0x4aa2f20, 0x4aa3a90, 0x4aa3e70, 0x4a9de50, 0x4af1750, 0x4af33c0, 0x4af3f10, 0x4af43d0, 0x4af4c20, 0x4a97f80, 0x4a99a00, 0x4b62550, 0x4b6c750,
          0x4b6d100, 0x4b7e090, 0x4b95590, 0x4b95f40, 0x4bacc40, 0x4bacfc0, 0x4a93e00, 0x4a952f0, 0x4a96540, 0x4bad300, 0x4bae3d0, 0x4bb0380, 0x4bb1910, 0x4bb2f40, 0x4bb87d0, 0x4bb92f0, 0x4bba760, 0x4bbbd60, 0x4bbd630,
          0x4bbe890, 0x4bbfb20, 0x4bc0b80, 0x4bc0de0, 0x4bc1e30, 0x4bc5a40, 0x4bc7630, 0x4bc8050, 0x4bc9c20, 0x4bca720, 0x4bcba90, 0x4bccdf0, 0x4bce180, 0x4bcf490, 0x4bd0b10, 0x4bd2320, 0x4bd4230, 0x4bd5420, 0x4bd6e90,
          0x4bd7f60, 0x4bd9510, 0x4bda9a0, 0x4bdc270, 0x4bdd230, 0x4be3e90, 0x4be50d0, 0x4be5920, 0x4be6d70, 0x4be7640, 0x4be8640, 0x4bea0b0, 0x4beb470, 0x4becb20, 0x4becc80, 0x4a8f9b0, 0x4a91170, 0x4a927f0, 0x4bedd00,
          0x4bef390, 0x4bf07d0, 0x4bf1b60, 0x4bf3160, 0x4bf39a0, 0x4bf5120, 0x4bf5940, 0x4bf65c0, 0x4bf7660, 0x4bf87e0, 0x4bf8b60, 0x4a8b7a0, 0x4a8d320, 0x4a8ed60, 0x4bfa700, 0x4e2e120, 0x4e2eaa0, 0x4e42060, 0x4e42bf0,
          0x4e42f70, 0x4a87420, 0x4a889e0, 0x4a89f00, 0x4e47890, 0x4e481e0, 0x4e49340, 0x4e4a460, 0x4e4aff0, 0x4e4b350, 0x4a831d0, 0x4e4f860, 0x4e57150, 0x4e5fc00, 0x4e68980, 0x4e6a4f0, 0x4ecf8d0, 0x4ed1340, 0x4ed9b30,
          0x4edb580, 0x4ee8e80, 0x4eea5a0, 0x4eeaee0, 0x4eeba20, 0x4eec5b0, 0x4eecb50, 0x4a7ed60, 0x4a81690, 0x4eed460, 0x4eee8d0, 0x4f763b0, 0x4f7cd80, 0x4f7e6a0, 0x4f905b0...}
        i = <optimized out>
#5  modsecurity::Parser::Driver::~Driver (this=0x46e5060, __in_chrg=<optimized out>) at parser/driver.cc:35
No locals.
#6  0x00007ffff6ef29d9 in modsecurity::Parser::Driver::~Driver (this=0x46e5060, __in_chrg=<optimized out>) at parser/driver.cc:41
No locals.
#7  0x00007ffff6f10712 in modsecurity::Rules::loadFromUri (this=this@entry=0x3352030, uri=<optimized out>) at rules.cc:106
        driver = 0x46e5060
        rules = <optimized out>
#8  0x00007ffff6f10903 in modsecurity::msc_rules_add_file (rules=0x3352030, file=<optimized out>, error=error@entry=0x7fffffffdc28) at rules.cc:301
        ret = <optimized out>
#9  0x00000000004f33ce in ngx_conf_set_rules_file (cf=0x7fffffffe840, cmd=<optimized out>, conf=0x4908ad8) at /root/src/ModSecurity-nginx/src/ngx_http_modsecurity_module.c:310
        value = <optimized out>
        res = <optimized out>
        error = 0x0
        mcf = 0x4908ad8
#10 0x000000000042e25f in ngx_conf_handler (last=0, cf=0x7fffffffe840) at src/core/ngx_conf_file.c:427
        rv = <optimized out>
        conf = <optimized out>
        i = <optimized out>
        confp = <optimized out>
        found = 1
        name = 0x7e65f8
        cmd = 0x7539f0 <ngx_http_modsecurity_commands+112>
#11 ngx_conf_parse (cf=cf@entry=0x7fffffffe840, filename=filename@entry=0x0) at src/core/ngx_conf_file.c:283
        rv = <optimized out>
        p = <optimized out>
---Type <return> to continue, or q <return> to quit---
        size = <optimized out>
        fd = -1
        rc = <optimized out>
        buf = {pos = 0x7ffff5136950 <typeinfo for std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >> "\220P\023\365\377\177",
          last = 0x7ffff51355d0 <typeinfo for std::locale::facet> "\320A\023\365\377\177", file_pos = 0, file_last =<PHONE_NUMBER>86685, start = 0x7fff00004001 <error: Cannot access memory at address 0x7fff00004001>,
          end = 0x40030 <error: Cannot access memory at address 0x40030>, tag = 0xfff, file = 0x7fff00001030, shadow = 0x1000, temporary = 1, memory = 1, mmap = 0, recycled = 1, in_file = 1, flush = 0, sync = 1,
          last_buf = 0, last_in_chain = 0, last_shadow = 1, temp_file = 0, num = 0}
        tbuf = <optimized out>
        prev = 0x0
        conf_file = {file = {fd = 64, name = {len = 8, data = 0x7f000000ae <error: Cannot access memory at address 0x7f000000ae>}, info = {st_dev = 1, st_ino = 125, st_nlink = 53813464, st_mode = 53813448, st_uid = 0,
              st_gid =<PHONE_NUMBER>, __pad0 = 32767, st_rdev = 262144, st_size = 53813464, st_blksize = 53813448, st_blocks =<PHONE_NUMBER>46575, st_atim = {tv_sec =<PHONE_NUMBER>82712, tv_nsec =<PHONE_NUMBER>91392}, st_mtim = {
                tv_sec = 53813296, tv_nsec = 53813296}, st_ctim = {tv_sec = 53813432, tv_nsec =<PHONE_NUMBER>70083}, __glibc_reserved = {53813480, 53813488,<PHONE_NUMBER>82752}}, offset = 53813544, sys_offset = 8065104,
            log = 0x4000, valid_info = 0, directio = 0}, buffer = 0x4908ad8, dump = 0x7fffffffe840, line = 4317844}
        cd = <optimized out>
        type = parse_block
#12 0x000000000044b63b in ngx_http_core_server (cf=0x7fffffffe840, cmd=<optimized out>, dummy=<optimized out>) at src/http/ngx_http_core_module.c:3043
        rv = <optimized out>
        mconf = <optimized out>
        i = <optimized out>
        pcf = {name = 0x0, args = 0x7b2e90, cycle = 0x7b10a0, pool = 0x7b1050, temp_pool = <optimized out>, conf_file = <optimized out>, log = <optimized out>, ctx = <optimized out>, module_type = <optimized out>,
          cmd_type = <optimized out>, handler = <optimized out>, handler_conf = <optimized out>}
        module = <optimized out>
        sin = 0x4906b28
        ctx = 0x4906b28
        http_ctx = <optimized out>
        lsopt = {sockaddr = {sockaddr = {sa_family = 55, sa_data = '\000' <repeats 13 times>}, sockaddr_in = {sin_family = 55, sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"},
            sockaddr_un = {sun_family = 55,
              sun_path = '\000' <repeats 14 times>, "\f\000\000\000\000\000\000\000\260^}\000\000\000\000\000\023\000\000\000\000\000\000\000#\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\360%\004\366\377\177\000\000 \266\062\366\377\177\000\000\020\020\000\000\000\000\000\000\000Bu", '\000' <repeats 14 times>, "\020\000\000\000"}}, socklen = 7565824, set = 0, default_server = 0, bind = 0,
          wildcard = 0, ssl = 0, http2 = 0, reuseport = 0, so_keepalive = 0, proxy_protocol = 0, backlog = -167772520, rcvbuf = 32767, sndbuf = 257, fastopen = 0, tcp_keepidle = 4144, tcp_keepintvl = 0, tcp_keepcnt = 64,
          deferred_accept =<PHONE_NUMBER>88144,
          addr = "\b\000\000\000\000\000\000\000c\000\000\000penr\001", '\000' <repeats 15 times>, "o\000\000\000w", '\000' <repeats 11 times>, "|\000\000\000\377\177\000\000\365/\004\366\377\177\000\000\000\000\000\000\000\000\000\000 \266\062\366\377\177\000\000\000\020\000\000\000\000\000\000\000Bu", '\000' <repeats 13 times>, "@\350\377\377\377\177\000\000\000r"}
        cscf = 0x4906f10
        cscfp = <optimized out>
        cmcf = <optimized out>
#13 0x000000000042e25f in ngx_conf_handler (last=1, cf=0x7fffffffe840) at src/core/ngx_conf_file.c:427
        rv = <optimized out>
        conf = <optimized out>
        i = <optimized out>
        confp = <optimized out>
        found = 1
        name = 0x7e65f8
        cmd = 0x7384a0 <ngx_http_core_commands+224>
#14 ngx_conf_parse (cf=cf@entry=0x7fffffffe840, filename=filename@entry=0x7fffffffe1c0) at src/core/ngx_conf_file.c:283
        rv = <optimized out>
        p = <optimized out>
---Type <return> to continue, or q <return> to quit---
        size = <optimized out>
        fd = 7
        rc = <optimized out>
        buf = {
          pos = 0x7e4252 "\n\n\tinclude wafheaders/sicuritalia.it;\n\n\tlocation ~ /.well-known {\n\t\tallow all;\n\t\troot /usr/local/openresty/nginx/html/letsencrypt;\n\t}\n\n\tlocation ~ /.*richiedi\\-preventivo.* {\n\t\tmodsecurity off;\n\t\tprox"..., last = 0x7e44e2 "", file_pos = 211475, file_last = 4251021,
          start = 0x7e3f50 "server {\n\tlisten 80;\n\n\tserver_name sicuritalia.it;\n\n\tset $forwardme http://<IP_ADDRESS>:80;\n\tset $mynameis sicuritalia.it;\n\tset $tmwBodyFunc \"cM\";\n\n\tproxy_cache_bypass 1;\n\tproxy_buffer_size 5120;\n\tpr"..., end = 0x7e4f50 "\020\020", tag = 0x7ffff5f8beb8, file = 0x7ffff7fee9d8, shadow = 0x7de5b8, temporary = 1, memory = 0, mmap = 0, recycled = 0, in_file = 0, flush = 0, sync = 1, last_buf = 0,
          last_in_chain = 0, last_shadow = 0, temp_file = 0, num = 32767}
        tbuf = <optimized out>
        prev = 0x7fffffffe6d0
        conf_file = {file = {fd = 7, name = {len = 55, data = 0x4906aee "/usr/local/openresty/nginx/conf/waf/http-sicuritalia.it"}, info = {st_dev = 60, st_ino = 342, st_nlink = 1, st_mode = 33188, st_uid = 0,
              st_gid = 65534, __pad0 = 0, st_rdev = 0, st_size = 1426, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec =<PHONE_NUMBER>, tv_nsec = 0}, st_mtim = {tv_sec =<PHONE_NUMBER>, tv_nsec = 0}, st_ctim = {
                tv_sec =<PHONE_NUMBER>, tv_nsec = 909480631}, __glibc_reserved = {0, 0, 0}}, offset = 1426, sys_offset = 7, log = 0x754200 <ngx_log>, valid_info = 0, directio = 0}, buffer = 0x7fffffffe040, dump = 0x0,
          line = 25}
        cd = <optimized out>
        type = parse_file
#15 0x000000000042ee28 in ngx_conf_include (cf=0x7fffffffe840, cmd=<optimized out>, conf=<optimized out>) at src/core/ngx_conf_file.c:831
        rv = 0x0
        n = <optimized out>
        value = <optimized out>
        file = {len = 55, data = 0x4906aee "/usr/local/openresty/nginx/conf/waf/http-sicuritalia.it"}
        name = {len = 56, data = 0x7e3ed0 "/usr/local/openresty/nginx/conf/waf/http-sicuritalia.it"}
        gl = {n = 7, pglob = {gl_pathc = 12, gl_pathv = 0x7d5eb0, gl_offs = 0, gl_flags = 256, gl_closedir = 0x0, gl_readdir = 0x0, gl_opendir = 0x0, gl_lstat = 0x0, gl_stat = 0x0},
          pattern = 0x7e19ab "/usr/local/openresty/nginx/conf/waf/http-*", log = 0x754200 <ngx_log>, test = 1}
#16 0x000000000042e25f in ngx_conf_handler (last=0, cf=0x7fffffffe840) at src/core/ngx_conf_file.c:427
        rv = <optimized out>
        conf = <optimized out>
        i = <optimized out>
        confp = <optimized out>
        found = 1
        name = 0x7b2eb8
        cmd = 0x737200 <ngx_conf_commands>
#17 ngx_conf_parse (cf=cf@entry=0x7fffffffe840, filename=filename@entry=0x0) at src/core/ngx_conf_file.c:283
        rv = <optimized out>
        p = <optimized out>
        size = <optimized out>
        fd = -1
        rc = <optimized out>
        buf = {pos = 0x100 <error: Cannot access memory at address 0x100>, last = 0x7fff00000130 <error: Cannot access memory at address 0x7fff00000130>, file_pos = 32, file_last = 123,
          start = 0x4 <error: Cannot access memory at address 0x4>, end = 0x0, tag = 0x7700000072, file = 0x0, shadow = 0x7c, temporary = 1, memory = 0, mmap = 1, recycled = 0, in_file = 0, flush = 0, sync = 0,
          last_buf = 0, last_in_chain = 0, last_shadow = 1, temp_file = 1, num = 0}
        tbuf = <optimized out>
        prev = 0x0
        conf_file = {file = {fd = 124, name = {len =<PHONE_NUMBER>06592, data = 0x4000 <error: Cannot access memory at address 0x4000>}, info = {st_dev = 7684608, st_ino =<PHONE_NUMBER>49248, st_nlink = 10, st_mode = 7588736,
              st_uid = 0, st_gid = 8, __pad0 = 0, st_rdev = 8082144, st_size = 9, st_blksize = 8082144, st_blocks = 4323156, st_atim = {tv_sec = 8200416, tv_nsec = 8182424}, st_mtim = {tv_sec = 8082144, tv_nsec = 8},
              st_ctim = {tv_sec = 8104504, tv_nsec = 4323156}, __glibc_reserved = {7596072, 8200416, 103}}, offset = 8074736, sys_offset =<PHONE_NUMBER>49248, log = 0x1, valid_info = 0, directio = 0}, buffer = 0x1,
---Type <return> to continue, or q <return> to quit---
          dump = 0x7d1de0, line = 4576096}
        cd = <optimized out>
        type = parse_block
#18 0x0000000000447f0a in ngx_http_block (cf=0x7fffffffe840, cmd=<optimized out>, conf=<optimized out>) at src/http/ngx_http.c:238
        rv = <optimized out>
        m = <optimized out>
        module = <optimized out>
        ctx = 0x7b3020
        cmcf = <optimized out>
        mi = <optimized out>
        s = <optimized out>
        pcf = {name = 0x0, args = 0x7b2e90, cycle = <optimized out>, pool = 0x7b1050, temp_pool = <optimized out>, conf_file = <optimized out>, log = <optimized out>, ctx = <optimized out>, module_type = <optimized out>,
          cmd_type = <optimized out>, handler = <optimized out>, handler_conf = <optimized out>}
        clcf = <optimized out>
        cscfp = <optimized out>
        cmd = <optimized out>
        conf = <optimized out>
        cf = 0x7fffffffe840
#19 0x000000000042e25f in ngx_conf_handler (last=1, cf=0x7fffffffe840) at src/core/ngx_conf_file.c:427
        rv = <optimized out>
        conf = <optimized out>
        i = <optimized out>
        confp = <optimized out>
        found = 1
        name = 0x7b2eb8
        cmd = 0x738080 <ngx_http_commands>
#20 ngx_conf_parse (cf=0x7fffffffe840, filename=0x7b1268) at src/core/ngx_conf_file.c:283
        rv = <optimized out>
        p = <optimized out>
        size = <optimized out>
        fd = 5
        rc = <optimized out>
        buf = {pos = 0x7b9998 "\n\tinclude waf/https-*;\n\tinclude sites/node2.gapi.sicuritaliawaf.it;\n}\n", last = 0x7b99de "", file_pos = 0, file_last =<PHONE_NUMBER>05382,
          start = 0x7b9070 "worker_processes  8;\n\nevents {\n    worker_connections  4096;\n    multi_accept        on;\n    use\t\t\tepoll;\n}\n\n# error_log  logs/error.log  info;\nerror_log /dev/null crit;\n\nhttp {\n\tserver_tokens off;\n\tr"..., end = 0x7ba070 "", tag = 0x7ffff632b601 <__memalign_hook+1>, file = 0x7ffff60047a9 <__GI___default_morecore+9>, shadow = 0x6369, temporary = 1, memory = 0, mmap = 1, recycled = 0, in_file = 1,
          flush = 0, sync = 1, last_buf = 0, last_in_chain = 1, last_shadow = 0, temp_file = 0, num = 32767}
        tbuf = <optimized out>
        prev = 0x0
        conf_file = {file = {fd = 5, name = {len = 42, data = 0x7b1303 "/usr/local/openresty/nginx/conf/nginx.conf"}, info = {st_dev = 60, st_ino = 324, st_nlink = 1, st_mode = 33188, st_uid = 0, st_gid = 50, __pad0 = 0,
              st_rdev = 0, st_size = 2414, st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec =<PHONE_NUMBER>, tv_nsec = 0}, st_mtim = {tv_sec =<PHONE_NUMBER>, tv_nsec = 0}, st_ctim = {tv_sec =<PHONE_NUMBER>, tv_nsec = 833480339},
              __glibc_reserved = {0, 0, 0}}, offset = 2414, sys_offset = 16384, log = 0x754200 <ngx_log>, valid_info = 0, directio = 0}, buffer = 0x7fffffffe680, dump = 0x0, line = 98}
        cd = <optimized out>
        type = parse_file
#21 0x000000000042c3b5 in ngx_init_cycle (old_cycle=0x7fffffffe9e0) at src/core/ngx_cycle.c:274
        rv = 0x3c1
        env = 0x7b1050
        log = 0x754200 <ngx_log>
---Type <return> to continue, or q <return> to quit---
        conf = {name = 0x0, args = 0x7b2e90, cycle = 0x7b10a0, pool = 0x7b1050, temp_pool = 0x7b5060, conf_file = 0x7fffffffe090, log = 0x754200 <ngx_log>, ctx = 0x4906b28, module_type =<PHONE_NUMBER>, cmd_type = 67108864,
          handler = 0x0, handler_conf = 0x0}
        pool = 0x7b1050
        cycle = 0x7b10a0
        old = 0x3c1
        ccf = 0x7ffff632b628 <main_arena+8>
        hostname = "5607196e48de\000\000\000\000\250\026\371\365\377\177\000\000\330\351\376\367\377\177\000\000\003\000\000\000\000\000\000\000\063", '\000' <repeats 15 times>, "[\000\000\000u SM`\351\377\377\377\177\000\000Y\317\006\366\377\177\000\000n\000\000\000w\000\000\000\340^s", '\000' <repeats 13 times>, "(\355\377\377\377\177\000\000\000Bu\000\000\000\000\000xZs", '\000' <repeats 13 times>, "(\355\377\377\377\177\000\000\000Bu\000\000\000\000\000\060\017{\000\000\000\000\000\001\000\000\000\000\000\000\000\307\235\336\367\377\177\000\000\001", '\000' <repeats 15 times>, "&\000\000\000\000\000\000\000"...
#22 0x000000000041bc39 in main (argc=<optimized out>, argv=<optimized out>) at src/core/nginx.c:276
        b = <optimized out>
        log = 0x754200 <ngx_log>
        i = <optimized out>
        cycle = <optimized out>
        init_cycle = {conf_ctx = 0x0, pool = 0x7b0b20, log = 0x754200 <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}, 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},
          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 = 42, data = 0x7b0b70 "/usr/local/openresty/nginx/conf/nginx.conf"}, conf_param = {
            len = 0, data = 0x0}, conf_prefix = {len = 32, data = 0x7b0b70 "/usr/local/openresty/nginx/conf/nginx.conf"}, prefix = {len = 27, data = 0x4f472b "/usr/local/openresty/nginx/"}, lock_file = {len = 0,
            data = 0x0}, hostname = {len = 0, data = 0x0}}
        cd = <optimized out>
        ccf = <optimized out>
(gdb)

Thank you @theMiddleBlue.
Fixed at: 0e05b7bb8a380c1b61d4358866007c35ca0b49d3


Menuitem separator

It would be nice to separate some menu items, e.g.
File
  Open
  Load
  Save
  -------
  Quit

The line could be drawn if the title of the item is empty.

This was fixed ages ago. This issue should be closed.


Snd 133 create helm chart to install external db to aws ack rds

helm chart with xroad security server sidecar with remote postgres database.
!note that currently database endpoint is hardcoded and need to be refactored to get the endpoint address after DBInstance is up and running before start security server container

The user story SND-133 has acceptance criteria "There is a Helm chart for installing external db to EKS", so there is no need for any X-Road instances, basically only a Helm chart for deploying AWS RDS to EKS. So if you could create a Helm chart similar to "xroad-cs" and those other charts into "information-mediator/charts/db" with the content from your "postgresql.yaml". Those X-Road Helm charts should be updated later on in other user stories to start using that db (so in the pipeline the db chart has to be installed first). 2. Please do not add secrets to repository


Add support for overloaded contract functions

Prior to this, ethabi would store just on function definition per function name in the Contract struct. This is not sufficient, in fact it is incorrect, as functions can be overloaded and there can be multiple definitions with the same name.
This applies the same treatment to contract functions that was applied earlier for events: for every name, a vector of function definitions is now stored. ethabi-cli takes either a name or a signature of the form
functionName()
functionName():(bool)
functionName(uint256,string):(uint256,bool)

and matches this to the right overloaded version of the function with that name.

Oh, one more thing: do you think you can add an example to the README as well? Thanks!

@dvdplm All updated, thanks for the quick review!


Add mutable assignment

The scheme is to use an invariant Ref type (or call it Mut) everywhere, where we have Ref[T] <: T, and with a Ref: 'a -> Ref['a] constructor. For example we have { x = Ref 1 } : { x: Ref[0 | 1] } <: { x: int }
The advantage over explicitly making record fields optionally mutable is to make the implementation in MLscript easy and modular. But we need to put a restriction on where these Ref types can appear. The restriction could be checked in a pass after type checking:
One can only call the Ref constructor as part of a field initialization, as in { x = Ref 1 } or as part of a local variable initialization, as in let x = Ref 1 in ....
The code generator will simply ignore these Ref constructors, as in JS all fields are mutable by default.

After some reflection, I thought it should be cleaner to just make mutability a property of record fields. Then, we can implement a library Ref type based on a record, like in OCaml.


[feature proposal] Kafka as SPI data output

Moloch is sending SPI data directly to Elastic, using the /_bulk API.
While this is proven to do the job and rather well, having Kafka in between might be useful
in some use case, for instance a (near) real-time alerting on SPI pattern. In short,
once the SPI data is in Kafka, it can be re-read multiple time at a rather low effort and cost.
The diagram below show this write once - read many pattern Kafka (or similar technology)
can help implementing:
                                                ┌         ┐
                 ┌       ┐  ┌─> _ES indexer_ >──┤ elastic ├──< moloch-viewer
moloch-capture >─┤ kafka ├──┤                   └         ┘
                 └       ┘  ├─> (near) real time alerting on some patterns
                            │
                            └─> ... some other processing ...

In order to have the Moloch setup working the same way than before,
two components would be required:

Kafka plugin running in Moloch-capture and sending the SPI to Kafka instead of Elastic
An ES indexer, consuming from Kafka and indexing to Elastic in the same collections that Moloch
itself would do to ensure feature parity.

Kafka plugin
Moloch has a powerful built-in plugin mechanism which could be leveraged to:

load the plugin
initialize the connection to Kafka
hook into SPI data sending mechanism using moloch_db_set_send_bulk setter.

This approach means that instead of calling the default moloch_db_send_bulk function
which is post'ing the SPI data to the /_bulk endpoint of Elastic,
this exact same payload, when ready, would be send to Kafka instead.
This keeps the design easy and to not add any overhead (or very little)
to Moloch-capture.
The disadvantage of this approach is that the data post'ed to Elastic in a json lines format
with some metadata json in between, mostly the name of the collection to insert into.
I.e. a consumer of the SPI data might do some (easy, but still) parsing of
the message before decoding a single SPI.
A watch item in this approach part is Kafka limitation in the message payload (1MB by default).
ES Indexer
The second part in the proposed approach is a component reading from Kafka
and indexing the SPI in Elastic (i.e. what Moloch-capture is doing by default)
This component can be standalone, outside of Moloch. If the messages sent to Kafka
remain untouched as it was proposed, they can be directly post'ed to Elastic.
There are already numerous of tools doing that (reading from Kafka and indexing to Elastic):

Kafka Connect for Elastic search,
Logstash
Fluentd
...

but very few of them are using the /_bulk API.
And in the proposed design, the payload pushed to Kafka can literally be post'ed as is to /_bulk.
Writing this in Akka streams would fit in less than 20 lines of code:
  val elasticBulkEndpoint = "http://elastic/_bulk"
  val httpPool =
    Http().superPool[ConsumerRecord[Integer, String]]()

  Consumer
    .plainSource[Integer, String](kafkaConsumerSettings, Subscriptions.topics(topic))
    .map { msg =>
      (HttpRequest(
         method = HttpMethods.POST,
         uri = elasticBulkEndpoint,
         entity = HttpEntity(ContentTypes.`application/json`, msg.value())
       ),
       msg)
    }
    .via(httpPool)
    .run

Pros and cons
This approach does not completely remove Moloch interactions with Elastic, since
stats and new file calls are still done directly from Moloch.
But having Kafka in between Moloch and Elastic for the SPI data might be useful
to amortize the pressure on Elastic by providing a buffer,
and allows multiple processing/indexing streams consuming the SPI data
The downside of the approach is the additional complexity of running a Kafka cluster
and a ES indexer component.

I asked for something similar a while back. Makes a lot of sense at large deployments and to further enrich spi data outside of wise.
The added complexity is non-trivia, especially managing threads to and fro kafka. However, biggest benefit is ability to do inline detection logic and analytics on the data in a lambda architecture (fast path = viewer + elastic, slow path = pick_your_fav_spark_engine + binary store).

@31453 It is significant to accept and implement the proposal.

I got a bit side tracked, sorry for that, but a PR is coming shortly.

I pushed my working branch in https://github.com/touilleio/arkime/tree/feature/kafka-v3.0, but I mixed few things in, mostly containerization of Arkime and kafka plugin.
The latter is available directly in https://github.com/touilleio/arkime/tree/feature/kafka-v3.0/capture/plugins/kafka

you can directly docker pull touilleio/arkime:v3 if you're adventurous

Added in #2179 and #2177
Would still like to add msg format to choose from bulk, buik1, doc in the future and provide sample consumers.


Changed the complete portfolio as compared to week 1

I have completely changed the portfolio as compared to week 1.

This PR is based on the code before #2 was merged. Can you merge master (git merge origin/master while you're on the AnanyaDevelopment branch) and resolve the conflicts? That way I know which code is meant to be new.

This PR is based on the code before #2 was merged. Can you merge master (git merge origin/master while you're on the AnanyaDevelopment branch) and resolve the conflicts? That way I know which code is meant to be new.

I have resolved the conflicts. Let me know if I need to do anything else.

Thanks Ananya. It looks like you still you need to push the changes to Github (git push), unless it accidentally went to another branch.

Thanks Ananya. It looks like you still you need to push the changes to Github (git push), unless it accidentally went to another branch.

Oh yeah I forgot to do that. It's done now. Sorry about that


Update to last changes in hpp-fcl

hpp-fcl will use only Eigen types in future version.
The FCL_HAVE_EIGEN makes it compatible with older version of hpp-fcl. See comment in src/spatial/fcl-pinocchio-conversions.hpp for more details.
Note that at the moment, the copy is temporarily needed but can be removed when hpp-fcl is upgraded.

Related to #385

Thanks for the contribution.
I need to activate the use of eigen on robotpkg. I will do it later.
In the meantime, we still rely on FCL data structures.


pitch detection example

hi there, not really an issue... i am interested in porting/implementing your pitch detection method and possibly the onset detector to axoloti (a dsp platform) i can read and understand a little c code, but i am a bit lost with your code :-) is one of the files here already a working pitch extraction example? or is this just the library? thanks for your work!

I'm sorry, but the library requires knowledge of modern c++.

i see, do you think someone with that knowledge could make it run on the
axoloti? (stm f4) is it lightweight enough?
thanks
On Sat, Dec 14, 2019, 09:43 Joel de Guzman<EMAIL_ADDRESS>wrote:

I'm sorry, but the library requires knowledge of modern c++.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cycfi/Q/issues/9?email_source=notifications&email_token=ADDSM3YD7KSNJQZBROEF76LQYSMDFA5CNFSM4J2QQKZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG35UNQ#issuecomment-565697078,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDSM3554J6NQDX3AITOZADQYSMDFANCNFSM4J2QQKZQ
.

That's the idea, yes. People are already using it on small MCUs.

perfect thanks.

On 15 Dec 2019, at 03:26, Joel de Guzman<EMAIL_ADDRESS>wrote:
That's the idea, yes. People are already using it on small MCUs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/cycfi/Q/issues/9?email_source=notifications&email_token=ADDSM356VR4RIM2KJEGO4ZDQYWIVNA5CNFSM4J2QQKZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG4PXHY#issuecomment-565771167, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADDSM35YU6HDQ5FZBDRBUYTQYWIVNANCNFSM4J2QQKZQ.


element with id /subsciption/ already exist

I can't use that extension and browse logic apps :(

@.***
@.***
@.***
Regards,
Dariusz Bzowka
Senior Manager, Technical Architect
“always happy to help”
KPMG UK
Microsoft Business Solutions
15 Canada Square
London E14 5GL
M: +44<PHONE_NUMBER>0
@.***https://home.kpmg/uk/en/home/services/kpmg-alliances/kpmg-uk-alliance-with-mbs.html
From: Joe Chung @.>
Sent: 30 November 2022 15:36
To: microsoft/vscode-azurelogicapps @.>
Cc: Bzowka, Dariusz @.>; Author @.>
Subject: [Caution - External] Re: [microsoft/vscode-azurelogicapps] element with id /subsciption/ already exist (Issue #268)
What other extensions do you have installed? This error can happen if two (or more) different extensions are using the same ID for elements in the Azure explorer.
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/microsoft/vscode-azurelogicapps/issues/268*issuecomment-1332357168__;Iw!!E1R1dd1bLLODlQ4!HbVE-UUPrBAkMT9y5Z8j95Wy6JvPRzbdWZ94IHVVu7J8KwwxhMuZChZiXmjeGvOKuwK_H6A8Wmt-abOFBqa_Hg7QB5eNMHOUMA$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/A2FF7NHJRC7LZRAOT7W7NXLWK5X63ANCNFSM6AAAAAASNEZMRE__;!!E1R1dd1bLLODlQ4!HbVE-UUPrBAkMT9y5Z8j95Wy6JvPRzbdWZ94IHVVu7J8KwwxhMuZChZiXmjeGvOKuwK_H6A8Wmt-abOFBqa_Hg7QB5e6Y6mA6A$.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>
This email has been sent by and on behalf of one or more of KPMG LLP, KPMG Audit plc, KPMG Resource Centre Private Limited or a company under the control of KPMG LLP, including KPMG United Kingdom plc and KPMG UK Limited (together, "KPMG"). This email, and any attachments, is confidential and may be privileged or otherwise protected from disclosure. It is intended solely for the stated addressee(s) and access to it by any other person is unauthorised. If you are not the intended recipient, you must not disclose, copy, circulate or in any other way use or rely on the information contained herein. If you have received this email in error, please inform us immediately and delete all copies of it. Any communications made with KPMG may be monitored and a record may be kept of any communication. Any opinion or advice contained herein is subject to the terms and conditions set out in your KPMG LLP client engagement letter.
A list of members of KPMG LLP is open for inspection at KPMG's registered office.
KPMG LLP (registered no. OC301540) is a limited liability partnership registered in England and Wales. Each of KPMG Audit plc (registered no. 03110745), KPMG United Kingdom plc (registered no. 03513178) and KPMG UK Limited (registered no. 03580549) are companies registered in England and Wales. Each entity's registered office is at 15 Canada Square, London, E14 5GL.
For full details of our professional regulation please refer to https://home.kpmg/uk/en/home/misc/regulatory-information.html https://home.kpmg/uk/en/home/misc/regulatory-information.html
To understand how we respect and protect your personal data, please see our online privacy policy at www.kpmg.co.uk/privacy http://www.kpmg.co.uk/privacy.　To opt-out of marketing communications from KPMG in the UK, please email @.*** @.***>

@.*** @.*** @.***

Sorry, your reply appears to be mostly redacted. Can you try filing an issue at Azure/logicapps or Azure/LogicAppsUX? That's where the current team focuses their attention. Thanks.

I'm sorry. My extensions list:

Try disabling these extensions to see if it resolves the "Element is already registered" issue:

Azure App Service
Azure Databases
Azure Functions
Azure Static Web Apps
Azure Storage
Azure Virtual Machines

You could also try disabling this third-party extension:

Logic Apps - Run Triggers

Hello,
Thank You. I did as you advised but still got the same result.
Regards,
Dariusz Bzowka
Senior Manager, Technical Architect
“always happy to help”
KPMG UK
Microsoft Business Solutions
15 Canada Square
London E14 5GL
M: +44<PHONE_NUMBER>0
@.***https://home.kpmg/uk/en/home/services/kpmg-alliances/kpmg-uk-alliance-with-mbs.html
From: Joe Chung @.>
Sent: 30 November 2022 16:55
To: microsoft/vscode-azurelogicapps @.>
Cc: Bzowka, Dariusz @.>; Author @.>
Subject: [Caution - External] Re: [microsoft/vscode-azurelogicapps] element with id /subsciption/ already exist (Issue #268)
Try disabling these extensions to see if it resolves the "Element is already registered" issue:

Azure App Service
Azure Databases
Azure Functions
Azure Static Web Apps
Azure Storage
Azure Virtual Machines

You could also try disabling this third-party extension:

Logic Apps - Run Triggers

—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/microsoft/vscode-azurelogicapps/issues/268*issuecomment-1332462303__;Iw!!E1R1dd1bLLODlQ4!FSz1-ARfEHJcLHKMiH9w-XMtyPHpFPW6etUQcoutFXiZ7VXEGK7riXT79-MLIrMLPvu19Rq6cxqQrUWjnXQ7nn9j0W3jLUyCuw$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/A2FF7NHDJQNGZI5C4256XKLWK6BFHANCNFSM6AAAAAASNEZMRE__;!!E1R1dd1bLLODlQ4!FSz1-ARfEHJcLHKMiH9w-XMtyPHpFPW6etUQcoutFXiZ7VXEGK7riXT79-MLIrMLPvu19Rq6cxqQrUWjnXQ7nn9j0W11I0oXow$.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>
This email has been sent by and on behalf of one or more of KPMG LLP, KPMG Audit plc, KPMG Resource Centre Private Limited or a company under the control of KPMG LLP, including KPMG United Kingdom plc and KPMG UK Limited (together, "KPMG"). This email, and any attachments, is confidential and may be privileged or otherwise protected from disclosure. It is intended solely for the stated addressee(s) and access to it by any other person is unauthorised. If you are not the intended recipient, you must not disclose, copy, circulate or in any other way use or rely on the information contained herein. If you have received this email in error, please inform us immediately and delete all copies of it. Any communications made with KPMG may be monitored and a record may be kept of any communication. Any opinion or advice contained herein is subject to the terms and conditions set out in your KPMG LLP client engagement letter.
A list of members of KPMG LLP is open for inspection at KPMG's registered office.
KPMG LLP (registered no. OC301540) is a limited liability partnership registered in England and Wales. Each of KPMG Audit plc (registered no. 03110745), KPMG United Kingdom plc (registered no. 03513178) and KPMG UK Limited (registered no. 03580549) are companies registered in England and Wales. Each entity's registered office is at 15 Canada Square, London, E14 5GL.
For full details of our professional regulation please refer to https://home.kpmg/uk/en/home/misc/regulatory-information.html https://home.kpmg/uk/en/home/misc/regulatory-information.html
To understand how we respect and protect your personal data, please see our online privacy policy at www.kpmg.co.uk/privacy http://www.kpmg.co.uk/privacy.　To opt-out of marketing communications from KPMG in the UK, please email @.*** @.***>

Can you share the ID with me? You can email me at joechung at microsoft dot com -- change at and dot to @ and . respectively.

Discussed offline. The workaround was to create a Logic App in the subscription which had none. This may have been an issue with the subscription not being registered for the Logic Apps provider.


serializer accept modelName instead of model

since _serializerFor using just model name to find serializer, I think it would be better to pass just modelName to it. Also since isModel and isCollection not related to class I think they should be outside of class

Yep, conforms with Ember Data's API. Wonderful, thank you!


query: Staleness problem

Thanos, Prometheus and Golang version used:
thanos: v0.12.0

Object Storage Provider:
private CEPH (S3)
What happened:
See on end_input time and resolution:

Staleness functionality in prometheus library get rid of some points returned from thanos-stores.
What you expected to happen:
Return all data from store on any time_range
How to reproduce it (as minimally and precisely as possible):
see on screenshots.
Full logs to relevant components:

Anything else we need to know:
I think, that we have few ways to resolve problem:

Update prometheus library and set LookbackDelta parameter > 5 min (need check)
Update query and move/duplicate points to needed timestamp. (Interpolate data for PromQL)
Update prometheus library to return all points from stores.

What is the ceph version?

CEPH does not matter, because thanos-stores return all data to query, and only in prometheus library points marked as staleness.

Nice, thanks for this. Funnily enough we just talked about this exact problem with @juliusv (:
We need different lookbackDelta for different resolution I think, right? @juliusv

ref: https://matrix.to/#/!WaUKIfoqfiyWQhenET:matrix.org/$1589300436157120ZqIrC:matrix.org?via=matrix.org

At a minimum, it would be good to add the --query.lookback-delta that we have in Prometheus to Thanos as well. However, since it's a global setting, it would apply to all time series, even the ones that are scraped a intervals <5m. Normally you wouldn't want to set this lookback delta higher than needed for everything, as that will result in old samples being returned for quite long (although explicit staleness markers already help with that).

I think that we need in dynamic lookback-delta inpdepended on resolution, forexample resolution/2.

Well. The main problem is that we can use different resolution in single PromQL eval (:
So it can be [1h of raw data, 2w of 1h resolution, and 5h of 5m resolution] combined.
So I think we might need to think of something in the PromQL itself. @brian-brazil do you know how hard would be that?
Also we can temporarily add lookback delta per query as well :thinking:

Varying resolution within one query is unlikely to wrok. What I'd do is present that to PromQL that looks real from the downsampled data - e.g. here you might provide interpolated samples every 1m.
It kinda depends on what the query is though.

@bwplotka @brian-brazil
Can we choose solution as soon as possible? I'm work on this problem now, and can to implement both solutions...

Can you elaborate more @brian-brazil ? So essentially you would actually for each downsampled data, actually expand it to have samples every 1m, fake interval? :thinking:
What would be the corner cases? Why it depends on query?
Alternatively we could have 3 PromQL engines in Querier and chose what to use based on the returned data. Then we can evaluate for the given periods and contact the results. However for large steps and intervals, it would be most likely bad....

So essentially you would actually for each downsampled data, actually expand it to have samples every 1m, fake interval

Yes, something like that.

Why it depends on query?

For e.g. sum_over_time you need different data than count_over_time to produce the desired result.

Looks like @IKSIN we could try that in querier.go

Ok! I try do it )

I am pretty sure we need special iterator for downsampled chunks.

For e.g. sum_over_time you need different data than count_over_time to produce the desired result.

This is already well handled.

we still work on this, let's reopen

BTW do you know we can now stalenees Lookback delta?
However we might want to adjust it for different resolutions indeed

@bwplotka As I remember staleness lookback delta is not something new. Or it was changed recently somehow?

We just allow users to configure it on Querier from flag that's it.

BTW do you know we can now configure stalenees Lookback delta?
However we might want to adjust it for different resolutions indeed

Well, here's my attempt at it: https://github.com/thanos-io/thanos/pull/3277


Using a bottle of souls, you can steal mobs in a foreign region.

Is there an existing issue for this?

[X] I did not find any existing issues.

Current Behavior
Using a bottle of souls, you can steal mobs in a foreign region.
Expected Behavior
You can't do it this way)
How to Test
No response
Local Environment
- Windows 10:
- 1.8.0_381:
- 1.20.1:
- 6.0.24 - alpha:
- Techno magic assembly. Lots of mods

Any Additional Information?
No response

Gonne need a bit more info here. What is the issue, a mob from another mod can be captured?

I think this is about protected areas, like putting a leash on an animal to steal it

I will close this issue now as no further info is provided. In case this is related to some chunk protection mod, I think that mod should cancel the interaction event. I don't think we are doing anything abnormal.


Tests (Pro & Desktop) fail with space in path

As of 8/11/2017 Jenkins tests are failing with a space in the path names.

test_create_geonames_gazetteer
test_hot_spots_by_area

Pro (Desktop similar) test results:
...
...
...
Test success: False

RESULTS =================================================
Number of tests run: 12
Number succeeded: 10
Number of errors: 1
Number of failures: 1
Number of tests skipped: 0
Percent passing: 83.3
=========================================================

ERRORS ==================================================
test_create_geonames_gazetteer (geonames_tests.GeoNamesTestCase.GeoNamesTestCase)
Traceback (most recent call last):
  File "D:\GitHub\solutions geoprocessing toolbox\utils\test\geonames_tests\GeoNamesTestCase.py", line 114, in test_create_geonames_gazetteer
    arcpy.CreateGeonamesGazetteerLocator_defensegeonames(locatorFeatureClass, locator)
  File "D:\GitHub\solutions geoprocessing toolbox\geonames\Geonames Tools_pro.tbx", line 32, in CreateGeonamesGazetteerLocator
       A D M I N 1 C O D E
  File "D:\GitHub\solutions geoprocessing toolbox\geonames\Geonames Tools_pro.tbx", line 29, in CreateGeonamesGazetteerLocator
       A D I _ A S C I I N
  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing\_base.py", line 506, in <lambda>
    return lambda *args: val(*gp_fixargs(args, True))
arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000811: The value is not a feature class
ERROR 000800: The value is not a member of Primary Table | Alias Table.
WARNING 000725: Output Geonames Gazetteer Locator: Dataset D:\GitHub\solutions geoprocessing toolbox\utils\test\test_data\geonames\GeoNamesLocator already exists.
The value does not exist.
ERROR 000039: Not enough reference data tables for this style.
WARNING 000725: Output Address Locator: Dataset D:\GitHub\solutions geoprocessing toolbox\utils\test\test_data\geonames\GeoNamesLocator already exists.
Failed to execute (CreateGeonamesGazetteerLocator).
FAILURES ================================================
test_hot_spots_by_area (incident_analysis_tests.HotSpotsByAreaTestCase.HotSpotsByAreaTestCase)
Traceback (most recent call last):
  File "D:\GitHub\solutions geoprocessing toolbox\utils\test\incident_analysis_tests\HotSpotsByAreaTestCase.py", line 131, in test_hot_spots_by_area
    self.assertTrue(arcpy.Exists(outputFeatureClass))
AssertionError: False is not true
END OF TEST =========================================
'One or more tests failed'

Expected Behavior
Tests and tool should work with spaces in path names.
Current Behavior
See output log for test results:
build.zip
Possible Solution

Steps to Reproduce (for bugs)

Download/clone repo to local machine, say it goes into C:\GitHub\solutions-geoprocessing-toolbox
Change the path to have spaces in it, for example: C:\GitHub\solutions geoprocessing toolbox
Change directories to test folder: cd utils/test
Run the Pro tests: TestKickPro.bat

Context
Jenkins tests are failing.
Not sure if this is a problem in the tool or the tests.
Your Environment

Version used: ArcGIS Pro 1.4 & Desktop 10.3.1
Environment name and version (e.g. Chrome 39, node.js 5.4): N/A
Operating System and version (desktop or mobile): Windows 10
Link to your project: N/A

@csmoore
@ACueva

The tests are failing - but this seems like a problem with the actual tools themselves:
Example - if I try to run the Geoname Gazetteer - it won't let me set the parameter if the folder has a space:

So we may have to skip these tests until these issues are resolved with the tools themselves

I'll take a closer look to see if it's something I can fix.

It's quite a well known issue that some of the geoprossing scripts are not forgiving with spaces in file paths:
https://gis.stackexchange.com/questions/24697/advantages-of-using-underscores-in-arcgis-file-naming-conventions
I personally wouldn't spend too much effort trying to fix that

Ran the tool, verified the pathname in our Jenkins environment is causing this to fail.  I was able to rename the project to Solutions_GP_Toolbox_Unit_tests_ArcMap and the new path is:
c:\jenkins\Solutions_GP_Toolbox_Unit_tests_ArcMap\workspace
This makes it so the toolbox no longer throws an error.
I'm reverting the changes to the Jenkins Project name and I've unassigned this issue.  Per @lfunkhouser we will address this issue during a future sprint.

@mfunk @ACueva Clarity is needed on why we're adding spaces to paths. Is that an intended test to determine if the tests are executed in a proper manner?

I have a work-around for our Jenkins builds, aka, don't use a space in the project name.  This might pop up again if a pipeline utilizes spaces in its name, or if we just forget.  @mfunk thoughts on this?

It was agreed at scrum to add info in the README to NOT have any spaces in directory paths when executing the tests.

Changes are in this PR

I'm not sure where the problem is as I'm able to manually run Create Geonames Gazetter Locator with a space in the path to the input features and output locator:
Executing: CreateGeonamesGazetteerLocator "'D:\GitHub\solutions geoprocessing toolbox\utils\test\test_data\geonames\Geonames.gdb\MonacoResults' 'Primary Table'" "D:\GitHub\solutions geoprocessing toolbox\utils\test\test_data\geonames\testoutput.gdb\outloc2"
Start Time: Mon Sep 18 07:11:09 2017
Executing (Create Address Locator): CreateAddressLocator "General - Gazetteer" "'D:\GitHub\solutions geoprocessing toolbox\utils\test\test_data\geonames\Geonames.gdb\MonacoResults' 'Primary Table'" "'Feature ID' ObjectID VISIBLE NONE;'*Place Name' PLACENAME VISIBLE NONE;Category FC VISIBLE NONE;Type DSG VISIBLE NONE;Tags <None> VISIBLE NONE;Description DSGNAME VISIBLE NONE;'3-Digit Language Code' LC VISIBLE NONE;'2-Digit Language Code' <None> VISIBLE NONE;Rank NAME_RANK VISIBLE NONE;Neighborhood <None> VISIBLE NONE;City <None> VISIBLE NONE;County <None> VISIBLE NONE;State ADM1NAME VISIBLE NONE;'State Abbreviation' ADM1CODE VISIBLE NONE;Country COUNTRYNAME1 VISIBLE NONE;'Country Abbreviation' COUNTRYCODE1 VISIBLE NONE;'Street Address' <None> VISIBLE NONE;'Full Address' <None> VISIBLE NONE;'Primary Phone' <None> VISIBLE NONE;'Primary URL' '' VISIBLE NONE;'Display X' POINT_X VISIBLE NONE;'Display Y' POINT_Y VISIBLE NONE;'Min X value for extent' POINT_X VISIBLE NONE;'Max X value for extent' POINT_X VISIBLE NONE;'Min Y value for extent' POINT_Y VISIBLE NONE;'Max Y value for extent' POINT_Y VISIBLE NONE;'Additional Field' USER_FLD VISIBLE NONE" "D:\GitHub\solutions geoprocessing toolbox\utils\test\test_data\geonames\testoutput.gdb\outloc2" # DISABLED
Start Time: Mon Sep 18 07:11:09 2017
Executing Create Address Locator...
Succeeded at Mon Sep 18 07:11:13 2017 (Elapsed Time: 4.32 seconds)
Succeeded at Mon Sep 18 07:11:14 2017 (Elapsed Time: 4.97 seconds)

But from the Python prompt in ArcMap:
>>> arcpy.CreateGeonamesGazetteerLocator_defensegeonames(r'D:\GitHub\solutions geoprocessing toolbox\utils\test\test_data\geonames\Geonames.gdb\MonacoResults', r'D:\GitHub\solutions geoprocessing toolbox\utils\test\test_data\geonames\testoutput.gdb\outloc5')
Runtime error
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\GitHub\solutions geoprocessing toolbox\geonames\Geonames Tools_arcmap.tbx", line 29, in CreateGeonamesGazetteerLocator
    RuntimeError: Object: Error in executing tool
>>>

So the problem does NOT seem to be an issue in the tests, but how Python... or ArcPy is importing and using Create Geonames Gazetter Locator.

This is a issue that should be closed based on the comments above. There should be no spaces in the path when doing unit test for gp.


ADD: add another conformance test

Make sure that when we're extracting archives that are ADDed, we don't extract archives under a directory that we're ADDing, so that we won't need a fix like https://github.com/containers/buildah/pull/2667 in the future.

LGTM
and happy green test buttons

/lgtm


Exporting results

Add section on exporting results to .csv

@nlgittens I've added a section on exporting a .csv of the final results. Let me know if that's clear for you

@ococrook - export data all looks clear, thanks


Bug: Clicking on home page in sidebar crashes Files

Description

Steps To Reproduce

Click any folder/item on home page
Click home page in sidebar
See crash

Requirements

Load home page

Files Version
<IP_ADDRESS>
Windows Version
10.22621.2506
Log File
debug.log

I cannot repro this issue.

@Josh65-2201 is this consistent?

For me, yes

Thanks! I reverted the changes that caused this issue.


[WIP] Add rpc benchmark command and warnings for rpc sizes

This change adds two items:

A commandline tool to simulate RPC requests to stress test the master
Canary logs for big RPC request/response

This PR is split into two:
https://github.com/Alluxio/alluxio/pull/13487
https://github.com/Alluxio/alluxio/pull/13498


you turned ReplicatedStorage into an acronym

init.lua fix it now or everything will explode

ReplicatedStorage is too long when I want to code fast. D:

get the right autocompleters then!!


error: pywal requires Python 3.5 or greater on fedora 26

Hi, I definitely have more than 3.5 but i keep getting this error on the setup.py... help pls

Which command are you using to install pywal?

nvm just realised that I ran it using the command python and not python3 sorry guys


fix(react): use require instead of import

…when the resolveAbsolutePaths-option is set to true.
Also do not include the moduleId-property in that case since it is only needed
for the module-ID-related resolving scenario in the context of Webpack.
This fix enables downstream projects to use the result of the Babel plugin
with Node v8. Otherwise this would lead to the syntax error Unexpected token import.

Agreed with @dmbch that things are getting a little out of hand here. So closing this PR.


Issue #21 resolved post-R2015b

Issue #21 seems to have been fixed on Mathworks' end post-R2015b, so the workaround created in Issue #69 removing bold fonts for Greek characters can be done away with.

I just commented out the line that removes the bold face because I needed bold Greeks, effectively removing the workaround, but it took me a while to chase down what was causing the bold to be removed by searching online. I just thought I'd make you aware of the situation in case you weren't already and save other folks from having to figure this out like I did.

@altmany @bschmidt89 would adding a test for the matlab version, and toggling this off/on, along with some verbosity about post 2015b version being ok be a good idea?

I think that would be fine, my primary concern was just that if someone were having the same issue as I was where I couldn't figure out why Greeks weren't staying bold that they'd be able to track it down quickly and easily.

It couldn't hurt to throw a warning to the screen using disp() so that it's obvious to an export_fig user


Balena requires device-mapper 1.02.1 to be installed`

Before running balena, one must install device-mapper 1.02.1. This can be done in debian/ubuntu with apt-get install dmsetup

Steps to reproduce the issue:

Install balena
Run balena version

Describe the results you received:
$ balena version
balena: error while loading shared libraries: libdevmapper.so.1.02.1: cannot open shared object file: No such file or directory

Describe the results you expected:
The version of balena.
Additional information you deem important (e.g. issue happens only occasionally):
N/A
Output of docker version:
N/A
Output of docker info:
N/A
Additional environment details (AWS, VirtualBox, physical, etc.):
debian sid in a Dockerfile

I just tried running the x64 version of balena on my laptop running Ubuntu 14.04 (which admittedly isn't an IoT device!), and got a similar-but-different error:
$ ~/Downloads/balena/balena version
/home/andrew/Downloads/balena/balena: error while loading shared libraries: libsystemd.so.0: cannot open shared object file: No such file or directory

odroid@odroid:~$ curl -sfL https://balena.io/install.sh | sh
[sudo] password for odroid:
balena/balena-containerd-shim
balena/balena-containerd
balena/balena-proxy
balena/balena-runc
balena/balena-containerd-ctr
balena/balenad
balena/balena

   Installation successful!
 _           _
| |__   __ _| | ___ _ __   __ _
| '_ \ / _` | |/ _ \ '_ \ / _` |
| |_) | (_| | |  __/ | | | (_| |
|_.__/ \__,_|_|\___|_| |_|\__,_|

the container engine for the IoT
odroid@odroid:~$ balena
balena: error while loading shared libraries: libsystemd.so.0: cannot open shared object file: No such file or directory
odroid@odroid:~$ uname -a
Linux odroid 3.10.80-131 #1 SMP PREEMPT Thu Oct 15 19:53:29 BRT 2015 armv7l armv7l armv7l GNU/Linux
odroid@odroid:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.5 LTS
Release:	14.04
Codename:	trusty
odroid@odroid:~$

Same, on Red Hat Enterprise Linux 7 desktop (which might or might not be supported anyway).

Any suggestions/fix for this?  Im running into this as well on RHEL 7


Add social sharing links to blog posts

In HubSpot there were buttons that allowed readers to share posts via Twitter. It would be nice to add these back and possibly add some other channels like LinkedIn, Facebook, etc.

These were added at some point along the way:


Update community-contributions.md

Added my non-code contributions.

Hey is the Comms working group ongoing then? Shortly before I left and became inactive this group was just in development but I had been struggling with it stalling. I'd love a quick update on that if possible?

@alice-sowerby sincere apologies for the delay in merging this! It slipped past me during the break.
@samanthavenialogan yes, and no. It's still small with only a handful of folks. But we do have a Slack channel and have been trying to make it easier for the community to help us help them through a Slack form. :smile: We also have meetings, which you can find on the CHAOSS Calendar.


Fix links and paths in CONTRIBUTING.md

CONTRIBUTING.md has incorrect paths in environment setup.

Update paths in instructions from ecmascript/transforms to crates/swc_ecma_transforms
Fix missing markdown links

Resolves #2772

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Can I import 3D assets at runtime?

Hi, Thank you for making Sceneform.
Can I import 3D assets like OBJ, FBX and glTF at runtime?
According to this, I can't import 3D assets at runtime.

Yes, we would like runtime loading and import from url as well.

You can load .sfb files from URLs by using setSource(Context, Uri) on the ModelRenderable.Builder class.
As far as loading other model types at runtime, this is not supported. Can you explain more about how you would use that capability?
There are 3 main reasons we convert the models at build time:
3D model file formats are very varied in what information they contain in terms of materials and features.  Not all these features are supported in Sceneform (for example animation is currently not supported).   Also the way materials are defined can vary so it is important to preview what the rendering looks like before using it in the application.
Another reason is 3D models  vary is in  the scale and orientation.  Since we're focusing on AR, we expect models to be "real world" sized.  For example a model of a chair would be less than a meter in size.  Many models of chairs are much larger when read, so it makes sense to look at the models before using them in an application to make sure the scale is set correctly.
The final reason for the build time conversion approach is performance.  File formats of 3D models are structured with editing in mind, not rendering on mobile devices.  By converting the models to a uniform structure that works well on mobile devices, both developers and end users have a better experience.

Hi Clayton,
I'd like to pitch in, too. If load at runtime is out of the question, what would be the recommended approach for an app that's supposed to display a large collection of models, say something like IKEA Place app (https://itunes.apple.com/us/app/ikea-place/id1279244498?mt=8)?
We're working on a similar app for our client that's supposed to display 60+ models (more to come), with multiple different texture variants for each. ARKit allows us to load models at runtime, meaningwe're able to download necessary data on demand (reducing the initial app size) and expand the models by simply adding new obj/mtl files to the backend, without having to issue an update through the store.
We were hoping Sceneform will allow us to do something similar on Android.

@michalsukupcak  - Thanks for the question!  Yes, Sceneform lets you do the same type of thing.  The samples include the models in the .APK to make the samples easy and self-contained.  You can load models stored in the cloud without modifying the client application.  You just need to convert the assets from whatever format the models were created in to the .sfb format used by Sceneform.
What it involves is creating a gradle project which converts the models to .sfb.  It does not have to be the same project as the application.
Then copy the .sfb files to the web server for downloading.  Then the application can download the model via URL, or you can download a zip, unzip it on the device and use a file:// URL to access the .sfb file with the ModelRenderable.Builder class.
If you have one model with multiple texture options, you can use the same model and modify the material of the instance by calling Renderable.getMaterial() and use Material.setTexture() to update it.  This way you don't need an .sfb for each variant.

Hi @claywilkinson,
I see all the listed reasons for NOT providing models runtime loading as problem to be solved by developers and 3D artists. To set up a proper format, units (to scale correctly), model optimization (maximum polygons etc.). There are formats as (eg. .obj, .glTF) with rendering in mind, not just editing as you said.
We are developing IKEA like app too and forcing to install android studio and convert all models (hundreds) by 3D artist or user who upload models on backend, is not acceptable by our client, since it makes the whole process costly and too complicated.
Providing at least .obj runtime loading would help us a lot. Command line script for converting would be an option, though not the best.

Thanks for the feedback @terezo.  I'll definitely pass it along.  You can build a command line processing pipeline using Gradle (I don't have a sample of that, but you could write a script that iterates over the source models and generates the gradle tasks).  Let me know if you have trouble with that and I'll see if can help.

@terezo @claywilkinson Hi, I had a similiar issue, and I'm developing IKEA like app too. After days of research I found a way of converting .obj assets to .sfb assets using only command line, without Android SDK or project. I uploaded this solution on my repository. Here is the link: https://github.com/necrostylery/google-ar-asset-converter
I hope this helps!
Thanks

@claywilkinson Hi. Thanks for all the previous answers. I (too) am developping an IKEA like app for which I need to be able to display a huge number of objects. I have succesfully converted the 3D models form .obj to .sfb thanks to @necrostylery so I can load them without problems at runtime from an external source. However, I am not able to change the texture of the model at runtime (setTexture does not work). It does work if I create a simple model (for example through ShapeFactory), but not with downloaded files. I was wondering if this is a known bug or if I have to somehow incorporate all the possible textures into the .sfb. Is there a particular way to do this? Thanks in advance!

Would just like to add that runtime support for glTF would be highly preferable to yet another file/material format (SFB).

@Popeyef5 @necrostylery , I am developing a IKEA like app and its great to see that you are getting models rendered(.sfb) from remote.  is hosting the .sfb in remote and referencing the URL (https://mysite/obj.sfb)  using  setSource(Context, https://mysite/obj.sfb) started working??
because  the sample sfb (generated using the studio sfb generator) internally refers to an .sfm , would want to if the scenform again downloads the nested hyperlinks. or could you share one of the same remote hosted sfb?, it will be really helpful.

In our 1.5 release we added support for loading gltf and glb files directly in our runtime without converting to SFB.  See the code snippet here to give it a try: https://developers.google.com/ar/develop/java/sceneform/create-renderables#load_3d_models_at_runtime

@hcjung2000 @michalsukupcak @pradnya11 @terezo  have found a solution? i have the same problem. appreciate any advice or help!

well I just wanna know if I could convert .obj, .fbx, etc. to .sfb? through code? :)

I'm working on a similar requirement and I'm okay with using gltf format instead of obj. But I'm getting an error when trying to load a gltf from a url at runtime. I'm getting the following exception:

E/ModelRenderable: Unable to load Renderable registryId='{my link}'
    java.util.concurrent.CompletionException: java.util.concurrent.CompletionException: java.io.FileNotFoundException: /data/user/0/{myappname}/cache/1576574330907-0/data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg== (No such file or directory)

Can anyone plz help what is wrong here

How to create a GLB file using Blender using canonical_face_mesh.fbx?

How to create a GLB file using Blender using canonical_face_mesh.fbx?

Try reading the blender documentation, maybe it helps:
https://docs.blender.org/manual/en/2.80/addons/io_scene_gltf2.html


fix image slider duplicate

"internalLinkCID" is not copied during replication.

+1
This will fix the bug of Image Slider


add host labels

@cjellick @will-chan

You should probably write a go-machine-test to check for this function buildContainerConfig.  It's an easy input/output check.

@wlan0  @will-chan I don't really know the context of this change, so I need to ask: why are we setting these as environment variables as opposed to real docker labels?

@cjellick it's because @ibuildthecloud and @sonchang decided to use environment variables to pass in the labels into the docker container so the agent can grab that and send it to cattle server.

LGTM assuming tests pass.

@wlan0 Where's the go-rancher PR that adds the labels field to the machine schema?

@wlan0 Apparently we broke godeps in the last merge and it didnt show up until a subsequent build off of master happened because it affected how master was checked out.
You need to rebase.

@cjellick Thanks, I rebased.


[Untested] Increases fort movement efficiency

Makes it so distance tracking is done after every fort, instead of just
at the beginning. This should make walking times between pokestops much
less in certain cases. (For example, on the old loop, if fort a was
2.5mi north, fort b was 2.7 mi north, and fort c was 2.6mi south, the
program would go a->c->b, which is insanely inefficient)
Note, unsure of the change on line 116. Without that change the current
code will get in an infinite loop once it goes through all forts it
knows, but might undo whatever that line was trying to do. Instead of
breaking, it just moves on to the next fort.

@solderzzc If you mean does it replace the old loop, then yes. Otherwise not sure what you mean.

I mean we need delete the current position from list, is that correct?

You should test it first them merge.

cleaning up the pull-request folder, please reopen when you done the rebase.


Question about embed layouts and custom styles.

Thanks so much for your hard work on this plugin. I'm excited to ditch our old Rich Text Editor and start using the Medium clone along with your insert plugin.
I wanted to ask if you had plans to support embed layout options, similar to how the medium.com editor works:

Also, I'm using this in an app that utilizes bootstrap. We serialize the output of the editor and then use that content in other rendered websites that must rely on bootstrap styles for layout. So where this plugin uses: 'medium-insert-images-left' I need to be able to apply 'pull-left', for example.
To do this, i'm overwriting Images.prototype.toolbarAction. Is there perhaps a better way to go about this that I'm not seeing?
I'm happy to contribute where possible.
Again, thanks for the plugin!

Currently there is no plan to add embed layout options. If you need it, feel free to implement it and submit a PR :)
About your second question. There is an easier way to do it. You can add callback functions to a left style configuration:
$('.editable').mediumInsert({
    // ...
    addons: {
        images: {
            styles: {
                left: {
                    added: function ($el) {
                        $el.addClass('pull-left');
                    },
                    removed: function ($el) {
                        $el.removeClass('pull-left');
                    }
                }
            }
        }
    }
});

Something like this should work. All configuration options could be found here: https://github.com/orthes/medium-editor-insert-plugin/wiki/v1.0-Configuration

Ah, wonderful, thanks!


ERROR: aten:: is not Supported!

ERROR: aten::zeros_like is not Supported!
ERROR: aten::randint is not Supported!
ERROR: aten::ScalarImplicit
ERROR: aten::neg
ERROR: aten::full
ERROR: aten::clamp
ERROR: aten::max

I also encountered the same problem of ERROR: aten::clamp, I hope the next version will solve it.

@SolomidHero @jia0511
you can have a try on pip install --extra-index-url https://test.pypi.org/simple/ nni==2.9a2, most ops you mentioned are supported, except aten::zeros_like and aten::randint, and we will support them in next official version.
@SolomidHero
could you give an example for which operation using aten::ScalarImplicit?

@J-shang
Thank you
I will try workaround for left aten::zeros_like and aten::randint, I guess you can find somewhere a list of all aten operations torchscript uses.
aten::ScalarImplicit is used in torch.full if you provide statistic of tensor. I created an issue, where such example and error is provided
#5097

@J-shang Thank you I will try workaround for left aten::zeros_like and aten::randint, I guess you can find somewhere a list of all aten operations torchscript uses.
aten::ScalarImplicit is used in torch.full if you provide statistic of tensor. I created an issue, where such example and error is provided #5097

@SolomidHero - thanks for reporting the issue and digging in more, would you like to commit a PR for it?


Subscription refactor (+ wallet stuff)

This builds on the PR from @erskingardner that removes nostr-tools and refactors the subscriptions lifecycle.
This is a major refactor of how the internal of the NDKSubscription stuff works. I wrote documentation on how the internals of subscription lifecycles work to make this easier to understand/maintain -- the resulting flow, which is explained step-by-step in the subscriptions.md doc looks like this:

This PR also has some WIP wallet code that got a bit tangled up.

merged


add: createSDMap

README is getting a bit long, will separate out the different functions into its own file in a docs directory

@ragnika  please bump up the package version to 0.0.2 and make a new release after this one is merged.


Display more exact build info

You can check the current SDK and sampler app version in the settings. It would be more useful to include some extra information there, such as git commit hash and build time. Eg, SDK Version: 1.5.0 (abc123de; Wed Feb  4 16:10:19 PST 2015). This will help with debugging and troubleshooting.
Sample config: http://www.egeek.me/2013/02/09/xcode-insert-git-build-info-into-ios-app/

Partial implementation: https://github.com/ConnectSDK/Connect-SDK-iOS-API-Sampler/commit/b3a61852f45544171c28690d010c2293f4a3197d

An extra feature: display version/git info over the icon. Example: http://www.merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/


Live HLS

Hi,
I'm trying to create a server which boadcast in live some videos (a playlist like video01.m3u8, next video02.m3u8, video03.m3u8) like a webtv in live (note on demand) no pause...
it is possible to start/use in my development  hls-server ? it seems to play only  on demand video. (?)
thanks

This module supports both live and on-demand video. You should be using a single .m3u8 file that is updated accordingly. (see the example on converting an RTMP stream)

Thanks for your answer !
I dont have any RTMP stream, but original mp4 video files or 10 seconds segmented .ts with .m3u8 only.
I'm trying to use a single (and on the fly updated) live playlist m3u8 file with the m3u8 package. Adding item and removing the first every 10 sec... but not really efficient...

I know that seems inefficient, but that' the spec. Generation of the m3u8 file should be relatively fast though.
If your m3u8 is being properly generated, that should work.

Ok, Thanks for your help !


⚠ Bofrost.at has degraded performance

In d8d795e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1381 ms

Resolved: Bofrost.at performance has improved in 6d4bd57.


CB-11445 added ios release blog post

We should add a note that doing a "platform update" will not reinstall your plugins if you didn't do a "--save" when you added them, or something to that effect.

@shazron, how does that look?

LGTM 👍


fix: Do not uninstall dependencies when unininstalling an extension

Until we have good knowledge if a dependent extension really is not
required by something else, simple solution is just uninstall what
was explicitly required by user (see #198)

@jsuchome isn't the handleExtensions/uninstall code currently being executed only when the whole of FuseML is being uninstalled ? In that case, I think it's vital that all dependencies be uninstalled as well, otherwise they're left  over.

Nope. It's executed when running extensions command too, see https://github.com/fuseml/fuseml/pull/201
However, it might be a good idea to actually distinguish between those in how the delete of dependencies is handled

Notes:

add an option to force uninstall the dependencies
after command execution, print what wasn't removed

@stefannica updated with the options for removing requirements


An error occurs when running tests with pytest-xdist, causing unexpected behaviour or failures.

pytest-xdist==3.6.1
Comand: pytest --testomatio sync
Error https://d.pr/i/TieKwn

I will proceed with closing this
@yurii-kazmiruk-promova pls reopen if any issues


Re-implement the cats study example

Our initial study example is deprecated in comparison to the new template model. Plus, there were always some improvements to make there!

Implemented by @drishya-nair


Error: "Cannot use replaced characters as slice anchors" with if a then throw Error

Hi, with the following source :
if a then throw new Error "Error"
I get the following error :
     Error: Cannot use replaced characters as slice anchors
      at patchThrowStart (src/patchers/patchThrow.js:14:17)
      at src/index.js:30:25
      at traverse (src/utils/traverse.js:28:25)
      at src/utils/traverse.js:23:9
      at Array.forEach (native)
      at descend (src/utils/traverse.js:14:30)
      at src/index.js:81:5
      at traverse (src/utils/traverse.js:28:25)
      at src/utils/traverse.js:19:11
      at Array.forEach (native)
      at src/utils/traverse.js:17:15
      at Array.forEach (native)
      at descend (src/utils/traverse.js:14:30)
      at src/index.js:81:5
      at traverse (src/utils/traverse.js:28:25)
      at src/utils/traverse.js:23:9
      at Array.forEach (native)
      at descend (src/utils/traverse.js:14:30)
      at src/index.js:81:5
      at traverse (src/utils/traverse.js:28:25)
      at convert (src/index.js:60:3)
      at check (test/support/check.js:1:17)
      at Context.<anonymous> (test/decaffeinate_test.js:399:7)

These sorts of things are usually an order-of-operations issue. Adding some debugging to MagicString, I see this happening:
$ echo 'if a then throw new Error "Error"' | ./bin/decaffeinate
INSERT 3 "("
OVERWRITE 5...10 "then " => ""
INSERT 4 ") {"

It looks like what's happening is that it's removing the then and then inserting the ) { as distinct steps when they probably should be combined in patchConditionalEnd:
if (!replaceBetween(patcher, node, node.parentNode.consequent, 'then ', '')) {
  replaceBetween(patcher, node, node.parentNode.consequent, 'then', '');
}
let parens = isSurroundedBy(node, '(', patcher.original);
let inserted = parens ? ' {' : ') {';
if (isUnlessConditional(node.parentNode, patcher.original) && requiresParentheses(node.expression)) {
  inserted = `)${inserted}`;
}
let nodeRange = trimmedNodeRange(node, patcher.original);
patcher.insert(nodeRange[1] + (parens ? ')'.length : 0), inserted);

If you care to make a PR to fix it I'd be happy to review!

This seems to be fixed in the latest version.


Allow user to provide externally authorization token or username and password

Hello,
I think it could  be useful to let the user perform an external authentication and provide his own token to the node.
Otherwise he should be allowed to provide username and password and the node should perform an authentication (if it is not yet connected).
This will prevent the user to be able to browse the datalayer but it could be useful to avoid errors when node-red starts before the ctrlX and the authentication will fail.
It could be also useful if the user will want to insert his credentials in a form.
I think the user should be able to:

provide credentials via the node frontend (actual solution)
provide credentials via msg (e.g.: msg.username and msg.password)
deal externally with the authentication and provide his token (e.g.: via msg.authToken)

I provide an example (just a simple subflow) of my idea:
flows.zip
Thanks and best regards

Hi,
thanks for your message. Regarding your points:

This will prevent the user to be able to browse the datalayer but it could be useful to avoid errors when node-red starts before the ctrlX and the authentication will fail.

Actually that is a bug, that should be handled with the upcoming version 1.8.2. Authentication will wait until server is available or re-authenticate when connection is lost.

I think the user should be able to:
* provide credentials via msg (e.g.: msg.username and msg.password)
* deal externally with the authentication and provide his token (e.g.: via msg.authToken)

I understand your use-case. Although I'm not so happy about storing readable passwords in the flow. But as far as I can imagine your intention is mainly about injecting the username and password from the UI dashboard?
So let's say I will add support to provide these settings via the input msg, then these credentials will only be effective for this node but not update the settings in the config node. Does this meet your expectation?

Hello,
yes that is exactly the use case I was thinking about. The user could provide his credentials from a UI object, and that will have the priority on the settings on the config node (for example left empty) and will not update them.
I agree on not storing readable passwords in the flow.
With this enhancement we could allow different users with different permissions and avoiding to set the credentials directly in the node config.


marshal nested secrets value to string

This pull request marshals nested secret values according to the format of the secret file.

Seem the serialized yaml value has some newline, I should trim the output string.

So the idea is that we can have yaml and json encrypted without having to put them in strings? Would be nice to extend the test case those those as well: https://github.com/Mic92/sops-nix/blob/master/pkgs/sops-install-secrets/nixos-test.nix
The script to update secrets is here: https://github.com/Mic92/sops-nix/blob/master/pkgs/sops-install-secrets/test-assets/sops-edit

So the idea is that we can have yaml and json encrypted without having to put them in strings? Would be nice to extend the test case those those as well: master/pkgs/sops-install-secrets/nixos-test.nix
The script to update secrets is here: master/pkgs/sops-install-secrets/test-assets/sops-edit

The basic idea is to support any value in a nested value.  However, I found some edge cases for this pull request:

It supports secrets value to be a number but shows as a string in the template rendering, I might add some type of information into the placeholder.
If the secret is string formed by numbers, like "113", the rendered template would be like: ""123"".

I would add some tests to nixos-test.nix, and some unit tests for recurseSecretKey.

Maybe it should only render arrays and hashmaps?

Maybe it should only render arrays and hashmaps?

Perhaps we should marshal nested secrets only in JSON format because it is indent-insensitive. The YAML nested secrets are difficult to fit in the template due to indentation issues.

+1

Curious how this PR will affect the secrets declaration, I was attempting this before finding this PR:
sops.secrets."cachix-auth-token" = {
    mode = "0400";
    key = "'[\"cachix-auth-token\"][\"value\"]'";
};

Which mirrors the CLI extract. I can't tell by this PR diff what this will allow, might be useful to add a test & doc update?


Improve data page

I see "no data bindings defined for this application" warning message when, in fact, the user doesn't have any datasets available.

Instead, the message should be something like "no datasets defined" or "no data available".


[Feature Request] Collection-Level Pre/Post Request Scripts

I would like to propose the addition of a feature that allows users to define pre/post request scripts at the collection level in order to execute them before/after each call made within that collection. This would greatly enhance the flexibility and functionality of the platform.
Is it possible to consider implementing this feature in future updates? Thank you for your consideration.
Tasks

[x] Collection Level Headers
[x] Collection Level Auth
[x] Collection Level Scripts
[x] Collection Level Tests
[ ] Collection Variables

Is it possible to consider implementing this feature in future updates?

Yes, we will implement this.
The plan is to have index.bru at the collection level that can render an ui to configure pre/post request scripts as well as collection level vars. This would take some time, but its a priority on our roadmap.
In the meanwhile, I also want to propose a concept called hooks so that users who are willing to get their hands dirty and code this in an editor can implement collection level pre and post requests before the UI support comes up.
Hooks Design
A property called "hooks" can be added to the bruno.json file.
{
  "version": "1",
  "name": "bruno-testbench",
  "type": "collection",
  "hooks": "./hooks.js"
}

The hooks.js file
const preRequest = ({
  request,
  envVars,
  collectionVariables,
  collectionPath,
  processEnvVars
}) => {
  // do something with the request
  return request;
};

const postRequest = ({
  response,
  envVars,
  collectionVariables,
  collectionPath,
  processEnvVars
}) => {
  // do something with the response
  return response;
};

module.exports = {
  preRequest,
  postRequest
}

Hooks is medium level feature that can be implemented by our community. I am hoping we should be able to enhance our existing script scripting run time make hooks work.
@DivyMohan14 You have experience with our script runtime, Let me know what you think of this approach and if you have some bandwidth to take a stab at this.
We can gradually enhance hooks later to support things like preCollectionRun and postCollectionRun

Ignore above commit. This fix is actually related to issue #333

Thank you for considering this enhancement! I've taken the initiative to contribute to this feature by creating a pull request. In my pull request, I've included an initial version of the proposed functionality. Your feedback on the implementation would be greatly appreciated.
Pull Request: #366

Collection level Auth, Headers, Scripts and Tests are now available in v0.22.0 🚀🚀

@helloanoop do you think it would be possible to leverage collection.bru to extend this functionality to a directory level? This way, the collection level would be applied, and for each directory within, their respective scripts would be interpreted.

@helloanoop Does it make sense to have two files bruno.json and collection.bru ? Couldn't it be better to merge it all to one  collection.bru file ?
Are you planning to add such bru file for folder level ?
This file in folder could be automatically created when new folder is created, so this way only folders with this bru file will be displayed in UI, because I don't want to see some folders in UI (e.g. folders with scripts, attachments, ...)

@helloanoop Does it make sense to have two files bruno.json and collection.bru ? Couldn't it be better to merge it all to one collection.bru file ?
Are you planning to add such bru file for folder level ? This file in folder could be automatically created when new folder is created, so this way only folders with this bru file will be displayed in UI, because I don't want to see some folders in UI (e.g. folders with scripts, attachment files, ...)

Additionally, this feature could also provide the ability to define a specific order or sequence for the directories, enhancing organization and accessibility within the UI.

Hello, It's for me the killer feature that would make me switch definitely from Postman to Bruno.

do you think it would be possible to leverage collection.bru to extend this functionality to a directory level?

@giuseppemilicia @martinsefcik  Yes. Folder/Directory level scripts, headers, auth etc are in the roadmap.

Does it make sense to have two files bruno.json and collection.bru ? Couldn't it be better to merge it all to one collection.bru file ?

I don't have a strong reason on why need we need to have them separate. This evolved naturally. First there was bruno.json and the collection.bru got introduced.

Additionally, this feature could also provide the ability to define a specific order or sequence for the directories, enhancing organization and accessibility within the UI.

Hello, It's for me the killer feature that would make me switch definitely from Postman to Bruno.

@giuseppemilicia @vaurat We will support directory sequencing once we support for folder.bru inside each folder.
Meanwhile a temporary workaround is to prefix your folders with numbers
|-collection
  |- 1 - folder 1
  |- 2 - folder 2
  |- 3 - folder 3

I know its a pretty bad work around :P

It appears to me that the collection post-response script executes before the request post-response script; e.g. some console.log output....
Starting collection pre-req script;
Ending collection pre-req script;
Starting request pre-request script;
Ending request pre-request script;
Starting collection post-resp script
Ending collection post-resp script
Starting request post-resp script;
Ending request post-resp script;
Is it not more logical to have the collection post-response script run after the request post-response ?
p.s. my first issue here, great app, looking forward to contributing more :-)

@zDavidB Postman and Thunder Client do not have post-response scripts but has tests which can be considered the same as post-response scripts and the order is the same as in Bruno:
Postman:
collection script
folder script
request script
GET https://www.google.com/
collection tests
folder tests
request tests

Thunder Client:
Script Log: collection script
Script Log: folder script
Script Log: request script

---------------- Running Request: ----------------

Script Log: collection tests
Script Log: folder tests
Script Log: request tests

Good explanation thanks @martinsefcik

Hi, I have been experimenting with collection pre-request and post-response scripts to have a cookie being picked up when running bru run, but I keep getting an error when running the collection:
Running Folder

collection (getaddrinfo ENOTFOUND undefined)   <-- error here
1-setcookie (200 OK) - 279 ms
manually saving the cookie
2-getcookie (200 OK) - 137 ms

Requests:    2 passed, 1 failed, 3 total
Tests:       0 passed, 0 total
Assertions:  0 passed, 0 total

It looks like collection.bru is mistakenly being picked up as a runnable request, which in turn has no URL, resulting in the host being undefined.
The collection.bru file looks like this:
script:pre-request {
  if (bru.getVar("THE_COOKIE")) {
      req.setHeader("Cookie", bru.getVar("THE_COOKIE"));
  }
}

script:post-response {
  const cookie = res.getHeader("set-cookie");
  if (cookie) {
      console.log("manualing saving the cookie");
      bru.setVar("THE_COOKIE", cookie);
  }
}

Basically, the scripts in the post-response looks for a Set-Cookie header, and it stores it in the collection variable THE_COOKIE. For every subsequent request, if the collection var is set, it adds a Cookie header with its value.
Here attached is a Proof of Concept to help reproduce the issue.
To reproduce this:
$ cd dev-integration/
$ npm install
$ npx bru run .

Running Folder

collection (getaddrinfo ENOTFOUND undefined)
1-setcookie (200 OK) - 279 ms
manually saving the cookie
2-getcookie (200 OK) - 137 ms

Requests:    2 passed, 1 failed, 3 total
Tests:       0 passed, 0 total
Assertions:  0 passed, 0 total

I expected Requests: 2 passed, 0 failed, 2 total, but maybe I'm doing something wrong myself 👀


Delete lang info for the removed creative tabs

🤔 What type of PR is this? (check all applicable)

[ ] 🍕 Addition
[ ] ⌨ Productivity
[ ] 🐛 Bug Fix
[x] 🔥 Optimization
[ ] ⚙ Configuration
[ ] 🌟 Quality Of Life
[ ] ✨ Enhancement
[ ] 📝 Documentation

📝 Description
Deletes lang info for the previously deleted creative tabs.
🧐 The Rationale
They have been deleted so they do not need lang info
🎯 Key Objectives
Delete lang info for deleted creative tabs.
GunsTab
SpartanTab
⏮ Backwards Compatibility
1.12.2
📚 Related Issues & Documents
N/A
🖼 Screenshots/Recordings
N/A
📖 Added to documentation?

[ ] 📜 README.md
[ ] 📓 Javadoc
[ ] 🍕 Comments
[x] 🙅 no documentation needed

Thanks, took the opportunity to also remove the MWC out of the tab because it waste space for no valid reasons


Adding a log exclude rule somehow excludes all JSON-parseable logs

I installed Sumologic 3.7.0 Helm Chart in a 1.24 EKS cluster using Terraform with the value overrides:
  set {
    name  = "sumologic.logs.container.otelcol.extraProcessors[0].filter/exclude_healthcheck_logs.logs.exclude.match_type"
    value = "regexp"
  }
  set {
    name  = "sumologic.logs.container.otelcol.extraProcessors[0].filter/exclude_healthcheck_logs.logs.exclude.bodies[0]"
    value = "kube-probe"
  }

And I verified in the Otelcol Logs configmap that the correct setting is being applied:
$ kubectl get cm  sumologic-sumologic-otelcol-logs  -o yaml
apiVersion: v1
data:
  config.yaml: |
    ...
    processors:
      filter/exclude_healthcheck_logs:
        logs:
          exclude:
            bodies:
            - kube-probe
            match_type: regexp
    ...

It correctly excludes logs containing the text kube-probe, and I do also see the expected logs show up in Sumologic, but only the ones that cannot be parsed as JSON. All JSON-parseable logs (that do not contain the excluded text) are somehow not making their way to Sumologic.

This may be a bug in the filter processor, where the following condition doesn't return false for the match if the body isn't a string.
As a workaround, I'd suggest using OTTL directly:
filter/exclude_healthcheck_logs:
  logs:
    error_mode: ignore
    logs:
      log_record:
        - 'IsMatch(body, ".*kube-probe*")'

Thanks for the suggestion. I tried it but ran into another error. Here is what I had:
$ kubectl get cm  sumologic-sumologic-otelcol-logs  -o yaml
apiVersion: v1
data:
  config.yaml: |
    ...
    processors:
      filter/exclude_healthcheck_logs:
        error_mode: ignore
        logs:
          log_record:
            - 'IsMatch(body, ".*kube-probe*")'
    ...

and here is the error:
Error: invalid configuration: processors::filter/exclude_healthcheck_logs: unable to parse OTTL statement: 1:44: unexpected token “<EOF>” (expected <opcomparison> Value)
2023/05/17 21:24:43 collector server run finished with error: invalid configuration: processors::filter/exclude_healthcheck_logs: unable to parse OTTL statement: 1:44: unexpected token “<EOF>” (expected <opcomparison> Value)

Try IsMatch(body, ".*kube-probe*") == true instead. This limitation got recently addressed upstream, but that change isn't yet present in the otel version 3.7.0 comes with. You'll be able to remove the == true part in 3.8.0.

This was fixed upstream in https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/22736 and released in 0.79.0-sumo-0.


Return the used and available resources along with reach namespace

Closing, as f64e50eca9bc417bf0ed83b700821bc52fae0132 makes this information available through the /namespaces endpoint.


Not updated for .Net 5

This has not been updated for .Net 5 - the samples in here generate deprecation build errors in favour of using Microsoft.Identity.Web

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

ID: 520b9821-ecef-20af-a601-ea36c4297d88
Version Independent ID: da9c8ac9-4d7a-4b40-56a2-a4bfe7083567
Content: Secure an ASP.NET Core Blazor WebAssembly hosted app with Azure Active Directory B2C
Content Source: aspnetcore/blazor/security/webassembly/hosted-with-azure-active-directory-b2c.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

@supachris28 ... It's live now ...
https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/hosted-with-azure-active-directory-b2c?view=aspnetcore-5.0
That's the link to the English-US (en-US) version of the topic, which is updated immediately. If you're looking at a localized version of the topic (e.g., English-British, en-GB), that might take longer to update ... a day ... or a few days. Localized topics are built by a separate build system for that purpose.
You may need to hit the refresh button in your browser if you were looking at the old en-US page, which might be cached locally.
Thanks again for the report. Although technically I'm ⛄ OOF and on vacation 🎁 until 2021, I hate 😈 little doc gremlins 😈 so much that I'll pause the vacation to squash them as soon as they're reported.
This topic was updated at the top ... the instructions for a new app. The sections for upgrades obviously slipped, including through product unit review of the 5.0 updates. Sorry about that. It happens. There were a lot of updates for 5.0. No doubt, I'll find and receive reports of a few more as we go. If you spot anything else, please do open another issue, and I'll get right on it.


connectors/spark module cannot be publishLocal for local spark-shell setups

https://github.com/unitycatalog/unitycatalog/commit/8fb49245e2aa2126901f7f69016f6762b083b238 recently added support for Apache Spark 4.0.0-preview1 and Delta Lake 4.0.0rc1 yet sbt publishLocal does not build it and there seems no way to build the module (and have a jar file to be included in spark-shell or similar setups).
In other words, the following sbt command does not build the jar of connectors/spark module:
build/sbt clean package publishLocal

No longer valid since you can easily do sbt spark/publishLocal and the jar is available locally.


Add the manifest file for the application Hosts File Editor

At work, I frequently use the application Hosts File Editor for handling my hosts file when I VPN into customers' networks.
I thought it would be useful to contribute the App Manifest back into the main bucket!

Aren't we already in the extras subproject? :open_mouth:


Make iterating over objects where keyof T is never have an any fallback type

With the new changes:
function takesObject(obj: object) {
	for (const [i, v] of Object.entries(obj)) {
		i; // any
		v; // any
	}
}

This also helps for types which are too difficult for TS to evaluate as a generic!
export function cloneInstance<T extends Instance>(object: T, parent: Instance, properties: PartialInstance<T>): T {
	const myNewInstance = object.Clone();

	for (const [i, v] of Object.entries(properties)) {
		myNewInstance[i as WritableInstanceProperties<T>] = v; // i and v are `any`
	}

	myNewInstance.Parent = parent;
	return myNewInstance;
}

Also simplifies Array<NonNullable<{ [K in keyof T]: [K, NonNullable<T[K]>] }[keyof T]>> to Array<[keyof T, NonNullable<T[keyof T]>]>. Technically, this definition is less accurate, but it makes it super easy for TS to merge it in the case of union types.
for (const b of Object.entries({ x: 1, y: 2, z: "x" })) {
	// b used to be ["x", number] | ["y", number] | ["z", string]
	// b is now ["x" | "y" | "z", string | number]
}

However, I think most people are pretty much always going to destructure b in-line anyway. If someone needs that type, they can safely use an as assertion:
as { [K in keyof T]: [K, T[K]] }[keyof T]

Could we do unknown instead of any`? Or are there issues with that?

If we set the second one to be unknown, we will then require two type assertions for one statement. Is this what we want?
export function cloneInstance<T extends Instance>(object: T, parent: Instance, properties: PartialInstance<T>): T {
	const myNewInstance = object.Clone();

	for (const [i, v] of Object.entries(properties)) {
		myNewInstance[i as WritableInstanceProperties<T>] = v as T[WritableInstanceProperties<T>];
	}

	myNewInstance.Parent = parent;
	return myNewInstance;
}

The first one could probably be unknown without issue.

Yeah, I think it's best to encourage being explicit in cases like these. I changed the any types to unknown.


User-friendly: Show users where they can get an API key

I think people will be using README to install sgpt, and it is outlined there.