terminate called after throwing an instance of 'tensorrt_llm::common::TllmException' Assertion failed: Failed: MPI error

System Info
CentOS Linux release 7.9.2009
Nvida A40 * 4
llama-2-13b-hf
TensorRT-LLM version: 0.11.0.dev2024061800
Who can help?
No response
Information

[ ] The official example scripts
[ ] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction
python3 convert_checkpoint.py --model_dir /media/Llama-2-13b-hf/  --output_dir /media/tllm_checkpoint_4gpu_tp4  --dtype float16  --tp_size 4
trtllm-build --checkpoint_dir /media/tllm_checkpoint_4gpu_tp4  --output_dir /media/llama-13b-engines-fp16-4gpu  --gemm_plugin float16 --multi_block_mode enable
python3 run.py --engine_dir /media/llama-13b-engines-fp16-4gpu  --max_output_len 1024 --tokenizer_dir /media/Llama-2-13b-hf/ --input_text "hello"
Expected behavior
Shorten reasoning time and answer questions correctly
actual behavior
terminate called after throwing an instance of 'tensorrt_llm::common::TllmException'
what():  [TensorRT-LLM][ERROR] Assertion failed: Failed: MPI error /home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/common/mpiUtils.cpp:211 '6' (/home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/common/mpiUtils.cpp:211)
1       0x7fb4aebbeb71 tensorrt_llm::common::throwRuntimeError(char const*, int, std::string const&) + 82
2       0x7fb4aebbf999 /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(+0x728999) [0x7fb4aebbf999]
3       0x7fb461502a4e /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libnvinfer_plugin_tensorrt_llm.so(+0x15da4e) [0x7fb461502a4e]
4       0x7fb4614edcec tensorrt_llm::plugins::AllreducePlugin::initialize() + 204
5       0x7fb580fb46e5 /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x108c6e5) [0x7fb580fb46e5]
6       0x7fb580f41de2 /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x1019de2) [0x7fb580f41de2]
7       0x7fb580f499dd /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x10219dd) [0x7fb580f499dd]
8       0x7fb580f4a93d /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x102293d) [0x7fb580f4a93d]
9       0x7fb580f4ada4 /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x1022da4) [0x7fb580f4ada4]
10      0x7fb580f7f7d0 /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x10577d0) [0x7fb580f7f7d0]
11      0x7fb580f80808 /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x1058808) [0x7fb580f80808]
12      0x7fb580f8090b /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x105890b) [0x7fb580f8090b]
13      0x7fb4b06ab004 tensorrt_llm::runtime::TllmRuntime::TllmRuntime(tensorrt_llm::runtime::RawEngine const&, nvinfer1::ILogger*, float, bool) + 1348
14      0x7fb4b08c7c72 tensorrt_llm::batch_manager::TrtGptModelInflightBatching::TrtGptModelInflightBatching(std::shared_ptrnvinfer1::ILogger, tensorrt_llm::runtime::ModelConfig const&, tensorrt_llm::runtime::WorldConfig const&, tensorrt_llm::runtime::RawEngine const&, bool, tensorrt_llm::batch_manager::TrtGptModelOptionalParams const&) + 962
15      0x7fb4b08eaaf4 tensorrt_llm::executor::Executor::Impl::createModel(tensorrt_llm::runtime::RawEngine const&, tensorrt_llm::runtime::ModelConfig const&, tensorrt_llm::runtime::WorldConfig const&, tensorrt_llm::executor::ExecutorConfig const&) + 420
16      0x7fb4b08eb388 tensorrt_llm::executor::Executor::Impl::loadModel(std::optionalstd::filesystem::path const&, std::optional<std::vector<unsigned char, std::allocator > > const&, tensorrt_llm::runtime::GptJsonConfig const&, tensorrt_llm::executor::ExecutorConfig const&, bool) + 1304
17      0x7fb4b08f0b04 tensorrt_llm::executor::Executor::Impl::Impl(std::filesystem::path const&, std::optionalstd::filesystem::path const&, tensorrt_llm::executor::ModelType, tensorrt_llm::executor::ExecutorConfig const&) + 1764
18      0x7fb4b08e5ad0 tensorrt_llm::executor::Executor::Executor(std::filesystem::path const&, tensorrt_llm::executor::ModelType, tensorrt_llm::executor::ExecutorConfig const&) + 64
19      0x7fb52bae8df2 /usr/local/lib/python3.10/dist-packages/tensorrt_llm/bindings.cpython-310-x86_64-linux-gnu.so(+0xb5df2) [0x7fb52bae8df2]
20      0x7fb52ba8beac /usr/local/lib/python3.10/dist-packages/tensorrt_llm/bindings.cpython-310-x86_64-linux-gnu.so(+0x58eac) [0x7fb52ba8beac]
21      0x55d6c2c6010e python3(+0x15a10e) [0x55d6c2c6010e]
22      0x55d6c2c56a7b _PyObject_MakeTpCall + 603
23      0x55d6c2c6ec20 python3(+0x168c20) [0x55d6c2c6ec20]
24      0x55d6c2c6b087 python3(+0x165087) [0x55d6c2c6b087]
25      0x55d6c2c56e2b python3(+0x150e2b) [0x55d6c2c56e2b]
26      0x7fb52ba8b4cb /usr/local/lib/python3.10/dist-packages/tensorrt_llm/bindings.cpython-310-x86_64-linux-gnu.so(+0x584cb) [0x7fb52ba8b4cb]
27      0x55d6c2c56a7b _PyObject_MakeTpCall + 603
28      0x55d6c2c4f629 _PyEval_EvalFrameDefault + 27257
29      0x55d6c2c6e7f1 python3(+0x1687f1) [0x55d6c2c6e7f1]
30      0x55d6c2c6f492 PyObject_Call + 290
31      0x55d6c2c4b5d7 _PyEval_EvalFrameDefault + 10791
32      0x55d6c2c609fc _PyFunction_Vectorcall + 124
33      0x55d6c2c4926d _PyEval_EvalFrameDefault + 1725
34      0x55d6c2c459c6 python3(+0x13f9c6) [0x55d6c2c459c6]
35      0x55d6c2d3b256 PyEval_EvalCode + 134
36      0x55d6c2d66108 python3(+0x260108) [0x55d6c2d66108]
37      0x55d6c2d5f9cb python3(+0x2599cb) [0x55d6c2d5f9cb]
38      0x55d6c2d65e55 python3(+0x25fe55) [0x55d6c2d65e55]
39      0x55d6c2d65338 _PyRun_SimpleFileObject + 424
40      0x55d6c2d64f83 _PyRun_AnyFileObject + 67
41      0x55d6c2d57a5e Py_RunMain + 702
42      0x55d6c2d2e02d Py_BytesMain + 45
43      0x7fb6e5dabd90 /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7fb6e5dabd90]
44      0x7fb6e5dabe40 __libc_start_main + 128
45      0x55d6c2d2df25 _start + 37
*** Process received signal ***
Signal: Aborted (6)
Signal code:  (-6)
[ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7fb6e5dc4520]
[ 1] /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c)[0x7fb6e5e189fc]
[ 2] /lib/x86_64-linux-gnu/libc.so.6(raise+0x16)[0x7fb6e5dc4476]
[ 3] /lib/x86_64-linux-gnu/libc.so.6(abort+0xd3)[0x7fb6e5daa7f3]
[ 4] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xa2b9e)[0x7fb643676b9e]
[ 5] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xae20c)[0x7fb64368220c]
[ 6] /lib/x86_64-linux-gnu/libstdc++.so.6(+0xad1e9)[0x7fb6436811e9]
[ 7] /lib/x86_64-linux-gnu/libstdc++.so.6(__gxx_personality_v0+0x99)[0x7fb643681959]
[ 8] /lib/x86_64-linux-gnu/libgcc_s.so.1(+0x16884)[0x7fb6e5ab4884]
[ 9] /lib/x86_64-linux-gnu/libgcc_s.so.1(_Unwind_Resume+0x12d)[0x7fb6e5ab52dd]
[10] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(+0x7289c0)[0x7fb4aebbf9c0]
[11] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libnvinfer_plugin_tensorrt_llm.so(+0x15da4e)[0x7fb461502a4e]
[12] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libnvinfer_plugin_tensorrt_llm.so(_ZN12tensorrt_llm7plugins15AllreducePlugin10initializeEv+0xcc)[0x7fb4614edcec]
[13] /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x108c6e5)[0x7fb580fb46e5]
[14] /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x1019de2)[0x7fb580f41de2]
[15] /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x10219dd)[0x7fb580f499dd]
[16] /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x102293d)[0x7fb580f4a93d]
[17] /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x1022da4)[0x7fb580f4ada4]
[18] /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x10577d0)[0x7fb580f7f7d0]
[19] /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x1058808)[0x7fb580f80808]
[20] /usr/local/lib/python3.10/dist-packages/tensorrt_libs/libnvinfer.so.10(+0x105890b)[0x7fb580f8090b]
[21] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(_ZN12tensorrt_llm7runtime11TllmRuntimeC1ERKNS0_9RawEngineEPN8nvinfer17ILoggerEfb+0x544)[0x7fb4b06ab004]
[22] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(_ZN12tensorrt_llm13batch_manager27TrtGptModelInflightBatchingC1ESt10shared_ptrIN8nvinfer17ILoggerEERKNS_7runtime11ModelConfigERKNS6_11WorldConfigERKNS6_9RawEngineEbRKNS0_25TrtGptModelOptionalParamsE+0x3c2)[0x7fb4b08c7c72]
[23] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(_ZN12tensorrt_llm8executor8Executor4Impl11createModelERKNS_7runtime9RawEngineERKNS3_11ModelConfigERKNS3_11WorldConfigERKNS0_14ExecutorConfigE+0x1a4)[0x7fb4b08eaaf4]
[24] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(_ZN12tensorrt_llm8executor8Executor4Impl9loadModelERKSt8optionalINSt10filesystem4pathEERKS3_ISt6vectorIhSaIhEEERKNS_7runtime13GptJsonConfigERKNS0_14ExecutorConfigEb+0x518)[0x7fb4b08eb388]
[25] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(_ZN12tensorrt_llm8executor8Executor4ImplC2ERKNSt10filesystem4pathERKSt8optionalIS4_ENS0_9ModelTypeERKNS0_14ExecutorConfigE+0x6e4)[0x7fb4b08f0b04]
[26] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(_ZN12tensorrt_llm8executor8ExecutorC2ERKNSt10filesystem4pathENS0_9ModelTypeERKNS0_14ExecutorConfigE+0x40)[0x7fb4b08e5ad0]
[27] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/bindings.cpython-310-x86_64-linux-gnu.so(+0xb5df2)[0x7fb52bae8df2]
[28] /usr/local/lib/python3.10/dist-packages/tensorrt_llm/bindings.cpython-310-x86_64-linux-gnu.so(+0x58eac)[0x7fb52ba8beac]
[29] python3(+0x15a10e)[0x55d6c2c6010e]
*** End of error message ***
Aborted (core dumped)
additional notes
N/A

Please change python3 run.py --engine_dir /media/llama-13b-engines-fp16-4gpu --max_output_len 1024 --tokenizer_dir /media/Llama-2-13b-hf/ --input_text "hello"
to
mpirun -n 4 --allow-run-as-root python3 run.py --engine_dir /media/llama-13b-engines-fp16-4gpu --max_output_len 1024 --tokenizer_dir /media/Llama-2-13b-hf/ --input_text "hello"

