About the multi_speaker implemention.

Hi, I read about your multi_speaker implemention of Tacotron2. It means different speakers correspond to different text inputs, and you did not use the speaker embedding. Am i right ? If so, the speaker information is involved in the text which is unnecessary.

I just expended the symbol table and each of the symbol offset represents one speaker as implicit embedding.

I just expended the symbol table and each of the symbol offset represents one speaker as implicit embedding.

Thanks for your reply! I understand what you have done. I think this implemention may introduce unnecessary trouble if I want to preserve the prosody of the reference utterence (from speaker A) and have the timbre of speaker B. Do you know some other implemention of multi_speaker tacotron ?

Well, this project does not implement the prosody memory of speakers. In other words, the prosody of every speaker are independent with each other. If you want to refer the prosody of other speakers, extra explicit prosody embedding is needed. Unfortunately current implementation on deep learning is not perfect enough for this issue as I know. Global style token (aka. GST) on Tacotron is one kind of it. A good project  on PyTorch is provided and it is based on Tacotron 1 though. I do not know if this project suits you.

Thanks for your kind help ! I've read this GST project before, it only uses the dataset of a single speaker. My issue is that a multi_speaker tacotron is needed where the speaker embedding is explicitly given 🤣 Anyway, I'll try to implement it.


Cannot debug referenced source in Java Maven Multi-Module Project.

