crash when call api blaze_symbolize_kernel_abs_addrs and blaze_symbolize_process_abs_addrs

#0  0x00007ffff7ef8df7 in blazesym::file_cache::FileCache::entry ()
from /home/hankin/work_dir/procstat/third/blazesym/target/release/libblazesym_c.so
#1  0x00007ffff7ed682a in blazesym::symbolize::symbolizer::Symbolizer::create_kernel_resolver ()
from /home/hankin/work_dir/procstat/third/blazesym/target/release/libblazesym_c.so
#2  0x00007ffff7ed74d8 in blazesym::symbolize::symbolizer::Symbolizer::symbolize ()
from /home/hankin/work_dir/procstat/third/blazesym/target/release/libblazesym_c.so
#3  0x00007ffff7ec2e55 in blazesym_c::symbolize::blaze_symbolize_impl ()
from /home/hankin/work_dir/procstat/third/blazesym/target/release/libblazesym_c.so
#4  0x00007ffff7ec38f1 in blaze_symbolize_kernel_abs_addrs () from /home/hankin/work_dir/procstat/third/blazesym/target/release/libblazesym_c.so
#5  0x000000000040e47c in show_stack_trace (stack=stack@entry=0x7ffff6879028, stack_sz=9, pid=pid@entry=0)
(gdb) info reg
rax            0x0                 0
rbx            0x7ffff5e02430<PHONE_NUMBER>95280
rcx            0xe                 14
rdx            0x7ffff7f89027<PHONE_NUMBER>50215
rsi            0xd8                216
rdi            0x7ffff5e02430<PHONE_NUMBER>95280
rbp            0x7ffff6879028      0x7ffff6879028
rsp            0x7ffff5e02270      0x7ffff5e02270
r8             0x9                 9
r9             0x1                 1
r10            0x7ffff7eaeab0<PHONE_NUMBER>55888
r11            0x7ffff7ec3840<PHONE_NUMBER>41280
r12            0x7ffff7f89027<PHONE_NUMBER>50215
r13            0x7ffff5e027c0<PHONE_NUMBER>96192
r14            0xe                 14
r15            0xd8                216
rip            0x7ffff7ef8df7      0x7ffff7ef8df7 <blazesym::file_cache::FileCache::entry+39>
eflags         0x10202             [ IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
fs_base        0x7ffff68036c0<PHONE_NUMBER>85792
gs_base        0x0                 0
when using cpp to call this, it crashed.

Can you provide the reproducible example or at least show how you call the API, please? Thanks.

Can you provide the reproducible example or at least show how you call the API, please? Thanks.

I prepare an env for temporary test.
IP:
user/pass:          root/1qaz2wsx#edc
program folder: /root/for_test_blazesym/procstat/bin
source folder: /root/for_test_blazesym/procstat/
blazesym foler: /root/for_test_blazesym/procstat/third/blazesym
key source code: /root/for_test_blazesym/procstat/profile.cpp       function: handle_event -> show_stack_trace  -> blazesym api
how to run: /root/for_test_blazesym/procstat/bin/README
1. procstat is program which call api blaze_symbolize_kernel_abs_addrs and   blaze_symbolize_process_abs_addrs. It crashed.
2. core file, is procstat's core file
3. traced_program is test cpp demo, which used to be traced stack. It is running, pid is 283292.
Reproduce step:
./procstat -p 283292
Note: core file will be generated in /var/lib/systemd/coredump

Many thanks for that! From a brief glance it appears as if the issue is with the demangling logic:
(gdb) bt
#0  0x000000000046edf1 in cpp_demangle::ast::OperatorName::parse_internal ()
#1  0x000000000046d4a5 in <cpp_demangle::ast::UnqualifiedName as cpp_demangle::ast::Parse>::parse ()
#2  0x000000000046b3f5 in <cpp_demangle::ast::UnscopedName as cpp_demangle::ast::Parse>::parse ()
#3  0x000000000046b603 in <cpp_demangle::ast::UnscopedTemplateNameHandle as cpp_demangle::ast::Parse>::parse ()
#4  0x000000000046ad9d in <cpp_demangle::ast::Name as cpp_demangle::ast::Parse>::parse ()
#5  0x0000000000471f70 in <cpp_demangle::ast::ClassEnumType as cpp_demangle::ast::Parse>::parse ()
#6  0x000000000046fb3e in <cpp_demangle::ast::TypeHandle as cpp_demangle::ast::Parse>::parse ()
#7  0x000000000046973a in <cpp_demangle::ast::MangledName as cpp_demangle::ast::Parse>::parse ()
#8  0x0000000000435621 in blazesym::symbolize::symbolizer::Symbolizer::maybe_demangle ()
#9  0x0000000000436295 in blazesym::symbolize::symbolizer::Symbolizer::symbolize_with_resolver ()
#10 0x00000000005515a6 in <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter ()
#11 0x0000000000444ae0 in core::iter::adapters::try_process ()
#12 0x00000000004387c4 in blazesym::symbolize::symbolizer::Symbolizer::symbolize ()
#13 0x0000000000425dd5 in blazesym_c::symbolize::blaze_symbolize_impl ()
#14 0x0000000000426871 in blaze_symbolize_kernel_abs_addrs ()
#15 0x0000000000415776 in proc_stat::show_stack_trace (stack=stack@entry=0x7ffff6c77028, stack_sz=9, pid=pid@entry=0) at /root/for_test_blazesym/procstat/profile.cpp:148
#16 0x00000000004156a5 in proc_stat::profile_stat::handle_event (this=<optimized out>, ctx=<optimized out>, data=0x7ffff6c77008, data_sz=<optimized out>)
    at /root/for_test_blazesym/procstat/profile.cpp:181
#17 0x00000000004168a3 in std::function<int (void*, void*, unsigned long)>::operator()(void*, void*, unsigned long) const (__args=2084, __args=2084, __args=2084,
    this=<optimized out>) at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:591
#18 proc_stat::Callback<proc_stat::profile_stat, int (*)(void*, void*, unsigned long)>::callback<void*, void*, unsigned long> (args=<optimized out>,
    args=<optimized out>, args=<optimized out>) at /root/for_test_blazesym/procstat/stat_base.h:25
#19 0x00007ffff7f1e25e in ringbuf_process_ring () from /lib64/libbpf.so.1
#20 0x00007ffff7f1e89d in ring_buffer.consume () from /lib64/libbpf.so.1
#21 0x00000000004182ac in proc_stat::ringbuffer_event::handle_event (this=0x6fbb40) at /root/for_test_blazesym/procstat/ringbuffer_event.cpp:65
#22 0x00007ffff7f7d01b in std::function<void ()>::operator()() const (this=0x7ffff0001178)
    at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:591
#23 base::event::event_action::handle_events (this=0x7ffff0001170, events=1) at /root/for_test_blazesym/procstat/third/libBase/source/event/event_action.cpp:99
#24 0x00007ffff7f7adab in base::event::epoll::dispatch (this=0x6e8e10, timeout=-1) at /root/for_test_blazesym/procstat/third/libBase/source/event/epoll.cpp:205
#25 0x00007ffff7f7e4e5 in base::event::event_loop::loop_once (this=this@entry=0x6e8bd0, timeout_ms=-1)
    at /root/for_test_blazesym/procstat/third/libBase/source/event/event_loop.cpp:162
#26 0x00007ffff7f7dc7b in base::event::event_loop::start_loop (this=0x6e8bd0) at /root/for_test_blazesym/procstat/third/libBase/source/event/event_loop.cpp:61
#27 0x00007ffff7ce31e3 in std::execute_native_thread_routine (__p=0x6e9300) at ../../../../../libstdc++-v3/src/c++11/thread.cc:104
#28 0x00007ffff79cb897 in start_thread (arg=<optimized out>) at pthread_create.c:444
#29 0x00007ffff7a526fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

To unblock you, you can disable demangling and from a brief test things appear to work.
diff --git a/profile.cpp b/profile.cpp
index d418085..2f3ef10 100644
--- a/profile.cpp
+++ b/profile.cpp
@@ -336,7 +344,11 @@ namespace proc_stat
             return -1;
         }

-        symbolizer = blaze_symbolizer_new();
+        blaze_symbolizer_opts opts = {
+            .type_size = sizeof(opts),
+            .demangle = false,
+        };
+        symbolizer = blaze_symbolizer_new_opts(&opts);
         if (symbolizer == nullptr) {
             LOG_BASE_ERR("Fail to create a symbolizer\n");
             profile_clean();

I'll take a closer look tomorrow.

Many thanks for that! From a brief glance it appears as if the issue is with the demangling logic:
(gdb) bt
#0  0x000000000046edf1 in cpp_demangle::ast::OperatorName::parse_internal ()
#1  0x000000000046d4a5 in <cpp_demangle::ast::UnqualifiedName as cpp_demangle::ast::Parse>::parse ()
#2  0x000000000046b3f5 in <cpp_demangle::ast::UnscopedName as cpp_demangle::ast::Parse>::parse ()
#3  0x000000000046b603 in <cpp_demangle::ast::UnscopedTemplateNameHandle as cpp_demangle::ast::Parse>::parse ()
#4  0x000000000046ad9d in <cpp_demangle::ast::Name as cpp_demangle::ast::Parse>::parse ()
#5  0x0000000000471f70 in <cpp_demangle::ast::ClassEnumType as cpp_demangle::ast::Parse>::parse ()
#6  0x000000000046fb3e in <cpp_demangle::ast::TypeHandle as cpp_demangle::ast::Parse>::parse ()
#7  0x000000000046973a in <cpp_demangle::ast::MangledName as cpp_demangle::ast::Parse>::parse ()
#8  0x0000000000435621 in blazesym::symbolize::symbolizer::Symbolizer::maybe_demangle ()
#9  0x0000000000436295 in blazesym::symbolize::symbolizer::Symbolizer::symbolize_with_resolver ()
#10 0x00000000005515a6 in <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter ()
#11 0x0000000000444ae0 in core::iter::adapters::try_process ()
#12 0x00000000004387c4 in blazesym::symbolize::symbolizer::Symbolizer::symbolize ()
#13 0x0000000000425dd5 in blazesym_c::symbolize::blaze_symbolize_impl ()
#14 0x0000000000426871 in blaze_symbolize_kernel_abs_addrs ()
#15 0x0000000000415776 in proc_stat::show_stack_trace (stack=stack@entry=0x7ffff6c77028, stack_sz=9, pid=pid@entry=0) at /root/for_test_blazesym/procstat/profile.cpp:148
#16 0x00000000004156a5 in proc_stat::profile_stat::handle_event (this=<optimized out>, ctx=<optimized out>, data=0x7ffff6c77008, data_sz=<optimized out>)
    at /root/for_test_blazesym/procstat/profile.cpp:181
#17 0x00000000004168a3 in std::function<int (void*, void*, unsigned long)>::operator()(void*, void*, unsigned long) const (__args=2084, __args=2084, __args=2084,
    this=<optimized out>) at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:591
#18 proc_stat::Callback<proc_stat::profile_stat, int (*)(void*, void*, unsigned long)>::callback<void*, void*, unsigned long> (args=<optimized out>,
    args=<optimized out>, args=<optimized out>) at /root/for_test_blazesym/procstat/stat_base.h:25