I had this problem first, then I modified the parameters and then I got an MPI error.
################
Traceback (most recent call last):
File "/media/TensorRT-LLM-main/examples/run.py", line 503, in
main(args)
File "/media/TensorRT-LLM-main/examples/run.py", line 340, in main
runner = runner_cls.from_dir(**runner_kwargs)
File "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/runtime/model_runner_cpp.py", line 202, in from_dir
world_config = WorldConfig.mpi(tensor_parallelism=tp_size,
RuntimeError: [TensorRT-LLM][ERROR] Assertion failed: mpiSize == tp * pp (/home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/runtime/worldConfig.cpp:99)
##############
"mapping": {
"world_size": 1,
"gpus_per_node": 8,
"tp_size": 1,
"pp_size": 1,
"moe_tp_size": 4,
"moe_ep_size": 1
}
I changed "tp_size":4 to "tp_size":1, "world_size":4 to "world_size":1

@nv-guomingz I tried your command.
When "mapping": {
"world_size": 1,
"gpus_per_node": 8,
"tp_size": 1,
"pp_size": 1,
"moe_tp_size": 4,
"moe_ep_size": 1
}
I got error:
Traceback (most recent call last):
File "/media/TensorRT-LLM-main/examples/run.py", line 503, in
main(args)
File "/media/TensorRT-LLM-main/examples/run.py", line 340, in main
runner = runner_cls.from_dir(*runner_kwargs)
File "/usr/local/lib/python3.10/dist-packages/tensorrt_llm/runtime/model_runner_cpp.py", line 202, in from_dir
world_config = WorldConfig.mpi(tensor_parallelism=tp_size,
RuntimeError: [TensorRT-LLM][ERROR] Assertion failed: mpiSize == tp * pp (/home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/runtime/worldConfig.cpp:99)
1       0x7ff3a6bbeb71 tensorrt_llm::common::throwRuntimeError(char const, int, std::string const&) + 82
2       0x7ff3a6bdf365 /usr/local/lib/python3.10/dist-packages/tensorrt_llm/libs/libtensorrt_llm.so(+0x748365) [0x7ff3a6bdf365]
3       0x7ff423aa37a6 /usr/local/lib/python3.10/dist-packages/tensorrt_llm/bindings.cpython-310-x86_64-linux-gnu.so(+0x707a6) [0x7ff423aa37a6]
4       0x7ff423a8beac /usr/local/lib/python3.10/dist-packages/tensorrt_llm/bindings.cpython-310-x86_64-linux-gnu.so(+0x58eac) [0x7ff423a8beac]
5       0x561ca0b4b10e python3(+0x15a10e) [0x561ca0b4b10e]
6       0x561ca0b41a7b _PyObject_MakeTpCall + 603
7       0x561ca0b3b150 _PyEval_EvalFrameDefault + 30112
8       0x561ca0b597f1 python3(+0x1687f1) [0x561ca0b597f1]
9       0x561ca0b5a492 PyObject_Call + 290
10      0x561ca0b365d7 _PyEval_EvalFrameDefault + 10791
11      0x561ca0b4b9fc _PyFunction_Vectorcall + 124
12      0x561ca0b3426d _PyEval_EvalFrameDefault + 1725
13      0x561ca0b309c6 python3(+0x13f9c6) [0x561ca0b309c6]
14      0x561ca0c26256 PyEval_EvalCode + 134
15      0x561ca0c51108 python3(+0x260108) [0x561ca0c51108]
16      0x561ca0c4a9cb python3(+0x2599cb) [0x561ca0c4a9cb]
17      0x561ca0c50e55 python3(+0x25fe55) [0x561ca0c50e55]
18      0x561ca0c50338 _PyRun_SimpleFileObject + 424
19      0x561ca0c4ff83 _PyRun_AnyFileObject + 67
20      0x561ca0c42a5e Py_RunMain + 702
21      0x561ca0c1902d Py_BytesMain + 45
22      0x7ff58de52d90 /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7ff58de52d90]
23      0x7ff58de52e40 __libc_start_main + 128
24      0x561ca0c18f25 _start + 37

@nv-guomingz
"mapping": {
"world_size": 4,
"gpus_per_node": 8,
"tp_size": 4,
"pp_size": 1,
"moe_tp_size": 4,
"moe_ep_size": 1
}
In this case, I got this error:
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[TensorRT-LLM][WARNING] Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
[TensorRT-LLM][WARNING] Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
Failed, NCCL error /home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/plugins/common/plugin.cpp:93 'unhandled system error (run with NCCL_DEBUG=INFO for details)'
Failed, NCCL error /home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/plugins/common/plugin.cpp:93 'unhandled system error (run with NCCL_DEBUG=INFO for details)'
Failed, NCCL error /home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/plugins/common/plugin.cpp:93 'unhandled system error (run with NCCL_DEBUG=INFO for details)'
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.

mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:
Process name: [[9389,1],3]
Exit code:    1

Hi @QLinfeng ,
may I know the exactly output of below commands w/o any modification on configuration file ?
python3 convert_checkpoint.py --model_dir /media/Llama-2-13b-hf/ --output_dir /media/tllm_checkpoint_4gpu_tp4 --dtype float16 --tp_size 4

trtllm-build --checkpoint_dir /media/tllm_checkpoint_4gpu_tp4 --output_dir /media/llama-13b-engines-fp16-4gpu --gemm_plugin float16 --multi_block_mode enable

mpirun -n 4 --allow-run-as-root python3 run.py --engine_dir /media/llama-13b-engines-fp16-4gpu --max_output_len 1024 --tokenizer_dir /media/Llama-2-13b-hf/ --input_text "hello"

@nv-guomingz
python3 convert_checkpoint.py --model_dir /media/Llama-2-13b-hf/ --output_dir /media/tllm_checkpoint_4gpu_tp4 --dtype float16 --tp_size 4
Total time of converting checkpoints: 00:00:42
trtllm-build --checkpoint_dir /media/tllm_checkpoint_4gpu_tp4  --output_dir /media/llama-13b-engines-fp16-4gpu  --gemm_plugin float16 --multi_block_mode enable
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[06/24/2024-05:45:38] [TRT-LLM] [I] Set bert_attention_plugin to auto.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set gpt_attention_plugin to auto.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set gemm_plugin to float16.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set gemm_swiglu_plugin to None.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set nccl_plugin to auto.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set lookup_plugin to None.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set lora_plugin to None.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set moe_plugin to auto.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set mamba_conv1d_plugin to auto.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set context_fmha to True.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set context_fmha_fp32_acc to False.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set paged_kv_cache to True.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set remove_input_padding to True.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set use_custom_all_reduce to True.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set reduce_fusion to False.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set multi_block_mode to True.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set enable_xqa to True.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set attention_qk_half_accumulation to False.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set tokens_per_block to 64.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set use_paged_context_fmha to False.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set use_fp8_context_fmha to False.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set multiple_profiles to False.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set paged_state to True.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set streamingllm to False.
[06/24/2024-05:45:38] [TRT-LLM] [W] remove_input_padding is enabled, while opt_num_tokens is not set, setting to max_batch_size*max_beam_width.
[06/24/2024-05:45:38] [TRT-LLM] [I] Set dtype to float16.
[06/24/2024-05:45:38] [TRT] [I] [MemUsageChange] Init CUDA: CPU +13, GPU +0, now: CPU 146, GPU 4011 (MiB)
[06/24/2024-05:45:41] [TRT] [I] [MemUsageChange] Init builder kernel library: CPU +1622, GPU +290, now: CPU 1915, GPU 4301 (MiB)
[06/24/2024-05:45:41] [TRT] [W] profileSharing0806 is on by default in TensorRT 10.0. This flag is deprecated and has no effect.
[06/24/2024-05:45:41] [TRT-LLM] [I] Set nccl_plugin to float16.
[06/24/2024-05:45:41] [TRT-LLM] [I] Set use_custom_all_reduce to True.
[06/24/2024-05:45:41] [TRT-LLM] [I] Build TensorRT engine Unnamed Network 0
[06/24/2024-05:45:41] [TRT] [W] Unused Input: position_ids
[06/24/2024-05:45:41] [TRT] [W] Detected layernorm nodes in FP16.
[06/24/2024-05:45:41] [TRT] [W] Running layernorm after self-attention in FP16 may cause overflow. Exporting the model to the latest available ONNX opset (later than opset 17) to use the INormalizationLayer, or forcing layernorm layers to run in FP32 precision can help with preserving accuracy.
[06/24/2024-05:45:41] [TRT] [W] [RemoveDeadLayers] Input Tensor position_ids is unused or used only at compile-time, but is not being removed.
[06/24/2024-05:45:41] [TRT] [I] Global timing cache in use. Profiling results in this builder pass will be stored.
[06/24/2024-05:45:45] [TRT] [I] [GraphReduction] The approximate region cut reduction algorithm is called.
[06/24/2024-05:45:45] [TRT] [I] Detected 15 inputs and 1 output network tensors.
[06/24/2024-05:45:52] [TRT] [I] Total Host Persistent Memory: 138784
[06/24/2024-05:45:52] [TRT] [I] Total Device Persistent Memory: 0
[06/24/2024-05:45:52] [TRT] [I] Total Scratch Memory: 167804928
[06/24/2024-05:45:52] [TRT] [I] [BlockAssignment] Started assigning block shifts. This will take 778 steps to complete.
[06/24/2024-05:45:52] [TRT] [I] [BlockAssignment] Algorithm ShiftNTopDown took 54.2169ms to assign 17 blocks to 778 nodes requiring 453023744 bytes.
[06/24/2024-05:45:52] [TRT] [I] Total Activation Memory: 453022720
[06/24/2024-05:45:52] [TRT] [I] Total Weights Memory:<PHONE_NUMBER>
[06/24/2024-05:45:52] [TRT] [I] Engine generation completed in 10.2923 seconds.
[06/24/2024-05:45:52] [TRT] [I] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 2 MiB, GPU 6444 MiB
[06/24/2024-05:45:54] [TRT] [I] [MemUsageStats] Peak memory usage during Engine building and serialization: CPU: 16366 MiB
[06/24/2024-05:45:55] [TRT-LLM] [I] Total time of building Unnamed Network 0: 00:00:13
[06/24/2024-05:45:55] [TRT] [I] Serialized 26 bytes of code generator cache.
[06/24/2024-05:45:55] [TRT] [I] Serialized 165354 bytes of compilation cache.
[06/24/2024-05:45:55] [TRT] [I] Serialized 13 timing cache entries
[06/24/2024-05:45:55] [TRT-LLM] [I] Timing cache serialized to model.cache
[06/24/2024-05:45:55] [TRT-LLM] [I] Serializing engine to /media/llama-13b-engines-fp16-4gpu/rank0.engine...
[06/24/2024-05:45:57] [TRT-LLM] [I] Engine serialized. Total time: 00:00:02
[06/24/2024-05:45:58] [TRT-LLM] [I] Set dtype to float16.
[06/24/2024-05:45:58] [TRT] [I] [MemUsageChange] Init CUDA: CPU +0, GPU +0, now: CPU 2019, GPU 4323 (MiB)
[06/24/2024-05:45:58] [TRT] [W] profileSharing0806 is on by default in TensorRT 10.0. This flag is deprecated and has no effect.
[06/24/2024-05:45:58] [TRT-LLM] [I] Set nccl_plugin to float16.
[06/24/2024-05:45:58] [TRT-LLM] [I] Set use_custom_all_reduce to True.
[06/24/2024-05:45:58] [TRT-LLM] [I] Build TensorRT engine Unnamed Network 0
[06/24/2024-05:45:58] [TRT] [W] Unused Input: position_ids
[06/24/2024-05:45:58] [TRT] [W] Detected layernorm nodes in FP16.
[06/24/2024-05:45:58] [TRT] [W] Running layernorm after self-attention in FP16 may cause overflow. Exporting the model to the latest available ONNX opset (later than opset 17) to use the INormalizationLayer, or forcing layernorm layers to run in FP32 precision can help with preserving accuracy.
[06/24/2024-05:45:58] [TRT] [W] [RemoveDeadLayers] Input Tensor position_ids is unused or used only at compile-time, but is not being removed.
[06/24/2024-05:45:58] [TRT] [I] Global timing cache in use. Profiling results in this builder pass will be stored.
[06/24/2024-05:46:02] [TRT] [I] [GraphReduction] The approximate region cut reduction algorithm is called.
[06/24/2024-05:46:02] [TRT] [I] Detected 15 inputs and 1 output network tensors.
[06/24/2024-05:46:06] [TRT] [I] Total Host Persistent Memory: 138784
[06/24/2024-05:46:06] [TRT] [I] Total Device Persistent Memory: 0
[06/24/2024-05:46:06] [TRT] [I] Total Scratch Memory: 167804928
[06/24/2024-05:46:06] [TRT] [I] [BlockAssignment] Started assigning block shifts. This will take 778 steps to complete.
[06/24/2024-05:46:06] [TRT] [I] [BlockAssignment] Algorithm ShiftNTopDown took 54.1244ms to assign 17 blocks to 778 nodes requiring 453023744 bytes.
[06/24/2024-05:46:06] [TRT] [I] Total Activation Memory: 453022720
[06/24/2024-05:46:06] [TRT] [I] Total Weights Memory:<PHONE_NUMBER>
[06/24/2024-05:46:06] [TRT] [I] Engine generation completed in 7.34736 seconds.
[06/24/2024-05:46:06] [TRT] [I] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 2 MiB, GPU 6444 MiB
[06/24/2024-05:46:08] [TRT] [I] [MemUsageStats] Peak memory usage during Engine building and serialization: CPU: 22904 MiB
[06/24/2024-05:46:09] [TRT-LLM] [I] Total time of building Unnamed Network 0: 00:00:10
[06/24/2024-05:46:09] [TRT-LLM] [I] Serializing engine to /media/llama-13b-engines-fp16-4gpu/rank1.engine...
[06/24/2024-05:46:11] [TRT-LLM] [I] Engine serialized. Total time: 00:00:02
[06/24/2024-05:46:12] [TRT-LLM] [I] Set dtype to float16.
[06/24/2024-05:46:12] [TRT] [I] [MemUsageChange] Init CUDA: CPU +0, GPU +0, now: CPU 2020, GPU 4323 (MiB)
[06/24/2024-05:46:12] [TRT] [W] profileSharing0806 is on by default in TensorRT 10.0. This flag is deprecated and has no effect.
[06/24/2024-05:46:12] [TRT-LLM] [I] Set nccl_plugin to float16.
[06/24/2024-05:46:12] [TRT-LLM] [I] Set use_custom_all_reduce to True.
[06/24/2024-05:46:12] [TRT-LLM] [I] Build TensorRT engine Unnamed Network 0
[06/24/2024-05:46:12] [TRT] [W] Unused Input: position_ids
[06/24/2024-05:46:12] [TRT] [W] Detected layernorm nodes in FP16.
[06/24/2024-05:46:12] [TRT] [W] Running layernorm after self-attention in FP16 may cause overflow. Exporting the model to the latest available ONNX opset (later than opset 17) to use the INormalizationLayer, or forcing layernorm layers to run in FP32 precision can help with preserving accuracy.
[06/24/2024-05:46:12] [TRT] [W] [RemoveDeadLayers] Input Tensor position_ids is unused or used only at compile-time, but is not being removed.
[06/24/2024-05:46:12] [TRT] [I] Global timing cache in use. Profiling results in this builder pass will be stored.
[06/24/2024-05:46:16] [TRT] [I] [GraphReduction] The approximate region cut reduction algorithm is called.
[06/24/2024-05:46:16] [TRT] [I] Detected 15 inputs and 1 output network tensors.
[06/24/2024-05:46:20] [TRT] [I] Total Host Persistent Memory: 138784
[06/24/2024-05:46:20] [TRT] [I] Total Device Persistent Memory: 0
[06/24/2024-05:46:20] [TRT] [I] Total Scratch Memory: 167804928
[06/24/2024-05:46:20] [TRT] [I] [BlockAssignment] Started assigning block shifts. This will take 778 steps to complete.
[06/24/2024-05:46:20] [TRT] [I] [BlockAssignment] Algorithm ShiftNTopDown took 54.7622ms to assign 17 blocks to 778 nodes requiring 453023744 bytes.
[06/24/2024-05:46:20] [TRT] [I] Total Activation Memory: 453022720
[06/24/2024-05:46:20] [TRT] [I] Total Weights Memory:<PHONE_NUMBER>
[06/24/2024-05:46:20] [TRT] [I] Engine generation completed in 7.60425 seconds.
[06/24/2024-05:46:20] [TRT] [I] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 2 MiB, GPU 6444 MiB
[06/24/2024-05:46:23] [TRT] [I] [MemUsageStats] Peak memory usage during Engine building and serialization: CPU: 22921 MiB
[06/24/2024-05:46:23] [TRT-LLM] [I] Total time of building Unnamed Network 0: 00:00:10
[06/24/2024-05:46:23] [TRT-LLM] [I] Serializing engine to /media/llama-13b-engines-fp16-4gpu/rank2.engine...
[06/24/2024-05:46:26] [TRT-LLM] [I] Engine serialized. Total time: 00:00:02
[06/24/2024-05:46:27] [TRT-LLM] [I] Set dtype to float16.
[06/24/2024-05:46:27] [TRT] [I] [MemUsageChange] Init CUDA: CPU +0, GPU +0, now: CPU 2021, GPU 4323 (MiB)
[06/24/2024-05:46:27] [TRT] [W] profileSharing0806 is on by default in TensorRT 10.0. This flag is deprecated and has no effect.
[06/24/2024-05:46:27] [TRT-LLM] [I] Set nccl_plugin to float16.
[06/24/2024-05:46:27] [TRT-LLM] [I] Set use_custom_all_reduce to True.
[06/24/2024-05:46:27] [TRT-LLM] [I] Build TensorRT engine Unnamed Network 0
[06/24/2024-05:46:27] [TRT] [W] Unused Input: position_ids
[06/24/2024-05:46:27] [TRT] [W] Detected layernorm nodes in FP16.
[06/24/2024-05:46:27] [TRT] [W] Running layernorm after self-attention in FP16 may cause overflow. Exporting the model to the latest available ONNX opset (later than opset 17) to use the INormalizationLayer, or forcing layernorm layers to run in FP32 precision can help with preserving accuracy.
[06/24/2024-05:46:27] [TRT] [W] [RemoveDeadLayers] Input Tensor position_ids is unused or used only at compile-time, but is not being removed.
[06/24/2024-05:46:27] [TRT] [I] Global timing cache in use. Profiling results in this builder pass will be stored.
[06/24/2024-05:46:31] [TRT] [I] [GraphReduction] The approximate region cut reduction algorithm is called.
[06/24/2024-05:46:31] [TRT] [I] Detected 15 inputs and 1 output network tensors.
[06/24/2024-05:46:35] [TRT] [I] Total Host Persistent Memory: 138784
[06/24/2024-05:46:35] [TRT] [I] Total Device Persistent Memory: 0
[06/24/2024-05:46:35] [TRT] [I] Total Scratch Memory: 167804928
[06/24/2024-05:46:35] [TRT] [I] [BlockAssignment] Started assigning block shifts. This will take 778 steps to complete.
[06/24/2024-05:46:35] [TRT] [I] [BlockAssignment] Algorithm ShiftNTopDown took 55.4726ms to assign 17 blocks to 778 nodes requiring 453023744 bytes.
[06/24/2024-05:46:35] [TRT] [I] Total Activation Memory: 453022720
[06/24/2024-05:46:35] [TRT] [I] Total Weights Memory:<PHONE_NUMBER>
[06/24/2024-05:46:35] [TRT] [I] Engine generation completed in 7.62432 seconds.
[06/24/2024-05:46:35] [TRT] [I] [MemUsageStats] Peak memory usage of TRT CPU/GPU memory allocators: CPU 2 MiB, GPU 6444 MiB
[06/24/2024-05:46:38] [TRT] [I] [MemUsageStats] Peak memory usage during Engine building and serialization: CPU: 22925 MiB
[06/24/2024-05:46:38] [TRT-LLM] [I] Total time of building Unnamed Network 0: 00:00:10
[06/24/2024-05:46:38] [TRT-LLM] [I] Serializing engine to /media/llama-13b-engines-fp16-4gpu/rank3.engine...
[06/24/2024-05:46:41] [TRT-LLM] [I] Engine serialized. Total time: 00:00:02
[06/24/2024-05:46:41] [TRT-LLM] [I] Total time of building all engines: 00:01:03
mpirun -n 4 --allow-run-as-root python3 run.py --engine_dir /media/llama-13b-engines-fp16-4gpu --max_output_len 1024 --tokenizer_dir /media/Llama-2-13b-hf/ --input_text "hello"
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[TensorRT-LLM] TensorRT-LLM version: 0.11.0.dev2024061800
[TensorRT-LLM][WARNING] Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
[TensorRT-LLM][WARNING] Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
dc69d25252pa:21856:21856 [0] NCCL INFO Bootstrap : Using eth0:<IP_ADDRESS><0>
dc69d25252pa:21856:21856 [0] NCCL INFO NET/Plugin : dlerror=libnccl-net.so: cannot open shared object file: No such file or directory No plugin found (libnccl-net.so), using internal implementation
dc69d25252pa:21856:21856 [0] NCCL INFO cudaDriverVersion 12030
NCCL version 2.20.5+cuda12.4
dc69d25252pa:21857:21857 [1] NCCL INFO cudaDriverVersion 12030
dc69d25252pa:21857:21857 [1] NCCL INFO Bootstrap : Using eth0:<IP_ADDRESS><0>
dc69d25252pa:21859:21859 [3] NCCL INFO cudaDriverVersion 12030
dc69d25252pa:21859:21859 [3] NCCL INFO Bootstrap : Using eth0:<IP_ADDRESS><0>
dc69d25252pa:21857:21857 [1] NCCL INFO NET/Plugin : dlerror=libnccl-net.so: cannot open shared object file: No such file or directory No plugin found (libnccl-net.so), using internal implementation
dc69d25252pa:21859:21859 [3] NCCL INFO NET/Plugin : dlerror=libnccl-net.so: cannot open shared object file: No such file or directory No plugin found (libnccl-net.so), using internal implementation
dc69d25252pa:21857:21857 [1] NCCL INFO NET/IB : No device found.
dc69d25252pa:21857:21857 [1] NCCL INFO NET/Socket : Using [0]eth0:<IP_ADDRESS><0>
dc69d25252pa:21857:21857 [1] NCCL INFO Using non-device net plugin version 0
dc69d25252pa:21857:21857 [1] NCCL INFO Using network Socket
dc69d25252pa:21859:21859 [3] NCCL INFO NET/IB : No device found.
dc69d25252pa:21859:21859 [3] NCCL INFO NET/Socket : Using [0]eth0:<IP_ADDRESS><0>
dc69d25252pa:21859:21859 [3] NCCL INFO Using non-device net plugin version 0
dc69d25252pa:21859:21859 [3] NCCL INFO Using network Socket
dc69d25252pa:21856:21856 [0] NCCL INFO NET/IB : No device found.
dc69d25252pa:21856:21856 [0] NCCL INFO NET/Socket : Using [0]eth0:<IP_ADDRESS><0>
dc69d25252pa:21856:21856 [0] NCCL INFO Using non-device net plugin version 0
dc69d25252pa:21856:21856 [0] NCCL INFO Using network Socket
dc69d25252pa:21858:21858 [2] NCCL INFO cudaDriverVersion 12030
dc69d25252pa:21858:21858 [2] NCCL INFO Bootstrap : Using eth0:<IP_ADDRESS><0>
dc69d25252pa:21858:21858 [2] NCCL INFO NET/Plugin : dlerror=libnccl-net.so: cannot open shared object file: No such file or directory No plugin found (libnccl-net.so), using internal implementation
dc69d25252pa:21858:21858 [2] NCCL INFO NET/IB : No device found.
dc69d25252pa:21858:21858 [2] NCCL INFO NET/Socket : Using [0]eth0:<IP_ADDRESS><0>
dc69d25252pa:21858:21858 [2] NCCL INFO Using non-device net plugin version 0
dc69d25252pa:21858:21858 [2] NCCL INFO Using network Socket
dc69d25252pa:21857:21857 [1] NCCL INFO comm 0x5615da582d70 rank 1 nranks 4 cudaDev 1 nvmlDev 1 busId 65000 commId 0x4a851099a3e07480 - Init START
dc69d25252pa:21859:21859 [3] NCCL INFO comm 0x55994c807510 rank 3 nranks 4 cudaDev 3 nvmlDev 3 busId e3000 commId 0x4a851099a3e07480 - Init START
dc69d25252pa:21858:21858 [2] NCCL INFO comm 0x55e752e1ae10 rank 2 nranks 4 cudaDev 2 nvmlDev 2 busId b1000 commId 0x4a851099a3e07480 - Init START
dc69d25252pa:21856:21856 [0] NCCL INFO comm 0x5576ed7e1f10 rank 0 nranks 4 cudaDev 0 nvmlDev 0 busId 4b000 commId 0x4a851099a3e07480 - Init START
dc69d25252pa:21858:21858 [2] NCCL INFO NVLS multicast support is not available on dev 2
dc69d25252pa:21857:21857 [1] NCCL INFO NVLS multicast support is not available on dev 1
dc69d25252pa:21856:21856 [0] NCCL INFO Setting affinity for GPU 0 to ffff,0000ffff
dc69d25252pa:21856:21856 [0] NCCL INFO NVLS multicast support is not available on dev 0
dc69d25252pa:21859:21859 [3] NCCL INFO Setting affinity for GPU 3 to ffff0000,ffff0000
dc69d25252pa:21859:21859 [3] NCCL INFO NVLS multicast support is not available on dev 3
dc69d25252pa:21857:21857 [1] NCCL INFO comm 0x5615da582d70 rank 1 nRanks 4 nNodes 1 localRanks 4 localRank 1 MNNVL 0
dc69d25252pa:21857:21857 [1] NCCL INFO Trees [0] 2/-1/-1->1->0 [1] 2/-1/-1->1->0
dc69d25252pa:21857:21857 [1] NCCL INFO P2P Chunksize set to 131072
dc69d25252pa:21856:21856 [0] NCCL INFO comm 0x5576ed7e1f10 rank 0 nRanks 4 nNodes 1 localRanks 4 localRank 0 MNNVL 0
dc69d25252pa:21856:21856 [0] NCCL INFO Channel 00/02 :    0   1   2   3
dc69d25252pa:21856:21856 [0] NCCL INFO Channel 01/02 :    0   1   2   3
dc69d25252pa:21858:21858 [2] NCCL INFO comm 0x55e752e1ae10 rank 2 nRanks 4 nNodes 1 localRanks 4 localRank 2 MNNVL 0
dc69d25252pa:21858:21858 [2] NCCL INFO Trees [0] 3/-1/-1->2->1 [1] 3/-1/-1->2->1
dc69d25252pa:21858:21858 [2] NCCL INFO P2P Chunksize set to 131072
dc69d25252pa:21859:21859 [3] NCCL INFO comm 0x55994c807510 rank 3 nRanks 4 nNodes 1 localRanks 4 localRank 3 MNNVL 0
dc69d25252pa:21859:21859 [3] NCCL INFO Trees [0] -1/-1/-1->3->2 [1] -1/-1/-1->3->2
dc69d25252pa:21859:21859 [3] NCCL INFO P2P Chunksize set to 131072
dc69d25252pa:21856:21856 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] 1/-1/-1->0->-1
dc69d25252pa:21856:21856 [0] NCCL INFO P2P Chunksize set to 131072
dc69d25252pa:21858:21858 [2] misc/shmutils.cc:72 NCCL WARN Error: failed to extend /dev/shm/nccl-Y4njUk to 9637892 bytes
dc69d25252pa:21858:21858 [2] misc/shmutils.cc:113 NCCL WARN Error while creating shared memory segment /dev/shm/nccl-Y4njUk (size 9637888)
dc69d25252pa:21858:21858 [2] NCCL INFO transport/shm.cc:114 -> 2
dc69d25252pa:21856:21856 [0] misc/shmutils.cc:72 NCCL WARN Error: failed to extend /dev/shm/nccl-YNr3AB to 9637892 bytes
dc69d25252pa:21856:21856 [0] misc/shmutils.cc:113 NCCL WARN Error while creating shared memory segment /dev/shm/nccl-YNr3AB (size 9637888)
dc69d25252pa:21856:21856 [0] NCCL INFO transport/shm.cc:114 -> 2
dc69d25252pa:21856:21856 [0] NCCL INFO transport.cc:33 -> 2
dc69d25252pa:21857:21857 [1] misc/shmutils.cc:72 NCCL WARN Error: failed to extend /dev/shm/nccl-8EoRmY to 9637892 bytes
dc69d25252pa:21857:21857 [1] misc/shmutils.cc:113 NCCL WARN Error while creating shared memory segment /dev/shm/nccl-8EoRmY (size 9637888)
dc69d25252pa:21857:21857 [1] NCCL INFO transport/shm.cc:114 -> 2
dc69d25252pa:21857:21857 [1] NCCL INFO transport.cc:33 -> 2
dc69d25252pa:21857:21857 [1] NCCL INFO transport.cc:113 -> 2
dc69d25252pa:21859:21859 [3] misc/shmutils.cc:72 NCCL WARN Error: failed to extend /dev/shm/nccl-u71YZA to 9637892 bytes
dc69d25252pa:21859:21859 [3] misc/shmutils.cc:113 NCCL WARN Error while creating shared memory segment /dev/shm/nccl-u71YZA (size 9637888)
dc69d25252pa:21859:21859 [3] NCCL INFO transport/shm.cc:114 -> 2
dc69d25252pa:21859:21859 [3] NCCL INFO transport.cc:33 -> 2
dc69d25252pa:21859:21859 [3] NCCL INFO transport.cc:113 -> 2
dc69d25252pa:21859:21859 [3] NCCL INFO init.cc:1222 -> 2
dc69d25252pa:21858:21858 [2] NCCL INFO transport.cc:33 -> 2
dc69d25252pa:21858:21858 [2] NCCL INFO transport.cc:113 -> 2
dc69d25252pa:21858:21858 [2] NCCL INFO init.cc:1222 -> 2
dc69d25252pa:21858:21858 [2] NCCL INFO init.cc:1501 -> 2
dc69d25252pa:21858:21858 [2] NCCL INFO init.cc:1746 -> 2
dc69d25252pa:21857:21857 [1] NCCL INFO init.cc:1222 -> 2
dc69d25252pa:21857:21857 [1] NCCL INFO init.cc:1501 -> 2
dc69d25252pa:21857:21857 [1] NCCL INFO init.cc:1746 -> 2
dc69d25252pa:21859:21859 [3] NCCL INFO init.cc:1501 -> 2
dc69d25252pa:21859:21859 [3] NCCL INFO init.cc:1746 -> 2
dc69d25252pa:21856:21856 [0] NCCL INFO transport.cc:113 -> 2
dc69d25252pa:21856:21856 [0] NCCL INFO init.cc:1222 -> 2
dc69d25252pa:21856:21856 [0] NCCL INFO init.cc:1501 -> 2
dc69d25252pa:21856:21856 [0] NCCL INFO init.cc:1746 -> 2
dc69d25252pa:21857:21857 [1] NCCL INFO init.cc:1784 -> 2
Failed, NCCL error /home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/plugins/common/plugin.cpp:93 'unhandled system error (run with NCCL_DEBUG=INFO for details)'
dc69d25252pa:21858:21858 [2] NCCL INFO init.cc:1784 -> 2
Failed, NCCL error /home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/plugins/common/plugin.cpp:93 'unhandled system error (run with NCCL_DEBUG=INFO for details)'
dc69d25252pa:21859:21859 [3] NCCL INFO init.cc:1784 -> 2
Failed, NCCL error /home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/plugins/common/plugin.cpp:93 'unhandled system error (run with NCCL_DEBUG=INFO for details)'
dc69d25252pa:21856:21856 [0] NCCL INFO init.cc:1784 -> 2
Failed, NCCL error /home/jenkins/agent/workspace/LLM/main/L0_PostMerge/tensorrt_llm/cpp/tensorrt_llm/plugins/common/plugin.cpp:93 'unhandled system error (run with NCCL_DEBUG=INFO for details)'
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.