Issue Type: Feature Request
I have a Java Maven Multi-Module project. Source code editing works fine - i.e. when CTRL-clicking a referenced entity in a 'master' module it opens the source code in the referenced library module (i.e. my project is broken up into several libraries and applications making use of them).
However, break-points in referenced modules are ignored when debugging an app. Is this a missing feature or an issue with configuration?
Thanks.
VS Code version: Code 1.62.3 (ccbaa2d27e38e5afa3e5c21c1c7bef4657064247, 2021-11-17T08:11:14.551Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

/extJava

FYI - if anyone stumbles across this problem. The issue was caused by files from Eclipse, such as '.classpath' and '.project'. After removing these things work fine.


vm/cc/SafepointTestDart hit "runtime/vm/handles_impl.h: 39: error: unreachable code"

From this log:
FAILED: dartk-vm release_arm64 vm/cc/SafepointTestDart
Expected: Pass
Actual: Crash

--- Command "run_vm_unittest" (took 05.000917s):
DART_CONFIGURATION=ReleaseXARM64 out/ReleaseXARM64/run_vm_tests --dfe=out/ReleaseXARM64/gen/kernel-service.dart.snapshot --ignore-unrecognized-flags SafepointTestDart

exit code:
-6

stdout:
Running test: SafepointTestDart

stderr:
../../runtime/vm/handles_impl.h: 39: error: unreachable code
Dumping native stack trace for thread 1c98
  [0x0000aaaadd3e2520] dart::Profiler::DumpStackTrace(void*)
-- End of DumpStackTrace

--- Re-run this test:
python tools/test.py -m release -c dartk -a arm64 vm/cc/SafepointTestDart

From the coredump, the stacks look like this:
Thread 11 (Thread 0xffff8d63f150 (LWP 7559)):
#0  0x0000ffff9473f6a8 in __pthread_cond_timedwait (cond=0xaaaaef8c2710, mutex=0xaaaaef8c26e0, abstime=0xffff8d63e3e0) at pthread_cond_timedwait.c:198
#1  0x0000aaaadd3df4bc in dart::Monitor::WaitMicros (this=0xaaaaef8c26e0, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:445
#2  0x0000aaaadd47dd5c in dart::MonitorLocker::WaitMicros (micros=137, this=<optimized out>) at ../../runtime/vm/lockers.h:177
#3  dart::ThreadPool::Worker::Loop (this=0xaaaaef8c26e0) at ../../runtime/vm/thread_pool.cc:394
#4  0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140101856) at ../../runtime/vm/thread_pool.cc:436
#5  0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#6  0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#7  0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 10 (Thread 0xffff8d73f150 (LWP 7558)):
#0  0x0000ffff9473f6a8 in __pthread_cond_timedwait (cond=0xaaaaef8aa330, mutex=0xaaaaef8aa300, abstime=0xffff8d73e3b0) at pthread_cond_timedwait.c:198
#1  0x0000aaaadd3df4bc in dart::Monitor::WaitMicros (this=0xaaaaef8aa300, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:445
#2  0x0000aaaadd32f708 in dart::MonitorLocker::WaitMicros (micros=137, this=<optimized out>) at ../../runtime/vm/lockers.h:177
#3  dart::IdleNotifier::Task::Run (this=<optimized out>) at ../../runtime/vm/message_handler.cc:723
#4  0x0000aaaadd47dce8 in dart::ThreadPool::Worker::Loop (this=0xaaaaef8c2640) at ../../runtime/vm/thread_pool.cc:381
#5  0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140101696) at ../../runtime/vm/thread_pool.cc:436
#6  0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#7  0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#8  0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 9 (Thread 0xffff9327f150 (LWP 7323)):
#0  0x0000ffff9473f30c in __pthread_cond_wait (cond=0xaaaaef8ab1d0, mutex=0xaaaaef8ab1a0) at pthread_cond_wait.c:186
#1  0x0000aaaadd3df4d4 in dart::Monitor::WaitMicros (this=0xaaaaef8ab1a0, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:440
#2  0x0000aaaadd5b668c in dart::MonitorLocker::Wait (millis=0, this=<optimized out>) at ../../runtime/vm/lockers.h:169
#3  dart::SafepointHandler::ExitSafepointUsingLock (this=<optimized out>, T=0xaaaaef8e7200) at ../../runtime/vm/heap/safepoint.cc:173
#4  0x0000aaaadd069a08 in dart::Thread::ExitSafepoint (this=0xaaaaef8ab1d4) at ../../runtime/vm/thread.h:768
#5  dart::TransitionVMToBlocked::~TransitionVMToBlocked (this=<optimized out>) at ../../runtime/vm/heap/safepoint.h:224
#6  dart::SafepointTestTask::Run (this=0xaaaaef8b0940) at ../../runtime/vm/thread_test.cc:428
#7  0x0000aaaadd47dce8 in dart::ThreadPool::Worker::Loop (this=0xaaaaef8c2320) at ../../runtime/vm/thread_pool.cc:381
#8  0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140100896) at ../../runtime/vm/thread_pool.cc:436
#9  0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#10 0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#11 0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 8 (Thread 0xffff9337f150 (LWP 7322)):
#0  0x0000ffff9473f30c in __pthread_cond_wait (cond=0xaaaaef8aad50, mutex=0xaaaaef8aad20) at pthread_cond_wait.c:186
#1  0x0000aaaadd3df4d4 in dart::Monitor::WaitMicros (this=0xaaaaef8aad20, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:440
#2  0x0000aaaadd5b668c in dart::MonitorLocker::Wait (millis=0, this=<optimized out>) at ../../runtime/vm/lockers.h:169
#3  dart::SafepointHandler::ExitSafepointUsingLock (this=<optimized out>, T=0xaaaaef8e5e00) at ../../runtime/vm/heap/safepoint.cc:173
#4  0x0000aaaadd069a08 in dart::Thread::ExitSafepoint (this=0xaaaaef8aad54) at ../../runtime/vm/thread.h:768
#5  dart::TransitionVMToBlocked::~TransitionVMToBlocked (this=<optimized out>) at ../../runtime/vm/heap/safepoint.h:224
#6  dart::SafepointTestTask::Run (this=0xaaaaef8b0a00) at ../../runtime/vm/thread_test.cc:428
#7  0x0000aaaadd47dce8 in dart::ThreadPool::Worker::Loop (this=0xaaaaef8c2280) at ../../runtime/vm/thread_pool.cc:381
#8  0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140100736) at ../../runtime/vm/thread_pool.cc:436
#9  0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#10 0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#11 0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 7 (Thread 0xffff93d3f150 (LWP 7315)):
#0  0x0000ffff9473f6a8 in __pthread_cond_timedwait (cond=0xaaaaef8c20d0, mutex=0xaaaaef8c20a0, abstime=0xffff93d3e3e0) at pthread_cond_timedwait.c:198
#1  0x0000aaaadd3df4bc in dart::Monitor::WaitMicros (this=0xaaaaef8c20a0, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:445
#2  0x0000aaaadd47dd5c in dart::MonitorLocker::WaitMicros (micros=137, this=<optimized out>) at ../../runtime/vm/lockers.h:177
#3  dart::ThreadPool::Worker::Loop (this=0xaaaaef8c20a0) at ../../runtime/vm/thread_pool.cc:394
#4  0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140100256) at ../../runtime/vm/thread_pool.cc:436
#5  0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#6  0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#7  0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 6 (Thread 0xffff9347f150 (LWP 7321)):
#0  0x0000ffff9473f30c in __pthread_cond_wait (cond=0xaaaaef8ab410, mutex=0xaaaaef8ab3e0) at pthread_cond_wait.c:186
#1  0x0000aaaadd3df4d4 in dart::Monitor::WaitMicros (this=0xaaaaef8ab3e0, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:440
#2  0x0000aaaadd5b668c in dart::MonitorLocker::Wait (millis=0, this=<optimized out>) at ../../runtime/vm/lockers.h:169
#3  dart::SafepointHandler::ExitSafepointUsingLock (this=<optimized out>, T=0xaaaaefa42a00) at ../../runtime/vm/heap/safepoint.cc:173
#4  0x0000aaaadd069a08 in dart::Thread::ExitSafepoint (this=0xaaaaef8ab414) at ../../runtime/vm/thread.h:768
#5  dart::TransitionVMToBlocked::~TransitionVMToBlocked (this=<optimized out>) at ../../runtime/vm/heap/safepoint.h:224
#6  dart::SafepointTestTask::Run (this=0xaaaaef8b09c0) at ../../runtime/vm/thread_test.cc:428
#7  0x0000aaaadd47dce8 in dart::ThreadPool::Worker::Loop (this=0xaaaaef8c21e0) at ../../runtime/vm/thread_pool.cc:381
#8  0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140100576) at ../../runtime/vm/thread_pool.cc:436
#9  0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#10 0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#11 0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 5 (Thread 0xffff93e3f150 (LWP 7314)):
#0  0x0000ffff9473f30c in __pthread_cond_wait (cond=0xaaaaef8aac90, mutex=0xaaaaef8aac60) at pthread_cond_wait.c:186
#1  0x0000aaaadd3df4d4 in dart::Monitor::WaitMicros (this=0xaaaaef8aac60, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:440
#2  0x0000aaaadd5b668c in dart::MonitorLocker::Wait (millis=0, this=<optimized out>) at ../../runtime/vm/lockers.h:169
#3  dart::SafepointHandler::ExitSafepointUsingLock (this=<optimized out>, T=0xaaaaef8e5400) at ../../runtime/vm/heap/safepoint.cc:173
#4  0x0000aaaadd069a08 in dart::Thread::ExitSafepoint (this=0xaaaaef8aac94) at ../../runtime/vm/thread.h:768
#5  dart::TransitionVMToBlocked::~TransitionVMToBlocked (this=<optimized out>) at ../../runtime/vm/heap/safepoint.h:224
#6  dart::SafepointTestTask::Run (this=0xaaaaef8b0900) at ../../runtime/vm/thread_test.cc:428
#7  0x0000aaaadd47dce8 in dart::ThreadPool::Worker::Loop (this=0xaaaaef8c2000) at ../../runtime/vm/thread_pool.cc:381
#8  0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140100096) at ../../runtime/vm/thread_pool.cc:436
#9  0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#10 0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#11 0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 4 (Thread 0xffff91f7f150 (LWP 7358)):
#0  0x0000ffff9473f30c in __pthread_cond_wait (cond=0xaaaaef8aaf30, mutex=0xaaaaef8aaf00) at pthread_cond_wait.c:186
#1  0x0000aaaadd3df4d4 in dart::Monitor::WaitMicros (this=0xaaaaef8aaf00, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:440
#2  0x0000aaaadd5968fc in dart::MonitorLocker::Wait (millis=0, this=<optimized out>) at ../../runtime/vm/lockers.h:169
#3  dart::BackgroundCompiler::Run (this=0xaaaaef8a8e10) at ../../runtime/vm/compiler/jit/compiler.cc:1699
#4  0x0000aaaadd47dce8 in dart::ThreadPool::Worker::Loop (this=0xaaaaef8c25a0) at ../../runtime/vm/thread_pool.cc:381
#5  0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140101536) at ../../runtime/vm/thread_pool.cc:436
#6  0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#7  0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#8  0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 3 (Thread 0xffff9438d150 (LWP 7311)):
#0  0x0000ffff944542a4 in __GI_epoll_pwait (epfd=7, events=0xffff9438c770, maxevents=16, timeout=-1, set=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
#1  0x0000aaaadd102904 in dart::bin::EventHandlerImplementation::Poll (args=187651140026560) at ../../runtime/bin/eventhandler_linux.cc:392
#2  0x0000aaaadd122408 in dart::bin::ThreadStart (data_ptr=<optimized out>) at ../../runtime/bin/thread_linux.cc:85
#3  0x0000ffff94738fc4 in start_thread (arg=0xaaaadd1223e8 <dart::bin::ThreadStart(void*)>) at pthread_create.c:335
#4  0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

Thread 2 (Thread 0xffff947a9010 (LWP 7305)):
#0  0x0000ffff9473f30c in __pthread_cond_wait (cond=0xaaaaef8aa9f0, mutex=0xaaaaef8aa9c0) at pthread_cond_wait.c:186
#1  0x0000aaaadd3df4d4 in dart::Monitor::WaitMicros (this=0xaaaaef8aa9c0, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:440
#2  0x0000aaaadd5b668c in dart::MonitorLocker::Wait (millis=0, this=<optimized out>) at ../../runtime/vm/lockers.h:169
#3  dart::SafepointHandler::ExitSafepointUsingLock (this=<optimized out>, T=0xaaaaef8e4a00) at ../../runtime/vm/heap/safepoint.cc:173
#4  0x0000aaaadd330320 in dart::Thread::ExitSafepoint (this=0xaaaaef8aa9f4) at ../../runtime/vm/thread.h:768
#5  dart::TransitionVMToNative::~TransitionVMToNative (this=<optimized out>) at ../../runtime/vm/heap/safepoint.h:248
#6  dart::NativeEntry::ResolveNative (library=..., function_name=..., number_of_arguments=2, auto_setup_scope=<optimized out>) at ../../runtime/vm/native_entry.cc:53
#7  0x0000aaaadd4d484c in dart::NativeCallInstr::SetupNative (this=0xaaaaef95aeb0) at ../../runtime/vm/compiler/backend/il.cc:5156
#8  0x0000aaaadd4d8df8 in dart::NativeCallInstr::EmitNativeCode (this=0xaaaaef95aeb0, compiler=0xffffe0451be8) at ../../runtime/vm/compiler/backend/il_arm64.cc:823
#9  0x0000aaaadd4b8eec in dart::FlowGraphCompiler::VisitBlocks (this=0xffffe0451be8) at ../../runtime/vm/compiler/backend/flow_graph_compiler.cc:576
#10 0x0000aaaadd4c15b0 in dart::FlowGraphCompiler::CompileGraph (this=0xffffe0451be8) at ../../runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc:890
#11 0x0000aaaadd593070 in dart::CompileParsedFunctionHelper::Compile (this=0xffffe0452198, pipeline=<optimized out>) at ../../runtime/vm/compiler/jit/compiler.cc:833
#12 0x0000aaaadd5939bc in dart::CompileFunctionHelper (pipeline=0xffffe0452d20, function=..., optimized=<optimized out>, osr_id=-1) at ../../runtime/vm/compiler/jit/compiler.cc:950
#13 0x0000aaaadd593384 in dart::Compiler::CompileFunction (thread=0xaaaaef8e4a00, function=...) at ../../runtime/vm/compiler/jit/compiler.cc:1141
#14 0x0000aaaadd590654 in dart::DRT_HelperCompileFunction (thread=<optimized out>, zone=<optimized out>, isolate=<optimized out>, arguments=...) at ../../runtime/vm/compiler/jit/compiler.cc:254
#15 dart::DRT_CompileFunction (arguments=...) at ../../runtime/vm/compiler/jit/compiler.cc:230
#16 0x0000ffff93f00d4c in ?? ()
#17 0x0000ffff93f82e31 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread 0xffff9357f150 (LWP 7320)):
#0  0x0000ffff943bf528 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x0000ffff943c09e0 in __GI_abort () at abort.c:89
#2  0x0000aaaadd3ddaf8 in dart::OS::Abort () at ../../runtime/vm/os_linux.cc:663
#3  0x0000aaaadd5f69f8 in dart::Assert::Fail (this=<optimized out>, format=<optimized out>) at ../../runtime/platform/assert.cc:43
#4  0x0000aaaadd47b70c in dart::Handles<1, 64, 0>::VisitScopedHandles (this=<optimized out>, visitor=<optimized out>) at ../../runtime/vm/handles_impl.h:39
#5  dart::Handles<1, 64, 0>::VisitObjectPointers (this=<optimized out>, visitor=<optimized out>) at ../../runtime/vm/handles_impl.h:25
#6  dart::LocalHandles::VisitObjectPointers (this=<optimized out>, visitor=<optimized out>) at ../../runtime/vm/dart_api_state.h:367
#7  dart::Thread::VisitObjectPointers (this=0xaaaaef8e4a00, visitor=0xffff9357ded0, validation_policy=<optimized out>) at ../../runtime/vm/thread.cc:687
#8  0x0000aaaadd47e0e0 in dart::ThreadRegistry::VisitObjectPointers (this=0xaaaaef8b3640, visitor=0xffff9357ded0, validate_frames=<optimized out>) at ../../runtime/vm/thread_registry.cc:72
#9  0x0000aaaadd069948 in dart::SafepointTestTask::Run (this=0xaaaaef8b0980) at ../../runtime/vm/thread_test.cc:433
#10 0x0000aaaadd47dce8 in dart::ThreadPool::Worker::Loop (this=0xaaaaef8c2140) at ../../runtime/vm/thread_pool.cc:381
#11 0x0000aaaadd47dba4 in dart::ThreadPool::Worker::Main (args=187651140100416) at ../../runtime/vm/thread_pool.cc:436
#12 0x0000aaaadd3dee6c in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:131
#13 0x0000ffff94738fc4 in start_thread (arg=0xaaaadd3dedfc <dart::ThreadStart(void*)>) at pthread_create.c:335
#14 0x0000ffff94454110 in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:89

It appears that a LocalHandles has a scoped_block_ == nullptr - which should never happen. That scoped_block_ is used as the cursor for where the next handle allocation goes into. There is always one block available, inlined into Handles::first_scoped_block_.
I've looked a bit at the code but haven't found out how scoped_block_ == nullptr can ever occur.
/cc @rmacnak-google @mraleph

Note that we are crashing while trying to iterate handles for the mutator thread. It is thread number 2 and it is doing this:
Thread 2 (Thread 0xffff947a9010 (LWP 7305)):
#0  0x0000ffff9473f30c in __pthread_cond_wait (cond=0xaaaaef8aa9f0, mutex=0xaaaaef8aa9c0) at pthread_cond_wait.c:186
#1  0x0000aaaadd3df4d4 in dart::Monitor::WaitMicros (this=0xaaaaef8aa9c0, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:440
#2  0x0000aaaadd5b668c in dart::MonitorLocker::Wait (millis=0, this=<optimized out>) at ../../runtime/vm/lockers.h:169
#3  dart::SafepointHandler::ExitSafepointUsingLock (this=<optimized out>, T=0xaaaaef8e4a00) at ../../runtime/vm/heap/safepoint.cc:173
#4  0x0000aaaadd330320 in dart::Thread::ExitSafepoint (this=0xaaaaef8aa9f4) at ../../runtime/vm/thread.h:768
#5  dart::TransitionVMToNative::~TransitionVMToNative (this=<optimized out>) at ../../runtime/vm/heap/safepoint.h:248
#6  dart::NativeEntry::ResolveNative (library=..., function_name=..., number_of_arguments=2, auto_setup_scope=<optimized out>) at ../../runtime/vm/native_entry.cc:53
#7  0x0000aaaadd4d484c in dart::NativeCallInstr::SetupNative (this=0xaaaaef95aeb0) at ../../runtime/vm/compiler/backend/il.cc:5156
#8  0x0000aaaadd4d8df8 in dart::NativeCallInstr::EmitNativeCode (this=0xaaaaef95aeb0, compiler=0xffffe0451be8) at ../../runtime/vm/compiler/backend/il_arm64.cc:823
#9  0x0000aaaadd4b8eec in dart::FlowGraphCompiler::VisitBlocks (this=0xffffe0451be8) at ../../runtime/vm/compiler/backend/flow_graph_compiler.cc:576
#10 0x0000aaaadd4c15b0 in dart::FlowGraphCompiler::CompileGraph (this=0xffffe0451be8) at ../../runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc:890
#11 0x0000aaaadd593070 in dart::CompileParsedFunctionHelper::Compile (this=0xffffe0452198, pipeline=<optimized out>) at ../../runtime/vm/compiler/jit/compiler.cc:833
#12 0x0000aaaadd5939bc in dart::CompileFunctionHelper (pipeline=0xffffe0452d20, function=..., optimized=<optimized out>, osr_id=-1) at ../../runtime/vm/compiler/jit/compiler.cc:950
#13 0x0000aaaadd593384 in dart::Compiler::CompileFunction (thread=0xaaaaef8e4a00, function=...) at ../../runtime/vm/compiler/jit/compiler.cc:1141
#14 0x0000aaaadd590654 in dart::DRT_HelperCompileFunction (thread=<optimized out>, zone=<optimized out>, isolate=<optimized out>, arguments=...) at ../../runtime/vm/compiler/jit/compiler.cc:254
#15 dart::DRT_CompileFunction (arguments=...) at ../../runtime/vm/compiler/jit/compiler.cc:230
#16 0x0000ffff93f00d4c in ?? ()
#17 0x0000ffff93f82e31 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

I looked into the code in NativeEntry::ResolveNative and it contains the following code:
  {
    Thread* T = Thread::Current();
    TransitionVMToNative transition(T);
    Dart_EnterScope();  // Enter a new Dart API scope as we invoke API entries.
    Dart_NativeEntryResolver resolver = library.native_entry_resolver();
    native_function = resolver(Api::NewHandle(T, function_name.raw()),
                               number_of_arguments, auto_setup_scope);
    Dart_ExitScope();  // Exit the Dart API scope.
  }

TransitionVMToNative does the following:
  explicit TransitionVMToNative(Thread* T) : TransitionSafepointState(T) {
    // A thread running native code is considered to be at a safepoint.
    ASSERT(T->execution_state() == Thread::kThreadInVM);
    T->set_execution_state(Thread::kThreadInNative);
    T->EnterSafepoint();
  }

while Dart_ExitScope for example does the following
DART_EXPORT void Dart_ExitScope() {
  Thread* T = Thread::Current();
  CHECK_API_SCOPE(T);
  NoSafepointScope no_safepoint_scope;
  ApiLocalScope* scope = T->api_top_scope();
  ApiLocalScope* reusable_scope = T->api_reusable_scope();
  T->set_api_top_scope(scope->previous());  // Reset top scope to previous.
  if (reusable_scope == NULL) {
    scope->Reset(T);  // Reset the old scope which we just exited.
    T->set_api_reusable_scope(scope);
  } else {
    ASSERT(reusable_scope != scope);
    delete scope;
  }
}

Note that it assumes that we are not going to safepoint (NoSafepointScope) and that it does stuff with ApiLocalScope which ultimately does stuff to Zone and to handles.
There is obviously a data race here. I am not sure how this is expected to work in general.
@rmacnak-google Ryan, can you take a look at my analysis? I don't understand how we can safely do TransitionVMToNative and then start invoking things that work with handles doing things like Dart_EnterScope - because GC can be touching same structures. This seems broken.

I am tentatively marking this as P0 because this seems like a fundamental issue with our safe-pointing system, which can lead to some serious bugs. (waiting for @rmacnak-google to confirm the analysis).

Here is modification of the test that makes it happen more reliably (if I run few 100s of tests in parallel):
diff --git a/runtime/vm/thread_test.cc b/runtime/vm/thread_test.cc
index b0687de01e..963fc0b7e5 100644
--- a/runtime/vm/thread_test.cc
+++ b/runtime/vm/thread_test.cc
@@ -479,6 +479,31 @@ class SafepointTestTask : public ThreadPool::Task {

 const intptr_t SafepointTestTask::kTaskCount = 5;

+static void StressScopes(Dart_NativeArguments args) {
+  Dart_EnterScope();
+  for (intptr_t i = 0; i < 5; i++) {
+    Dart_EnterScope();
+    Dart_Handle input = Dart_GetNativeArgument(args, 0);
+    Dart_SetReturnValue(args, input);
+    Dart_ExitScope();
+  }
+  Dart_ExitScope();
+}
+
+static Dart_NativeFunction SafepointTestNativeResolver(Dart_Handle name,
+                                                       int argument_count,
+                                                       bool* auto_setup_scope) {
+  ASSERT(auto_setup_scope != nullptr);
+  *auto_setup_scope = true;
+  const char* cstr = nullptr;
+  Dart_Handle result = Dart_StringToCString(name, &cstr);
+  EXPECT_VALID(result);
+  if (strcmp(cstr, "stressScopes") == 0) {
+    return StressScopes;
+  }
+  return nullptr;
+}
+
 // Test rendezvous of:
 // - helpers in VM code,
 // - main thread in pure Dart,
@@ -501,21 +526,22 @@ TEST_CASE(SafepointTestDart) {
 #if defined(USING_SIMULATOR)
   const intptr_t kLoopCount = 12345678;
 #else
-  const intptr_t kLoopCount = FLAG_enable_interpreter ? 12345678 :<PHONE_NUMBER>;
+  const intptr_t kLoopCount = FLAG_enable_interpreter ? 12345678 : 100000;
 #endif  // defined(USING_SIMULATOR)
   char buffer[1024];
   Utils::SNPrint(buffer, sizeof(buffer),
                  "import 'dart:developer';\n"
+                 "int stressScopes(int dummy) native \"stressScopes\";\n"
                  "int dummy = 0;\n"
                  "main() {\n"
                  "  new UserTag('foo').makeCurrent();\n"
                  "  for (dummy = 0; dummy < %" Pd
                  "; ++dummy) {\n"
-                 "    dummy += (dummy & 1);\n"
+                 "    dummy += stressScopes(dummy & 1);\n"
                  "  }\n"
                  "}\n",
                  kLoopCount);
-  Dart_Handle lib = TestCase::LoadTestScript(buffer, NULL);
+  Dart_Handle lib = TestCase::LoadTestScript(buffer, reinterpret_cast<Dart_NativeEntryResolver>(SafepointTestNativeResolver));
   EXPECT_VALID(lib);
   Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL);
   EXPECT_VALID(result);

Should we block 2.1 on this?

Per @mraleph it's not a regression, so no.

Yeah, allocating handles when the thread state is kThreadInNative seems wrong. We should be able to assert against this when handles are allocated. Somewhat recently we finally added that for object allocation.

https://dart-review.googlesource.com/c/sdk/+/81540


Fix bug: Remove trailing comma

A trailing comma converts a list to a tuple, when requires.append('enum34') is called throws an error.

a = [],
type(a)
<type 'tuple'>
a.append(True)
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'tuple' object has no attribute 'append'

looks sensible to me.

On which python version and which setuptools version are you?
It should be fixed if you are using the develop branch.
If not we can fix your issue here. But it's good that the manual adding is very slightly protected.
In official examples they use our [], syntax more often (in some examples they also use lists).

I am quite sure you should never alter the setup.py file from outside.
Because the dependencies get installed when you type pip install mws, so you have to reinstall it and rechange it every time?
Potential underlying problems with enum34 are very complicated, because you can use every combination of python version and setuptools version.
Our solution in the development branch is quite good it seems we use a mix of this:
https://hynek.me/articles/conditional-python-dependencies/

@elcolumbio Our Python and setuptools were old versions and during pip install of mws it breaks.
Python 2.7.3 (default, Oct 26 2016, 21:01:49)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import setuptools
>>> setuptools.__version__
'0.6c11

pip install -e git+https://github.com/python-amazon-mws/python-amazon-mws.git@develop#egg=mws
So in our case, with the old python and setuptools versions, this line is executed:
https://github.com/python-amazon-mws/python-amazon-mws/blob/develop/setup.py#L25
and raised AttributeError: 'tuple' object has no attribute 'append'.

Ok i feel for you having to use such an old environment. I hope they pay you good and let you upgrade soon.
Indeed now i see the bug.
I would change the requires.append('enum34') to something like requires = (requires[0] + ['enum34'], ). You like it and is that working?
But i am a strong advocat to remove python 2.7 support on 1.1.2020 anyway.

Also we could update the comment instead older versions to versions older than version 18. Also remove flake8 reference this code doesn't exist anymore.

requires = [
    'requests',
]
# Compatible for setup versions older than 18.
if sys.version_info < (3, 4):
    requires.append('enum34')

Remove the rest, because in our case the logic is not needed?


Pickling?

Is there any way to pickle these objects? It would be great for supporting parallel computations with joblib, etc.
The creation time isn't actually that big a deal, but I'd prefer a way to have shared memory across processes which pickling enables. The trees I am planning to make are quiet large and having to keep copies in memory for each worker process will quickly be prohibitive.

This is actually possible without major problems :). I already had a half-finished pickling support laying around and have just completed it. In the latest version (0.2.0) pickle should work as for any python object:
kdtree = KDTree(data, **kwargs)
serialized_tree = pickle.dumps(kdtree)
restored_kdtree = pickle.loads(serialized_tree)

Note that here, same as with scipy's ckdtree, the data array will be serialized as well.


Make method definitions backwards compatible with Ruby 2.0.

I recently found out that the production environment we're going to be deploying is currently on Ruby 2.0.
This pull request downgrades the method definitions to use Hashes instead of named arguments.
No functionality changes except some of the error messages will now be formatted in the following way:

Must supply :<argname>

The exception to the no functionality change is that ClientError#initialize doesn't require :headers so it can be passed in as nil.

@zdennis looks good. One minor request that the comments be updated to match the param changes. Thanks again for your contributions. I'll add you to the ReadMe authors list.

@dior001, thanks for the quick review and response. I've updated the docs in 9dbb10b . Take another look and let me know if there's anything else. Thanks!

@dior001, I know you're busy so only consider this ping should it find you at a good time of day.


capture.next() seems to wait forever on FreeBSD 11

I have a simple program that I'm compiling on FreeBSD 11.2
use pcap;

fn main() {
        println!("{:?}", pcap::Device::list());
        let mut capture = pcap::Capture::from_device("em0").unwrap().open().unwrap();
        capture.next();
        println!("Done");
}

The program seems to just wait on capture.next().

The line pcap::Device::list() does work.
tcpdump works
Programs written in C that use pcap and are compiled in clang do work.

What could be the problem?

Maybe this is the same issue as #93 ?

This is not a bug, you should set timeout other than 0:
https://docs.rs/pcap/0.7.0/pcap/struct.Capture.html#method.timeout
If you don't set timeout value, it will block forever.

capture.next() should block until packet arrives or timeout expires.  By default, timeout never expires and wait forever.
We might need better guidance, though.  Maybe add timeout to examples?


Example usage for /api/generate_batch

Can you please provide an example query for generate_batch?
Thank you.

I think this should do the trick:
{
  'queries': [
    ['This is document 1', 'document 1', 8],
    ['This is document 2', '2', 17],
    ....
  ]
}

The relevant part of the api is here - you could probably refactor this to be less awful if you wanted! Basically ctxts, ans, ans_pos are all lists of documents, answers, and answer character offsets.

perfect thanks, to anyone else looking for a quick minimal code
import requests

data = {"queries": [
    ["The Normans were the people who in the 10th and 11th centuries gave their name to Normandy, a region in France.", "Normans", 4],
]}

r = requests.post("http://<IP>:5004/api/generate_batch", json=data)
print(r.json())
>>> {'status': 'OK', 'results': [{'q': "what were the people who 's name to normandy ? </Sent>", 'a': 'Normans'}]}


[MATLAB] Add arrow.array.StringArray class

Describe the enhancement requested
Thanks to @sgilmore10's recent changes to enable UTF-8 <-> UTF-16 string conversions, we can now add support for creating Arrow String arrays (UTF-8 encoded) from MATLAB string arrays (UTF-16 encoded).
We will also want to add support for arrow.array.LargeStringArray.
Example:
>> matlabArray = ["A", "B", "C"];
>> arrowArray = arrow.array.StringArray(matlabArray);

Component(s)
MATLAB

take


Some changes that fix inteface leaks

Please update the PR and rebase changes on the main branch.

Found a better solution with begin: https://github.com/networkservicemesh/sdk/pull/1650


OpenVPN - Client Specific Overrides - Tunnel Network

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I have searched the existing issues and I'm convinced that mine is new.
Describe the bug
If i have set up a OpenVPN Server, e.g. on Port 1194 UDP, define a tunnel network(e.g. <IP_ADDRESS>/24) and specify a separate tunnel network(e.g. <IP_ADDRESS>/24) for specific clients via client specific override, the clients matching this override always get the same ip-addresses (e.g. <IP_ADDRESS>) and therefore kill the other ones connectivity.
To Reproduce
Steps to reproduce the behavior:

Go to 'VPN' -> 'OpenVPN' -> 'Client Specific Override'
Click on '(+) Add'
Fill in the matching information
Scroll down to 'IPv4 Tunnel Network'
Insert a different tunnel network then the server's tunnel network
Create a second override for a second client with the same tunnel network
See the connected clients ip-addresses

Expected behavior
The clients connected should get different IP adresses from the overridden pool.
Screenshots
none
Relevant log files
none
Additional context
none
Environment
OPNsense 19.7.7 (amd64, OpenSSL).
Intel® Xeon™ E3-1225V5 3.3Ghz Quad Core
Network Intel® I210-AT

I always thougt the override address has to be in the tunnel network of the server instance or otherwise create a second one?

if I remember correctly, an overwrite is an address, not a pool.

If that is the case, the 'Client Specific Overrides' GUI is not clear enough. It should not be possible to set a 'Tunnel Network' rather an 'IP-Address'.
But if i understand that correctly, it would be possible to support multiple ip-ranges on a single openvpn server.

Hi There,
I got basicly the same problem but I can say if I'm creating a 'Client Specific Override'. The file just doesn't get created, '/var/etc/openvpn-csc/1/' is always empty.
If I create the file by hand and set a ifconfig-push in it, it just works as expected.
OPNsense 20.1.3-amd64
FreeBSD 11.2-RELEASE-p17-HBSD
OpenSSL 1.1.1d 10 Sep 2019

Same problem here with the current release: I migrated from old to new hardware, the other site's appliance connected without problems, but the internal routes where missing.
I found out that the folder /var/etc/openvpn-csc/1 of server 1 stays empty, even if I create a new client-override. GUI shows 5 activated CSCs, but none of them is generated into the filesystem.
OPNsense 20.1.5-amd64
FreeBSD 11.2-RELEASE-p18-HBSD
OpenSSL 1.1.1f 31 Mar 2020

openvpn_csc_conf_write() is responsible for writing the files within the  authentication sequence, dynamic types can collect data while connecting. The logs show usually provide quite some insights into this process.
https://github.com/opnsense/core/blob/8b5a54e0307f11655d99ddf5254ff5769b5fa6ba/src/etc/inc/plugins.inc.d/openvpn.inc#L1023

@AdSchellevis I use the local database as auth-backend with enforcement of a local group containing the allowed VPN's users.
When I look into the logfiles I see:

openvpn: user 'VPN_XYZ' authenticated using 'Local Database'

"VPN_XYZ" is ok as my usernames for the VPN start with "VPN_". But looking into https://github.com/opnsense/core/blob/8b5a54e0307f11655d99ddf5254ff5769b5fa6ba/src/etc/inc/plugins.inc.d/openvpn/auth-user.php#L146 I see that this logentry will be generated if $cso_filename is empty, which contains the result of https://github.com/opnsense/core/blob/8b5a54e0307f11655d99ddf5254ff5769b5fa6ba/src/etc/inc/plugins.inc.d/openvpn.inc#L1023 which in turn is only empty if its $conf is empty - and that shouldn't be the case as there are settings configured in the GUI.
May you take a look or tell me how to search further?

@Mad-Onion a couple of things I can think of:
Mismatch in the common_name (I think that's the most common one)
https://github.com/opnsense/core/blob/8b5a54e0307f11655d99ddf5254ff5769b5fa6ba/src/etc/inc/plugins.inc.d/openvpn/auth-user.php#L131-L133
Missing vpnid (not bound to a server), this might be a bug. Easy to test by choosing the one server in the csc.
https://github.com/opnsense/core/blob/8b5a54e0307f11655d99ddf5254ff5769b5fa6ba/src/etc/inc/plugins.inc.d/openvpn.inc#L1025

@AdSchellevis I added a log-statement returning the CN and the VPN-ID the openvpn_csc_conf_write-method receives:
function openvpn_csc_conf_write($settings, $server, $target_filename = null)
{
    log_error(sprintf('Building CSC for CN \'%s\' and VPN-ID \'%s\'', $settings['common_name'], $server['vpnid']));
    log_error(print_r($settings, true));

    if (empty($settings['common_name']) || empty($server['vpnid'])) {
        return false;
    }

This is the output (newest entry on top)
2020-04-29T10:21:34	openvpn: user 'VPN_XYZ' authenticated using 'Local Database'
2020-04-29T10:21:34	openvpn: /usr/local/etc/inc/plugins.inc.d/openvpn/auth-user.php: Array ( [common_name] => )
2020-04-29T10:21:34	openvpn: /usr/local/etc/inc/plugins.inc.d/openvpn/auth-user.php: Building CSC for CN '' and VPN-ID '1'

So there seems to be a problem so that the method is called without any CN at all...

@Mad-Onion looks like either the client isn't using a cert and Force CSO Login Matching is disabled or Force CSO Login Matching is enabled and it isn't using a username+password combination

Fu*k... Force CSO Login Matching wasn't checked...
Thanks a lot @AdSchellevis

This issue has been automatically timed-out (after 180 days of inactivity).
For more information about the policies for this repository,
please read https://github.com/opnsense/core/blob/master/CONTRIBUTING.md for further details.
If someone wants to step up and work on this issue,
just let us know, so we can reopen the issue and assign an owner to it.


Files are not being downloaded to relative path in config

Prerequisites

[X ] Did you read FAQ section?
[X ] Did you test with the latest releases or commit ?

Description
Downloading to a file path with ".." should go to the folder above.
Steps to Reproduce
Using "filenameformat = ..\Artists\%original_member_id% %original_artist%\%urlFilename% - %title%" as my config option.
Expected behavior: Files should be going to an "Artists" folder in the same level as the "pixivutil" folder, above the PixivUtil2.exe
Actual behavior: Files are going to an "Artists" folder on the same level as PixivUtil2.exe
Versions
20201025

set the root directory using 'rootdirectory' in config.ini


Allow users to override Ansible variables using zetten.props

There should be a section in zetten.props where users can optionally override Ansible variables.

Closed by #141


Why? Unable to connect with your settings

I use Webdav synchronization, and the same settings are used on both computers. One computer works normally, but the other reports an error and cannot be added
Normal computer: Macbook Pro Intel chip
The computer that reported an error: Mac mini M4 chip
我使用Webdav同步的方式，两台电脑相同的设置，一台正常，一台报错无法添加
正常的电脑: Macbook Pro Intel芯片
报错的电脑：Mac mini M4

@xiao-k8 you could open (toggle) Tabby application dev tool to inspect the error there

@xiao-k8 you could open (toggle) Tabby application dev tool to inspect the error there

I found the reason. It's because the server returned a 401 status code, which caused the creation of the test.txt file to fail.
I compared the successful machine and it was created successfully
It's strange that I compared two data packets and found that the request header Authorization is the same, as are other request header fields. I don't know why this error occurred. It may be due to my network. I will continue to investigate. Thank you.


Use of several GPU

I use PC with 2 GPU. Can i specify wich card i want to use?

On Sun, 07 Jun 2020 13:53:35 -0700
vedmed85<EMAIL_ADDRESS>wrote:

I use PC with 2 GPU. Can i specify wich card i want to use?

You can use the feature of pyOpenCL which allows you to select one specific device like:
export PYOPENCL_CTX='0:1'
Use clinfo to know the ordering of the platforms and devices


Update Binary Search(GFG).cpp

bhaiya it sees excluded in my github profile
On Fri, 14 Oct 2022 at 22:58, Anshul Kumar @.***> wrote:

Merged #143 https://github.com/ianshulx/DSA-Hacktoberfest2022/pull/143
into main.
—
Reply to this email directly, view it on GitHub
https://github.com/ianshulx/DSA-Hacktoberfest2022/pull/143#event-7592205456,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW6YYT2SF6TA63FSFPN57LTWDGJ5JANCNFSM6AAAAAARFNYHBU
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


problem with running IN in where clause with array

I have table structure like this
CREATE TABLE mycdb.emp_details (
    id uuid PRIMARY KEY,
    age int,
    name text
)

and try to run CQL ad below
$ids = ['388caf5e-fdef-4922-9b73-88363a28140f', '0f6a5834-7194-45a7-9755-e28b20351af7']
$rs = $connection->querySync('select * from emp_details where id in(:ids)', ['ids' => $ids]);

its throw
Cassandra\Type\Exception with message '$values should be an sequential array, associative array given.  Or you can set "names_for_values" option to true.'
correct me if i am wrong right now there is no any possibility to pass array in IN clause if not could we improve that.

try changing to:
$rs = $connection->querySync('select * from emp_details where id in(:ids)', ['ids' => $ids], null, ['names_for_values' => true]);


Make possible to override Html5Metadata default values

In some cases, a user of this library could want to override the default values generated by Conviva in MetadataInterface. For example, if you are using Bitmovin in a LG Smart TV, you want to send webOS as "Operating System" and its version.
Currently, the only field that a user is able to override is "Device Category", can this be done for other values in Html5Interface?
It would be nice to have this feature for our integration of this Library in our LG Smart TV app.
Additional fields I think it would be nice to be overridden:

Device Brand
Device Manufacturer
Device Model
Device Type
Device Version
Operating System Name
Operating System Version

Implemented in https://github.com/bitmovin/bitmovin-player-analytics-conviva/pull/72 and released in v4.0.3


The clear pipeline button also clears the pipeline version

When the Clear Pipeline button is used it calls canvasController.clearPipelineFlow() which replaces the current pipleineFlow with an new empty one. This includes the pipeline version that we set and check against. Which means if a user saved a cleared pipeline, on the next open it will prompt the user that the pipeline file need to be updated. Though this doesn't not cause any issues since the pipeline is empty, it can be a confusing experience for the user.

This is due to the use of the following function in canvas: https://github.com/elyra-ai/canvas/blob/5f536607ba4ca5aa0dedac2cdeb169e279b5dc47/canvas_modules/common-canvas/src/object-model/object-model.js#L315 which just overwrite the pipeline file completely.
We may want to instead write our own clear function rather than using that canvas function, this could also aid in work on #756

@lresende fyi since you wrote the versioning code

Note we could also just fix this by just setting the version in our clear function after making the canvas call

On further research the version seems to only be added on open, so the lack of version will actually persist through any amount of editing after a clear until the file is closed and reopened at which point the user will see that prompt.


On CREATE attributes on mapping objects

Connection Provides are providing extra paramters when CREATE various things, for example, storage engine can be specified when connected to MySQL.
This will help creating mappings that fits more into DBMS.

For now, I have added "Create Attributes" to OnggiModuleObject.
Also, additional category can be set in OnggiTable, to choose "TABLE_DEF_P" and "TABLE_OPTION_P" (and other possible parameter lists).
Closing.


[QUESTION] Missing codec private data error when I watch the video on the console

I recived Missing codec private data error when I watch the video on the console.
I know that CPD needs to be passed in when calling kinesis_video_stream->start(cpd).
But i don't know how to generate it.
How to generate correct cpd without using gstreamer?
Can you help me, thanks!

Closing as duplicate of #766.


[Security] Workflow android-release.yml is using vulnerable action eskatos/gradle-command-action

The workflow android-release.yml is referencing action eskatos/gradle-command-action using references v1.3.3. However this reference is missing the commit 6ff2065a1233a621be482a67cf97261047133d35 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

https://github.com/openfoodfacts/openfoodfacts-androidapp/blob/develop/.github/workflows/android-release.yml


Can't test on Test environment

I'm trying to show mock records in Test Environment. but it just keep showing this error :

Thanks in advance for the guidance.

Hi. I believe it is because you haven't set the correct columns. Read the guide so you can configure it correctly.


Prefer chunks with entry module when picking name (#7516)

This PR changes the behavior of Chunk#integrate to prefer chunks with an entry module when picking a name. If none have an entry module, the old algorithm is used instead, where the chunk with the shortest name is picked.
See #7516 for the bug report.
What kind of change does this PR introduce?
This change is a bugfix.
Did you add tests for your changes?
I could not find tests related to this change. Do you want me to add them?
Does this PR introduce a breaking change?
This PR introduces a breaking change by changing the behavior of Chunk#integrate. Projects, plugins and internal code relying on the fact that the shortest name is picked when integrating two chunks may break. However, I think more people are affected by the current behavior.
What needs to be documented once your changes are merged?
The behavior of Chunk#integrate with regards to naming might need to be documented to explain current behavior.
Fixes #7516

@sokra Shouldn't it be better to make the integration order deterministic/fixed instead? Or is that not feasible?

@sokra I have updated the branch to prefer chunks with an entry module. However, I suspect the algorithm might now still produce different results for a different order of integration.

c04747f17 fixes it already

It doesn't fix it

Oh, but I fear this approach does not work as from the logic in “Chunk#canBeIntegrated”, it looks like chunks with entry modules are prevented from integrating.

it looks like chunks with entry modules are prevented from integrating.

They can be integrated in cases when it returns here:
https://github.com/webpack/webpack/blob/c74bee9cef6cd733ccf64037c3d3e010d4413082/lib/Chunk.js#L467
or here:
https://github.com/webpack/webpack/blob/c74bee9cef6cd733ccf64037c3d3e010d4413082/lib/Chunk.js#L469

Ah, I had not considered that. I will prepare some tests for the patch then (and rebase it to current ‘master’)

I will prepare some tests for the patch then (and rebase it to current ‘master’)

no need. I already did that

Thanks


Using list / repeat in play-bootstrap3

"help wanted"
This is really just a question (not necessarily an issue) but I can't find a way to just send a message...
How do I use the list / repeat functions that "normal" play helpers support together with the b3 helpers?
btw. I really like the play-bootstrap3 project, thanks for sharing!

I realised that this is not relevant to solely play-bootstrap3 but a more general play issue.

Hi @MagnusAk78. Yes, it is a general doubt about Play, not this plugin. It should works as it is explained at the Play docs, but using b3 helpers when needed.
@helper.repeat(myForm("emails"), min = 1) { emailField =>
    @b3.text(emailField, … )
}


helm3 leaves namespace in inconsistent state after storage class error

I created a new k3s v1.0.0 cluster & installed 'longhorn' (rancher labs). I then went to install wordpress:
helm install wordpress bitnami/wordpress --namespace wordpress -f ~/etc/wordpress.yaml

All I have in that file is:
global.storageClass: longhorn
persistence.storageClass: longhorn
mariadb.master.persistence.storageClass: longhorn
fullnameOverride: wordpress
wordpressUsername: wpuser
wordpressPassword: XPASSX
wordpressEmail: XXNAMEXX@XDOMAINX
wordpressFirstName: XNAMEX
wordpressLastName: XNAMEX
wordpressScheme: https
mariadb.rootUser.password: XPASSX
mariadb.db.password: XPASSX
service.port: 9080
service.httpsPort: 443

but when I deploy I got:
Error: persistentvolumeclaims "wordpress" is forbidden: Internal error occurred: 2 default StorageClasses were found

from helm. No big deal. I've been there before - the problem is that there are two default storage classes, so I can patch with
~ kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
storageclass.storage.k8s.io/local-path patched

Cool. Now I should try again, but first let me check:
~ kubectl get pods --namespace wordpress
NAME                    READY   STATUS    RESTARTS   AGE
svclb-wordpress-v2vg5   0/2     Pending   0          59s
svclb-wordpress-fp55n   0/2     Pending   0          59s

Now that I did not expect.
If the chart deploy fails, I would have expected any changes to be rolled back, ie for the operation to be effectively atomic. Compensating changes made.
Ok, but presumably I could still delete, except:
~ helm list
NAME	NAMESPACE	REVISION	UPDATED	STATUS	CHART	APP VERSION
➜  ~

So helm is denying all responsibility ... not a FAILED (for example) release
I think this is a problem as one cannot trust helm to manage the resources..
It has some similarity to #5778
Output of helm version:
version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}

Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:"b3cbbae08ec52a7fc73d334838e18d17e8512749", GitTreeState:"clean", BuildDate:"2019-11-14T04:24:29Z", GoVersion:"go1.12.13", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3-k3s.2", GitCommit:"e7e6a3c4e9a7d80b87793612730d10a863a25980", GitTreeState:"clean", BuildDate:"2019-11-18T18:31:23Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
Civo (a small k3s provider targeted at developers)

To clarify - there is no issue here with an error occurring. Dup default storageclases are wrong, but it is how helm handled it that is an issue

Adding ref : https://github.com/civo/kube100/issues/12

User error. Apologies. Helm release actually shows as:
~ helm list --namespace wordpress
NAME     	NAMESPACE	REVISION	UPDATED                             	STATUS	CHART          	APP VERSION
wordpress	wordpress	1       	2019-11-21 12:23:55.476929 +0000 UTC	failed	wordpress-8.0.0	5.2.4
➜  ~ helm delete wordpress --namespace wordpress
release "wordpress" uninstalled
➜  ~ kubectl get all
NAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   <IP_ADDRESS>   <none>        443/TCP   14m
➜  ~ kubectl get all --namespace wordpress
No resources found in wordpress namespace.

So behaved perfectly
My bad. closing


Added Steps

Issue: Added Steps

Great thank you.
@all-contributors please add @Pranav108 for doc

@shahednasser
I've put up a pull request to add @Pranav108! 🎉

can you please add "hactoberfest" or "hacktoberfest-accepted" tag in this PR so that this PR is also included in hactoberfest 2020

Hello @Pranav108 please check the README for a note about Hacktoberfest participation. Thank you!


Fully implement ability to ignore IRC clients and Discord users.

Fully implements the ability to ignore IRC clients by regular expressions applied against masks (sans nickname) and Discord users by nickname.
Fixes #324.

Coverage increased (+0.01%) to 98.233% when pulling d0e6e268faac4921f6d045e33a3c2d869337b158 on lalbornoz:master into db39ba237eb68ae521a43d0134c3e33fe5317c82 on reactiflux:master.

This looks like it would break backwards compatibility, in that using IRC nicknames would no longer function for the ignore list, wouldn't it? (Since it checks the host, and requires we match the whole part after the username.) If so, I think we can't merge it until a major version release, which will probably block this for a while.

I'm not comfortable merging something that breaks backwards compatibility, and this hasn't been responded to in a long time. Accordingly, I'm gonna close it for now. If you have ideas for how to implement this in a backwards-compatible way, please reopen this!


Dynamic repository data is unused

README.md is populated only with data that is generally static (name, url, description, archived), yet this data is fetched daily.
Data that is more dynamic (forks, stars, watchers, and most recent push date) is also fetched daily, but is unused, or at least not presented here in a markdown format.
Recommendations:

Decrease frequency of data fetching, or:
Write dynamic data to README.md or a separate markdown file.

The extra fields are mostly meant to be consumed by anyone who wants a copy of the generated JSON files. I can see a case for a separate file and even static pages for more dynamic content though.

Another thing I should mention is working with the JSON files is a bit clunky due to how I structured it. That will probably change too.


Request/Response Logging Possible?

Had a quick look at the source and it looks like this is only done at the cache, but does not show the bodies. Is it really not possible to log?
Thanks

In the past I've said it might be nice to add something like Reel::Spy:
https://github.com/celluloid/reel/wiki/Spy
https://github.com/celluloid/reel/blob/master/lib/reel/spy.rb

Related issue: #209

I had to do this manually with a monkeypatch to get some information while debugging. I would love to see a properly supported implimentation for this! :+1:

Let's continue the discussion on #209

and there's this PR: https://github.com/httprb/http/pull/348, although the event API described in #209 looks nice :smile:


Plex URL is invalid

{from config.yml}
plex:
url: https://<IP_ADDRESS>:32400
token: reVb#############
clean_bundles: false
empty_trash: false
optimize: false
timeout: 60

Had this issue myself on my Unraid setup.
I changed the url to localhost:32400 and the script runs now.


testing/protocmp: add IgnoreUnsetFields

Is your feature request related to a problem? Please describe.
Comparing protobuf types in full with the cmp.Diff or cmp.Equal makes for a change detector test. This is because every time a new field is added to the protobuf all old tests need to be updated to have this field as well. This doesn't improve the confidence that the code is correct and introduces operational load on the engineers without other benefits.
Describe the solution you'd like
I'd like an option like protocmp.IngoreUnsetFields(m protobufMessage) to exist. It would be used by passing in the want protobuf message as the argument. E.g.
func TestMessageContent(t *testing.T) {
  content := "content"
  want := pb.Message_builder{
    Content: content,
  }
  got := MessageFromContent(content)
  if diff := cmp.Diff(want, got, protocmp.Transform(), protocmp.IgnoreUnsetFields(want)); diff != "" {
    t.Errorf(...)
  }
}

Describe alternatives you've considered
Alternatively, one has to manually implement the function by using the cmp.FilterField function.
Additional context
This started as a document created internally in Google because often when a field was added to a protobuf old tests needed to be changed. The addition of this function only partially solves the issues in that document, but it's a great first step!

Implementing an IgnoreUnsetFields function in protocmp seems straight-forward:
func IgnoreUnsetFields(want proto.Message) cmp.Option {
	msg := want.ProtoReflect()
	md := msg.Descriptor()
	fields := md.Fields()
	var names []protoreflect.Name
	for i := 0; i < fields.Len(); i++ {
		fd := fields.Get(i)
		if msg.Has(fd) {
			continue // field is set, do not ignore
		}
		names = append(names, fd.Name())
	}
	return protocmp.IgnoreFields(want, names...)
}

…but I’m curious to hear what others think about this addition.
cc @neild @dsnet

What's the expected behavior with field extensions?

What's the expected behavior with field extensions?

Good question. Can you spell out what the concerns and options are?
It sounds like maybe we’ll need to use protoreflect.Range instead of walking only the msg.Descriptor().Fields(). Or were you thinking of something else/more?
Thanks

I don't have any specific concerns, but just trying to remember things that would often bite us later on.
Overall this feature sounds fine. It reminds me of @neild's "messagediff" package, which IIRC had an asymmetrical comparison that did something similar.

For extensions, I'd expect IgnoreUnsetFields(want) to ignore any extensions not set in want. I think that might require some additional handling beyond @stapelberg's implementation above.
The messagediff package (Google-internal) was based on a C++ library (not sure if that one is internal or open source) that contained a "partial compare" which compares two messages, considering only fields set on the right-hand message. This is quite convenient in tests.
I wonder if the IgnoreUnsetFields feature could work as a general-purpose cmp or cmpopt option, not a protocmp proto-specific one.
got := map[string]int{"a": 1, "b": 2}
want := map[string]int{"a": 1}
diff := cmp.Diff(got, want, cmpopts.IgnoreZero(want)) // ignores "b"

And perhaps a PartialDiff helper:
func PartialDiff(got, want any, opts ...Option) string {
  return cmp.Diff(x, y, IgnoreZero(y), cmp.Options(opts))
}

I was curious about the messagediff package, thanks for mentioning it. It seems like the idea there is similar to the cmpopts.IgnoreFields. Those approaches suffer from the same problem this proposal is trying to address.
The way I see it, the biggest value of having an IgnoreUnsetFields (or maybe a better name would be IgnoreFieldsFrom) function over other approaches that can tackle the same problem is that the proposed approach here is compatible with parametrized tests that are so popular in Go.
| full structure comparison (status quo) | field-by-field comparison | filter field names you care about explicitly – FilterField(fieldName string) | filter field names you don't care about – IgnoreField(fieldName string) | [PROPOSED HERE] ignoreUnsetFields(msg proto.Message)
-- | -- | -- | -- | -- | --
Is it possible to test all deterministic behavior? | yes | yes | yes | yes | yes
Readability-wise, is it obvious what the code is doing? | yes | yes | yes | yes | yes
Does the test return all values that are different in the want and got part of the test? | yes | no | yes | yes | yes
When a new field is added to the structure a function is returning and it starts populating it, does the test still pass? | no, the hard-coded value of the test needs to be updated (yellow because this is the intended behavior) | yes | yes | no, the test fails because a new field has to be ignored | yes
Can you avoid mocking fields the test isn't concerned with? | no | yes | yes | yes | yes
Can the comparison library avoid using reflection? | yes | yes | yes | yes | yes
How many times do you need to refer to the same fields? | once | twice – once in the want assignment and once in the comparison | twice – once in the want assignment and once in the filters | once | once
How do the lines of code needed to write a test depend on the number of fields that need (n) or don't need to be compared (m)? | n + m – specifying the fields of the want value | 2m – specifying the fields of the want value and number of comparison lines for each field | 2m – specifying the fields of the want value and number of filters | n + m – specifying the fields of th want value and number of filters | m – specifying the fields of the want value
Works well with parameterized tests? | yes | no | no | no | yes
I couldn't find a downside with the proposed approach, but there might be something I'm not considering and I should. I share the concern with @dsnet that there might be some unforeseen complications that will come to bite us later on.
The way I'll proceed is by creating this function in my team/org and popularizing it there.

The messagediff package (Google-internal) was based on a C++ library (not sure if that one is internal or open source) that contained a "partial compare" which compares two messages, considering only fields set on the right-hand message. This is quite convenient in tests.

Are you referring to https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/util/message_differencer.h perhaps? It is a C++ message diffing library with partial comparison support.

[comparison table] Can the comparison library avoid using reflection?

I don’t think your “yes”es in this row are correct. The cmp library certainly uses reflection, and so does protoreflect.

I wonder if the IgnoreUnsetFields feature could work as a general-purpose cmp or cmpopt option, not a protocmp proto-specific one.

Perhaps! Though it might be prudent to start with a protocmp option that knows about protobuf messages, and later replace it with a call to the general-purpose IgnoreUnsetFields() if that is indeed a drop-in replacement.
@MasterMedo filed https://github.com/google/go-cmp/issues/345 and retracted it with this comment:

I'm retracting this feature request. Structs are significantly different from Protobuf messages in the sense that the primitive values of structs don't have corresponding HasField functions. That would introduce a challenge in the current proposal because one couldn't distinguish between an unset primitive field and a field set to the default value of the primitive.

…but that’s not inherent to structs. proto3 does not have presence either (except for fields explicitly marked as “optional”), so it does not distinguish between an unset field and a default-valued field either. So, we’ll face the same issue with a protocmp option.
Returning to my original implementation:

Implementing an IgnoreUnsetFields function in protocmp seems straight-forward:
func IgnoreUnsetFields(want proto.Message) cmp.Option { … }

This function signature is different from the other protocmp signatures: the currently existing ones take a parameter to work with the type, whereas mine takes a parameter to work with the specific message. My signature is problematic because it requires an odd structure for table-driven tests: instead of preparing opts := []cmp.Option{protocmp.Transform(), …} once and then calling cmp.Diff(tt.want, got, opts) for each table entry, my signature requires re-constructing the opts based on tt.want for each table entry.
I think we should try to come up with an implementation that matches the semantics of the existing options better. I had a quick look at it, but diving into cmp’s bowels requires more time than I can spend on this right now. Suggestions and contributions welcome.

Are you referring to https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/util/message_differencer.h perhaps? It is a C++ message diffing library with partial comparison support.

Yes, that's the one. The Google-internal messagediff package was my attempt at providing a Go alternative to it. (This predated official protobuf reflection, so the messagediff internals were quite a mess. Joe rewrote messagediff to use protobuf reflection at some point, and designed cmp/protocmp as a more general-purpose replacement.)


How do I make links to pages?

I apologize for this stupid question, but I simply don't understand what I'm doing wrong. I believe I am following the documentation properly.
I have the following pages:

/var/www/html/site/pages/home/page.md
/var/www/html/site/pages/cv/page.md

all files and directories are owned by www-data. cache is off.
../home/page.md contains [link](/cv), but following the link gives a 404 error.
Running nginx on debian stable.

by default Flextype goes with apache config and didn't tested on nginx. Did you create a configuration file for your nginx server as we do for apache ? https://github.com/flextype/flextype/blob/master/.htaccess

Thanks for the response, I've tried some debugging, and now firefox opens the php files as BIN (attempting to save them), while qutebrowser just gives a 404. I have this in my nginx config:
server {
        server_name server.net www.server.net;
        listen 443 ssl default_server;
        listen [::]:443 ssl default_server;
        ssl_certificate /etc/letsencrypt/live/server.net/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/server.net/privkey.pem;

        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;

# first try to serve request as directory, then file, then php, then 404
        location / {
                try_files $uri $uri/ /index.php?$args =404;
        }

# pass PHP scripts to FastCGI server
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.1-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
        location ~ /\.ht {
                deny all;
        }
}

Working config (after clearing browser cache):
location ~ /(\.htaccess|\.git|flextype|vendor|CHANGELOG\.md|LICENSE\.txt|composer\.(json|lock)) {
                return 404;
        }

location / {
                try_files $uri $uri/ /index.php?$uri&$args;
        }

# pass PHP scripts to FastCGI server
location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.1-fpm.sock;
        }

Idea for docs improvement - add nginx section. What helped me debug was the pico cms nginx docs.

@mrjovanovic issue is fixed ?

Yes, sorry, thought I closed it.


[units test] how to test emitter.on()

Example with Jest:
I have emitter service(emitter.js)
import mitt from "mitt";
const emitter = mitt();
export default emitter;

Example test
import emitter from "./path-to-your-file/emitter.js";
jest.mock("./path-to-your-file/emitter.js");

describe("Some test name", () => {
  it("Right event after click", async () => {
    // some test code
    expect(emitter.emit).toHaveBeenCalledWith("right_event_name");
  })
});

Apparently you connect mitt in your main.js like that:
app.config.globalProperties.emitter = emitter;
So to make it work with tests as real event bus you can connect it to your jest.setup file as mocks:
`import { config } from '@vue/test-utils';
import mitt from 'mitt';
const emitter = mitt();
config.global.mocks = {emitter}
`

@tsiotska kudos to you, thx


Getting started with TAPEX for inference (handling a sum)

Hello and thank you for TAPEX.
I am pretty new to the world of table answering and transformers and am looking for some general thoughts.
When using the pretrained model (tapex-large-finetuned-wikisql) TAPEX returns an incorrect sum.
It is entirely likely that I need to fine tune the model, or perhaps it was not designed to answer these types of questions.
Are you able to help me understand, generally, why this might be the case?
Any insights would be much appreciated 🙌.
HuggingFace widget:

Python example from docs

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("microsoft/tapex-large-finetuned-wtq")
model = AutoModelForSeq2SeqLM.from_pretrained("microsoft/tapex-large-finetuned-wtq")

data={'Repository': ['Transformers', 'Datasets', 'Tokenizers'],
      'Stars': ['36542', '4512', '3934'],
      'Contributors': ['651', '77', '34'],
      'Programming language': ['Python', 'Rust', 'NodeJS']
}

table = pd.DataFrame.from_dict(data)

query='what is the sum of stars for the Datasets and Tokenizers repositories?'

encoding = tokenizer(table=table, query=query, return_tensors="pt")

outputs = model.generate(**encoding)

print(tokenizer.batch_decode(outputs, skip_special_tokens=True))

Output:
[' 6338']
Expected output:
[' 8446']

@Alcampopiano Thanks for your interest on our work! Yes it could be true since TAPEX is a generative model. In other words, it generates the sum of results from scratch. It should be also a problem even for ChatGPT models I think.

Thanks very much @SivilTaram. I understand!
Take care and I will close this issue.


Determine release branch from workflow branch

When doing a release right now there is 3 inputs:

Use workflow from
branch
version

It should not be needed to specify the branch as it should always be the same as the branch the workflow is ran from.
For example releasing 20.0.1 should be using the 20.0 branch of workflows, and also the 20.0 branch of repositories. Hence we should be able to just use github.ref_name instead of asking for the branch to be input as well.

Not going to do this, as it would require creating release branches when doing test releases


Global state

I am trying to figure out how to use this library server-side, and I could use some pointers.
The current challenge is handling global state in refluxjs. I don't want to share state between requests.
Currently my strategy is to recreate the stores between every request to make sure no state is shared.
But then I noticed that the stores are pushed in keep.js making the array in keep.js grow larger. So that means that I have to reset the store between request.
Am I missing something, or is this the right way to go about this?

You can find some tips at #144, haven't gone through it all yet, but the general concensus is to rehydrate the stores instead of creating stores (since reflux keep track of all created stores). Someone wrote a mixin that does this data hydration automatically but I can't find it at this moment.

In my experience trying to make reflux working server-side makes the app rather complex, and I considered to keep reflux out of the server-side.
Anyway, you would need to rehydrate the stores on the client (with a simple mixin). Stores must have a unique name. To dehydrate you can use the good serialize-javascript npm module.

@gpbl I agree and understand that reflux is coded to be client only, the key is simply having a means of getting the data from server to client and still be able to support search engines as needed if it's part of the plans.

@gpbl  As stated there are means of rehydration the stores from server to client and that is the best option forgetting the search engines, and in fact their always alternatives to sever side rendering, let reflux stick to rehydration and dehydration and let a custom rendering system be made to deal with search engines and the likes

As to the question and problem @bjornua ,i would advice the rehydration route, creating and tearing down stores means more cup work and as you say isn't memory efficient, look to #144 for a detail on the hydration solution

In my exploration on the subject I went up to server-side rendering, keeping reflux working client side.
Your route handler component can pass the stores state (that to be dehydrated) as prop:
// server side
const markup = React.renderToString(<Handler storesState={storesState} {...i18n} />);
// now send markup with dehydrated state as response

The Handler would use a mixin to consume the storesState prop when rendered server side, or the store's initialState when it has been rehydrated on the client:
// StoresStateMixin.js
export default {
  getStoreInitialState(store) {
    if (env.SERVER && this.props.storeState && this.props.storeState[store.name])
        return this.props.storeState[name];
    else
      return store.getInitialState();
  }
};
// route handler example
const MyRouteHandler = React.createClass({
  mixins: [StoresStateMixin],

  getInitialState() {
    const state = this.getStoreInitialState(myStore);
    return state
  },
  // ...

@gpbl what about avoiding Reflux.createActions calls on the serverside?
In my project, the top-level component acts as the controller, thus it depends on the stores (using a Reflux.connect mixin for each store). Reflux.createStore is called when the store module is required (which you seem to suggest I should avoid using mixins). But then, some of the child components are dependent on the actions because they call them directly per the flux pattern.
I think what you're saying is that I need the added complexity to avoid any Reflux.create* calls on the server?

what about avoiding Reflux.createActions calls on the serverside?

@schutterp what would you do instead? I'm not sure I understand how you create stores/actions.

Some of the child components are dependent on the actions because they call them directly per the flux pattern.

Are the actions called on componentWill/DidMount? Because in this case there's no way for the server to render the components again. Before your controller-component is rendered, the actions must be already completed, with your stores ready and filled up with data. In fact, it would help if actions could stay out of the component's lifecycle...
(keep in mind these are just experiments)


APEXMALHAR-2070 #resolve #comment

Added SpillableMultiSetInterface
Added in memory implementations of SpillableArrayList, SpillableMultiset, and SpillableByteArrayListMultimap

@chandnisingh @tweise please review

@chandnisingh updated interfaces to use Slice as suggested by Thomas

@ilooner please add the javadocs to new classes added and then I will merge it.
Thanks,
Chandni

@chandnisingh added javadoc


Bug Report Failed to load/reload settings

Environment
Windows build number: Win32NT             10.0.18362.0 Microsoft Windows NT 10.0.18362.0
Windows Terminal version git commit 2d0608d8c0f9d72f12329e8c2152a90f0335d3ea

Any other software?

Steps to reproduce
Launch freshly built and deployed terminal

Expected behavior
uses existing settings, no error box.

Actual behavior
produces error box
Failed to load settings
Setting could not be reloaded from file.  Check for syntax errors including trailing commas.
Temporarily using the Windows Terminal default settings.
Additional Information
Settings are unchanged from previous build from git on 9/9/2019
Opening settings and resaving file does nothing but make it reproduce the error dialog.
Using Visual Studio 2019 as the editor for the settings JSON.  Says no issues found, so my settings are syntactically valid.

The error dialog has useful information in it, would you mind actually sharing that information?

I see that you included the content in your original report.

Hey I'm just skimming through old issues, and it looks like this never got resolved.
@darthpale are you still seeing this anymore? Sorry we lost track of it!

It was resolved in the normal course of the dev cycle.

Awesome, thanks for following up!


Multiple Projects Support

How would I be able to route each project to its own page that describes it instead of all the projects when I click on any of them will send me to the same page coded here: {{ SingleProject.vue }}

Thank you @MoElaSec for opening this issue.
There are multiple ways you can do dynamic routing for projects and posts. I kept this project simple to cover essential features of Vue.js.
Here are some resources you can add dynamic routing for posts and projects:

https://router.vuejs.org/guide/essentials/dynamic-matching.html#catch-all-404-not-found-route
https://codesource.io/dynamic-routing-in-vuejs-explained-with-an-example/
https://dev.to/samzhangjy/creating-a-personal-blog-with-vue-js-part-1-getting-started-36nl

Let me know if this solves your problem so I can close this issue.

Thanks a lot...😀


Inline Datatables

So far, DataTables have always ran as a popup, and thus far I see no viable way to place them inline (e.g. within a screen). As such, this may result in a non-streamlined user ex. as the user will be click a button to view the data table.

@lemousehunter Tables are a very complex widget. Unfortunately, now there are no free resources to start optimizing this widget ...

I think I meant whether it is possible to implement MDDataTables inside a layout or screen instead of a dialog box

I think I meant whether it is possible to implement MDDataTables inside a layout or screen instead of a dialog box

@lemousehunter this would be quite useful, did you manage to implement this?

it's really a feature needed, since people might use it more in a Screen rather a dialog box. i tried once, but the touch was being digested by an unknown widget TT-TT

@podraco @senc22 I've created my own custom table...its a bit rough around the edges but works for my purpose. It works using a ScrollView rather than RecycleView, working on the princple of pagination (directly linked to a database). If you're interested do let me know I'll create a repo and put it up there...I'm not creating PR reason being the code is definitely not optimized like how most of the stuff on the MDKivy repo is...and I have neither the time nor the energy to do it. Also its a bit rough on the edges...such as Pagination not being implemented yet...

Thanks, i really apreciate that.
i already have done something similar, but the idea is to add it to kivyMD so everyone will be able to use it.

I can see why the feature hasnt been implemented tho...datatables are indeed a very complex widget (realised this after doing up a custom one from scratch) and there's no 'one size fits all' for everyone; each datatable is gonna be needed to be customized for the needs of each app so creating a generic one is gonna be hard...i guess thats why the devs decided on a dialog box instead? not too sure...am just speculating haha. Though I must say, I wish that creating a datatable in kivy and python is as easy as creating one in html... :')

i believe that if we use constructor, we might be able to do something similar to a generig datatable

it would be usefull if we use No SQL to store values, like a Json, or a pickle, and access to intervals in the file to show the elements needed.
"head":
    We save the order we want to show here
    "keys":[a,b,c,d]
    We declare the row list with their callbacks, the type of element and if they should be sort-able and in case, the sort call
    "a": [config ...]
    "b": [config ...]
    [etc ...]
"data":
Stored as CSV like values, every entry is a row and every item in the entry is the elemen in the order shown in databse[head][keys]
[1,2,3,4,],[1,2,3,4]
"config":
   general configuration of the database like, elements per page, or if the ammount of element should be rotating between them, etc, etc.
colors, boxes, drawings, and callback if you reach the end.

@lemousehunter I've modified the data table to be inline for a personal project. I can share the code if still needed.


How is one supposed to parse fragments given tag name as a string with lexbor?

In fast_html library, the client supplies the context tag name when parsing fragments as a string, then I used the following code to parse the fragment with myhtml:
    myhtml_tag_id_t context_tag_id;
    const myhtml_tag_context_t * context_tag_context = myhtml_tag_static_search(context_bin_data, context_bin_size);
    if (context_tag_context == NULL) {
      // pass the error to the client
    } else {
      context_tag_id = context_tag_context->id;
    }
   // ...
   myhtml_parse_fragment(tree, MyENCODING_UTF_8, bin_data, bin_size, context_tag_id, 0);

With lexbor it seems like rather than passing the tag id, you should create the context tag in the document using the appropriate interface and then pass the document and the context tag to lxb_html_document_parse_fragment. But the question is, how do I get the appropriate interface/create an appropriate tag given the tag name as a string?

Hi @rinpatch
Please, see example.
Or use lxb_dom_element_create().

Thanks!


Fix Compilation/Jenkins.

This fixed my forks compilation issues without using local libs.

I tried building it on my end and this does not work. Perhaps it was cached on your end. I will be looking into alternatives soon.


The hero.jpg show a bug

hello,
I find a BUG in photo show, hero.jpg and portrait.jpg in same folder static/img, but portrait.jpg could show True, but hero.jpg show False, here is proof:

Hello!
I don't know why file name show messy code, could you help me to find the error location? Thank you

Hi @leo2n, were you able to run the exampleSite? I'm not sure why your hero isn't working. The Hugo call is happening in the file masthead_hero.html, I would look in there and try to debug.
Also, your screenshot suggests you didn't name your own hero image hero.jpg. Can you please make sure you've done that, or set the name to what you want in the appropriate markdown file (like exampleSite/content/blog/first.md).

Hello!
I had runned exampleSite, It shows the same result, but I found a question,
, avatar has it key-value, but portrait.jpg hasn't, I try add its key-value, but nothing happend.

Hello!
I just generated hugo public files, and I found in index.html, it show below:

I don't know why, if you need more debug information, please tell me, I will provide any debug information you need, thank you!

The avatar has a value in the config.toml because it is meant to be site-wide. The hero image is set per post. Look in exampleSite/content/blog/first.md and notice that the front-matter is:
title: "This is a blog post"
hero_image: "hero.jpg"
date: 2018-07-24T17:44:36-07:00
description: "This is a blog description."

Try changing the value of hero_image here.

Hello!
The question is solved, thank you!

Hello!
Do you have a interest to create a new feature, TAGS, that can give some article a new tag name and people could through tags to find article, thank you!

Tags and taxonomies are definitely on my todo list. Feel free to open a PR as well!


accessToken not being used when provided by client over socketio

In the react native app which connects with socketsio, I think I got auth working. But when services are called, there's a timeout of 5000ms (p.s. 5000ms definitely doesn't pass and the app would've started 2 seconds before):
// The first fail is intended as no jwt is found in localstorage. The 2nd is successful and returns accessToken and userId in payload
Auth failed Error: Could not find stored JWT and no authentication strategy was given(…)
response from local auth: Object {accessToken: "eyJ..."}
payload: Object {userId: "mWAWCagp3RMKMAW9", iat:<PHONE_NUMBER>, exp:<PHONE_NUMBER>, aud: "https://yourdomain.com", iss: "feathers"…}
Auth failed Error: Timeout of 5000ms exceeded calling users::get(…)

So I checked the feathers server debug logs and found that the auth was successful (and the client could get and use it). But when the .find() request was made, this happened:
socket.io-parser decoded 22["users::get","mWAWCagp3RMKMAW9",{}] as {"type":2,"nsp":"/","id":2,"data":["users::get","mWAWCagp3RMKMAW9",{}]} +63ms
  socket.io:socket got packet {"type":2,"nsp":"/","id":2,"data":["users::get","mWAWCagp3RMKMAW9",{}]} +63ms
  socket.io:socket emitting event ["users::get","mWAWCagp3RMKMAW9",{}] +1ms
  socket.io:socket attaching ack callback to event +0ms
  socket.io:socket dispatching an event ["users::get","mWAWCagp3RMKMAW9",{},null] +0ms
  feathers-socket-commons:methods Got 'users::get' event with connection +1ms { provider: 'socketio',
  user:
   { email<EMAIL_ADDRESS>     password: '$2a$10$1TmNLKJIet6u6ML5p/dZ4e9WWtOHhVlFW4uUobKZBdbG9SuZZLXeu',
     _id: 'mWAWCagp3RMKMAW9' },
  payload: { userId: 'mWAWCagp3RMKMAW9' },
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6ImFjY2VzcyJ9.eyJ1c2VySWQiOiJtV0FXQ2FncDNSTUtNQVc5IiwiaWF0IjoxNDg0NzE2NDA1LCJleHAiOjE0ODQ4MDI4MDUsImF1ZCI6Imh0dHBzOi8veW91cmRvbWFpbi5jb20iLCJpc3MiOiJmZWF0aGVycyIsInN1YiI6ImFub255bW91cyJ9.XUBjjzz3bRhnSm1KGvkOfqmfoXyo7QiKzsOEp7lUbKo',
  headers: { Authorization: 'eyJhbGciOiJIUzI1NiIsInR5cCI6ImFjY2VzcyJ9.eyJ1c2VySWQiOiJtV0FXQ2FncDNSTUtNQVc5IiwiaWF0IjoxNDg0NzE2NDA1LCJleHAiOjE0ODQ4MDI4MDUsImF1ZCI6Imh0dHBzOi8veW91cmRvbWFpbi5jb20iLCJpc3MiOiJmZWF0aGVycyIsInN1YiI6ImFub255bW91cyJ9.XUBjjzz3bRhnSm1KGvkOfqmfoXyo7QiKzsOEp7lUbKo' },
  authenticated: true }
  feathers-errors NotAuthenticated(401): Authentication token missing. +2ms
  feathers-socket-commons:methods Error calling users::get +1ms { NotAuthenticated: Authentication token missing...

Expected behavior
Return service .Find() data.
Actual behavior
401 Not Authorized - auth token missing, even if provided by feathers-client
System configuration
Tell us about the applicable parts of your setup.
Using feathers 2.0.3 and feathers-athentication 1.0.2, latest feathers client
And latest react native.
Also, did migration of feathers-athentication to 1.X and using feathers-permissions

Are you calling find after your authentication promise has returned? We haven't had any issues on React Native and have been using the new auth for a while.

debugger-ui:94 Console was cleared
index.android.bundle:40972 Running application "HomeChefApp" with appParams: {"initialProps":{},"rootTag":1}. _DEV_ === true, development-level warning are ON, performance optimizations are OFF

// As expected with no stored jwt in storage.
index.android.bundle:72916 jwt Auth failed Error: Could not find stored JWT and no authentication strategy was given(…)

// Socket connect
index.android.bundle:72958 connect

// Local auth successful
index.android.bundle:72945 response from local auth: Object {accessToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6ImFjY2VzcyJ9.eyJ1c2VyS…1cyJ9.XUBjjzz3bRhnSm1KGvkOfqmfoXyo7QiKzsOEp7lUbKo"}

// Calling authenticate() so it uses stored jwt, returns same token, with payload
index.android.bundle:72906 result: Object {accessToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6ImFjY2VzcyJ9.eyJ1c2VyS…1cyJ9.XUBjjzz3bRhnSm1KGvkOfqmfoXyo7QiKzsOEp7lUbKo"}
index.android.bundle:72909 payload: Object {userId: "mWAWCagp3RMKMAW9", iat:<PHONE_NUMBER>, exp:<PHONE_NUMBER>, aud: "https://yourdomain.com", iss: "feathers"…}

// This happens inside the promise, hence the unrelated "jwt auth error" tag:
// this.app.service('users').get(payload.userId);
index.android.bundle:72916 jwt Auth failed Error: Timeout of 5000ms exceeded calling users::get(…)

The relevant client side code:
this.app.authenticate()
              .then( (result) => {
                  console.log('result:', result);
                  return this.app.passport.verifyJWT(result.accessToken);
              }).then( (payload) => {
                  console.log('payload:', payload);
                  // this.app.service('foods').get('5877783b2aa1cc1c04a0c1e3').then(result => {console.log('Foods result:', result);});
                  return this.app.service('users').get(payload.userId);  // My jwtoken contains the user's id
              }).then ( (user) => {
                  this.app.set('user', user);
                  renderApp(user);     // Start up the application proper
              }).catch(function(error){
                  console.log("jwt Auth failed", error);
                  // renderLogin();  // Show the login form
              });

@ekryski?

Hmmm. Everything looks right. We have it working on RN without any issues but maybe there is a bug somewhere. The token should be stored in localstorage after the first .then after authenticate. @rithvikvibhu any chance you can post a link to simplified RN project? It will help immensely with debugging. 😄

@ekryski Do you have an RN socket reference project (or at least an index.js) using auth 1.0 you can share?  I'm facing a similar issue.

@ekryski I have the projects on GitLab (sorry github, its not you, its me) so I've made them public for now (till this issue is closed)
Server: https://gitlab.com/rithvikvibhu/homechef-feathers
React Native App: https://gitlab.com/rithvikvibhu/homechef-app
Not very neat, i know

@rithvikvibhu I looked at your source...check your user hooks.  There is a reference to verifyTokenwhich is most likely your issue.

I thought that the legacy hooks could still be used through feathers-legacy-authentication-hooks?
I will switch to feathers-permissions and get back here if it works.

Sorry about the delay.
Since feathers-permissions isn't finalized and I couldn't find any examples on using it, I can't implement it right now.

@rithvikvibhu you can use the legacy-hooks (now renamed to feathers-authentication-hooks until permissions are ready).
Instead of the lines here: https://gitlab.com/rithvikvibhu/homechef-feathers/blob/master/src/services/user/hooks/index.js#L12-13
You just want to have auth.hooks.authenticate('jwt'). Just replace the verifyToken and populateUser hooks with the authenticate one everywhere and you should be good. authenticate does both of those internally now.

Let us know if that doesn't work and we can re-open the issue. I'm going to close this for now to keep our issues triaged. 😄


ARM Support

Arm currently compiles, but crashes with multiple threads.  Our fastlock implementation assumes X86's very strong memory model.  This needs to be updated for ARM.

Fixed: ab9122f2cb910bb5560a9fde16bc3c096ecfb510


chore: settings

Added Settings page with basic account details and change password page

Your form fields also look muddled up, some spacing on y axis would be nice

OK


Issue and PR templates

It would be really nice to have an Issue and PR template for the repo because it will help to understand and format the issues and the changes proposed through a PR more accurately.
I can work on this, please assign it to me

I added this information to the https://github.com/k8sgpt-ai/.github repository

@AlexsJones: I think this issue can be closed ...


Documentation / Example of how to use?

It's really not clear how to use that module, but since it's maintained, I wonder if there's any chance to get example of how to use? (readme example is not working, due to imports of ../../lib/database, etc)
Thanks

Hi
It hardly depends how you use sequelize in your project, that's why I do not show the "database.js" content, because I don't want to influence your implementation
However, if you want some working examples, I suggest you go to the examples folder: https://github.com/rochejul/sequelize-mocking/tree/master/examples
The "debug" folder is used to check an issue and illustrate the resolution (or not)
The others are examples how to use sequelize-mocking through jasmine, mocha and tape
Regards

No feedbacks, I close this issue
Many thanks


Internal server error with docker

I hvae cloned git repo and build docker image. Then ran docker-compose up. When I access https://<IP_ADDRESS>:5000/ it gives internal server error and below error on command line
nettacker_1  | UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 36457: ordinal not in range(128)

OS: Ubuntu
OS Version: 20.04
Python Version: 2.7

This docker image pulls python2.7 which is leads to UnicodeDecodeError when it start the api (issue same as #359 ). Soon this issue going to be solved until before that use this tool with python3.

This docker image pulls python2.7 which is leads to UnicodeDecodeError when it start the api (issue same as #359 ). Soon this issue going to be solved until before that use this tool with python3.

hi @akashtalole  this has been fixed now and tested to work fine in Ubuntu 20.04 please try to do a fresh git clone and docker-compose up

hi @akashtalole  this has been fixed now and tested to work fine in Ubuntu 20.04 please try to do a fresh git clone and docker-compose up

fixed in PR #359

fixed in PR #359

Thanks working now.


Adds the required field spec.projectID for ProviderConfig creation …

…in Upbound

Description of your changes
In Upbound, package/auth.yaml is used to configure what fields are exposed to create ProviderConfig objects. The required field spec.projectID was missing for GCP.
-->
Fixes #https://github.com/upbound/squad-upbound-cloud/issues/1248
I have:

[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

Built and pushed a package with this change and updated my personal Configuration's dependencies in Upbound to use the artifact.
Verified the projectID field is exposed and a ProviderConfig can be created.

There are some documentation improvements that we can make here before we merge. However, I was able to confirm that the control plane is successfully provisioning external infrastructure in GCP.


Streamlit app down

Not sure why yet, but the streamlit app is not working :-(  Error message on the streamlit app page is "Whoops — something went wrong! An error has been logged."

Here's the log from building the app
logs-geothermal-resource-capacity-power-density-main-streamlit-Power-Density_streamlit.py-2022-04-03T10 55 20.314Z.txt

App is running again. We had the versions frozen in the old requirements.txt, so a streamlit version was installed, which didn't yet have the columns method.
I unfroze the requirements and removed the old one.
Just for the archive (so we don't need to dig through commits in a future, when we'd potentially need the old requirements), these were the old requirements:
altair==4.1.0
matplotlib==3.3.4
matplotlib-inline==0.1.2
numpy==1.20.1
pandas==1.2.4
pip==21.0.1
plotly==4.14.3
scipy==1.6.2
streamlit==0.82.0


Parameter store values don't always override packaged values when using spring.config.import

Type: Bug
Component:  "Parameter Store"
Describe the bug
spring-cloud-version: 2021.0.0
spring-cloud-aws-version: 2.3.4
When using the now legacy bootstrap process, parameter store values always overrode packaged values. This doesn't seem to always be the case any more when using the recommended spring.config.import method. If parameter store properties are imported via spring.config.import in  application.yml, and a property that is defined in parameter store is also defined in a packaged profile specific property file, the packaged property is not overridden by the parameter store value.
Sample
packaged application.yml:
spring:
  application:
    name: TestApp
  config:
    import:
      - "aws-parameterstore:"

my-company:
  service-a:
    url: "https://mycompany.com/pagacked-application-yml-value.txt"

packaged application-prod.yml:
my-company:
  service-a:
    url: "https://mycompany.com/pagacked-application-prod-yml-value.txt"

parameter store values:
/config/TestApp/my-company.service-a.url=https://mycompany.com/parameter-store-app-default-value.txt
/config/TestApp_prod/my-company.service-a.url=https://mycompany.com/parameter-store-app-prod-value.txt

Current behavior:
my-company.service-a.url resolved as https://mycompany.com/pagacked-application-prod-yml-value.txt
Expected behavior:
my-company.service-a.url resolved as https://mycompany.com/parameter-store-app-prod-value.txt

Hey @darrelldraney,
This is expected behavior for Spring. Please refer following article link.
Something that could work for you would be the following:
In application.yaml have something like:
 spring:   config:     import:       - application-prod.yaml       - aws-parameterstore:/config/spring/
In application-prod.yaml have something like:
 spring:   config:     activate:       on-profile: prod my-company:   service-a:     url: "https://mycompany.com/pagacked-application-prod-yml-value.txt"
You have to specify application-prod.yaml in spring.config.import otherwise it will override values. Note that you use spring.config.activate.on-profile to control which files will be activated on which profile. Please check the article, since the article is really describing how loading works and goes into detail about how the Spring team sees defining properties.
I tried this example myself and got the result you were expected. Hope this answer helps you.


Rename to AreaInterpolation?

It seems more intuitive to me - I had initially called it ArealInterpolation because of the R package, but when typing it's the kind of thing that I can imagine a bunch of users would get confused by.

Yes. Especially because the l and I look very much the same in GitHub.

Oh wow -- I couldn't tell what you were talking about until you pointed that out @felixcremer. I am of the same accord as Felix here, Anshul. Maybe something like GeoInterpolation.jl for now?

I thougthy exactly the same thing with the lI looking the same in some fonts

Done!


[MOB-2308] xcframework generator scripts

Is this solution working? Have you tested whether the binaries work in simulator as well as devices?

Is this solution working? Have you tested whether the binaries work in simulator as well as devices?

Tested on all simulator models (e.g. different iPad/iPhone generations), device (when set to optional target membership), archiving, building and running!