#19 0x00007ffff7f1e25e in ringbuf_process_ring () from /lib64/libbpf.so.1
#20 0x00007ffff7f1e89d in ring_buffer.consume () from /lib64/libbpf.so.1
#21 0x00000000004182ac in proc_stat::ringbuffer_event::handle_event (this=0x6fbb40) at /root/for_test_blazesym/procstat/ringbuffer_event.cpp:65
#22 0x00007ffff7f7d01b in std::function<void ()>::operator()() const (this=0x7ffff0001178)
    at /usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../include/c++/13/bits/std_function.h:591
#23 base::event::event_action::handle_events (this=0x7ffff0001170, events=1) at /root/for_test_blazesym/procstat/third/libBase/source/event/event_action.cpp:99
#24 0x00007ffff7f7adab in base::event::epoll::dispatch (this=0x6e8e10, timeout=-1) at /root/for_test_blazesym/procstat/third/libBase/source/event/epoll.cpp:205
#25 0x00007ffff7f7e4e5 in base::event::event_loop::loop_once (this=this@entry=0x6e8bd0, timeout_ms=-1)
    at /root/for_test_blazesym/procstat/third/libBase/source/event/event_loop.cpp:162
#26 0x00007ffff7f7dc7b in base::event::event_loop::start_loop (this=0x6e8bd0) at /root/for_test_blazesym/procstat/third/libBase/source/event/event_loop.cpp:61
#27 0x00007ffff7ce31e3 in std::execute_native_thread_routine (__p=0x6e9300) at ../../../../../libstdc++-v3/src/c++11/thread.cc:104
#28 0x00007ffff79cb897 in start_thread (arg=<optimized out>) at pthread_create.c:444
#29 0x00007ffff7a526fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

To unblock you, you can disable demangling and from a brief test things appear to work.
diff --git a/profile.cpp b/profile.cpp
index d418085..2f3ef10 100644
--- a/profile.cpp
+++ b/profile.cpp
@@ -336,7 +344,11 @@ namespace proc_stat
             return -1;
         }

-        symbolizer = blaze_symbolizer_new();
+        blaze_symbolizer_opts opts = {
+            .type_size = sizeof(opts),
+            .demangle = false,
+        };
+        symbolizer = blaze_symbolizer_new_opts(&opts);
         if (symbolizer == nullptr) {
             LOG_BASE_ERR("Fail to create a symbolizer\n");
             profile_clean();

I'll take a closer look tomorrow.

Thank you very much. It works after disable demangling. I am wondering what does demangling do? will it affect the functionality?

Thank you very much. It works after disable demangling. I am wondering what does demangling do? will it affect the functionality?

Languages such as C++ & Rust mangle symbol names, for various reasons. E.g., in a C++ binary you may find a symbol such as _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc. That's not really readable to a human. That's where demangling comes into play and would transform that into std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*). The latter can more or less be reasoned about by a human.

I can't really make sense of it. The symbol name that we segfault on is __schedule, which is completely unsuspicious. If I run cpp_demangle directly on it, everything is fine; no segfault; no matter if on my system or the VM. Both use the same version of cpp_demangle.
We always segfault here:
https://github.com/gimli-rs/cpp_demangle/blob/bfd256cc9769ce6bf3e5a4de9a0d51595c353ccd/src/ast.rs#L2991
The reason we segfault is this instruction:
Dump of assembler code for function _ZN12cpp_demangle3ast12OperatorName14parse_internal17h9e763e7c1ad1e87eE:
   0x000000000046ed80 <+0>:     push   %rbp
   0x000000000046ed81 <+1>:     push   %r15
   0x000000000046ed83 <+3>:     push   %r14
   0x000000000046ed85 <+5>:     push   %r12
   0x000000000046ed87 <+7>:     push   %rbx
   0x000000000046ed88 <+8>:     sub    $0xe0,%rsp
   0x000000000046ed8f <+15>:    mov    %rdi,%r14
   0x000000000046ed92 <+18>:    mov    (%rsi),%eax
   0x000000000046ed94 <+20>:    inc    %eax
   0x000000000046ed96 <+22>:    cmp    0x8(%rsi),%eax
   0x000000000046ed99 <+25>:    jae    0x46edd8 <_ZN12cpp_demangle3ast12OperatorName14parse_internal17h9e763e7c1ad1e87eE+88>
   0x000000000046ed9b <+27>:    mov    %r8d,%ebp
   0x000000000046ed9e <+30>:    mov    %rcx,%r12
   0x000000000046eda1 <+33>:    mov    %rdx,%r15
   0x000000000046eda4 <+36>:    mov    %rsi,%rbx
   0x000000000046eda7 <+39>:    mov    %eax,(%rsi)
   0x000000000046eda9 <+41>:    lea    0xc0(%rsp),%rdi
=> 0x000000000046edb1 <+49>:    call   *0x265bd9(%rip)        # 0x6d4990
   0x000000000046edb7 <+55>:    movzbl 0xc0(%rsp),%eax
   0x000000000046edbf <+63>:    cmp    $0x30,%al

What is at 0x6d4990? It's just another function:
(gdb) x 0x6d4990
0x6d4990:       0x0047f050
(gdb) disassemble 0x0047f050
Dump of assembler code for function _ZN82_$LT$cpp_demangle..ast..SimpleOperatorName$u20$as$u20$cpp_demangle..ast..Parse$GT$5parse17hba5d5adf016f4e4cE:
   0x000000000047f050 <+0>:     mov    %rdi,%rax
   0x000000000047f053 <+3>:     mov    (%rsi),%edx
   0x000000000047f055 <+5>:     lea    0x1(%rdx),%edi
   0x000000000047f058 <+8>:     cmp    0x8(%rsi),%edi

Now we don't perform this call only once. We actually do it twice. The first time everything is fine, we jump to 0x47f050 and take it from there. And the second time...we segfault. But nothing has changed from the looks of it. All the memory contents are the same. None of the addresses are invalid from what I can tell. And I am literally just stepping one instruction.
Here is what dmesg has to say:
[1481545.954733] procstat[295865]: segfault at 7ffa6fe0ff18 ip<PHONE_NUMBER>46edb1 sp 00007ffa6fe0ff20 error 6 in procstat[407000+166000] likely on CPU 1 (core 0, socket 0)
[1481545.956505] Code: 53 48 81 ec e0 00 00 00 49 89 fe 8b 06 ff c0 3b 46 08 73 3d 44 89 c5 49 89 cc 49 89 d7 48 89 f3 89 06 48 8d bc 24 c0 00 00 00 <ff> 15 d9 5b 26 00 0f b6 84 24 c0 00 00 00 3c 30 75 20 80 bc 24 c1

I have to admit I have no idea where 0x7ffa6fe0ff18 comes from.

Apparently error 6 deciphers to ENXIO (No such device or address)
But if it's just the saved errno from the last system call, I don't know whether it has any relevance.

The stack pointer 00007ffa6fe0ff20 is also bogus and not what I am seeing in the program itself.

That being said, it's always the same pattern in dmesg: we segfault at an address 8 bytes below the supposed stack pointer. Except it's not the stack pointer we use in the program.
(gdb) info reg
rax            0x8                 8
rbx            0x7ffff6274018<PHONE_NUMBER>55480
rcx            0x7ffff6274058<PHONE_NUMBER>55544
rdx            0x7ffff6274028<PHONE_NUMBER>55496
rsi            0x7ffff6274018<PHONE_NUMBER>55480
rdi            0x7ffff6272fe0<PHONE_NUMBER>51328
rbp            0x0                 0x0
rsp            0x7ffff6272f20      0x7ffff6272f20
r8             0x0                 0
r9             0x5f5f              24415
r10            0x5f5f              24415
r11            0x7ffff0001870<PHONE_NUMBER>26128
r12            0x7ffff6274058<PHONE_NUMBER>55544
r13            0x7ffff0001870<PHONE_NUMBER>26128
r14            0x7ffff6273168<PHONE_NUMBER>51720
r15            0x7ffff6274028<PHONE_NUMBER>55496
rip            0x46edb1            0x46edb1 <cpp_demangle::ast::OperatorName::parse_internal+49>
eflags         0x10283             [ CF SF IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
fs_base        0x7ffff6c756c0<PHONE_NUMBER>47040
gs_base        0x0                 0

So I don't know for sure what it is, but I'd consider it highly unlikely that blazesym is at fault here, as nothing is pointing to it. I also strongly doubt that it has much to do with cpp_demangle or demangling itself: nothing seems to indicate any corruption in there. If I use the very same input (__schedule) on the very same code (the cpp_demangle logic), but in a different program, everything is fine, and really none of it is stateful. The compiler generated code does not seem to be the culprit either, to the degree I can tell.
Yes, everything is working when we disable demangling, but that does not rule out issues in the surrounding code. Just to give an example, it is undefined behavior to use printf and other stdio functions from a signal handler, but that's precisely what is happening:
static void sig_handler(const signo_t sig)
{
    printf("Receive signal %d\n", (int)sig);
    if (sig == 2) {
        stat_mgr_ptr->stop_stat();
        printf("Exiting......\n");
        exit(0);
    }
}

I suggest you remove all the surrounding infrastructure in a piecemeal fashion and check when you stop being able to reproduce the segfault. The good thing is that it always reproduces at exactly the same point.

One more thing, when stracing the program I see a clone3 call
clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7f3706b56990, parent_tid=0x7f3706b56990, exit_signal=0, stack=0x7f3706153000, stack_size=0x2e40, tls=0x7f3706b566c0} => {parent_tid=[296814]}, 88) = 296814

that seems to have the stack in question:
[1486124.160673] procstat[296814]: segfault at 7f3706153f18 ip<PHONE_NUMBER>46edb1 sp 00007f3706153f20 error 6 in procstat[407000+166000] likely on CPU 0 (core 0, socket 0)

So this seems to be the thread that we should look at closer, but I don't think that's the thing I saw in the debugger.

Interestingly, when I look at the coredump instead of the live program, the stack pointers seem to match up after all. That is to say, the stack of the backtrace that I posted earlier is the one with the rsp mentioned in the dmesg log. Now it makes more sense, though still not enough for me to understand why we segfault to begin with...

So with this new insight, it almost seems as if we are running out of stack space and segfaulting because of that. On the first call in question, our rsp is 0x7ffff62730a0. On the second one, it is 0x7ffff6272f20. If I look at the maps file we see:
7ffff5021000-7ffff5c57000 rw-p 00000000 00:00 0
7ffff6272000-7ffff6273000 ---p 00000000 00:00 0                          <----- presumably a guard page? but why would it be present?
7ffff6273000-7ffff6c76000 rw-p 00000000 00:00 0                         <----- evidently our stack
7ffff6c76000-7ffff6cf7000 r--s 00001000 00:0f 1059                       anon_inode:bpf-map