mpirun detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:
Process name: [[16192,1],1]
Exit code:    1

@nv-guomingz   config.json
{
"version": "0.11.0.dev2024061800",
"pretrained_config": {
"mlp_bias": false,
"attn_bias": false,
"rotary_base": 10000.0,
"rotary_scaling": null,
"residual_mlp": false,
"disable_weight_only_quant_plugin": false,
"moe": {
"num_experts": 0,
"top_k": 0,
"normalization_mode": null
},
"architecture": "LlamaForCausalLM",
"dtype": "float16",
"vocab_size": 32000,
"hidden_size": 5120,
"num_hidden_layers": 40,
"num_attention_heads": 40,
"hidden_act": "silu",
"logits_dtype": "float32",
"norm_epsilon": 1e-05,
"position_embedding_type": "rope_gpt_neox",
"max_position_embeddings": 4096,
"num_key_value_heads": 40,
"intermediate_size": 13824,
"mapping": {
"world_size": 4,
"gpus_per_node": 8,
"tp_size": 4,
"pp_size": 1,
"moe_tp_size": 4,
"moe_ep_size": 1
},
"quantization": {
"quant_algo": null,
"kv_cache_quant_algo": null,
"group_size": 128,
"smoothquant_val": null,
"has_zero_point": false,
"pre_quant_scale": false,
"exclude_modules": null
},
"use_parallel_embedding": false,
"embedding_sharding_dim": 0,
"share_embedding_table": false,
"head_size": 128,
"qk_layernorm": false
},
"build_config": {
"max_input_len": 1024,
"max_seq_len": 2048,
"opt_batch_size": null,
"max_batch_size": 256,
"max_beam_width": 1,
"max_num_tokens": 8192,
"opt_num_tokens": 256,
"max_prompt_embedding_table_size": 0,
"gather_context_logits": false,
"gather_generation_logits": false,
"strongly_typed": true,
"builder_opt": null,
"profiling_verbosity": "layer_names_only",
"enable_debug_output": false,
"max_draft_len": 0,
"speculative_decoding_mode": 1,
"use_refit": false,
"input_timing_cache": null,
"output_timing_cache": "model.cache",
"lora_config": {
"lora_dir": [],
"lora_ckpt_source": "hf",
"max_lora_rank": 64,
"lora_target_modules": [],
"trtllm_modules_to_hf_modules": {}
},
"auto_parallel_config": {
"world_size": 1,
"gpus_per_node": 8,
"cluster_key": "A40",
"cluster_info": null,
"sharding_cost_model": "alpha_beta",
"comm_cost_model": "alpha_beta",
"enable_pipeline_parallelism": false,
"enable_shard_unbalanced_shape": false,
"enable_shard_dynamic_shape": false,
"enable_reduce_scatter": true,
"builder_flags": null,
"debug_mode": false,
"infer_shape": true,
"validation_mode": false,
"same_buffer_io": {
"past_key_value_(\d+)": "present_key_value_\1"
},
"same_spec_io": {},
"sharded_io_allowlist": [
"past_key_value_\d+",
"present_key_value_\d*"
],
"fill_weights": false,
"parallel_config_cache": null,
"profile_cache": null,
"dump_path": null,
"debug_outputs": []
},
"weight_sparsity": false,
"weight_streaming": false,
"plugin_config": {
"dtype": "float16",
"bert_attention_plugin": "auto",
"gpt_attention_plugin": "auto",
"gemm_plugin": "float16",
"gemm_swiglu_plugin": null,
"smooth_quant_gemm_plugin": null,
"identity_plugin": null,
"layernorm_quantization_plugin": null,
"rmsnorm_quantization_plugin": null,
"nccl_plugin": "float16",
"lookup_plugin": null,
"lora_plugin": null,
"weight_only_groupwise_quant_matmul_plugin": null,
"weight_only_quant_matmul_plugin": null,
"quantize_per_token_plugin": false,
"quantize_tensor_plugin": false,
"moe_plugin": "auto",
"mamba_conv1d_plugin": "auto",
"context_fmha": true,
"context_fmha_fp32_acc": false,
"paged_kv_cache": true,
"remove_input_padding": true,
"use_custom_all_reduce": true,
"reduce_fusion": false,
"multi_block_mode": true,
"enable_xqa": true,
"attention_qk_half_accumulation": false,
"tokens_per_block": 64,
"use_paged_context_fmha": false,
"use_fp8_context_fmha": false,
"multiple_profiles": false,
"paged_state": true,
"streamingllm": false
},
"use_strip_plan": false,
"max_encoder_input_len": 1024,
"use_fused_mlp": false
}
}

Please increase your share memory size and try again.
Here is a similar issue, https://github.com/NVIDIA/TensorRT-LLM/issues/1702#issue-2325029617

Please increase your share memory size and try again.
Here is a similar issue, #1702 (comment)

This problem has been solved, no more errors. Great, thank you!!!

hey I tried increasing shm-size to 24g
It still won't run. Here is my issue, #1950 , I've updated at the end of the issue.


runc: Add path used by torcx and Flatcar Linux

Flatcar Linux uses torcx[0] to install addons on immutable Linux
distributions and one of them is runc. To support Flatcar, we need to
monitor runc path comming from torcx as well.
[0] https://github.com/flatcar-linux/torcx
Fixes: rancher-sandbox/lockc-helm-charts#9
Signed-off-by: Michal Rostecki<EMAIL_ADDRESS>

LGTM!


WFLY-10019 Fix intermittent failures in @Stateful EJB passivation tests.

https://issues.jboss.org/browse/WFLY-10019

I going to split up the individual passivation tests into multiple test deployments - otherwise they impact each other since remaining artifacts from one test can affect the passivation threshold of another test, which is granular to the deployment.


Easy path to using anything with a ChainRulesCore.RuleConfig

We have talked about this before, just writing it down so it doesn't get lost.
The ChainRulesCore.RuleConfig with the right traits, provides all the parts needed for either getting the pushforward (frule_via_ad) or pullback (rrule_via_ad); or both.
This primitives are enough to let AbstractDifferentiation.jl  define everything else.
Any ChainRules supporting AD that supports rules that require calling back into AD must define one of these.
Zygote.ZygoteRuleConfig and Diffractor.DiffractorRuleConfig  for example.
Given such a RuleConfig type, it should be a one-liner to get the whole AbstractDifferentiation API.
We should provide a macro to make that so.