So with a stack pointer of 0x7ffff6272f20, we'd already be in guard page territory. What I don't understand is why we'd only fault on the next call. We should have faulted earlier. Though I suppose it's possible that we just bumped the stack pointer and never actually wrote on the stack. Here is a stack dump:
(gdb) x/80x 0x7ffff6272f00
0x7ffff6272f00: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f10: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f20: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f30: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f40: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f50: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f60: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f70: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f80: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272f90: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272fa0: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272fb0: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272fc0: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272fd0: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272fe0: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6272ff0: 0x00000000      0x00000000      0x00000000      0x00000000
0x7ffff6273000: 0xf6273270      0x00007fff      0xf6274028      0x00007fff
0x7ffff6273010: 0xf6274018      0x00007fff      0xf6274058      0x00007fff
0x7ffff6273020: 0x0000000a      0x00000000      0x0046d465      0x00000000
0x7ffff6273030: 0x00000000      0x00000000      0x00000000      0x00000000

That could confirm this suspicion: everything below 0x7ffff6273000 is zeroed out, so it may not have seen any writes.

It looks more and more as if we are indeed running out of stack. Though I tried increasing it and nothing seemed to work (as in, I don't see more stack as being available). Also, it's not like we are USING excessive amounts, to the degree I can tell:
(gdb) info frame
Stack level 49, frame at 0x7ffff6274e40:
 rip = 0x7ffff79cb897 in start_thread (pthread_create.c:444); saved rip = 0x7ffff7a526fc
 called by frame at 0x0, caller of frame at 0x7ffff6274d90
 source language c.
 Arglist at 0x7ffff6274e30, args: arg=<optimized out>
 Locals at 0x7ffff6274e30, Previous frame's sp is 0x7ffff6274e40
 Saved registers:
  rbx at 0x7ffff6274e18, rbp at 0x7ffff6274e30, r12 at 0x7ffff6274e20, r13 at 0x7ffff6274e28, rip at 0x7ffff6274e38
(gdb) f 0
#0  cpp_demangle::ast::OperatorName::parse_internal (ctx=0x7ffff6274018, subs=0x7ffff6274028, input=..., from_expr=false) at src/ast.rs:2991
2991            if let Ok((simple, tail)) = try_recurse!(SimpleOperatorName::parse(ctx, subs, input)) {
(gdb) info frame
Stack level 0, frame at 0x7ffff62731b0:
 rip = 0x46ee51 in cpp_demangle::ast::OperatorName::parse_internal (src/ast.rs:2991); saved rip = 0x46d505
 called by frame at 0x7ffff6273390
 source language rust.
 Arglist at 0x7ffff62730a0, args: ctx=0x7ffff6274018, subs=0x7ffff6274028, input=..., from_expr=false
 Locals at 0x7ffff62730a0, Previous frame's sp is 0x7ffff62731b0
 Saved registers:
  rbx at 0x7ffff6273180, rbp at 0x7ffff62731a0, r12 at 0x7ffff6273188, r14 at 0x7ffff6273190, r15 at 0x7ffff6273198, rip at 0x7ffff62731a8

So that's roughly:
>>> 0x7ffff6274e18 - 0x7ffff6273180
7320
>>> hex(_)
'0x1c98'

so less than two pages for everything we have. I don't really get it. When I query the stack size it's said to be around 8-10 MiB. And that matches up with what we see in proc maps. And yet, the start of the backtrace is already just two pages before the end.
@Hankin-Liu if the program is indeed running out of stack it's clearly not a blazesym issue. I'd suggest investigating if something is using excessive amounts of stack space, somehow (though I don't see any evidence for that) or where the space went.

lol yeah, it was a stack space issue. And I ran ulimit -s 65536 in a different shell, not realizing that it's only in effect for the current shell. So if you run that beforehand everything works.

lol yeah, it was a stack space issue. And I ran ulimit -s 65536 in a different shell, not realizing that it's only in effect for the current shell. So if you run that beforehand everything works.

Thank you very much for you support. Yes, I tried set larger stack. It works fine. I am so glad that it is solved.   My appreciation is more than words that i can say!


Add Tensor Flow for learning

Creating a learning mechanism with Tensor Flow Tensor Page.

This is not planned for Mantella anymore


teleport: Remove the facets without schemas.

Teleport no longer support schema-less facets.
Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

lgtm, feel free to merge after a rebase.
(Or @cognusion, we can do this together tomorrow if Alex doesn't get to it)

This is now unnecessary, obviated by 7ae3708c02c089f39e9b03d25a271184f9c064f3.


support append

支持append功能

 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.

Coverage decreased (-0.07%) to 89.801% when pulling a0ec6c6b5914f6d84055675434a8eb2252cbe6cc on support_append into 7bb95b1d6d62ca865fbe9c445a11ca2c0350f830 on master.

Coverage decreased (-0.08%) to 89.791% when pulling 7a3a7b4c4cdac972aeddba6ac53ed8d95fdb7008 on support_append into 7bb95b1d6d62ca865fbe9c445a11ca2c0350f830 on master.

+1


Center images on main README

Very minimal stylistic improvement 😄

 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.

hey @DidierRLopes - appreciate the PR. we actually want to keep images left aligned - mostly for simplicity (some people prefer center, some people prefer left, and so just choosing option with simplest implementation)

hey @DidierRLopes - appreciate the PR. we actually want to keep images left aligned - mostly for simplicity (some people prefer center, some people prefer left, and so just choosing option with simplest implementation)

Np @kevinslin ! Good luck with the project 🙏🏽


Faust

Hi,
Here's my take on faust. I only did faust[-compiler] and faust2alsa as a proof-of-concept, so I'm not entirely sure this will extend to the others. Not sure if this is the best way or not, with separate derivation for every faust2appl script...
The combined diff won't make much sense; just look at this commit for my nix expressions and some comments on my goals and how it works.

Sorry for the late reaction; I was hoping top meet you on IRC, but when I didn't, I forgot to react at all.
I don't fully understand what you did and why it is better, though your stated goals look good.
Would love to have a chat about it.

Hi! Sorry, past couple weeks have been a bit hectic.
Mostly what it does is this:
I was thinking, faust2alsa and so on invoke g++ to compile things, and there's no better place to compile things than inside a nix expression where you've got all the dependencies, etc. set up for you. So the idea is, make nix expression for faust2alsa declaring all its build inputs, let the nix stdenv prepare environment variables based on those build inputs, then export all those PATH, NIX_LDFLAGS, variables that make everything work into the faust2alsa wrapper. So now when you invoke faust2alsa on the command line outside of any nix build it works as if you were inside a nix build (this is what make-faust2appl does).

Again, looks great. I'm not sure what the best way forward is now.
I'd prefer to talk it over on IRC, if possible.
When you said: "Not sure if this is the best way or not", did you mean if your PR in general is a better way, or if separate derivations are good or not?

has been merged upstream


add DeviceArray lazy_expr/aval consistency check

A user ran into a rare (race condition?) issue, leading to the below partial traceback. We might want to add a consistency check to DeviceArray.__init__ to ensure its _lazy_expr and aval attributes are consistent at construction time (they should never be mutated).
 0910 04:19:04.131436     return _force(x).device_buffer
 0910 04:19:04.131438     force_fun = _lazy_force_computation(x.aval, device, x._lazy_expr)
 0910 04:19:04.131441     param_shape[src] = aval.shape[dst]
 0910 04:19:04.131442 IndexError: list assignment index out of range

This issue is moot, because lazy_expr is long gone.


product left nav [copy]

🚧

Addressed in https://github.com/hirosystems/docs/commit/2ac6d6e8c01c18f6b11a197e70467b519bf9e0f5.


Login - copy in modal is wrong

When choosing one of the three login types, portis, torus, fortmatic the copy we display in the loading modal is confusing, it says:
"Connecting to our partners at Portis to create your secure account."
this makes sense for signup not login.
Let's update the login version of the loading modal to show:
"Connecting to our partners at Portis to log you in to your secure account."

https://github.com/AugurProject/augur/commit/b0ca8ea9b72b7ec581f02c0b2aa2e0d07ee44c3d
took 30 seconds, why was this issue + discussion made and happened when it couldve been fixed in 30 s.?


Avoid IComposedTypeWrapper for common base class?

Is your feature request related to a problem? Please describe the problem.
Kiota generates IComposedTypeWrapper for oneof sets. This is fine when the types in the set don't share a common base schema ("inherited" via allof), but I think it would be much nicer to just generate the base class directly when they do?
Example:
 "animals": {
   "type": "array",
   "items": {
     "oneOf": [
       {
         "$ref": "#/components/schemas/Dog"
       },
       {
         "$ref": "#/components/schemas/Cat"
       },
       {
         "$ref": "#/components/schemas/Mouse"
       }
     ]
   }
 }

Ideally this should generate List<Animal> not List<IComposedTypeWrapper>. Is this possible somehow?
Client library/SDK language
Csharp
Describe the solution you'd like
Additional context
No response

HI @lvde0
Thank you for using kiota and for reaching out.
This approach would be making the assumption these member types somehow have something in common (besides being used at the same place), which is not always true (depends on the API design).
What limitations are you facing here?

@baywet Yes, it might not always be the case. But I am proposing that when the types share the same "base type" we could simply return a list of base type instead of IComposedTypeWrapper. It's not critical, but it would be a nice QOL addition IMO.

Thank you for the additional information.
The challenge with this approach is that it might not work in all cases. Especially if types are used different places like a union type at one place and an inheritance hierarchy at another. Making that change would translate in serialization/deserialization issues.


Handle simultaneous attempts at data build on parallel envs like SLURM

Use case:  user starts analysis pipeline for ten jobs with different model parameters but same raw file and data build configuration. Currently, all jobs will attempt to build the data and cause chaos in single directory. This can be handled manually by having the user start a single job, wait until data build is complete, and then start the remaining jobs. However, one solution could be to create a file lock in the data build directory, any jobs that find that file lock would not start data build, but would continually poll to determine when data build is complete. Apologies if terminology is off here.

I don't think we should do this any longer. I've worked this into my non-BFGN workflow and I think that's the only valid approach. If it's in BFGN, that means that we're wasting resources waiting for data builds or other operations to finish. Instead, I've got separate scripts for starting a single instance for data builds, and then a script to start many model runs off the same data build.


MNT: python3.11 breaks Iris doc build

📰 Custom Issue

We have a bespoke Sphinx extension that uses inspect.getargspec and inspect.formatargspec.  Neither of these function exist any more at python 3.11.  The obvious replacement for getargspec is getfullargspec but I'm not clear what to do about formatargspec.
I also note that this extension has been here since the initial commit, so seems reasonable to wonder if there are now off-the-shelf solutions for whatever it's for.

I played with removing all of the custom sphinx extensions in https://github.com/SciTools/iris/tree/main/docs/src/sphinxext in favor of sphinx-apidoc.
I believe it worked but then I shelved it due to other priorities.  One likely impact thought is the API docs naming or directory structure may change meaning switching between versions of the docs when viewing the API docs may break.
I will take a look at this sometime soon.

Weirdly the readthedocs build passed at #5226 😕

Fixed by #5127


Remove the SNCF bundle e2e test

The goal is to solve this issue:

#722

With a previous PR (#828), I added two v15 e2e tests: Iris code submission and Iris result submission.
The test removed by this PR is testing in test_submissions.py "competition_15.zip" and "submission_15.zip", which is a template of SNCF competition. This bundle is not well rounded and documented, and the test seems to be randomly failing from time to time.
Maybe we want to really understand why this bundle creates problem. Or we can merge this PR and have stable tests from now on.
@dtuantran what do you think?

I merge this but if we want we can keep a trace of the problem with the black box container.


Add api docs in readme

Hi, I added API documentation to the readme using https://github.com/treeform/mddoc (I have to file a PR there too to fix an issue with proc using '<' or '>').
It is not a big improvement over watching source directly (basically it only lists public interface, but still it is better than nothing and I do find it already useful.
I actually plan to keep coming and improving a bit more documentation and hopefully also start addressing the other open issues.

I actually plan to keep coming and improving a bit more documentation and hopefully also start addressing the other open issues.

Great, glad to hear.


Update delete and insert tests in test-suite/,

Add delete test which is for testing DELETE statements.
Update insert test - format codes and add an error case.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

68 of 68 (100.0%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.04%) to 98.983%

Files with Coverage Reduction
New Missed Lines
%

core/src/data/interval/mod.rs
1
99.75%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
42829

Relevant Lines:
43269

💛  - Coveralls


⚠ Cioos National CKAN has degraded performance

In d65670e, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 7566 ms

Resolved: Cioos National CKAN performance has improved in b36a770 after 5 minutes.


added add-ins and host table

Docs Build status updates of commit f30df32:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

office-add-in-telemetry-usage-impact-notification.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add "Top of page" to right-hand quick links

Description
should be self-explanatory.  Useful to quickly look at the floor maps.
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

Given the reference to floor maps, I think you mean "On the html meeting agenda page".
Would a link to the floor maps in the right-hand menu not be better?

Also, if you don't have this in your fingers already, play with command (or alt, depending on your platform) - up_arrow (⌘-↑)

A right-hand menu link would be fine.


Nutri-Score is cropped in My personalized ranking

Nutri-Score is cropped in My personalized ranking

@teolemon Actually only the nutriscore A looks cropped. @stephanegigandet already knows that, there's just a simple fix to apply to the SVG's viewbox.

@teolemon Actually only the nutriscore A looks cropped. @stephanegigandet already knows that, there's just a simple fix to apply to the SVG's viewbox.

Thanks @monsieurtanuki

Thanks @monsieurtanuki


CAPTCHA doesn't work

Description
the CAPTCHA available for registering the user and login of user doesn't function properly , i can fix that .
Screenshots

Additional information
this request is for GSSOC , PLEASE add GSSOC tag to this issue ,
thankyou

@ZapeeoSheikh could u please assign this work to me? If the allotted time to the previous assignee is over.
I want to work on this issue.

Hi, i am a contributor at GSSOC'23, i want to work on this issue, if the allotted time is over.
i want to make an api for captcha verification using nodejs

hey @ZapeeoSheikh  is this issue has resolved?
if not, Please Assign me the task under GSSOC'23. I am eager to work on it.


Websockets

I've merged the websockets functionality with #306, the rest is the related to the collaborative editing which is experimental at this stage, will close PR till we have time to work on this.


open dir from cli won't open when already open

VSCode Version: 1.14.0-insider
OS Version: macOS Sierra 10.12.5 (16F73)

Steps to Reproduce:

Open a directory from the cli: code-insiders ./foo
Open a different directory from the cli, with foo still open: code-insiders ./bar

Expected Result:
Expected new window with the second directory to open (was the behavior a few weeks ago)
Actual Result:
Existing window focuses.

@tracker1 can you share your settings? I just tried to reproduce and cannot. For me, a second window opens.
Are both paths folders?

@bpasero Both paths are indeed folders... including settings, below.. (if there's an easy way to give you a list of extensions in use, I can do that too.)
{
  // this was a shot in the dark try, noticed it was a relatively recent change when looking at existing issues
  "window.openFilesInNewWindow": "on",

  // Enable/disable JavaScript validation.
  // using eslint plugin instead
  "javascript.validate.enable": false,
  "files.autoSave": "off",
  "files.trimTrailingWhitespace": true,
  "editor.tabSize": 2,
  "editor.fontFamily": "Inconsolata, Menlo, Monaco, 'Courier New', monospace",
  // Controls the font size in pixels.
  "editor.fontSize": 15,
  // Controls if the minimap is shown
  "editor.minimap.enabled": true,
  // Columns at which to show vertical rulers
  "editor.rulers": [
    72,
    80,
    100
  ],
  // Controls the indentation of wrapped lines. Can be one of 'none', 'same' or 'indent'.
  "editor.wrappingIndent": "indent",
  // Controls the style of terminal cursor.
  "terminal.integrated.cursorStyle": "underline",
  // The command line arguments to use when on the Linux terminal.
  "terminal.integrated.shellArgs.linux": [
    "-l"
  ],
  "terminal.integrated.shellArgs.osx": [
    "--init-file",
    "~/.bash_profile"
  ],
  // Controls the font family of the terminal, this defaults to editor.fontFamily's value.
  "terminal.integrated.fontFamily": "Inconsolata, Menlo, Monaco, 'Courier New', monospace",
  // Controls whether font ligatures are enabled in the terminal.
  "terminal.integrated.fontLigatures": false,
  // Controls the font size in pixels of the terminal.
  "terminal.integrated.fontSize": 15,
  // Controls whether the terminal cursor blinks.
  "terminal.integrated.cursorBlinking": true,
  "workbench.iconTheme": "vscode-icons",
  "vsicons.projectDetection.disableDetect": true,
  "window.zoomLevel": 0,
  "sync.gist": "HIDDEN",
  "sync.lastUpload": "2017-06-01T23:39:41.809Z",
  "sync.autoDownload": false,
  "sync.autoUpload": false,
  "sync.lastDownload": "2017-05-31T21:30:01.788Z",
  "sync.forceDownload": false,
  "sync.anonymousGist": false,
  "sync.host": "",
  "sync.pathPrefix": "",
  "sync.quietSync": false,
  "prettier.printWidth": 100,
  "prettier.singleQuote": true,
  "prettier.trailingComma": "es5",
}

I still cannot reproduce. Are both folders really different or is the one a symlink to the other?

they are definitely different directories...  I'm trying to open two different projects...
code ~/foo
code ~/bar

foo opens, bar does not... it's weird...  again, if there's a place I can snag all the extensions I'm using, more than happy to include that list.

No longer seems to be an issue...


Single IPs block nets

A side effect of moving to a single set (part of the switch to nftables, 8847360e0ffb6a6e139b4515699b89f313bdf1da) is that when netban tries to ban a block, a single IP from that block might have already been added to the set. As sets don't allow overlapping ranges, this will cause the netban.net update to fail and die. This probably explains why this version has been less effective at consistently blocking Chinanet and Digital Ocean.
There are two potential fixes:

Split to use 2 sets again: configure 2 set names in config.ini and use one for each type. Requires additional user setup and probably has a small performance impact as valid packets will have to get compared to 2 large lists. This can be mitigated by making sure we only run this compare on ct_state == new packets.
Add some code to detect this particular failure case and remove the offending single IPs. This will generate warnings later as when the single IPs expire they will be missing from the set. Not necessarily a problem as this case is handled robustly, but not sure we want warnings in normal operation.

Leaning towards the first option, but final decision to be made when this issue is worked.

Going with option 1; just use two sets again.


New release

The Puppet Development Kit includes pinned gems and that includes facterdb 0.6.0. That is unfortunately a bit behind the times and leads to things like RHEL 6 and 7 not including the networking facts hash. It would be nice to see a newer version they could include in the next PDK release.

@rnelson0 I'm working on closing out some open issues and updating factsets to get ready for a release :)


feat: add gRPC 1.67.0RC1 release

update gRPC with release 1.67.0RC1

:tada: This PR is included in version 1.363.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Branch protection rules don't exist for core repos

Just noticed that tools hasn't got any branch protection rules for dev setup. Looked on the Repository Health page to see if this is evident there but couldn't see it. Would be good to have for all core repos too if possible.

I deliberately disabled this for core repos on the health page as they often don’t follow the same rules. Many don’t have dev branches (logos, website etc). There’s nothing to stop us from manually handling these repos though. Shouldn’t be too bad as there’s only a handful of them.

I thought you would have implemented it like that for a reason. Still think it would be good to have these displayed here though even if they aren't "standard". Just means we have a single point of reference for all settings.


Anonymous logging errors and warnings

Implement logging of errors and warnings of the application when it is impossible to handle the situation in a regular way.
Example HTTP POST request for logging:

To create a log, one should use error function of Logger object that is located inside the app. It should be available via self.app.Logger or app.Logger.
`const errorBody = {
err: someErrorName // received or made-up error name
payload: e, // pure js error
code: 402, // received or made-up error code
};
self.app.Logger.error(errorBody);
`
Your error will be formatted and put up in the queue, that is processed every 30 seconds.


Allow users to create categories on post creation page

Hi,
I feel its better to allow users to create categories on post creation page before submitting the post if they didn't add category using category, otherwise its bit confusing to go back to category menu if user forgot to add the category, so it would be great if you can provide category create option using Ajax before submitting  post.

great! I will work for it.

Thank you :)

done!
please review using the master branch.

Hi,
Its working, thank you.


Not getting form value after submitting

function sample1 () {
  swal.withFormAsync({
    title: 'Cool Swal-Forms example',
    text: 'Any text that you consider useful for the form',
    showCancelButton: true,
    confirmButtonColor: '#DD6B55',
    confirmButtonText: 'Get form data!',
    closeOnConfirm: true,
    formFields: [
      { id: 'name', placeholder: 'Name Field', required: true },
      { id: 'nickname', placeholder: 'Add a cool nickname', required: true }
    ]
  }, function (isConfirm) {
		console.log(this.swalForm.get('name')+ '---' + this.swalForm.get('nickname'));
		alert(this.swalForm.get('name')+ '---' + this.swalForm.get('nickname'));
  })
}

not get form value what I make mistake on this.

This doesn't work because you are passing a callback to withFormAsync. Per the documentation, withFormAsync is meant to be used with promises, while withForm is the method to use with callbacks.

thank you @taromero :1st_place_medal: after spend time I got that solution what I make mistake on my code.


Can any GUI or api interface interact?

Can any GUI or api interface interact?
Docker deployment is not supported at present. I don't want to deploy to k8s。
There are still many problems.
There are still many problems. Error reported by node yarn on Windows！

Hi @mmm8955405
from what I understand, you want to use devspace without k8s?
As stated specifically in the documentation first page Devspace is a Client-Only Developer Tool for Cloud-Native Development with Kubernetes
 so it is designed specifically to work with k8s


[WIP] Project documentation

Hi, this is an initial proposal to add the project documentation using sphinx, later we could host the docs on https://readthedocs.org/ so it gets updated on each commit.
This is an example of how it looks

Please let me know if you are agree with this, so I can keep with this PR :). Thanks for so awesome API!

Nice. Can you write the prerequisites needed to run this? Maybe it should be added to CI ?

@justinmk sorry for the late reply, I added the docs env to tox. I'll be writing the docs on the next days/weeks :)

Please feel free to correct me any grammatical error or misspelling, since English isn't my native language.

LGTM. I don't think we need 19 commits of granularity, I'll squash to 1 unless there are a couple changes you think need to be separated in the history.
Is this still WIP or ready to go?

LGTM. I don't think we need 19 commits of granularity, I'll squash to 1 unless there are a couple changes you think need to be separated in the history.

Yeah, one commit is fine for me too (sorry, I do every little separate change a commit).

Is this still WIP or ready to go?

Yes, it is still WIP, just need to finish two or three sections.

What happens next? Do we need to register on RTD website (hope not), or will it pick up the .readthedocs.yml somehow?

Yes, someone with access to the repository must be registered on RTD (if not, you can't configure the webhook), then:

Link the github account to RTD (optional)
Import the project from the RTD page.

Be careful when choosing the name, that would be the url of the docs and can't be changed, if you choose Neovim Python Client, the url is neovim-python-clien.readthedocs.io.

Setup the webhook (this is done automatically if you opt for the first step)
That's all! With every push to master, the docs get updated!

After that we can include the RTD badge on the readme file and probably.
Sorry for the late reply, again.

@justinmk I think we are ready to go now, please let me know any problem and I will try to fix it the faster that I can. Thank guys, I really appreciate all the work you do on Neovim.

I signed up on RTD, and seem to be able to connect the project. Quite a bit of text in README.md` is duplicated, I suppose we want to change it to RTD links once it is up and running

Be careful when choosing the name, that would be the url of the docs and can't be changed

@justinmk Maybe this is the time to change the name of the library to pynvim?

@bfredl Yeah, I was thinking the same, it's probably better to keep a simpler readme file and just linking from that to RTD. A PR after this one is merged is better (so we can include the rtd badge too!)

LGTM, merged. Thanks for your work!

http://pynvim.readthedocs.io/en/latest/ seems to work.
However, Readthedocs at the same time claims that it did create a GitHub webhook, and that there is no working webhooks, so automatic updates are disabled.

Good call. Could be interesting to do this for the vim docs ....

@justinmk as project admin I think you have to go to the settings page of this repo and somehow accept the readthedocs hook, or you could give me the right to manage hooks for this repo :)

@bfredl Yes, you need rights to create webhooks on the repo to RTD be able to do it, also you could include @justinmk as maintainer on RTD (the webhook setting now needs to be do it manually, just copying a url).

The generated docs should be mentioned in the README.md. In the meantime I added http://pynvim.readthedocs.io/en/latest/ to the repo description.

@stsewd  It should be fixed now, I pushed commit and its seems the hook is triggered.


WFLY-6485 add JPA dependencies for sub deployment roots

https://issues.jboss.org/browse/JBEAP-4084

@stuartwdouglas could you please review this change.

Windows Build 4727 outcome was FAILURE using a merge of bbd286d18748cadf5ac1c8934f2ed15206b8e436
Summary: Execution timeout (new); tests passed: 3216, ignored: 194 Build time: 01:42:10

"Execution timeout" failure on windows doesn't sound related to this change.

retest this please

@mkouba suggested a better/safer fix that I missed before.  Thanks Martin!

Linux Build 9711 outcome was FAILURE using a merge of d6f3afe1321a80496cf3a6907a7ca5fabb217892
Summary: Tests failed: 1 (1 new), passed: 3318, ignored: 194 Build time: 00:56:39
Failed tests
org.jboss.as.test.multinode.ejb.timer.database.DatabaseTimerServiceMultiNodeTestCase: 	at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:83)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:64)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deploy(ArchiveDeployer.java:46)
	at org.jboss.as.arquillian.container.CommonDeployableContainer.deploy(CommonDeployableContainer.java:144)
Caused by: java.lang.Exception: {"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"testTimerServiceSimple.war\".component.TimedObjectTimerServiceBean.ejb3.timerService is missing [jboss.ejb3.timerService.timerPersistence.dbstore]"]}
	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.getActionResult(ServerDeploymentPlanResultFuture.java:134)
	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.getResultFromNode(ServerDeploymentPlanResultFuture.java:123)
	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:85)
	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:42)
	at org.jboss.as.controller.client.helpers.standalone.ServerDeploymentHelper.deploy(ServerDeploymentHelper.java:55)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:77)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:64)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deploy(ArchiveDeployer.java:46)
	at org.jboss.as.arquillian.container.CommonDeployableContainer.deploy(CommonDeployableContainer.java:144)
------- Stdout: -------
 [0m14:35:05,655 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 29) WFLYUT0022: Unregistered web context: /testTimerServiceSimple
 [0m [0m14:35:05,670 INFO  [org.jboss.weld.deployer] (MSC service thread 1-1) WFLYWELD0010: Stopping weld service for deployment testTimerServiceSimple.war
 [0m [31m14:35:05,672 ERROR [stderr] (Timer-1) Exception in thread "Timer-1" java.lang.NullPointerException
 [0m [31m14:35:05,672 ERROR [stderr] (Timer-1) 	at java.util.HashSet.<init>(HashSet.java:118)
 [0m [31m14:35:05,672 ERROR [stderr] (Timer-1) 	at org.jboss.as.ejb3.timerservice.persistence.database.DatabaseTimerPersistence$RefreshTask.run(DatabaseTimerPersistence.java:772)
 [0m [31m14:35:05,673 ERROR [stderr] (Timer-1) 	at java.util.TimerThread.mainLoop(Timer.java:555)
 [0m [31m14:35:05,673 ERROR [stderr] (Timer-1) 	at java.util.TimerThread.run(Timer.java:505)
 [0m [31m14:35:05,682 ERROR [org.jboss.as.ejb3] (Timer-1) WFLYEJB0456: Failed to refresh timers for testTimerServiceSimple.testTimerServiceSimple.TimedObjectTimerServiceBean
 [0m [0m14:35:05,712 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 24) WFLYCLINF0003: Stopped client-mappings cache from ejb container
 [0m [0m14:35:05,733 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0028: Stopped deployment testTimerServiceSimple.war (runtime-name: testTimerServiceSimple.war) in 87ms
 [0m [0m14:35:05,745 INFO  [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0002: Content removed from location /opt/buildAgent/work/a31d203e70e89f90/testsuite/integration/multinode/target/jbossas-multinode-server/standalone/data/content/20/9130cdd384efa99accaa4fc0e2bab9ffa28a93/content
 [0m [0m14:35:05,745 INFO  [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0009: Undeployed "testTimerServiceSimple.war" (runtime-name: "testTimerServiceSimple.war")
 [0m [31m14:35:05,779 ERROR [org.jboss.as.ejb3] (Timer-1) WFLYEJB0456: Failed to refresh timers for testTimerServiceSimple.testTimerServiceSimple.TimedObjectTimerServiceBean
 [0m14:35:05,803 ERROR [org.jboss.as.arquillian.container.ServerSetupObserver] (main) Setup task failed during tear down. Offending class 'org.jboss.as.test.multinode.ejb.timer.database.DatabaseTimerServiceMultiNodeExecutionDisabledTestCase$DatabaseTimerServiceTestCaseServerSetup@4fc774': MgmtOperationException{operation={
    "operation" => "remove",
    "address" => [
        ("subsystem" => "ejb3"),
        ("service" => "timer-service"),
        ("database-data-store" => "dbstore")
    ],
    "operation-headers" => {
        "rollback-on-runtime-failure" => false,
        "allow-resource-service-restart" => true
    }
}, result={
    "outcome" => "failed",
    "failure-description" => "WFLYCTL0216: Management resource '[
    (\"subsystem\" => \"ejb3\"),
    (\"service\" => \"timer-service\"),
    (\"database-data-store\" => \"dbstore\")
]' not found",
    "rolled-back" => true,
    "response-headers" => {"process-state" => "reload-required"}
}}
	at org.jboss.as.test.integration.management.ManagementOperations.executeOperation(ManagementOperations.java:67)
	at org.jboss.as.test.integration.management.ManagementOperations.executeOperation(ManagementOperations.java:37)

retest this please


No longer works with < EPiServer 9

The nuget package requires EPi > 9 to be installed so can't install the nuget package on epi 8.5

There should be an older version that supports Episerver < 9

Ah yes, Didn't know you could specify old versions with nuget.
1.4.* for Epi 8 and 1.3.* for Epi 7. Closing issue.


Bug. MouseScrollDown MouseScrollUp attack

I have bound OverheadAttackKey to MouseScrollDown and StabAttackKey to MouseScrollUp. When I try to attack from above, the character defend

Can you post a screenshot of your binds for Actions and for FluidCombat?

I removed the game


Error in splitlines

If a document without ':' or empty is parsed then it will cause an error

I can recreate an error with an empty file, while I cannot recreate an error with a file not containing a ':'.  Please give some more information what you did, how you did it and a sample file would be great.
I am not eager to fix the "empty file" thing at the moment, while I see no logic in parsing an empty file anyway, though.

This will cause the error:
Title:     BRICK & STEEL     FULL RETIRED Credit: Written by Author: Stu Maschwitz Source: Story by KTM Draft date: 1/20/2012 Contact:     Next Level Productions     1588 Mission Dr.     Solvang, CA 93463
Btw. there seems to be a few syntax settings which are not parsed in this fountain file: https://fountain.io/_downloads/Brick & Steel.fountain like italics, underline, bold and dual dialogue?

I do not have any errors, when parsing this file. Markdown styling for italic, underline and bold are being processed on rendering - e.g. with my fountain2pdf script. Regarding this parsing no information about that will be fetched, but the whole markdown-string instead, like in the original script, IIRC.
Regarding dual dialogue: the information about dual dialogue is held in the elements element.is_dual_dialogue variable.
Again: I want to repeat myself that I only fetched the original python2 scritp and made it python3, IIRC. :D ... so sorry for any bugs and errors I also just overlooked and "ported" as well.

I just modified the parser so that it can handle empty strings now. Please feel free to re-open the issue, if I missed something. (=

No no, don't be sorry. I'm just trying to get my head around this stuff, so we can use it for add a screenwriter to Blender using your work. And it is already working great:
https://blenderartists.org/uploads/default/original/4X/c/1/a/c1a0d72c9f2b34a67e067d929d670416a26d6e51.gif
Github changes the styling of my code paste. Could you try with the document from above and delete everyting execept the metadata line?

Hehe, wow this looks great already, your GIF! I am pleased that the script helps. Cudos to Colton J. Provias though! He did the hard work to port the original C code to python3. I did just a fix and minor tweaks for now. Maybe I will improve the code further some day, though.
Now regarding your issue: yes, I get an error as well, when only parsing the metadata. Thanks for the hint. I am lookign into this.

Ok, now it should not throw an error when there are only metadata in the script. Be aware that metadata should not contain double newlines (\n\n), since only the first metadata would be accepted as metadata and the other metadata would be interpreted as elements (like action or dialogue).


Errors

info  - Loaded env from /home/x/dev/react/discord-role-cverse/.env.local
wait  - compiling...
event - compiled client and server successfully in 270 ms (1428 modules)
wait  - compiling /api/auth/[...nextauth] (client and server)...
event - compiled successfully in 14 ms (48 modules)
[next-auth][error][SIGNIN_OAUTH_ERROR]
https://next-auth.js.org/errors#signin_oauth_error "ikm" must be at least one byte in length {
error: {
message: '"ikm" must be at least one byte in length',
stack: 'TypeError: "ikm" must be at least one byte in length\n' +
...
providerId: 'discord',
message: '"ikm" must be at least one byte in length'
}

I think the issue is that I'm trying with ERC721 instead of ERC1155, is there a way to modify the check for 721?


styles.less no longer being applied

I recently updated from 150 to 177, and my styles.less is no longer applied. Deprecation Cop tells me that editor is now atom-text-editor, but doesn't specify this error existing in styles.less. I've changed it to reflect this and it's still not being applied.

Can you provide a snippet from your ~/.atom/styles.less file that isn't being applied correctly?

The following doesn't work now or before I changed editor to atom-text-editor.
.atom-text-editor .cursor {
  border-color: lime;
  border-left-width: 2px;
  margin-left: -1px;
}

.bracket-matcher {
  background-color: #49483E;
  border: 1px dotted lime;
}

.atom-text-editor.is-focused .cursor {
  transition: opacity .2s;
  &.blink-off {
    visibility: visible;
    opacity: 0;
  }
}

atom-text-editor, not .atom-text-editor.

Good :eyes: @50Wliu, yeah, it needs to be an element selector, atom-text-editor.
Closing this out.

Good spot, but no fix. Removing the dots does nothing, and .bracket-matcher shouldn't be affected because it's not inside atom-text-editor.

Try this:
atom-text-editor::shadow .cursor {
  border-color: lime;
  border-left-width: 2px;
  margin-left: -1px;
}

And this:
atom-text-editor::shadow .bracket-matcher {
  background-color: #49483E;
  border: 1px dotted lime;
}

This is related to https://github.com/atom/deprecation-cop/issues/18

What about
atom-text-editor .wrap-guide {
    background-color: #282828;
}

I've tried sticking ::shadow in there but it doesn't change. This has also given the bracket matcher some funky formatting but that's another issue.

This wrap-guide CSS works for me:
atom-text-editor .wrap-guide {
  background-color: red;
}

Funny, I replaced mine with that in case there was a subtle difference and it didn't change. If it's not reproducible then I'm not too worried, it'll probably fix itself after an update.

I wonder if this could be at all related to https://github.com/atom/atom/issues/5337


Bundle Flagd Updates with Renovate

Renovate automatically opens PRs when a new flagd version is available. Unfortunately, it's currently opening two separate PR per version.
Example:
- https://github.com/open-feature/open-feature-operator/pull/343
- https://github.com/open-feature/open-feature-operator/pull/342
This can likely be solved by properly grouping the flagd helm-value update with the regex update.

I fixed this in #418. I think this issue can be closed as completed.


[feat] Support KeyValue Schema.

Motivation
C++ client Support KeyValue Schema. For key and value schema, just only support AVRO and JSON type(consistent with java client).
This PR has been reviewed in pulsar repo: https://github.com/apache/pulsar/pull/17125
Modifications

A new constructor is added in SchemaInfo to combine key and value schemas.
Add a new KeyValue class, to help users merge and parse key and value data.

Documentation
The current Schema documentation is relatively simple, I will open a new PR to add more content and sample code

[x] doc-required
(Your PR needs to update docs and you will update later)

Matching PR in forked repository
https://github.com/shibd/pulsar-client-cpp/pull/2

Could you rebase to master?

Could you rebase to master?

Yes, I rebased it. Can you take a look? Thanks.

Overall LGTM. Please fix the flaky test.


Details Missing

The last section has a script we can create. Is this a powershell script, a .bat DOS script?? I tried creating a powershell script with the example, and getting an error saying "Cannot find path '\<IP_ADDRESS>\c$\hidden' because it does not exist.". And I'm not seeing any events in the applocker log after stepping through all the steps to enable this in GPO. Seems to be important details missing from this article.

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

ID: 2d156913-647b-0cdb-3a44-aca23e1d08e2
Version Independent ID: 7c7c9f9c-9531-6c78-2d5a-3c35006db15c
Content: Command line process auditing
Content Source: WindowsServerDocs/identity/ad-ds/manage/component-updates/Command-line-process-auditing.md
Service: windows-server
Sub-service: ad-ds
GitHub Login: @iainfoulds
Microsoft Alias: daveba

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


(HTTP code 401) unexpected - {"message":"Get https://registry-1.docker.io/v2/kitematic/hello-world-nginx/manifests/latest: unauthorized: incorrect username or password"}

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...Login to kitematic using docker id
Successfully logded in
3 . try to add container

Please try to login using your Docker ID (hub username) instead of your email. This should fix the issue.


port pvl_adrinverter

This is a relatively simple function, so it should be easier to port.
Including the database can be as simple as adding it to pvlib/data and adding it to the manifest. Ideally we'd convert the database to something other than .mat (.csv or .h5), but that can also be done later.
This was previously mentioned in #2, but I want to highlight it here.
cc @adriesse

A bit busy with other things at the
  moment, but feel free to ask questions about this.

  Have a great workshop everyone!

  Anton

  On 2016-05-07 0:31, Will Holmgren wrote:

  This is a relatively simple function, so it should be easier to
    port.
  Including the database can be as simple as adding it to pvlib/data
    and adding it to the manifest. Ideally we'd
    convert the database to something other than .mat (.csv or .h5),
    but that can also be done later.
  This was previously mentioned in #2,
    but I want to highlight it here.
  cc @adriesse
  —
    You are receiving this because you were mentioned.
    Reply to this email directly or view
      it on GitHub

Hi all,
I took the liberty of taking the Driesse inverter database .mat file and converting it to a pd.df and then to .csv.
Question: I noticed that some of the inverters dont have model names, but do have the manufacturer and I can't directly check the .mat file because I don't have matlab installed here. (I converted the .mat with scipy)
Example: I found that there is some data where the manufacturer, Dow Chemical, doesn't have a model name. Could someone confirm this.
I want to be sure that my conversion went smoothly before I pull request
Thanks!

Thanks for the initiative!  I see four inverters from Dow Chemical without model descriptions in my source files.

Great! That matches up with what I have. Going to see if I can get this csv to be compatible with pvsystem.retrieve_sam() and then port the pvl_adrinverter function. Let me know if you guys have any thoughts or concerns about this

I'll support your efforts.

Awesome. In the short term, I agree that it makes sense to add a csv file to the data folder and name == 'adrinverter' option to the retrieve_sam function. I suppose someone might object to putting this in a SAM reader, but I don't think it's a big deal. In the long term, we should consider moving this kind of functionality to the new iotools subpackage (#261 and links therein).
There's also a stub method for the adrinverter in ModelChain that raises NotImplementedError. Depending on your time and interest, you could implement that wrapper too. It looks to me like it would be pretty straightforward if you follow the ModelChain.snlinverter example, but don't feel bad leaving it for future work.

I noticed *.csv in the .gitignore. Just checking if it's ok for me to -f commit the csv i've built out of the .mat file or should this be handled some other way?

It's fine to force add it.
On Tue, Jan 3, 2017 at 5:08 PM Volker Beutner<EMAIL_ADDRESS>wrote:

I noticed *.csv in the .gitignore. Just checking if it's ok for me to -f
commit the csv i've built out of the .mat file or should this be handled
some other way?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pvlib/pvlib-python/issues/160#issuecomment-270261546,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AELiRw0DLzOGIPlN2MHCy5XGo2hlatUVks5rOuLsgaJpZM4IZQ_w
.

closed by #288


Is it possible to customize dimensions of DayPicker?

AFAIСT width of wrapper div in horizontal orientation is inlined and it's not possible to configure it in userland. Is this correct or there is a way to change root element's dimensions?

Hello! I have been working on adding a daySize prop here - https://github.com/airbnb/react-dates/pull/249
The idea being that most of the calculations come from the size of each day and if we allowed for customizing that from the standard 39px, everything else follows. I haven't had much bandwidth to work on it recently but I can get back to that.

Hi! Thanks for the response, I'm not familiar w/ internals and most likely in context it makes sense to define day cell width -> calculate container width instead of the opposite (define container width -> calculate day cell width), tho in most of the cases developer will be doing calculations to inject inline picker into layout.
Just wondering: why things can't be calculated via css, i.e. day-cell's width is calculated by the browser, depending on container's width, which is set via css class? It seems more flexible and might be faster in terms of rendering.

@alexfedoseev sorry for never getting back to this! The reason it can't be css-only is largely due to the animations.
Also we will probably be moving to a more css in JS solution in the future so writing this in as a prop makes the most sense.

daySize exists as a prop now so I will be closing this issue. :)

hi, digging up this topic to make sure I understood @majapw clearly: If I want a full-width calendar say on a column in a responsive layout, I can't do it with css ?


ci: update release please git mechanics

The way this job is currently setup, production and main diverge because of merge commits. This causes the job to fail when doing a hotfix after there have been a number of releases. This change stops using merge commits and only ever fast-forwards main and production from the release branches; this ensures that they maintain the same history. main continues to fast-forward on every commit, ensuring that updates to the release are ported back to main, while production is only fast-forwarded once the release is created. By using fast-forward only, production is essentially just a time-delayed version of main. One caveat to this flow is that if there is ever a conflict the CI jobs will fail and need to be resolved manually, however this was also the case before as well.

Current dependencies on/for this PR:

main

PR #2546   👈

This comment was auto-generated by Graphite.


Bluetooth: Mark bt__err_to_str() APIs experimental

It was pointed out in a future PR that they should have a corresponding experimental Kconfig entry.
See PR #73795.
This updates the APIs added in PR #73826 and PR #74295.

Should I create a corresponding bug entry to ensure this gets merged into the 3.7 release?

This looks weird to me.
Adding experimental is not really a bug, but rather an oversight that can be considered a doc update effectively.
This PR, however, does much more than marking them experimental. It adds a bunch of new Kconfig options that modify the behavior of the functions. I'd call that an enhancement.
What I would suggest is to either

Only make them as experimental in the documentation (without adding the Kconfig options)
Add the Kconfigs with the EXPERIMENTAL but without modifying the behavior of the functions (but still guard the implementations).

I'm OK with the change overall, but unsure whether this can go into 3.7 as this is technically a feature/API change.

Yes, there are several options we can choose from.
What I want to avoid is that users start relying on the return values from these functions that were introduced very recently.
With option 2 you mean the following, right?
#if defined(CONFIG_BT_HCI_ERR_TO_STR)
const char *bt_hci_err_to_str(uint8_t hci_err);
#end

This looks weird to me.
Adding experimental is not really a bug, but rather an oversight that can be considered a doc update effectively.
This PR, however, does much more than marking them experimental. It adds a bunch of new Kconfig options that modify the behavior of the functions. I'd call that an enhancement.
What I would suggest is to either

Only make them as experimental in the documentation (without adding the Kconfig options)
Add the Kconfigs with the EXPERIMENTAL but without modifying the behavior of the functions (but still guard the implementations).

I'm OK with the change overall, but unsure whether this can go into 3.7 as this is technically a feature/API change.

Yes, there are several options we can choose from. What I want to avoid is that users start relying on the return values from these functions that were introduced very recently.
With option 2 you mean the following, right?
#if defined(CONFIG_BT_HCI_ERR_TO_STR)
const char *bt_hci_err_to_str(uint8_t hci_err);
#end

Almost. We generally only guard the implementations, and not the definitions, so the #if defined(CONFIG_BT_HCI_ERR_TO_STR) would be applied the source file(s) rather than the header file(s).
Based on the other approvals, I can see that I'm outnumbered, so feel free to keep as is (also why I didn't mark this as a change request)

@Thalley , I believe your suggestion makes more sense. Then customers cannot use the API at all.
I have no strong preference on this one. Returning an empty string seems fine as well

This PR, however, does much more than marking them experimental. It adds a bunch of new Kconfig options that modify the behavior of the functions. I'd call that an enhancement.

unsure whether this can go into 3.7 as this is technically a feature/API change.

I consider the changes in this PR as a fixup to the previous PRs. Those PRs forgot the experimental marker, which it should have had, to comply with the Zephyr API lifecycle process. My opinion is that the change is important and small enough to warrant accepting during freeze.

Add the Kconfigs with the EXPERIMENTAL but without modifying the behavior of the functions (but still guard the implementations).

I think this is an OK option. These are pure functions, so it's easy for users to copy the implementation into their project if we decide to remove or change them. It could pose an upgrade hazard if we change the behavior without changing the type signature of the functions, but since they are documented experimental, we can maybe ignore this.

Add the Kconfigs with the EXPERIMENTAL but without modifying the behavior of the functions (but still guard the implementations).

I think this is an OK option. These are pure functions, so it's easy for users to copy the implementation into their project if we decide to remove or change them. It could pose an upgrade hazard if we change the behavior without changing the type signature of the functions, but since they are documented experimental, we can maybe ignore this.

In order to proceed with something like https://github.com/zephyrproject-rtos/zephyr/pull/75442, we need to always have a definition of string functions available, unless the samples will be configured to use some wrapper function.

Add the Kconfigs with the EXPERIMENTAL but without modifying the behavior of the functions (but still guard the implementations).

I think this is an OK option. These are pure functions, so it's easy for users to copy the implementation into their project if we decide to remove or change them. It could pose an upgrade hazard if we change the behavior without changing the type signature of the functions, but since they are documented experimental, we can maybe ignore this.

In order to proceed with something like #75442, we need to always have a definition of string functions available, unless the samples will be configured to use some wrapper function.

I quoted the wrong option :sweat_smile:. I meant to say that I'm OK the the following option:

Only make them as experimental in the documentation (without adding the Kconfig options)

I.e. change this PR to purely a documentation fixup.


Injecting Environment Variables based on resource selected

Would it be possible to have environment variables associated with each resource? I have 3 identical embedded boards I'm testing with as my resources. Each board has unique:

Nework Discovery IDs
Static IP Addresses
JTAG-POD Addresses

Once one of the boards is selected, I'd like the Job to be able to pick up these values from the resource and use them when running shell or batch scripts.
Many thanks.
P.S. Excellent plug-in!

I had the exact same need, look at the #20 PR I have pushed. It probably answers your need.

@Malcolmnixon did you evaluated the PR mentioned above ( #20 )? did it answer your needs?

@McFoggy This is exactly what I'm looking for too in  #20

PR20 looks like a cleaner answer, but as a workaround, I have additional labels on my resources (as well as the ones used to select them for locking), then use resource.getLabels().tokenize() to see what they are.


e2e: reformat error message with consistent formatting

To make the error return consistent across e2e tests we have decided
to remove with error presence from the logs and this commit
does that for cephfs tests.
Signed-off-by: Humble Chirammal<EMAIL_ADDRESS>

Please remove the same from pvc.go file

I deliberately kept it there as in that context with error actually make make sense..
For ex: ```get on deleted PVC %v failed with error other than "not found": %w"`


Register tauhusoya.localplayer.dev

Added tauhusoya.localplayer.dev using the CLI.

CLA Assistant Lite bot: 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 can sign the CLA by just posting a Pull Request Comment same as the below format.

I have read the CLA Document and I hereby sign the CLA

You can retrigger this bot by commenting recheck in this Pull Request

HTML.zip

48 hour warning before this ticket is closed for inactivity.


Calls to jupyterlab() always ask to install on Windows

On Windows 10, Julia 1.2.  Doesn't seem to happen on OSX.
When I call
using IJulia; jupyterlab(detached = true)

The first time, it correctly asks me to install jupyterlab, then installs it and launches the browser
However, on subsequent times it still asks to install jupyterlab.  Running it again, I get
julia> using IJulia; jupyterlab(detached = true)
install JupyterLab via Conda, y/n? [y]:
[ Info: Running `conda install -y jupyterlab` in root environment
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.

[ Info: running setenv(`'C:\Users\jlperla\.julia\conda\3\Scripts\jupyter.exe' lab`,
# etc.

This is inconsistent with calling notebook() which doesn't have this issue

Here is the issue:  the code to construct the executable name to be checked is wrong on windows.  See this output
julia> jupyter = first(IJulia.find_jupyter_subcommand("lab"))
"C:\\Users\\jlperla\\.julia\\conda\\3\\Scripts\\jupyter.exe"

julia> "$jupyter-lab"
"C:\\Users\\jlperla\\.julia\\conda\\3\\Scripts\\jupyter.exe-lab"

This should instead be
"C:\\Users\\jlperla\\.julia\\conda\\3\\Scripts\\jupyter-lab.exe"

A possible solution is to strip the .exe from the end of the jupyter string, and then add it back after appending the lab.  Need to be careful not to break OSX/linux though.

Should be fixed on master, thanks!

Any hope of a not-to-distant tagged release for this issue?

Can you confirm that master solves the problem on Windows?

I can confirm on Windows.  After deleting .julia/conda it installs things correctly on the first call, and it no longer asks to install after that.


can i use GridLayoutManager to make stickyheader ?

hi, @davideas ,is it must set StaggeredGridLayoutManager to make header sticky?

No @54binge, you can use all layouts.

@davideas
when i use GridLayoutManager header width become same with normal item,just like

You have to set the colspan for the viewtype header. See the example App for the GridLayout.

Resolved, Sorry to bother you on the weekend,thank you very much!


Enhancement: Update device classes and Entity names

Thank you so much for creating this integration. I've been using it for a couple of days and it's solved a number of issues for me.
I've made a couple of manual changes by overriding defaults that you may wish to consider:
Device Classes

binary_sensor.xyz_charging should have a device_class of battery_charging.
binary_sensor.xyz_bluetooth_audio_connected should have a device_class of device_class: connectivity
As above, but with the _audio_device entity
As above, but with the _online sensor

Entity Names

In line with other integrations, should the "Last Updated At" sensor simply be called "Last Updated"?
If the change to the bluetooth_audio_connected device class is made, the _connected could probably be removed from the name. Same with the _audio_device

Units of Measurement

Should sensor.xyz_ambient_light_reading have a unit_of_measurement of lux?

Other changes
I have both a v2 and a v3 device. The v2 device doesn't seem to have an internal temperature sensor as the entity always reports 0. Could this be automatically disabled on the v2 devices, and presumably the v1 devices too if they are also missing one?
I'm installing the new versions as soon as they are made available, but would be happy to test any changes or help in other ways.

That table is a good idea.
I don't have a Player v1 or a mini, so can only speak for the Players v2 and v3.
The Player v2 does have an ambientLightSensorReading, but does not have a nightlight

Sensors that don't have data won't display.  However I get the impression sometimes that data comes back as 0.  In which case we will need to add more logic to fix that.
As for the device classes.  It looks like I had a bunch of device classes set for binary sensors but wasn't passing them back to HA.  I have since fixed that. Update from "master" in hacs to try these changes out.  Or wait for the next version number.

Thanks for updating. I've tried v1.10.5 and it's unable to load:
Logger: homeassistant.loader
Source: loader.py:1238
First occurred: 11:18:58 (2 occurrences)
Last logged: 11:18:59

Unexpected exception importing platform custom_components.yoto.sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1238, in _load_platform
    cache[full_name] = self._import_platform(platform_name)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1270, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/loop.py", line 144, in protected_loop_func
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/config/custom_components/yoto/sensor.py", line 50, in <module>
    native_unit_of_measurement=UnitOfTemperature.LIGHT_LUX,
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'UnitOfTemperature' has no attribute 'LIGHT_LUX'

It looks like changing native_unit_of_measurement=UnitOfTemperature.LIGHT_LUX to native_unit_of_measurement=LIGHT_LUX in sensor.py (line 50) fixes the issue.
I've made the change to the file directly on my instance and it's working. I'll raise a PR when I'm home from work.

Temp is still there on v2 player unfortunately. I upgrade via HACS, deleted the integration and reinstalled it. The Temp sensor came back with the re-install.

Here's the updated table for the logic of displaying or not the three sensors.
If anyone can comment on v1 that would be great.
playerminiv1v2v3minitempno?noyesnonightlightyesyesnoambientLightSensorReadingyesyesno
'deviceType': 'mini', 'deviceFamily': 'mini'
'deviceType': 'v3', 'deviceFamily': 'v3'

Would you be interested in helping with docs for this?  Would love help on that front too.

I'll gladly help with the docs. I'll try and get a PR raised later today with the version/compatibility information.

Could someone who doesn't have a temp value check to see if it still shows for them?   These lines should not add the value if it is 0. Not sure why that isn't working.
https://github.com/cdnninja/yoto_api/blob/a2a9f766014ef9639a0098fe385026a65dcee46b/yoto_api/YotoAPI.py#L117-L120

Hi, I have a yoto v2 and can still see the temp sensor (with a value set to 0) even if it doesn't exist on the v2 version
Thanks

Could you check what value is coming back from the player in the logs for temp? I assumed 0 but maybe something slightly different.

Here you go. Looks like it's coming through as 0.0, which would explain why it's not being caught as 0.
'temp': '0:0'
Get Device Config Response: {'device': {'deviceId': 'y2f4BaktzJvyNwSwRAcPRX6j', 'name': "Harry's Yoto Player", 'errorCode': None, 'fwVersion': 'v2.17.7', 'popCode': 'OAFLBF', 'releaseChannelId': 'beta', 'releaseChannelVersion': 'v2.17.7', 'activationPopCode': 'FBAKTZAA', 'registrationCode': 'FBAKTZAA', 'deviceType': 'v2', 'deviceFamily': 'v2', 'deviceGroup': '', 'mac': 'e0:5a:1b:14:c2:98', 'online': True, 'geoTimezone': 'Europe/London', 'getPosix': 'GMT0BST,M3.5.0/1,M10.5.0', 'status': {'activeCard': 'eBpqG', 'aliveTime': None, 'als': 4095, 'battery': None, 'batteryLevel': 66, 'batteryRemaining': None, 'bgDownload': 0, 'bluetoothHp': 0, 'buzzErrors': 0, 'bytesPS': 0, 'cardInserted': 1, 'chgStatLevel': None, 'charging': 0, 'day': 1, 'dayBright': None, 'dbatTimeout': None, 'dnowBrightness': None, 'deviceId': 'y2f4BaktzJvyNwSwRAcPRX6j', 'errorsLogged': 15, 'failData': None, 'failReason': None, 'free': None, 'free32': None, 'freeDisk': 12907456, 'freeDMA': None, 'fwVersion': 'v2.17.7', 'headphones': 0, 'lastSeenAt': None, 'missedLogs': None, 'nfcErrs': 'n/a', 'nightBright': None, 'nightlightMode': 'off', 'playingStatus': 0, 'powerCaps': None, 'powerSrc': 0, 'qiOtp': None, 'sd_info': None, 'shutDown': None, 'shutdownTimeout': None, 'ssid': 'Aether', 'statusVersion': None, 'temp': '0:0', 'timeFormat': None, 'totalDisk': 15441920, 'twdt': 0, 'updatedAt': '2024-05-26T16:08:25.975Z', 'upTime': 14, 'userVolume': 50, 'utcOffset': 3600, 'utcTime':<PHONE_NUMBER>, 'volume': 27, 'wifiRestarts': None, 'wifiStrength': -64}, 'config': {'locale': 'en', 'bluetoothEnabled': '0', 'repeatAll': True, 'showDiagnostics': True, 'btHeadphonesEnabled': True, 'pauseVolumeDown': False, 'pausePowerButton': False, 'displayDimTimeout': '0', 'shutdownTimeout': '0', 'headphonesVolumeLimited': False, 'dayTime': '07:30', 'maxVolumeLimit': '16', 'ambientColour': '#ff8500', 'dayDisplayBrightness': 'auto', 'dayYotoDaily': '3nC80/daily/<yyyymmdd>', 'dayYotoRadio': '3nC80/radio-day/01', 'daySoundsOff': '0', 'nightTime': '19:00', 'nightMaxVolumeLimit': '3', 'nightAmbientColour': '#41c0f0', 'nightDisplayBrightness': '4', 'nightYotoDaily': '3nC80/daily/<yyyymmdd>', 'nightYotoRadio': '3nC80/radio-night/01', 'nightSoundsOff': '1', 'hourFormat': '24', 'displayDimBrightness': '0', 'systemVolume': '70', 'volumeLevel': 'safe', 'clockFace': 'digital-sun', 'logLevel': 'none', 'alarms': []}, 'shortcuts': {'versionId': '36645a9463e038d6cb9923257b38d9d9df7a6509', 'modes': {'day': {'content': [{'cmd': 'track-play', 'params': {'card': '3nC80', 'chapter': 'daily', 'track': '<yyyymmdd>'}}, {'cmd': 'track-play', 'params': {'card': '3nC80', 'chapter': 'radio-day', 'track': '01'}}]}, 'night': {'content': [{'cmd': 'track-play', 'params': {'card': '3nC80', 'chapter': 'daily', 'track': '<yyyymmdd>'}}, {'cmd': 'track-play', 'params': {'card': '3nC80', 'chapter': 'radio-night', 'track': '01'}}]}}}}}

The value I am using is in the "Get Device Status Response:" logs.  It is the value of temperatureCelcius.  Could you check that one?   The 0:0 is interesting though.  Mine reports 0:21. 21 being the temp in degree C.
Where as for me temperatureCelcius returns 21, easier to use.

I've re-loaded the integration, and in the Get Device Status Response for the v2 device, that value is:
'temperatureCelcius': '0'

Turns out it was a string (text) vs a number in my code.  Should be fixed in master branch.    That leaves night light and ambient light sensing to remove for those players.


initial JavaDoc for the Optic API

Core classes need some initial JavaDoc

JavaDoc for the row package should be complete -- also the expression/XsValue, RdfValue, and SemValue interfaces

Did an initial read and check on the new Classes and methods. But could like to spend more time in digging through the text.
Moving the task into EA4.

Did a check on classes and methods.


Update README.md

Released in version 2.1.1 https://github.com/robrbecker/experiment/releases/tag/2.1.1


feat!: switch to prettier for formatting

NOTE: this targets the next branch.
BREAKING CHANGE: Switch to prettier as the code formatter.

Not sure if on purpose or a typo - why the ! after feat?

https://github.com/conventional-commits/conventionalcommits.org/issues/43

TIL!  That's an awesome idea folks.  I have no forking clue which of my commits today are breaking changes.

@google/google-node-team any opinions on the default prettier config?

Codecov Report

Merging #259 into next will decrease coverage by 0.13%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##             next     #259      +/-   ##
==========================================
- Coverage   98.29%   98.16%   -0.14%
==========================================
  Files          12       13       +1
  Lines         823      762      -61
  Branches       69       63       -6
==========================================
- Hits          809      748      -61
  Misses         14       14

Impacted Files
Coverage Δ

src/format.ts
100% <100%> (ø)
:arrow_up:

test/test-kitchen.ts
97.8% <100%> (ø)
:arrow_up:

test/test-format.ts
100% <100%> (ø)
:arrow_up:

src/init.ts
88.99% <100%> (ø)
:arrow_up:

prettier.config.js
100% <100%> (ø)

Continue to review full report at Codecov.

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

PTAL.


TestSendMessageWhenStreamIsBroken fails on go tip

--- FAIL: TestSendMessageWhenStreamIsBroken (0.09s)
	functional_test.go:135: disconnection time = 12ms, want < 10ms

https://travis-ci.org/coreos/etcd/jobs/130984316

Can you fix this? Probably just increase timeout to 50ms... CI does not like 10ms.

Yeah it's only 2ms over. Will change it to 50ms.


[#778] feat: Separate ShuffleServer metrics through tags

What changes were proposed in this pull request?
Add tag as label in the metrics.

So that we can separate the metrics in Grafana.
Why are the changes needed?
Fix: #778
Does this PR introduce any user-facing change?
No.
How was this patch tested?
fix uts.

Codecov Report

Merging #812 (e86ebad) into master (cae7cd9) will increase coverage by 1.36%.
The diff coverage is 87.67%.

@@             Coverage Diff              @@
##             master     #812      +/-   ##
============================================
+ Coverage     57.63%   59.00%   +1.36%
+ Complexity     2058     2051       -7
============================================
  Files           306      291      -15
  Lines         14871    12886    -1985
  Branches       1221     1218       -3
============================================
- Hits           8571     7603     -968
+ Misses         5808     4857     -951
+ Partials        492      426      -66

Impacted Files
Coverage Δ

.../apache/uniffle/common/metrics/MetricsManager.java
56.52% <0.00%> (-11.90%)
:arrow_down:

.../java/org/apache/uniffle/server/ShuffleServer.java
68.24% <53.84%> (-1.13%)
:arrow_down:

...org/apache/uniffle/common/metrics/GRPCMetrics.java
48.05% <70.37%> (-0.56%)
:arrow_down:

...pache/uniffle/common/metrics/EmptyGRPCMetrics.java
100.00% <100.00%> (ø)

...fle/coordinator/metric/CoordinatorGrpcMetrics.java
100.00% <100.00%> (ø)

...pache/uniffle/server/ShuffleServerGrpcMetrics.java
100.00% <100.00%> (ø)

...rg/apache/uniffle/server/ShuffleServerMetrics.java
95.74% <100.00%> (+0.14%)
:arrow_up:

... and 15 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Yes, but currently, I'm sorry that I haven't found a better way to make the code more elegant..

If you have time, please help me take a look again. Thanks @advancedxy :-)

What changes were proposed in this pull request?
Add tag as label in the metrics.
So that we can separate the metrics in Grafana.
Why are the changes needed?
Fix: #778
Does this PR introduce any user-facing change?
No.
How was this patch tested?
fix uts.

hello，I am using spark on k8s  + uniffle,  want to monitor uniffle  by promethus  in grafana, can i add  your WeChat or DingDing?

Thank you for fast reply !!!


[bug] Blank screen on Flatpak GNOME 45 runtime

Describe the bug

There are tauri apps running on org.gnome.Platform version 45 runtime:

https://github.com/flathub/dev.slimevr.SlimeVR
https://github.com/flathub/com.gitbutler.gitbutler
https://github.com/flathub/flathub/pull/4950

These all show the blank screen. (or it shows the splash screen and then stops)
Reproduction
You can install the SlimeVR and GitButler from Flathub
You can build the ModrinthApp and others:

clone the repository
flatpak-builder --user --install --force-clean build-dir com.modrinth.ModrinthApp.yml
This will take some time because it need to build webkit2gtk-4.0.
flatpak run com.modrinth.ModrinthApp

Expected behavior
No response
Full tauri info output
.

Stack trace
No response
Additional context
It does work on org.gnome.Platform 44. I confirmed this with in.cinny.Cinny and by building GitButler to run on GNOME 44 runtime.
I'm not using Nvidia cards and I tried WEBKIT_DISABLE_COMPOSITING_MODE=1 flatpak run <appid>, but no luck.

Hi there!
I tested AppImage on Arch Linux Gnome 45, which is running smooth ( Gitbutler 0.10.17 ), and it is running flawlessly.
We currently don't support flatpak, So... :shrug:

We currently don't support flatpak, So... 🤷

That's not entirely true, at least in v2 where you don't need to build webkitgtk manually anymore. We just don't generate the manifests (which imo feels kinda useless at least in the context of flathub) and i didn't get to write the docs yet :/
Anyway, since 44 works i will mark this as an upstream issue. Also, if it's not too much work, i'd recommend trying a v2-beta app and see if it works any better.
Lastly for now, SlimeVR works fine for me on WSL ubuntu at least so reproducing may take a while (if i can repro it at all that is)

I'm pretty sure this happens when running webkit2gtk on flatpak GNOME 45 runtime. I haven't tried Tauri v2, but Epiphany, which uses the webkit2gtk provided by the runtime, has the same issue, so I suspect it's there too.

I tested AppImage on Arch Linux Gnome 45, which is running smooth ( Gitbutler 0.10.17 ), and it is running flawlessly.

AppImage and building from source are working fine on my machine too.

okay if epiphany is broken too then it's the same in tauri v2. And it would also mean that it'll get fixed relatively quickly hopefully. Of course assuming that it's not just an issue for you (epiphany also works for me 🤷 )

At discord, a user posted that using WEBKIT_DISABLE_DMABUF_RENDERER=1 fixes this. ( Making a note here )

Thanks for mentioning it here. Unfortunately that didn't work for me.

@honnip will you please try the other fixes mentioned in https://github.com/tauri-apps/tauri/issues/5143 ?

Hello.
Running with env __NV_PRIME_RENDER_OFFLOAD=1 and WEBKIT_DISABLE_COMPOSITING_MODE=1 does not help. I don't use an nvidia card, so it may not be relevant


[Snyk] Upgrade org.glassfish.jersey.media:jersey-media-json-jackson from 2.33 to 2.35

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade org.glassfish.jersey.media:jersey-media-json-jackson from 2.33 to 2.35.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 2 versions ahead of your current version.
The recommended version was released 9 months ago, on 2021-09-03.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

think this one should be tried after https://github.com/dockstore/dockstore/pull/4919