I think this is now ReverseRuleBackend?

Is there some progress here?

I think it should be ReverseRuleConfigBackend? Can you post a MWE if what you're trying does not work?

Yeah this is basically done.


Support lazy continuation token generation for pagination

The Cosmos team has asked us to enable lazy computation of continuation tokens returned from Page.
Details
Today, Page looks like follows: https://apiview.azurewebsites.net/Assemblies/Review/3f640270a7de4d8e99a5543bf4257e4f#Azure.Page<T>
This design means the continuation token has to be provided when Page is instantiated. This is totally fine for REST services that always have the token returned form previous page response. Cosmos, on the other hand, often executes the query locally (on the client) and so it does need string continuation tokens (the continuation is represented by complex datastructures in the client's process memory). To produce a string-based continuation token, they would need to serialize these datastructures, which is expensive.
To solve the problem, we would like to make it possible to implement token generation as a lazy operation. This means the following changes:

Make Page to be an abstract class
Make Page property getters virtual
Remove the constructor and add a factory to create an instance of Page.
This is a small breaking change (instead of ctor callers have to call a factory method). Pavel already has a PR for this change with updates to both Page and all dependents:
https://github.com/Azure/azure-sdk-for-net/pull/8159

Looks like Java has a Page interface that can be implemented by custom paged responses to lazily generate the continuation token. See below example:
public class LazyPagedResponse implements PagedResponse<String> {

    private final List<String> items;
    private final Supplier<String> lazyContinuationTokenSupplier;
    private final int statusCode;
    private final HttpHeaders headers;
    private final HttpRequest httpRequest;

    public LazyPagedResponse(List<String> items, Supplier<String> lazyContinuationTokenSupplier, int statusCode,
        HttpHeaders headers, HttpRequest httpRequest) {
        this.items = items;
        this.lazyContinuationTokenSupplier = lazyContinuationTokenSupplier;
        this.statusCode = statusCode;
        this.headers = headers;
        this.httpRequest = httpRequest;
    }
    @Override
    public List<String> getItems() {
        return this.items;
    }

    @Override
    public String getContinuationToken() {
        return this.lazyContinuationTokenSupplier.get();
    }

    @Override
    public int getStatusCode() {
        return this.statusCode;
    }

    @Override
    public HttpHeaders getHeaders() {
        return this.headers;
    }

    @Override
    public HttpRequest getRequest() {
        return this.httpRequest;
    }

    @Override
    public void close() throws IOException {

    }
}

To test:
    @Test
    public void testLazyPagedResponse() {
        Supplier<String> expensiveContinuationTokenGenerator = () -> {
            try {
                // expensive operation
                TimeUnit.SECONDS.sleep(1);
            } catch (InterruptedException ex) {
            }
            System.out.println("Generating new continuation token");
            return UUID.randomUUID().toString();
        };

        LazyPagedResponse response = new LazyPagedResponse(Arrays.asList("foo", "bar"),
            expensiveContinuationTokenGenerator, 200, null, null);
        System.out.println(response.getItems());
        System.out.println(response.getStatusCode());
        // Continuation token is not generated until it's required
        System.out.println(response.getContinuationToken());
   }


Wrong coverage data

I have specs that should cover the source files but they are shown as not covered.
Can using the same page on different tests overwrite the coverage reports?

I found the reason(s).

When there is a browser.refresh() or normal form submit that refreshes the browser, the coverage data is lost.

Hence we should be able to runCoverageGlobal() when necessary. I am updating the saveCoverage.tmpl and will be creating a push request.

Currently saveCoverage.tmpl path is hardcoded. We should be able to give save coverage path from the gruntfile.


Restart OSDs during initial setup when crush location is used

OSDs get started by ceph-disk before the ceph.conf file is written
with a crush location. That results in a crush map without configured
crush location.
To prevent this, we have to restart the OSDs during the initial setup
after the crush location was added to the ceph.conf file.

jenkins test this please

jenkins test this please

jenkins test this please

jenkins test jewel-ansible2.2-docker_cluster

jenkins test jewel-ansible2.2-journal_collocation

jenkins test luminous-ansible2.2-docker_dmcrypt_journal_collocation

jenkins test luminous-ansible2.2-update_cluster

jenkins test luminous-ansible2.2-update_dmcrypt

jenkins test luminous-ansible2.2-purge_docker_cluster

jenkins test luminous-ansible2.2-centos7_cluster

jenkins test luminous-ansible2.2-bluestore_dmcrypt_journal


size_t underflow in rts_read_auth_verifier_with_stub causes "allocation-size-too-big"

Describe the bug
Connecting to a Win2k19 terminal server via RD Gateway using the rpc transport with an existing license is returning ERROR_BAD_FORMAT. rts_read_pdu_fault is called and may cause an allocation error.
To Reproduce
Steps to reproduce the behavior:

Connect to a Windows 2k19 terminal server configured for per device CALs
Ensure connection via RD Gateway using the rpc transport
Client obtains a license from the sever, it is serialized and written to disk
Disconnect and connect a second time
Client sends existing license to server, server responds with ERROR_BAD_FORMAT
Crash while reading response

Expected behavior
If the existing license is not accepted, an appropriate error should be returned.
Application details

FreeRDP version: master
OS version connecting to (server side): Windows Server 2k19

Environment (please complete the following information):

OS: macOS
Version/Distribution: 13 (Ventura)
Architecture: arm64

Additional context
[10:59:24:427] [27831:6d4d7000] [DEBUG][com.freerdp.core.gateway.rts] - [rts_read_pdu_header]: Reading PDU type PTYPE_FAULT
[10:59:24:427] [27831:6d4d7000] [WARN][com.freerdp.core.gateway.rts] - [rts_read_pdu_fault]: status=ERROR_BAD_FORMAT
=================================================================
==27831==ERROR: AddressSanitizer: requested allocation size 0xfffffffffffffffc (0x800 after adjustments for alignment, red zones etc.) exceeds maximum supported size of 0x10000000000 (thread T5)
    #0 0x10307d600 in wrap_calloc+0x90 (libclang_rt.asan_osx_dynamic.dylib:arm64+0x3d600)
    #1 0x1055c66a8 in sdup rts.c:155
    #2 0x1055ca288 in rts_read_auth_verifier_with_stub rts.c:331
    #3 0x1055b04a8 in rts_read_pdu_fault rts.c:932
    #4 0x1055aa3a8 in rts_read_pdu_header rts.c:1147
    #5 0x1055a108c in rpc_client_recv_fragment rpc_client.c:337
    #6 0x10559c0d0 in rpc_client_default_out_channel_recv rpc_client.c:681
    #7 0x10559ad78 in rpc_client_out_channel_recv rpc_client.c:786
    #8 0x105600458 in tsg_check_event_handles tsg.c:2261
    #9 0x10571aac0 in rdp_check_fds rdp.c:2058
    #10 0x105535430 in rdp_client_wait_for_activation connection.c:271
    #11 0x1055343c0 in rdp_client_connect connection.c:456
    #12 0x105564110 in freerdp_connect_begin freerdp.c:159
    #13 0x105561f9c in freerdp_connect freerdp.c:177
    #14 0x1050e6d4c in mac_client_thread MRDPView.m:135
    #15 0x1052ffb2c in thread_launcher thread.c:520
    #16 0x102d115d0 in _pthread_start+0x90 (libsystem_pthread.dylib:arm64e+0x15d0)
    #17 0xb25e000102d1ba84  (<unknown module>)

should now be ignored/discarded.


Add support for images

Hey,
Thank you sincerely for this wonderfully written package. No rush in merging or reviewing but I wanted to extend the functionality to allow the translation of images from markdown -> draft and from draft -> markdown.
Todo

[ ] Support alt/title statements

Thank you!! I will take a look when I have a chance!

A general question about this PR - it looks to me that images aren't by default supported in draftjs so you need to define them as atomic blocks yourself, for which there are a few plugins people can use if they need?
So I'm wondering if this change is best written as a plugin for markdown-draft-js instead of as part of the default implementation, in case people use different draftjs plugins with different block types that potentially don't jive with what is here?
Please let me know if I'm wrong, I like the idea of supporting images out-of-the-box but want to make sure it's "proper" 🙃

by the way, in spite of my questions I do love that you did this and I think it will be useful for people, just want to make sure that everything is 👌 and I don't have as much time to research and ensure that is the case myself 🙂

I can confirm that this code would be very useful to me inside or outside the main repo. I would be willing to commit some of my time to helping out if you decided to split this off into a separate repo. In response to what should be supported. There could be an argument for supporting everything in the commonjs markdown spec in this library. Are we supporting all the "out-of-the-box" features of markdown, or of draftjs? I'd say markdown. Either way Rosey, thanks for this library. I hope to contribute some code soon.

@nicholaswbowen while you're waiting on this, it should be possible to easily steal this code and use it as a plugin - plugins are documented in the README, but it should be something like this (warning: untested example code, so I may have messed up with a typo or silly mistake!) -
Draft to markdown -
draftToMarkdown(rawDraftJsObject,
  entityItems: {
    image: {
      open: function (entity) {
        return '';
    },

      close: function (entity) {
        return `![](${entity.data.src})`;
      }
  }
)

Markdown to draft -
markdownToDraft(markdownString,
  blockEntities: {
    image: function (item) {
      return {
        type: 'atomic',
        mutability: 'IMMUTABLE',
        data: {
          src: item.src,
        },
      }
  }
)

So I spent a bit of time getting my previous comment to work with the draftjs image plugin (https://www.npmjs.com/package/draft-js-image-plugin) and I've found that the drafttomarkdown works great but not so much the other way around. Going to look into further 😊

In further testing, a similar (but slightly different) problem exists with this PR. I think because the plugin expects an image to be the only thing in a block, whereas in markdown they can be inline with other content.

It also looks like @tpreusse has dealt with this - https://github.com/orbiting/cms-draft/blob/fc6d509b61eb7fd0ad9429fae5e06fd11929c5f5/src/utils/markdown.js and ended up writing a remarkable plugin for images as well.

@Rosey is it possible to use that plugin somehow?

Hi! Any updates here? Also need support for images conversion :/

This thread has been sleeping for a while, but this library is really quite lovely so thought i'd add an update!
Rosey's example above is nearly there, just needs the following:

Encode an alt attribute on your image data in your draftjs custom plugin:

const contentStateWithEntity = contentState.createEntity(
    constants.BlockTypes.IMAGE,
    'IMMUTABLE',
    {
      src: imageUrl,
      alt: imageAlt,
    }
  );

When converting to markdown:

export const convertToMD = (state: EditorState): string => {
  return draftToMarkdown(convertToRaw(state.getCurrentContent()), {
    entityItems: {
      image: {
        open: function (entity) {
          return '';
        },
        close: function (entity) {
          return `![${entity['data'].alt}](${entity['data'].src})`;
        },
      },
    },
  });
};

When converting back to draft:

export const convertToDraft = (markdown: string): RawDraftContentState => {
  return markdownToDraft(markdown, {
    blockEntities: {
      image: function (item) {
        return {
          type: 'atomic',
          mutability: 'IMMUTABLE',
          data: {
            src: item.src,
            alt: item.alt,
          },
        };
      },
    },
  });
};

There isn't too much data you can extract back out of markdown, but you could add an image "title" and de-serialize it,

Thank you @humont ⭐

I don't understand how can I make this working. I copied these snippets (https://github.com/Rosey/markdown-draft-js/pull/49#issuecomment-775247720) in the place where I have the editor, yet nothing happens. No text is shown for the markdown image nor an image is displayed. Can you please describe how to make this happen?

I don't understand how can I make this working. I copied these snippets (#49 (comment)) in the place where I have the editor, yet nothing happens. No text is shown for the markdown image nor an image is displayed. Can you please describe how to make this happen?

There's a bit of work that you need to do to get Draft JS showing images first - which is a little out of scope for this repo. You can find a working example on the draftJS repo or alternatively implement with a plugin - up to you!

@humont I figure that out and I suppose https://www.draft-js-plugins.com/plugin/image does the job right? What I don't understand is to convert from markdown to draftjs the "block" to the plugin format:
const initialState = {
  entityMap: {
    0: {
      type: 'IMAGE',
      mutability: 'IMMUTABLE',
      data: {
        src: '/images/canada-landscape-small.jpg',
      },
    },
  },
  blocks: [
    {
      key: 'ov7r',
      text: ' ',
      type: 'atomic',
      depth: 0,
      inlineStyleRanges: [],
      entityRanges: [
        {
          offset: 0,
          length: 1,
          key: 0,
        },
      ],
      data: {},
    }
    ...
  }
}

You should only need the entity data itself, the blocks array will take care of itself as it's ordered.
In this case, the example I gave above requires a:
data: {
src: 'YOUR_IMAGE_SRC',
alt: 'AN_ALT_TEXT'
}

whereas yours only has src. Conditionally returning the alt text should work.
To be honest - I'm not familiar with the plugin structure, so there may be something else going on...  I built it from scratch using the example from the Draftjs repo. sorry I can't be of more help!

No, the image link gets somehow "double" rendered (![<alt text>](![<link>](<link>))). We don't really understand how this can be so complex, so we'll backoff and implement a simple feature with regexp.
MD source -> regexp to extract images -> draftjs -> MD source -> regexp to reinsert the images. We are really sad that this entire thing turned out to be so complex but we cannot spend more time on it.

@Rosey thank you for this great library, but I need help. Need your help and insight too @humont
I used @humont's answer above, the editorState -> markdown conversion works fine, but I can't make the reverse conversion work. Here's what I have.
draftjs state to markdown (works fine as expected)
export const draftToMarkdownConversion = (editorState: EditorState) => {
  const rawObject = editorStateToRaw(editorState)
  return draftToMarkdown(rawObject, {
    entityItems: {
      image: {
        open: function() {
          return ''
        },
        close: function (entity: any) {
          if (!entity) return ''
          return `![${entity.data.alt}](${entity.data.src})`;
        },
      },
    },
    styleItems: {
      UNDERLINE: {
        open: function () {
          return '++';
        },
        close: function () {
          return '++';
        },
      },
    }
  })
}

markdown to draftjs state (doesn't work)
export const markdownToDraftConversion = (markdownString: string) => {
  const rawData = markdownToDraft(markdownString, {
    blockEntities: {
      image: function (item: any) {
        return {
          type: 'atomic',
          mutability: 'IMMUTABLE',
          data: {
            src: item.src,
            alt: item.alt,
          },
        };
      },
    },
    blockStyles: {
      'del_open': 'STRIKETHROUGH',
      'ins_open': 'UNDERLINE',
    },
    remarkableOptions: {
      enable: {
        inline: "ins",
      },
    },
  })
  const contentState = convertFromRaw(rawData)
  return EditorState.createWithContent(contentState)
}

Here is the markdown string I'm processing via markdownToDraftConversion.
![https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/NGC_4414_%28NASA-med%29.jpg/1200px-NGC_4414_%28NASA-med%29.jpg](https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/NGC_4414_%28NASA-med%29.jpg/1200px-NGC_4414_%28NASA-med%29.jpg)

Hello world

but consoling log the rawData before processing it back to editorState looked like this.

I hope you can point what I missed or which part I did wrong.

@vmc08 are you sure you’re passing the right data? The blocks array seems to include a block with the word “galaxy” which is not in the md string you provided.

@humont , sorry I pasted the wrong data. Here is the post content I am trying to parse. Apologies. Updated the md string

@vmc08 Hey did you figure this out? I am having the same problem. Can't convert images in markdown.

@v @tanvesh01  did you find any solution? I have the same issue

I need transform raw like this
{     ...raw,     blocks: raw.blocks.map((block) => {       // TODO fix for https://github.com/Rosey/markdown-draft-js/pull/49       const entityKey = block.entityRanges?.length && block.entityRanges[0].key       const hasImage = entityKey && raw.entityMap[entityKey].type === imageType       return {         ...block,         type: !hasImage ? block.type : 'atomic',         text: ' ',         entityRanges: block.entityRanges?.map((range) => ({ ...range, length: 1 })),       }     })

I need transform raw like this
{
    ...raw,
    blocks: raw.blocks.map((block) => {
      const entityKey = block.entityRanges?.length && block.entityRanges[0].key
      const hasImage = !!entityKey && raw.entityMap[entityKey].type === imageType
      return {
        ...block,
        ...(hasImage
          ? { type: 'atomic', text: ' ', entityRanges: block.entityRanges?.map((range) => ({ ...range, length: 1 })) }
          : {}),
      }
    })

@saintego I came to the same conclusion. Without the intermediate atomic block all the previous suggestions do not work out properly.

Just in case someone is looking for a good solution to convert MD to Draft with images, I found this library which is working great for images https://github.com/kadikraman/draftjs-md-converter

I wanted to share what worked for me. I followed the instructions on this comment: https://github.com/Rosey/markdown-draft-js/pull/49#issuecomment-369682808 but they weren't working for me. After some head scratching I was wondering if the fact that entities had names in all uppercase letters was the source of the issue. With this single change I got everything to work, basically the entity name should be IMAGE instead of image:
    const markdownString = draftToMarkdown(rawObject, {
      entityItems: {
        IMAGE: {
          open: function (entity) {
            return '';
          },

          close: function (entity: any) {
            return `![${entity.data.alt}](${entity.data.src})`;
          },
        },
      },
    });

And in my testing I found that the markdownToDraft snippet was not necessary. Hope this helps anyone else looking for a solution!


Gesture Control Mouse using OpenCV

The system will allow the user to navigate the computer cursor using their hand-bearing color caps and performs various mouse operations such as left-click, right-click, movement, etc using gestures recognition technique with the help of color detection.
Please assign me this issue.

Allow me to work on this issue

I am  a Contributor of GSSoC' 24.Allow me to work on this issue.

I am recently working on real time iris detection using opencv and python. And I think I'll be able to handle this too. Assign this to me @Purva-Gharat  Mam.

Hi @Purva-Gharat I want to work on this issue please assign me this issue.

Hello is this issue still open ? @Purva-Gharat , There 's no reply for this!!

Please assign issue to me


Generated Code + Semicolons

Expected Behaviour
Hey! We're starting to work on some integrations with I/O functions on the Magento side of things, and I spun up a new functions-only app with aio app:init.
I noticed that the example functions pulled in by the Yeoman generator are currently going semi-less. I definitely am not looking to start a debate of which style is better.
However, Magento has a lot of folks that don't consider JS their primary language (employees and system integrators), and this can cause some surprises when folks are first attempting to onboard to I/O.
As an example, I helped a co-worker debug their function for about ~30 minutes the other day - I totally missed the missing semi they had after an IIFE, which ended up creating some surprising results.
I would love to see us improve in one of the following 2 ways:

Terminate statements with semicolons
OR
Include ESLint with a default configuration that'll catch common ASI footguns

My own preference would be to add semis to the examples. I think a decent number of folks starting that don't have a JS background won't know what ESLint is, and likely won't have the editor plugin installed when they start up. Eliminating a foot gun for those folks could make the onboarding experience more seamless.
Actual Behaviour
No semis, no tooling to catch mistakes
Reproduce Scenario (including but not limited to)
Steps to Reproduce
Platform and Version
Sample Code that illustrates the problem
Logs taken while reproducing problem

good callout, we already add jest by default, we could add eslintrc and dev dependency as well.

+1 to generation of eslint config


Access denied using WorldAnchorTransferBatch Export

Describe the bug
Using WorldAnchorTransferBatch.ExportAsync() returns
SpatialAnchorTransferManager denied access to WorldAnchor serialization UnityEngine.XR.WSA.Sharing.WorldAnchorTransferBatch:ExportAsync_Internal(WorldAnchorTransferBatch, SerializationDataAvailableDelegate, SerializationCompleteDelegate) UnityEngine.XR.WSA.Sharing.WorldAnchorTransferBatch:ExportAsync(WorldAnchorTransferBatch, SerializationDataAvailableDelegate, SerializationCompleteDelegate)
I am developing a VR UWP application on Windows 10 for the new HP Reverb which has inside out tracking.
WorldAnchors are working perfectly in editor and with deployed apps, trying to export them however gives me the above error.
Also tried the azure spatial anchors example project with the same outcome. The Error reads "Access denied to spatial anchor exporter. Ensure your OS build is up to date and the spatialperception capability is set."
Spatial Perception is checked in the "capabilities".
Your Setup

Unity Version 2019.2.7
MRTK 2.0
HP Reverb Professional Edition

Target Platform

WMR immersive

Do you have "SpatialPerception" selected in the Unity Project Settings -> Universal Windows Platform settings -> Publishing Settings -> Capabilities dialog:

You can also verify it's making it to Visual Studio by checking the .appxmanifest Capabilities:

I did check for that repeatedly, then I went overboard and tried checking them all, didnt work either :')

Related #1725
@tvrDev, it may be that export is not supported on VR headsets but the related item is very old.
FYI, WorldAnchorTransferBatch API is not MRTK, it is an Unity API for particular use with the Windows Mixed Reality platform.
It'll be easier for someone on one of the Windows Mixed Reality channels to specialize on this issue.
Slack and Twitter
https://aka.ms/holodevelopers
https://twitter.com/MxdRealityDev
If I find an answer, I'll be sure to ping this thread though.


Allow complex types for compare for min_by, max_by agg functions

Details in https://github.com/facebookincubator/velox/issues/6314

@duanmeng Any chance you could split this PR into 2: (1) fix min and max; (2) add support for complex type 'compare' to min_by and max_by?

@mbasmanova Thanks for your timely review and guidance. I will split this PR into 2 and resolve all the comments in this PR.

@duanmeng Any chance you could split this PR into 2: (1) fix min and max; (2) add support for complex type 'compare' to min_by and max_by?

@mbasmanova Thanks for your timely review and guidance. I will split this PR into 2 and resolve all the comments in this PR.

Will close this PR once the split PRs are closed.

Close this PR since it has been split in to 2 PRs, https://github.com/facebookincubator/velox/pull/6570 and https://github.com/facebookincubator/velox/pull/6605
cc @mbasmanova


Cannot read property 'toString' of undefined

Hi there,
I've encountered a bug while using react-native-iconify that I haven't encountered before. Despite checking online and in library issues, I couldn't find anyone else experiencing the same problem.
I'm using Expo SDK 50 on a --dev client. Here's my package.json:
 "expo": "~50.0.13",
 "expo-dev-client": "^3.3.10",
 "react": "18.2.0",
 "react-native": "0.73.5",
 "react-native-iconify": "^1.0.0",

In my babel plugin configuration, I have:
 module.exports = function (api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo'],
    plugins: [
    'react-native-reanimated/plugin',
    'react-native-iconify/plugin'
    ]
  };
};

Here's how I import and use Iconify in my component:
At the top of my component:
import { Iconify } from 'react-native-iconify';
In the render method:
<Iconify icon="iconamoon:discount-fill" color="#fff" />
If anyone has a solution or tips to resolve this issue, I'd appreciate it.

We've run into this issue as well. It seems like some icons aren't found for some reason 🤷♂

Thank you for contribution. It works well in example app on Expo 50.
Can you share repository and update to v1.0.1?


Migration issue : How to pass callbacks as parts of Worker Inputs

Hello there!
I used to have callbacks as part of my Agent inputs on the 0.1.0 version of yew_agent.
ie
struct MyInput {
    pub name: String,
    pub my_cb: Callback<()>
}

// Will work fine
impl Agent for MyBus {
   type Input = MyInput;
   ...

Since I migrated to the version 0.2.0, I can't do that anymore since the Input of my Workers need to be serializable :
ie
struct MyInput {
    pub name: String,
    pub my_cb: Callback<()>
}

// Won't work, MyInput doesn"t impl Serialize, and Callback can't implement it either
impl Worker for MyBus {
   type Input = MyInput;
   type Reach = Public<MyBus>
   ...

Which throws the following error message at compilation time :
required for `Public<MyBus>` to implement `Discoverer`rustc[Click for full compiler diagnostic](rust-analyzer-diagnostics-view:/diagnostic%20message?0#file%3A%2F%2F%2Fhome%2Fusr%2Fworkspace%2Ftchatchers%2Ftchatchers_front%2Fsrc%2Fservices%2Fmodal_bus.rs)
lib.rs(62, 28): required by a bound in `yew_agent::Worker::Reach`

Is there a way to still pass callbacks on the version 0.2.0 ?
Or do you suggest any workaround ?
It was pretty handful and permitted me to execute some logic later.
Thanks very much for your kind help :smile: . I use rust in version 1.65.0, yew in version 0.20.0, yew_agent in version 0.2.0

If your agent input is not Serialize/Deserialize that means it must have been a contextual agent. These have been removed in favor of contexts. Having one context provider that encompasses your whole app should be able to faithfully reproduce the agent. You can provide a struct like so
struct AgentContact { }
struct AgentSubscription { }
impl AgentContact {
    pub fn send(&self, input: MyInput) {
        // Suggestion: forward message to context provider
    }
    pub fn add_subscriber(&self, cb: Callback<MyOutput>) -> AgentSubscription {
        // replaces connected
    }
}
impl Drop for AgentSubscription { } // replaces disconnected

Sorry if that feels like a bit of boilerplate. Generally though the context API should be more versatile. Maybe you don't even need the add_subscriber function?

Well I have been trying your solution for sometime, and I don't believe it is as handy as callbacks passed through Input parameters, maybe it was already a bit of workaround that can be avoided easily and implemented in a better way.

If someone ever looks for a way to use callback within workers the way I was looking for on the latest versions, I suggest spawning a Bridge rather than a Dispatcher and create a shared input/output message that can be understood by the spawner.
ie

The change on the Worker input https://github.com/nag763/tchatchers/commit/25044f65fe47d1e0f84fa77f24402c1814cded58#diff-75c1084c5c1808add73d42655948d5caa43b87af072d0844d539dbdd3e22b71eR14-R19
The change on the producer https://github.com/nag763/tchatchers/commit/25044f65fe47d1e0f84fa77f24402c1814cded58#diff-3dda76ac8c50a66318fa13111078ef129c560d07811d54c796850f340b4f0cc1R91-R96
The change on the spawner https://github.com/nag763/tchatchers/commit/25044f65fe47d1e0f84fa77f24402c1814cded58#diff-fec24b48a02d45c14baa5c9dea267b30cc999a94f316fd817984fd492f2c5184R57-R73

Sorry if the terms used are incorrect, it is the best solution I found so far, but there might be better ones.
Thanks for your kind help everyone !


User option to (or not to) delete empty file and replace 3 consecutive \n with 2.

This PR adds a user option for
(i) deleting (or not deleting) an empty file
(ii) Replacing 3 consecutive \n with 2 to minimize impact of Piranha refactoring on formatting.
I have also added tests for these new features.
I have done one minor refactoring to pass PiranhaArgument object by reference, in the method execute_piranha

Flaky coveralls. :|


Made return statements with inserts return AnyVal instead of Long so …

Fixes #427
Problem
The problem is that currently there is a restriction where when you do inserts and you specify a column to be ignored (usually the ID column that gets auto generated on the database), that column can only be of type Long
Solution
The solution in this pull request is kind of a dumb solution, it removes the restriction by changing the type from Long to Any. I don't really expect this to get merged, its just an indication of what I have done to remedy the problem in the short term.
Notes
As I said before I don't expect this to get merged. The real solution to this problem would involve separate ActionResult to InsertResult and then UpdateResult. InsertResult would then need to be modified (with other changes in the database) to carry over type information (i.e. we need to get the type from _.generated(_.id) to carry over to our extractActionResult/executeAction).
This is probably done better as a separate pull request, as the methodology to this is going to be completely different and will require more work.
Also the tests will fail with this, unless this solution has a change of getting merged I will put my time into doing a proper solution
@getquill/maintainers

I think the return type has to be typed, we need a solution that does not return Any. Maybe with the new context refactor it might be easier.

I think the return type has to be typed, we need a solution that does not return Any. Maybe with the new context refactor it might be easier.

Yeah same, tbh I only put this up here because I was asked to do so. When is this context refactor going to be done and is there any way I can help? Sounds like that if the context refactor is done with this in mind there might not be much that I can help with

Passing the result type to the context won't be a clean solution. I'm wondering if we should try to remove generated and introduce a returning clause:
val q = quote {
   query[Person].insert(_.name -> "John").returning(_.id)
}

wdyt?

@fwbrasil I like the returning keyword, it is easier to understand.

@fwbrasil Agreed, its also the same thing that Slick does, i.e.
items returning items.map(_.id) += Item(...)

Probably for the same reasons as well

@mdedetrich @gustavoamigo Can we close this in favor of #444?

@fwbrasil Agreed, yes you can


UDT Integration

Hey,
Do you think we can integrate UDT with quic so data transfer would be faster and some congestion control problems would be solved?

Hey, Do you think we can integrate UDT with quic so data transfer would be faster and some congestion control problems would be solved?

The Library is already available

those are two protocols do the similar things, I do not think they can play together.


Create TravellingSalesmanProblem.java

Details:

Being one of the most asked Interview Question, getting the concept of TSP is of utmost priority to every CSE student.

Enhancement:

Added the TSP code in the Java folder (With Question & Prerequisites)

You can follow me on github and give ⭐ to this repo.


feat: enforce queue id order

@amenowanna added a commit that runs sqlc generate which should bring your SQL changes into the go package that's used

@patrickdevivo muchas gracias!


Allow translation and formatting on common errors

These are just the errors I've seen in common scenarios (one might be a bug, the others are expected - e.g. attempting to sync when there's no network connection/the server not playing ball).
This doesn't affect what you see in the K-9 errors folder, only the behaviour of the status line below the folder name.

The current error reporting system is pretty horrible. But I'd rather move to something completely different  than making what we currently have only slightly less horrible.

See also #1058
Let's not go down that rabbit hole before we start with the UI overhaul.

It feels like perfect is the enemy of better here. I wrote the code because it annoys me to see 'GaiException'. I'll probably keep it in my local repo's bleeding edge branch which I build for my device.

That's kind of the point. By merging this change the pressure to add a proper error reporting concept would be vastly reduced.


AttributeError: module 'pywatchman' has no attribute 'client'

Dear Zipline Maintainers,
Before I tell you about my issue, let me describe my environment:
Environment

Operating System: Windows 10
Python Version: 3.6.8
Python Bitness: 32
How did you install Zipline: pip
Python packages:

colorama   0.3.7
django     2.2a1
pip        19.0.2
pytz       2018.9
setuptools 40.8.0
sh         1.12.0
sqlparse   0.2.4
watchman   0.0.8
wheel      0.33.0
Now that you know a little about me, let me tell you about the issue I am
having:
Description of Issue

What did you expect to happen?
Am testing an app by running python manage.py runserver
What happened instead?
I get an error written as "AttributeError: module 'pywatchman' has no attribute 'client'"

full error message
Traceback (most recent call last):
File "manage.py", line 21, in
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\core\management_init_.py", line 381, in execute_from_command_line
utility.execute()
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\core\management_init_.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\core\management\base.py", line 323, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\core\management\commands\runserver.py", line 60, in execute
super().execute(*args, **options)
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\core\management\base.py", line 364, in execute
output = self.handle(*args, **options)
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\core\management\commands\runserver.py", line 95, in handle
self.run(**options)
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\core\management\commands\runserver.py", line 102, in run
autoreload.run_with_reloader(self.inner_run, **options)
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\utils\autoreload.py", line 581, in run_with_reloader
WatchmanReloader.check_availability()
File "C:\Users\J0FREY\lib\site-packages\django-2.2a1-py3.6.egg\django\utils\autoreload.py", line 530, in check_availability
client = pywatchman.client(timeout=0.01)
AttributeError: module 'pywatchman' has no attribute 'client'
Here is how you can reproduce this issue on your machine:
Reproduction Steps

...
What steps have you taken to resolve this already?

I have tried to install pywatchman package by typing "pip install pywatchman", got error message written " error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads"
I have installed microsoft visual C++ but still got the same error
...

Anything else?
...
Sincerely,
$ whoami

Hi @Mgaya123 , I notice you don't have zipline installed, and the traceback doesn't mention zipline. Based on the traceback, this looks like maybe an issue between django and pywatchman, so I'm going to close this zipline issue. If you think otherwise, feel free to re-open and explain. Thanks!


Random numbers not so random

Maybe the seed is constant by accident? I get the same results each time, it seems:
$ cat rand.ldpl
DATA:
r is number
i is number

PROCEDURE:
while i is less than 5 do
  store random in r
  display r crlf
  incr i
repeat

$ for i in {1..5}; do echo "# ${i}"; ./rand-bin; done
# 1
0.365382414946976
0.982248013830859
0.642368455250919
0.28662740219693
0.346748723809956
# 2
0.365382414946976
0.982248013830859
0.642368455250919
0.28662740219693
0.346748723809956
# 3
0.365382414946976
0.982248013830859
0.642368455250919
0.28662740219693
0.346748723809956
# 4
0.365382414946976
0.982248013830859
0.642368455250919
0.28662740219693
0.346748723809956
# 5
0.365382414946976
0.982248013830859
0.642368455250919
0.28662740219693
0.346748723809956

It seems that the problem is that std::time has a resolution on seconds.

There, it's fixed now using the C++11  header.

Works great! :+1:

Awesome! :smile:


Add Fluentbit agent configuration for log management

Like we did for Prometheus exporter, we should add a role to install, configure and start Fluentbit agent.

@rpignolet  we can close this issue ?

Closing since https://github.com/TOSIT-IO/tdp-collection-prerequisites/pull/63 won't be merged in favor of https://github.com/TOSIT-IO/tdp-observability/pull/24


Can't use a PFS set in config

Steps to Reproduce

Get the raiden SDK instance on browser's dev tool
Set a config with raiden.updateConfig({ pfs: 'https://pfs-goerli-with-fee.services-test.raiden.network' })
Try to perform a transfer

Expected Result

Skip PFS selection dialog and call findRoutes without specifying a pfs if raiden.config.pfs !== undefined
Can fetch routes and transfer using this set PFS

Actual Result

How would the RDN/SVT payment be shown to the user in that case?

@nephix That is a good question. So instead of skipping automatically we can show the preselected pfs name instead the list

I think that's good. If we skip that step entirely we prevent the user from minting, depositing and paying for the PFS request

Oh, yes, you are right, I had forgotten about paying a config set PFS.
But in either case, this needs to consider if a direct route is possible, so we can skip paying PFS and even route selection. I'll provide an interface for this.

Removed bug label because this would be a new feature


Service log fail to export to log file

What language are you using?
Java
What operating system (Linux, Ubuntu, …) and version?
Linux
What runtime / compiler are you using (e.g. jdk version or version of gcc)
jdk 1.8
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
In order to check service log, login tarsnode server, and check the log file in below path: /usr/local/app/tars/app_log/XXXApp/XXXService
However, in the log file, it indicate below err:
java redirect stdout and stderr  to /usr/local/app/tars/app_log//XXXApp/XXXService/XXXApp.XXXService.log
cannot execute java|errno=No such file or directory
Please notice, in above err msg, there are double slash in the path "/usr/local/app/tars/app_log//XXXApp/XXXService/XXXApp.XXXService.log". Not sure whether this is the cause. If so, how to config the log path?

Double slash is same as one slash. Tarsnode will create this directory.

restart tarsnode


rostate_machine: 0.0.2-1 in 'kinetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository rostate_machine to 0.0.2-1:

upstream repository: https://github.com/OUXT-Polaris/rostate_machine.git
release repository: https://github.com/OUXT-Polaris/rostate_machine-release.git
distro file: kinetic/distribution.yaml
bloom version: 0.8.0
previous version for package: null

Holding for sync


static IP not set correctly

When using Vagrant 1.9.1 with the following file:

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network :private_network, ip: "<IP_ADDRESS>"
  config.vm.hostname = "testing.vagrant"
end

this is the output for ifconfig is:
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::20c:29ff:feea:279e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ea:27:9e  txqueuelen 1000  (Ethernet)
        RX packets 7256  bytes 9240928 (8.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3524  bytes 284441 (277.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

as you can see: inet <IP_ADDRESS> is not set to <IP_ADDRESS> what is wrong here?

@geoHeil That seems to be an issue with vagrant, not the hostsupdater plugin. Please see https://github.com/mitchellh/vagrant/issues/8115 for more details. Per comments, bug fix for this issue is slated for 1.9.2.
For now, try one of these:

Downgrade to 1.9.0
Add config.vm.provision "shell", inline: "sudo systemctl restart network.service"

Hope that helps!

Thanks for helping with this @cbirajdar 👍


What is MSF localization doing in the initial time?

System information

OS Platform and Distribution (Linux Ubuntu 16.04):
Apollo installed from (source):
Apollo version (3.0):

Steps to reproduce the issue:

Follow the tutorial: how_to_run_MSF_localization

Problem description:
It takes about 40s after I play the bag file, then the MSF localization module starts working.
I notice that the tutorial mention that "从播放数据到定位模块开始输出定位消息，大约需要30s左右。"

My question is: What is MSF localization doing in the initial time?
I check the localization log file, it keeps showing below message in first 40s:
localization_lidar_process.cc:308] LocalizationLidar GetPredictPose: Recive a lidar msg, but can't query predict pose.
localization_lidar_process.cc:176] PcdProcess: Discard a lidar msg because can't get predict pose. More info see log in function GetPredictPose.

But I don't know what's wrong with "pose_forcastor_->GetBestForcastPose(...)", because I can't find further code about PoseForcast class.

When in the initial time, the SINS (strapdown inertial navigation system)  in localization module receives GNSS and IMU msgs and tries to align them. It will cost around 30 seconds.

Hi, @zhouyao4321 , why 30 seconds are needed ? When align GNSS and IMU, is the motion needed ?


Fixes 2 crashes that occurs during AblySpec tests execution.

As discussed today with @tcard.

If @tcard is happy then good for me

LGTM


localhost bug

I find in code there is all localhost to replace <IP_ADDRESS>, so when I don't bind the localhost to <IP_ADDRESS> in my host file, the phantomjs will not work.

I believe #210 fixes this. So closing

nice !


Variational Autoencoder Custom Loss function

In running the variational_autoencoder.py file in keras/examples/, the following error is encountered -
TypeError: compile() missing 1 required positional argument: 'loss'
On adding the vae_loss as the loss parameter in compile (i.e., vae.compile(optimizer='rmsprop'), loss=vae_loss) instead of vae.add_loss(vae_loss)), the following error is encountered -
TypeError: Using a tf.Tensor as a Python bool is not allowed. Use if t is not None: instead of if t: to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor.
I think the problem is that we need to define a custom loss function for Keras in terms of a Python function that acts on y_pred and y_true, and this is not being done here.

simply use compile(loss=None)


updating documentation to reflect decision of #3386

These are a couple of minor doc tweaks to document the decision to enforce strings in header values. Since requests previously operated with non-string header values, I figured it was best to make note that an exception will now be thrown in the event of a non-string value.
There may be some formatting and wording changes needed, this iteration is mainly to get the conversation going.

Cool, LGTM! :sparkles: @sigmavirus24?

While you're here @sigmavirus24 and @Lukasa, I threw together another commit related to this to encapsulate the type error thrown by re when non-strings are passed to check_header_validity. This is to make it clear that the behaviour is to be expected, but may be overkill with this documentation now. Any thoughts on if this would be worth opening?

Thanks @nateprewitt 🍮 🍰 ☕


Javascript - Form Validation

Form validation.

The user must enter at least some data before the form can be submitted.
provide error/response for the user to prompt them to enter data if insufficient.

The location field should be restricted to ZIP/Postal codes.


Сan't distinguish click and panning event

Hi there!
Starting from version 1.3.0, events for a panning image began to work strangely.
With a normal click (cursor coordinates do not change), events occur in the following order:

PanStart
Click
PanEnd

When I work with panning image the value of the property IsPanning is always true, because during the click PanStart event is always raised before OnClick event (even during a simple click when cursor coordinates do not change).
In versions prior to 1.3.0, there were no events before the click.

I hit the same problem.
In my case the IsPanning is always true inside a click handler so it is impossible to distinguish between "click" and "drag to pan" actions.
A quick research shown that a problem was introduced into rev. 3aa026b72eb9d80682e97ea87b8514b6f7450d3a (Added PanMode and AllowFreePan properties). In this revision the ProcessPanning is called directly from OnMouseDown handler (so, before the click event) and when click event happens, the pan is already started and IsPanning=true.
https://github.com/cyotek/Cyotek.Windows.Forms.ImageBox/blob/2fb350f4173e6dd68d5540b30ab0d2f9d4aba7eb/Cyotek.Windows.Forms.ImageBox/ImageBox.cs#L4018-L4030
It looks like this can be fixed just by adding additional checks for AllowFreePan and mouse button and then call ProcessPanning only if Free Pan is enabled and the button is middle button.
I will provide a pull request with the fix, but I'm unsure that such a fix will play good with all the features and modes of ImageBox.


Page reload loop with Chrome v100+

Should be resolved with?

https://github.com/hypothesis/viahtml/pull/330

This looks like it's a problem with three digit version numbers in browsers.
Instances
Customer reported
URL: https://reason.com/2022/04/03/against-scientific-gatekeeping/
Support ticket: https://app.hubspot.com/contacts/6291320/ticket/288798322/
Via behavior: Continual reload loop, as above vox.com issue.
Additional notes: Seems to be localized to Chrome (v100.0.4896.75). Can not reproduce in FF or Safari.
Each reload of the page adds an /[object%20Object] to the end of the URL
https://user-images.githubusercontent.com/2966918/162315711-ef4d117e-8e44-4486-b272-d439f40d4f68.mov
https://user-images.githubusercontent.com/2966918/162318074-8bbf91c2-0e31-4fb3-8d6f-575ef2320510.mp4
Originally posted by @mattdricker in https://github.com/hypothesis/product-backlog/issues/1270#issuecomment-1089133287

Customer reported
URL: https://www.vox.com (issue occurs on any page at vox.com)
Support ticket: https://app.hubspot.com/contacts/6291320/ticket/847941229/
Via behavior: Page gets stuck in a loop of continually reloading.
Originally posted by @mattdricker in https://github.com/hypothesis/product-backlog/issues/1270#issuecomment-1087939774

In LMS App during workshop
https://partners.brightspace.com/d2l/le/content/8381/viewContent/570934/View
Slack conversation]
Notes

Does this happen on IA?
I suspect it's something to do with pyweb

I think the upstream change has fixed this. Whoop!


Documentation includes non-existent shared_examples override.

The documentation says there is an override for shared_examples that allows the first parameter to be an array or Hash of metadata.
However, the arguments to shared_examples are passed straight through to SharedExampleGroup::Registry#add, which then raises an error if the first argument is not a String, Symbol, or Module.

#1790 suggests that this is expected behaviour, and that it's the documentation that's wrong, so I'll make a PR to remove this.


Add h2 sensitive headers support

@stefan-guggisberg -
Thoughts on adding support for http2 sensitive headers to signify which headers should not be compressed?
https://nodejs.org/api/http2.html#sensitive-headers
If you are amenable to the idea, before I put together a POC, I was considering where it would best fit in this library's API surface and would like your thoughts.
Options I've though of briefly:

An adobe fetch context h2 option that you set once with all the headers you would never want compressed across all your requests, and the implementation checks when sending requests if any of them are in the list and then sets the list of those on the request.
Attempt to add a non-standard-fetch interface request call a way to specify which headers are sensitive on each fetch that occurs
Maybe there's an option I haven't thought about yet?

Thanks for this proposal. However I think it's a rather exotic use case which doesn't fit well with the general protocol agnostic nature of adobe/fetch. An H2 client would probably be better suited.


Traverses directory boundaries when performing negative matching

Hi!
I have noticed surprising behaviour when running a set of integration tests that I put together against micromatch (a javascript glob algorithm). I am on board with almost all of the changes, except one, and I wanted to make sure it was a bug before diving into the code to 'fix' it.
When presented with the glob a[!b]c, wax will happily match path separators in place of b which is odd. So, a/c passes that test case.
    #[test]
    fn negative_match_does_not_traverse_folders() {
        let glob = Glob::new("a[!b]c").unwrap();
        assert!(glob.is_match(Path::new("adc")));
        assert!(!glob.is_match(Path::new("a/c")));
    }

Compare this to a glob playground:
https://www.digitalocean.com/community/tools/glob?comments=true&glob=a[!b]c&matches=false&tests=%2F%2F expected&tests=adc&tests=%2F%2F wax fails here&tests=a%2Fc

Thanks for reporting this! Yep, this is definitely a bug! I know it's been some time, but I just left some comments on your PR to fix this.


Extra log

Extra log: https://wwn-files-live.s3.us-east-2.amazonaws.com/s3fs-public/styles/webp/public/field/image/wunder-log-4.jpg?itok=wkc9Se92


error when trying to open a file via dropbox

Getting the following error when trying to open a file via dropbox...
Dropbox error (400: {"error": "v1_retired"}).

API v1 retirement
In June 2016, we announced the deprecation timeline for API v1. When API v1 is retired in September 2017, any further API v1 calls will fail with a 400 error with the body:
{"error": "v1_retired"}

from: https://www.dropbox.com/developers/reference/migration-guide

Can you try with the new v5 please ? (https://stackedit.io/app)

yes, worked.  PDF exporter, unfortunately is not working yet in 'app'.  I assume you're aware.

I have issues opening file from Dropbox.
For instant I synchronized with my Dropbox account the Welcome File (Welcome file.md).
I authorized StackEdit "Restrict" access (Namely access StackEdit folder only).
When I tried opening it again in a new session I got this:

On top of that a small suggestion, why the name of StackEdit folder has the (restricted) in it?
Couldn't it be StackEdit and that's it?
Thank You.

To add information, saving file does work.
This is in version 5.71.

Ping? Same issue