when i set tensor_parallel_size>1(A100 * 4), it does not work

Your current environment
WARNING 07-13 11:30:05 ray_utils.py:46] Failed to import Ray with ModuleNotFoundError("No module named 'ray'"). For multi-node inference, please install Ray with `pip install ray`.
PyTorch version: 2.3.0
Is debug build: False
CUDA used to build PyTorch: 11.8
ROCM used to build PyTorch: N/A

OS: CentOS Linux 7 (Core) (x86_64)
GCC version: (GCC) 11.3.0
Clang version: Could not collect
CMake version: version 3.30.0
Libc version: glibc-2.17

Python version: 3.9.19 (main, May  6 2024, 19:43:03)  [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-3.10.0-1160.114.2.el7.x86_64-x86_64-with-glibc2.17
Is CUDA available: True
CUDA runtime version: 11.7.64
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: NVIDIA A100 80GB PCIe
GPU 1: NVIDIA A100 80GB PCIe
GPU 2: NVIDIA A100 80GB PCIe
GPU 3: NVIDIA A100 80GB PCIe

Nvidia driver version: 515.43.04
cuDNN version: Probably one of the following:
/usr/lib/libcudnn.so
/usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn.so.8.4.1
/usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.4.1
/usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.4.1
/usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.4.1
/usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.4.1
/usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.4.1
/usr/local/cuda-11.7/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.4.1
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                52
On-line CPU(s) list:   0-51
Thread(s) per core:    1
Core(s) per socket:    52
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 106
Model name:            Intel(R) Xeon(R) Platinum 8358 CPU @ 2.60GHz
Stepping:              6
CPU MHz:               2599.998
BogoMIPS:              5199.99
Virtualization:        VT-x
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
L3 cache:              16384K
NUMA node0 CPU(s):     0-51
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd rsb_ctxsw ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq md_clear spec_ctrl intel_stibp arch_capabilities

Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] torch==2.3.0
[pip3] torchaudio==2.3.0
[pip3] torchvision==0.18.0
[pip3] transformers==4.42.4
[pip3] triton==2.3.0
[conda] blas                      1.0                         mkl
[conda] ffmpeg                    4.3                  hf484d3e_0    pytorch
[conda] libjpeg-turbo             2.0.0                h9bf148f_0    pytorch
[conda] mkl                       2023.1.0         h213fc3f_46344
[conda] mkl-service               2.4.0            py39h5eee18b_1
[conda] mkl_fft                   1.3.8            py39h5eee18b_0
[conda] mkl_random                1.2.4            py39hdb19cb5_0
[conda] numpy                     1.26.4           py39h5f9d8c6_0
[conda] numpy-base                1.26.4           py39hb5e798b_0
[conda] pytorch                   2.3.0           py3.9_cuda11.8_cudnn8.7.0_0    pytorch
[conda] pytorch-cuda              11.8                 h7e8668a_5    pytorch
[conda] pytorch-mutex             1.0                        cuda    pytorch
[conda] torchaudio                2.3.0                py39_cu118    pytorch
[conda] torchtriton               2.3.0                      py39    pytorch
[conda] torchvision               0.18.0               py39_cu118    pytorch
[conda] transformers              4.42.4                   pypi_0    pypi
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.5.0.post1
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0	GPU1	GPU2	GPU3	CPU Affinity	NUMA Affinity
GPU0	 X 	PHB	PHB	PHB	0-51		N/A
GPU1	PHB	 X 	NV4	PIX	0-51		N/A
GPU2	PHB	NV4	 X 	PIX	0-51		N/A
GPU3	PHB	PIX	PIX	 X 	0-51		N/A

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

🐛 Describe the bug
when i set tensor_parallel_size = 2 and run:
llm = LLM(model=the_path, gpu_memory_utilization=0.8, tensor_parallel_size = 2)

the error is :
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/spawn.py", line 125, in _main
    prepare(preparation_data)
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "/miniconda/envs/vllama/lib/python3.9/runpy.py", line 288, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "/miniconda/envs/vllama/lib/python3.9/runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "/miniconda/envs/vllama/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/llama3/mybench/mbxp/my_vllm.py", line 19, in <module>
    llm = LLM(model=the_path, gpu_memory_utilization=0.8, tensor_parallel_size = 2)
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/entrypoints/llm.py", line 144, in __init__
    self.llm_engine = LLMEngine.from_engine_args(
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 363, in from_engine_args
    engine = cls(
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 223, in __init__
    self.model_executor = executor_class(
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/distributed_gpu_executor.py", line 25, in __init__
    super().__init__(*args, **kwargs)
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/executor_base.py", line 41, in __init__
    self._init_executor()
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_gpu_executor.py", line 48, in _init_executor
    self.workers = [
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_gpu_executor.py", line 49, in <listcomp>
    ProcessWorkerWrapper(
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_worker_utils.py", line 162, in __init__
    self.process.start()
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 42, in _launch
    prep_data = spawn.get_preparation_data(process_obj._name)
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/spawn.py", line 154, in get_preparation_data
    _check_not_importing_main()
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/spawn.py", line 134, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
ERROR 07-13 11:38:53 multiproc_worker_utils.py:120] Worker VllmWorkerProcess pid 44025 died, exit code: 1
INFO 07-13 11:38:53 multiproc_worker_utils.py:123] Killing local vLLM worker processes
INFO 07-13 11:38:55 selector.py:169] Cannot use FlashAttention-2 backend because the vllm_flash_attn package is not found. `pip install vllm-flash-attn` for better performance.
INFO 07-13 11:38:55 selector.py:51] Using XFormers backend.
Traceback (most recent call last):
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_worker_utils.py", line 169, in _enqueue_task
    self._task_queue.put((task_id, method, args, kwargs))
  File "/miniconda/envs/vllama/lib/python3.9/multiprocessing/queues.py", line 88, in put
    raise ValueError(f"Queue {self!r} is closed")
ValueError: Queue <multiprocessing.queues.Queue object at 0x7fc13cdf2fa0> is closed

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/llama3/mybench/mbxp/my_vllm.py", line 19, in <module>
    llm = LLM(model=the_path, gpu_memory_utilization=0.8, tensor_parallel_size = 2)
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/entrypoints/llm.py", line 144, in __init__
    self.llm_engine = LLMEngine.from_engine_args(
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 363, in from_engine_args
    engine = cls(
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 223, in __init__
    self.model_executor = executor_class(
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/distributed_gpu_executor.py", line 25, in __init__
    super().__init__(*args, **kwargs)
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/executor_base.py", line 41, in __init__
    self._init_executor()
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_gpu_executor.py", line 65, in _init_executor
    self._run_workers("init_device")
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_gpu_executor.py", line 109, in _run_workers
    worker_outputs = [
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_gpu_executor.py", line 110, in <listcomp>
    worker.execute_method(method, *args, **kwargs)
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_worker_utils.py", line 176, in execute_method
    self._enqueue_task(future, method, args, kwargs)
  File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_worker_utils.py", line 172, in _enqueue_task
    raise ChildProcessError("worker died") from e
ChildProcessError: worker died

and i run your test.py and get this:
W0713 11:42:02.197802<PHONE_NUMBER>34976 torch/distributed/run.py:757]
W0713 11:42:02.197802<PHONE_NUMBER>34976 torch/distributed/run.py:757] *****************************************
W0713 11:42:02.197802<PHONE_NUMBER>34976 torch/distributed/run.py:757] Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
W0713 11:42:02.197802<PHONE_NUMBER>34976 torch/distributed/run.py:757] *****************************************
180:44748:44748 [0] NCCL INFO Bootstrap : Using eth0:<IP_ADDRESS><0>
180:44748:44748 [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
180:44748:44748 [0] NCCL INFO cudaDriverVersion 11070
NCCL version 2.20.5+cuda11.8
180:44748:44800 [0] NCCL INFO NET/IB : No device found.
180:44748:44800 [0] NCCL INFO NET/Socket : Using [0]eth0:<IP_ADDRESS><0> [1]veth114677b:fe80::4d9:59ff:fe50:134a%veth114677b<0> [2]vethd7da57b:fe80::600c:7eff:fe11:3da3%vethd7da57b<0> [3]veth38498f4:fe80::5411:9bff:fe49:fdeb%veth38498f4<0> [4]veth9e303df:fe80::58ac:b2ff:fea9:48e0%veth9e303df<0> [5]veth14d30ca:fe80::7c26:67ff:fe44:d44%veth14d30ca<0>
180:44748:44800 [0] NCCL INFO Using non-device net plugin version 0
180:44748:44800 [0] NCCL INFO Using network Socket
180:44749:44749 [1] NCCL INFO cudaDriverVersion 11070
180:44749:44749 [1] NCCL INFO Bootstrap : Using eth0:<IP_ADDRESS><0>
180:44749:44749 [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
180:44750:44750 [2] NCCL INFO cudaDriverVersion 11070
180:44750:44750 [2] NCCL INFO Bootstrap : Using eth0:<IP_ADDRESS><0>
180:44750:44750 [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
180:44749:44815 [1] NCCL INFO NET/IB : No device found.
180:44750:44816 [2] NCCL INFO NET/IB : No device found.
180:44750:44816 [2] NCCL INFO NET/Socket : Using [0]eth0:<IP_ADDRESS><0> [1]veth114677b:fe80::4d9:59ff:fe50:134a%veth114677b<0> [2]vethd7da57b:fe80::600c:7eff:fe11:3da3%vethd7da57b<0> [3]veth38498f4:fe80::5411:9bff:fe49:fdeb%veth38498f4<0> [4]veth9e303df:fe80::58ac:b2ff:fea9:48e0%veth9e303df<0> [5]veth14d30ca:fe80::7c26:67ff:fe44:d44%veth14d30ca<0>
180:44749:44815 [1] NCCL INFO NET/Socket : Using [0]eth0:<IP_ADDRESS><0> [1]veth114677b:fe80::4d9:59ff:fe50:134a%veth114677b<0> [2]vethd7da57b:fe80::600c:7eff:fe11:3da3%vethd7da57b<0> [3]veth38498f4:fe80::5411:9bff:fe49:fdeb%veth38498f4<0> [4]veth9e303df:fe80::58ac:b2ff:fea9:48e0%veth9e303df<0> [5]veth14d30ca:fe80::7c26:67ff:fe44:d44%veth14d30ca<0>
180:44750:44816 [2] NCCL INFO Using non-device net plugin version 0
180:44750:44816 [2] NCCL INFO Using network Socket
180:44749:44815 [1] NCCL INFO Using non-device net plugin version 0
180:44749:44815 [1] NCCL INFO Using network Socket
180:44751:44751 [3] NCCL INFO cudaDriverVersion 11070
180:44751:44751 [3] NCCL INFO Bootstrap : Using eth0:<IP_ADDRESS><0>
180:44751:44751 [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
180:44751:44817 [3] NCCL INFO NET/IB : No device found.
180:44751:44817 [3] NCCL INFO NET/Socket : Using [0]eth0:<IP_ADDRESS><0> [1]veth114677b:fe80::4d9:59ff:fe50:134a%veth114677b<0> [2]vethd7da57b:fe80::600c:7eff:fe11:3da3%vethd7da57b<0> [3]veth38498f4:fe80::5411:9bff:fe49:fdeb%veth38498f4<0> [4]veth9e303df:fe80::58ac:b2ff:fea9:48e0%veth9e303df<0> [5]veth14d30ca:fe80::7c26:67ff:fe44:d44%veth14d30ca<0>
180:44751:44817 [3] NCCL INFO Using non-device net plugin version 0
180:44751:44817 [3] NCCL INFO Using network Socket
180:44751:44817 [3] NCCL INFO comm 0x6772e9d0 rank 3 nranks 4 cudaDev 3 nvmlDev 3 busId 2100 commId 0x163fb9f81ba1c307 - Init START
180:44749:44815 [1] NCCL INFO comm 0x68981d20 rank 1 nranks 4 cudaDev 1 nvmlDev 1 busId 20e0 commId 0x163fb9f81ba1c307 - Init START
180:44750:44816 [2] NCCL INFO comm 0x6ad82480 rank 2 nranks 4 cudaDev 2 nvmlDev 2 busId 20f0 commId 0x163fb9f81ba1c307 - Init START
180:44748:44800 [0] NCCL INFO comm 0x4eafbd20 rank 0 nranks 4 cudaDev 0 nvmlDev 0 busId 110 commId 0x163fb9f81ba1c307 - Init START
180:44749:44815 [1] NCCL INFO comm 0x68981d20 rank 1 nRanks 4 nNodes 1 localRanks 4 localRank 1 MNNVL 0
180:44751:44817 [3] NCCL INFO comm 0x6772e9d0 rank 3 nRanks 4 nNodes 1 localRanks 4 localRank 3 MNNVL 0
180:44750:44816 [2] NCCL INFO comm 0x6ad82480 rank 2 nRanks 4 nNodes 1 localRanks 4 localRank 2 MNNVL 0
180:44748:44800 [0] NCCL INFO comm 0x4eafbd20 rank 0 nRanks 4 nNodes 1 localRanks 4 localRank 0 MNNVL 0
180:44751:44817 [3] NCCL INFO Trees [0] -1/-1/-1->3->2 [1] -1/-1/-1->3->2
180:44750:44816 [2] NCCL INFO Trees [0] 3/-1/-1->2->1 [1] 3/-1/-1->2->1
180:44748:44800 [0] NCCL INFO Channel 00/02 :    0   1   2   3
180:44750:44816 [2] NCCL INFO P2P Chunksize set to 524288
180:44751:44817 [3] NCCL INFO P2P Chunksize set to 524288
180:44748:44800 [0] NCCL INFO Channel 01/02 :    0   1   2   3
180:44748:44800 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] 1/-1/-1->0->-1
180:44748:44800 [0] NCCL INFO P2P Chunksize set to 524288
180:44749:44815 [1] NCCL INFO Trees [0] 2/-1/-1->1->0 [1] 2/-1/-1->1->0
180:44749:44815 [1] NCCL INFO P2P Chunksize set to 524288
180:44750:44816 [2] NCCL INFO Channel 00 : 2[2] -> 3[3] via SHM/direct/direct
180:44748:44800 [0] NCCL INFO Channel 00 : 0[0] -> 1[1] via SHM/direct/direct
180:44748:44800 [0] NCCL INFO Channel 01 : 0[0] -> 1[1] via SHM/direct/direct
180:44751:44817 [3] NCCL INFO Channel 00 : 3[3] -> 0[0] via SHM/direct/direct
180:44749:44815 [1] NCCL INFO Channel 00/0 : 1[1] -> 2[2] via P2P/IPC/read
180:44750:44816 [2] NCCL INFO Channel 01 : 2[2] -> 3[3] via SHM/direct/direct
180:44751:44817 [3] NCCL INFO Channel 01 : 3[3] -> 0[0] via SHM/direct/direct
180:44749:44815 [1] NCCL INFO Channel 01/0 : 1[1] -> 2[2] via P2P/IPC/read
180:44748:44800 [0] NCCL INFO Connected all rings
180:44751:44817 [3] NCCL INFO Connected all rings
180:44750:44816 [2] NCCL INFO Connected all rings
180:44749:44815 [1] NCCL INFO Connected all rings
180:44751:44817 [3] NCCL INFO Channel 00 : 3[3] -> 2[2] via SHM/direct/direct
180:44751:44817 [3] NCCL INFO Channel 01 : 3[3] -> 2[2] via SHM/direct/direct
180:44749:44815 [1] NCCL INFO Channel 00 : 1[1] -> 0[0] via SHM/direct/direct
180:44749:44815 [1] NCCL INFO Channel 01 : 1[1] -> 0[0] via SHM/direct/direct
180:44750:44816 [2] NCCL INFO Channel 00/0 : 2[2] -> 1[1] via P2P/IPC/read
180:44750:44816 [2] NCCL INFO Channel 01/0 : 2[2] -> 1[1] via P2P/IPC/read
180:44751:44817 [3] NCCL INFO Connected all trees
180:44751:44817 [3] NCCL INFO threadThresholds 8/8/64 | 32/8/64 | 512 | 512
180:44751:44817 [3] NCCL INFO 2 coll channels, 0 collnet channels, 0 nvls channels, 2 p2p channels, 2 p2p channels per peer
180:44748:44800 [0] NCCL INFO Connected all trees
180:44748:44800 [0] NCCL INFO threadThresholds 8/8/64 | 32/8/64 | 512 | 512
180:44748:44800 [0] NCCL INFO 2 coll channels, 0 collnet channels, 0 nvls channels, 2 p2p channels, 2 p2p channels per peer
180:44750:44816 [2] NCCL INFO Connected all trees
180:44749:44815 [1] NCCL INFO Connected all trees
180:44750:44816 [2] NCCL INFO threadThresholds 8/8/64 | 32/8/64 | 512 | 512
180:44750:44816 [2] NCCL INFO 2 coll channels, 0 collnet channels, 0 nvls channels, 2 p2p channels, 2 p2p channels per peer
180:44749:44815 [1] NCCL INFO threadThresholds 8/8/64 | 32/8/64 | 512 | 512
180:44749:44815 [1] NCCL INFO 2 coll channels, 0 collnet channels, 0 nvls channels, 2 p2p channels, 2 p2p channels per peer
180:44749:44815 [1] NCCL INFO comm 0x68981d20 rank 1 nranks 4 cudaDev 1 nvmlDev 1 busId 20e0 commId 0x163fb9f81ba1c307 - Init COMPLETE
180:44751:44817 [3] NCCL INFO comm 0x6772e9d0 rank 3 nranks 4 cudaDev 3 nvmlDev 3 busId 2100 commId 0x163fb9f81ba1c307 - Init COMPLETE
180:44748:44800 [0] NCCL INFO comm 0x4eafbd20 rank 0 nranks 4 cudaDev 0 nvmlDev 0 busId 110 commId 0x163fb9f81ba1c307 - Init COMPLETE
180:44750:44816 [2] NCCL INFO comm 0x6ad82480 rank 2 nranks 4 cudaDev 2 nvmlDev 2 busId 20f0 commId 0x163fb9f81ba1c307 - Init COMPLETE
180:44748:44822 [0] NCCL INFO [Service thread] Connection closed by localRank 0
180:44749:44826 [1] NCCL INFO [Service thread] Connection closed by localRank 1
180:44750:44820 [2] NCCL INFO [Service thread] Connection closed by localRank 2
180:44751:44821 [3] NCCL INFO [Service thread] Connection closed by localRank 3
180:44748:44862 [0] NCCL INFO comm 0x4eafbd20 rank 0 nranks 4 cudaDev 0 busId 110 - Abort COMPLETE
180:44751:44865 [0] NCCL INFO comm 0x6772e9d0 rank 3 nranks 4 cudaDev 3 busId 2100 - Abort COMPLETE
180:44749:44863 [0] NCCL INFO comm 0x68981d20 rank 1 nranks 4 cudaDev 1 busId 20e0 - Abort COMPLETE
180:44750:44864 [0] NCCL INFO comm 0x6ad82480 rank 2 nranks 4 cudaDev 2 busId 20f0 - Abort COMPLETE

i do not use ray because i can not sudo to change the progress limit

upgrade to 0.5.1 should help.

i will try

upgrade to 0.5.1 should help.

it fail too:
[rank0]: Traceback (most recent call last):
[rank0]:   File "/llama3/mybench/mbxp/my_vllm.py", line 19, in <module>
[rank0]:     llm = LLM(model=the_path, gpu_memory_utilization=0.8, tensor_parallel_size = 2)
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/entrypoints/llm.py", line 149, in __init__
[rank0]:     self.llm_engine = LLMEngine.from_engine_args(
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 414, in from_engine_args
[rank0]:     engine = cls(
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/engine/llm_engine.py", line 243, in __init__
[rank0]:     self.model_executor = executor_class(
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/distributed_gpu_executor.py", line 25, in __init__
[rank0]:     super().__init__(*args, **kwargs)
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/executor_base.py", line 42, in __init__
[rank0]:     self._init_executor()
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_gpu_executor.py", line 78, in _init_executor
[rank0]:     self._run_workers("init_device")
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/executor/multiproc_gpu_executor.py", line 130, in _run_workers
[rank0]:     driver_worker_output = driver_worker_method(*args, **kwargs)
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/worker/worker.py", line 126, in init_device
[rank0]:     init_worker_distributed_environment(self.parallel_config, self.rank,
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/worker/worker.py", line 327, in init_worker_distributed_environment
[rank0]:     ensure_model_parallel_initialized(parallel_config.tensor_parallel_size,
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/distributed/parallel_state.py", line 915, in ensure_model_parallel_initialized
[rank0]:     initialize_model_parallel(tensor_model_parallel_size,
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/distributed/parallel_state.py", line 883, in initialize_model_parallel
[rank0]:     _TP = init_model_parallel_group(group_ranks,
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/distributed/parallel_state.py", line 729, in init_model_parallel_group
[rank0]:     return GroupCoordinator(
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/distributed/parallel_state.py", line 175, in __init__
[rank0]:     self.pynccl_comm = PyNcclCommunicator(
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/distributed/device_communicators/pynccl.py", line 89, in __init__
[rank0]:     self.comm: ncclComm_t = self.nccl.ncclCommInitRank(
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/distributed/device_communicators/pynccl_wrapper.py", line 244, in ncclCommInitRank
[rank0]:     self.NCCL_CHECK(self._funcs["ncclCommInitRank"](ctypes.byref(comm),
[rank0]:   File "/miniconda/envs/vllama/lib/python3.9/site-packages/vllm/distributed/device_communicators/pynccl_wrapper.py", line 223, in NCCL_CHECK
[rank0]:     raise RuntimeError(f"NCCL error: {error_str}")
[rank0]: RuntimeError: NCCL error: unhandled cuda error (run with NCCL_DEBUG=INFO for details)

that's another error you need to check, following https://docs.vllm.ai/en/latest/getting_started/debugging.html

device_communicators/pynccl_wrapper.py", line 223, in NCCL_CHECK

i found why, i use cuda11.8, however the runtime cuda is 11.7.
but i can not change the runtime cuda version, so is there any method to solve it?
init.cc:1674 NCCL WARN Cuda failure 'CUDA driver version is insufficient for CUDA runtime version'

may i use torch 2.0.1 and vllm to offline the llama3 70B or qwen?

Nvidia driver version: 515.43.04

you need to contact your admin to see how to update the driver version.


Interatd terminal error 1

VSCode Version: 1.7.1
OS Version: windows 10

Steps to Reproduce:

Integrated terminal
error 	The terminal process terminated with exit code: 1

Need a solution

Dup of https://github.com/Microsoft/vscode/issues/14528


Accepting connections could be faster with level polling

Disclaimer: I'm new to rust.
I've been developing a "sort of" http server (it just uses the same protocol, but in reality it only get GET requests, so no body, nothing complex really) which really needs high performance. The earlier version was written in Go, actually performs really well (benchmarks down), but I just really don't like the occasional spikes in CPU usage due to GC.
That led me to Rust. I wanted to try it out years ago, but the lack of tooling/docs just scared me away. But! I thought now is the time, let's do it. I heard many good things about it, specially it being really fast. Even saw benchmarks (like the TechEmpower one), where Rust really dominates. I was like YEAH, NICE! That's all I need.
Now here comes the problem: my app always closes the connection, sends the Connection: close HTTP header. But... those benchmarks uses keep-alive. So I did some simple "hello world" benchmarking with wrk (since my app is basically an http server), and here's my problem:

hyper

> wrk -t2 -c4 -d20s -H "Connection: close" http://<IP_ADDRESS>:8080
Running 20s test @ http://<IP_ADDRESS>:8080
  2 threads and 4 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   138.03us  332.44us   9.08ms   96.40%
    Req/Sec    11.95k     1.01k   13.53k    86.32%
  477757 requests in 20.10s, 43.28MB read
Requests/sec:  23769.81
Transfer/sec:      2.15MB

Avg. CPU usage during test: 360%.

Go

> wrk -t2 -c4 -d20s -H "Connection: close" http://<IP_ADDRESS>:13370
Running 20s test @ http://<IP_ADDRESS>:13370
  2 threads and 4 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.03ms    9.72ms 173.51ms   98.64%
    Req/Sec    15.67k     2.63k   21.31k    76.88%
  621721 requests in 20.00s, 56.33MB read
Requests/sec:  31085.62
Transfer/sec:      2.82MB

Avg. CPU usage during test: 105% with occasional spikes to ~130% (GC).
Safe to say that's not really promising... So I went ahead, thought it might be an issue (?) in Hyper, and wrote a bare minimum implementation of the same thing on top of tokio to see if there's any difference.

Tokio

> wrk -t2 -c4 -d20s -H "Connection: close" http://<IP_ADDRESS>:8080
Running 20s test @ http://<IP_ADDRESS>:8080
  2 threads and 4 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   140.13us  347.23us  10.41ms   96.41%
    Req/Sec    11.98k     1.09k   16.11k    86.28%
  478077 requests in 20.10s, 43.31MB read
Requests/sec:  23786.07
Transfer/sec:      2.15MB

Avg. CPU usage during test: 360%.
Basically it's the same as hyper - which is not surprising since hyper is built on top of tokio.
Now, as I said earlier I'm very new to Rust, read the book yesterday, so I'm probably doing something wrong. Is there some kind of option I'm missing?
Thanks!
Edit: forgot to mention I'm using --release when building.

Would you be able to share what versions of hyper and tokio are being used? The exact versions can be found in the Cargo.lock file.

@seanmonstar Absolutely!
[[package]]
name = "hyper"
version = "0.11.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "base64 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "bytes 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
 "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "mime 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "time 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-core 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-io 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-proto 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-service 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "tokio"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
 "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-executor 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-io 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-reactor 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-tcp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-threadpool 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-timer 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "tokio-udp 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

This is just a hunch, and may not be the issue, but I've seen an impact on benchmarks before: try pinning to v0.1.12 of tokio-core. So, in your Cargo.toml, have the line for tokio be tokio-core = "=0.1.12".
After that version, tokio upgraded to a new reactor implementation. It's actually better in real world situations, since it more fairly distributes work on your system, but when benchmarking with wrk, where the work is always exactly the same, you only notice the cost of a fairer reactor/executor.

Sadly it doesn't seem to compile with 0.1.12, throws a whole bunch of errors.

Hmmmm, I think for the TechEmpower benchmark, I also had to pin tokio-io directly, I remember some errors... As seen here: https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/Rust/hyper/Cargo.toml

Yeah, that worked, made a huge difference as well. Still a ~15% off though.
wrk -t2 -c4 -d20s -H "Connection: close" http://<IP_ADDRESS>:8080
Running 20s test @ http://<IP_ADDRESS>:8080
  2 threads and 4 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   100.47us   63.45us   4.02ms   92.08%
    Req/Sec    13.60k     1.11k   16.16k    64.68%
  543793 requests in 20.10s, 77.27MB read
Requests/sec:  27055.20
Transfer/sec:      3.84MB

CPU usage went down from 360% to 100%.

Hm, how many threads is the Go version allowed to use? I assume if using tokio-core, you've stuck to 1 thread. That could be a difference.

The Go version is single-threaded. Technically it uses runtime.GOMAXPROCS(runtime.NumCPU()), but it's using a single-threaded event loop and just barfing out hello world on the same thread. So even if I increase threads and connections in wrk, the CPU usage stays around 100% (increases when GC running, but that's on another thread afaik) and the throughput is around the same with less connections and threads:
wrk -t8 -c16 -d20s -H "Connection: close" http://<IP_ADDRESS>:13370
Running 20s test @ http://<IP_ADDRESS>:13370
  8 threads and 16 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     3.49ms   25.75ms 344.71ms   98.09%
    Req/Sec     4.80k   711.35     5.89k    86.02%
  758862 requests in 20.10s, 68.75MB read
Requests/sec:  37754.70
Transfer/sec:      3.42MB

I'd think that call would actually make the Go app use as many threads as you have CPUs. At least, that's what the docs of that method says.
As to hyper itself, I haven't really benchmarked with 1 request per connection, so it is possible there is some low hanging fruit. If I had to guess, it's probably not anything with accepting the connection, and probably something about setting up the HTTP state machine after accepted (and read and write buffers).

Just to be sure I set GOMAXPROCS to 1, got the same result. Under the hood that app uses https://github.com/tidwall/evio, which - as states - is a single-threaded event loop.
To be fair, the pure tokio implementation (without hyper) does the same as hyper. I really don't have any deep knowledge about this, but wouldn't it suggest that the bottleneck is either in tokio or in mio?

Oh interesting. If the version not using hyper performs the same, then yea, it must be at a lower level than hyper.

Do you reckon I should open an issue about this somewhere else? And if so, where?

@seanmonstar Tbh I don't feel comfortable enough in Rust yet to be sure that my tokio/mio implementation would be perfect, so I've ran multiple benchmarks for all test cases again except tokio - so hyper old/latest, and go. Done flamegraph for all options, and also used strace if there's anything interesting happening there.
All these things were running separately, so while benchmarking throughput I didn't use strace or perf and vica versa.
Go
wrk -t2 -c4 -d20s -H "Connection: close" http://<IP_ADDRESS>:13370
Running 20s test @ http://<IP_ADDRESS>:13370
  2 threads and 4 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    55.62us   51.12us   3.09ms   87.85%
    Req/Sec    18.71k     2.47k   23.86k    60.60%
  746448 requests in 20.10s, 67.63MB read
Requests/sec:  37137.91
Transfer/sec:      3.36MB

Avg. CPU load: 100% (single thread).
strace
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 98.72    0.656000        7718        85         6 futex
  0.62    0.004110           0     23435           epoll_wait
  0.27    0.001764           0     23405           close
  0.19    0.001245           0     23403           write
  0.09    0.000565           0     46824           fcntl
  0.04    0.000292           0     70222           epoll_ctl
  0.04    0.000235           0     23412           accept
  0.02    0.000160           0     23407           read
  0.02    0.000127           0     23407           getsockname
  0.00    0.000006           2         4           sched_yield
  0.00    0.000000           0         2           pselect6
  0.00    0.000000           0         5           epoll_pwait
------ ----------- ----------- --------- --------- ----------------
100.00    0.664504                257611         6 total

graph
https://cdn.rawgit.com/orangesoup/09c33197de50615d0527a5088543affd/raw/351666be5c759a7c39780063208a9bc6a48f1a40/flamegraph_go.svg

hyper (tokio-core = "=0.1.12"; tokio-io = "=0.1.4")
wrk -t2 -c4 -d20s -H "Connection: close" http://<IP_ADDRESS>:8080
Running 20s test @ http://<IP_ADDRESS>:8080
  2 threads and 4 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    98.89us   65.99us   4.25ms   92.33%
    Req/Sec    13.47k     1.21k   15.62k    69.15%
  538551 requests in 20.10s, 76.53MB read
Requests/sec:  26793.80
Transfer/sec:      3.81MB

Avg. CPU load: 100% (as you said, this version is single-threaded).
strace
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 43.89    0.008857           0    124116           close
 33.18    0.006696           0    124112           writev
  5.62    0.001135           0    155298     31183 accept4
  4.65    0.000939           0    248230           setsockopt
  4.64    0.000937           0    124115           readv
  3.21    0.000648           0     93556           epoll_wait
  2.83    0.000572           0    124115           epoll_ctl
  1.96    0.000396           0    124115           ioctl
  0.00    0.000000           0         8         3 read
  0.00    0.000000           0         3           write
  0.00    0.000000           0         1           open
  0.00    0.000000           0         2           fstat
  0.00    0.000000           0         1           lseek
  0.00    0.000000           0         1           mmap
  0.00    0.000000           0         1           munmap
------ ----------- ----------- --------- --------- ----------------
100.00    0.020180               1117674     31186 total

graph
https://cdn.rawgit.com/orangesoup/c68ef2fe9cbe0fb43bf01f7b883d8096/raw/0de030d2f0e3465d7466ca9350b8982317b1a322/flamegraph_hyper_old.svg

hyper (latest, tokio 0.1.5)
wrk -t2 -c4 -d20s -H "Connection: close" http://<IP_ADDRESS>:8080
Running 20s test @ http://<IP_ADDRESS>:8080
  2 threads and 4 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   121.06us  105.47us   7.58ms   97.88%
    Req/Sec    12.00k     1.16k   13.51k    73.38%
  480046 requests in 20.10s, 68.21MB read
Requests/sec:  23883.08
Transfer/sec:      3.39MB

Avg. CPU load: 115%.
strace
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 40.55    0.009221           0    112527           close
 29.99    0.006820           0    112523           writev
  9.18    0.002087           0    225052           epoll_ctl
  5.94    0.001350           0    141657     29131 accept4
  4.49    0.001021           0    113994      1378 futex
  4.08    0.000928           0    225052           setsockopt
  3.94    0.000895           0    112526           readv
  1.83    0.000417           0    112526           ioctl
  0.00    0.000000           0         2           read
  0.00    0.000000           0         1           open
  0.00    0.000000           0         2           fstat
  0.00    0.000000           0         1           lseek
  0.00    0.000000           0         1           mmap
  0.00    0.000000           0         1           munmap
------ ----------- ----------- --------- --------- ----------------
100.00    0.022739               1155865     30509 total

graph
https://cdn.rawgit.com/orangesoup/dedaab5cd10a26ececb80b86e7b3e3aa/raw/9bcd8d92b8669f38cc75d7b7017776845b0d35f4/flamegraph_hyper_latest.svg

The flamegraphs suggest that a lot of time is spent in __libc_close... I'm just guessing wildly at this point, but I wonder if something like setting TCP_NODELAY would have any impact...

I think I've tried using that option with the pure tokio implementation to see if there's any difference, but didn't change much really. But then again, it might be that I just messed that up totally. Is there like a pure tokio "hello world" example that's not an echo server?

But... this example uses edge-triggered epoll. So I've swapped out PollOpt::edge() for PollOpt::empty(), and got... 53k req/s with only 90% avg cpu usage. This is just superb now.
I'm guessing under the hood tokio is using edge-triggered epoll, but I honestly really think this should be an available option to set at least in tokio. Probably wouldn't make much sense for hyper since most of its users will serve HTTP 1.1/2 clients with keep-alive.

Wow, fantastic find. With that, a case could be made on the tokio repo that the TcpListener should perhaps register on level triggered events, instead of edge... Or at least be an option. Care would be needed that someone is actually accepting the sockets as fast as possible, or else epoll would start to waste CPU alerting to an event that the user isn't ready to handle...

@orangesoup you probably get better performance w/ level because the edge version is broken.
With edge triggered, you must drain the resource. In your case, you only try accepting one socket. There are probably more sockets waiting to be accepted, but you loop back into poll. So, sockets are pending being accepted while you block in poll.


fix(plugin/country/map): rectify naming for some Vietnamese provinces

fix(plugin/country/map): rectify naming for some Vietnamese provinces
SUMMARY

Some Vietnamese provinces are incorrectly named without diacritics and "Hồ Chí Minh City" should be named natively as "Thành phố Hồ Chí Minh". This PR is to remediate such issue
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Hi! This is much appreciated, but we need to make edits in the Jupyter notebook that generates these files. If we only edit the GeoJson files, they will be overwritten the next time someone runs the notebook. Hopefully this blog post explains it, but if not I'm happy to improve it.
https://preset.io/blog/how-and-when-and-why-to-update-apache-supersets-country-maps/

Awesome! Thanks for the lead. I'll be checking the referred blog 😄

I've updated the Notebook! No idea why other countries's geojson has a new name attribute though :D

oh I saw you were having the side effects also :D
https://github.com/apache/superset/pull/29627

Heya! Yep... and that PR of mine just merged. If you don't mind rebasing (which might have some notebook changes to sort out) I think this'll be easy to review/merge after that.

Rebased and now pending for review/approval :D

hi @rusackas, is this PR still eligible? A bit rusty in the shed now :D

Sorry I missed this! Yes, it's fine! Merging!


Feedback: this should be an internal tool for GitHub to develop its own supported products

GitHub Blocks allows people to add all kinds of JavaScript and HTML to MySpacify their page at http://github.com/user/repo
Here's why I don't support releasing this product for general availability.

Safety
If you can inject interactive elements into a page there is more risk of injecting bad elements. When I visit a github.com/... page, I am expecting that GitHub controls at least the formatting of that page. That is why GitHub hosts customer-generated webpages on github.io.
Portability
Any kind of github.com–myspace-app is only runnable on GitHub.com. Even if GitHub open sourced its full vocabulary like Slack Blocks did, GitLab and others are not going to implement it. And even if they did implement it, GitHub would keep incrementing it, breaking compatibilty.
I have a lot of respect for Microsoft nowadays because it delivers great tools and they are portable. GitHub Blocks is a deviation from this path.
These blocks should be built-in and maintained by GitHub
The first selling point on the marketing page for "kinds of blocks you can create" is a 3D model viewer.
If GitHub wants to support 3D models, that's great! It does a pretty good with CSV files already. This should be done at the GitHub level, not at the customers level. I can't think of anybody using GitHub that can or should be able to come up with a 3D viewer. Do you really want to browse GitHub repos and some of them have 3D viewers and some of them don't?
A P5 viewer? Just update GitHub Flavored Markdown to render every [...p5.js](some P5) link and in the READMEs shown on http://github.com/... show it that way every time.
Zero people complained when GitHub changed how CSV files render for everybody. Be fearless and deploy more of these good updates that are already built and demonstrated here as Blocks—but do it for everybody just like the CSV updates.
We already have great way do all these things... the GitHub Pages
Do you want a quick way to allow people visiting your project to edit a webpage, contribute their first commit, or consume some content in your repository?
Well I've got the solution for you, it's GitHub Pages! With GitHub Pages and some great GitHub APIs, you can access all repository content and history, render it however you want, and make it better!
Some off-the-shelf projects exist like prose. But also remember... anything you could do with GitHub Blocks can be done with GitHub Pages. You can probably even translate from the former to the latter just using VS Code, adding a comment // translate this to an HTML widget and pressing enter.* (*Fees apply for using GitHub Copilot.)
Blocks is still great, but it should live as a debugging tool rather than a product candidate
But again, blocks is really cool as an internal GitHub tool. Maybe some non-GitHub-employees can recommend improvements to the GitHub CSV viewer. Great! And I welcome this community involvement. I already CMD-OPT-I all kinds of websites I don't own to add features (Google Docs dark mode anyone?) . Having a first-party, first-rate tinkering experience with GitHub's interface is really cool.
But let's say I build a better way to render CSV files (maybe a way to add a row, which generates a PR). It might be cool to deploy that on my on GitHub repo page. But how much cooler would it be if GitHub accepted that change and deployed it for the billions of GitHub visitors on the millions of GitHub repos across the GitHub universe?

Please don't pick one of these points, refute it, and say this issue is dead. These are four independent points, each of which individually should be good enough to stop Blocks from reaching general availability.

I didn't see a discussions tab or anywhere mentioned to give durable, discussable feedback (i.e. not Discord) so I hope this post is welcome here.

I tend to agree. Part of what makes GitHub special is precisely that it's not very customizable. It's all about the code.
If GitHub let's users add lots of visual bells and whistles, it risks turning the platform into a social media popularity contest-type network. Such a move would be good for short-term engagement metrics and probably get the product team members who worked on it a promotion or two, but I doubt it'd be good for the overall user experience or long-term development of the platform.
There are a lot of great things about Blocks, and I'm glad the team is experimenting with features like this. Just please don't let this become--to steal @fulldecent's analogy--a MySpacification.


⚠ Bofrost.de has degraded performance

In ad26078, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 982 ms

Resolved: Bofrost.de performance has improved in cfdf398.


fix(msp cr status): add fix for msp cr going to error state on node down

Fix for the bug which causes the CR status to go from CREATING to ERROR.
Added checks to handle PRECONDITION_FAILED errors.
Resolves CAS-1244

bors merge


Colliding of parallel labels

DotSpatial version:  1.8,1.9,2.0
If u want some Labels to allign to a LineLayer below(Streets should be the common example) the Collsion detection only works for like 80% of the Labels. Well, it removes a lot of the colliding Labels, but not all of them, so its a completely unusable feature. While i tested through the options the Collision detection only really works if the Labels are Horizontal, and u just cant Label streets horizontal.
So, since this problem seems to be present since v1.8 and is still in 2.0, is there any hope for a fix or is there a way to workaround ? Would be kinda dissapointing if i have to switch off from DotSpatial cause i really need clean street names.

This is a duplicate of #740.
Maybe as a workaround you could set the dynamic visibility scale of the labels to a scale that is small enough that the labels don't collide there.

I know that it was a duplicate, i just reopened it cause there was never an answer on the other issue.
And thats not a workaround at all, cause even on close scale they gonna collide all the way.

@W14A maybe you want to investigate and propose fix for this issue, if it so critical for you? DS is non-commercial product, so any help are appreciated.

Hi,
I have the same problem. I've searched a lot, but came up with no solution.
If you found any solution , would you please share it.
Thanks

Yeah sry there is no Solution. I had no time in my project to fix some shitty errors in the dll's. I switched to mapwingis.ocx and it works wonderful.

Thanks, It is appreciated


Line numbers in getCallee() output

If the file that getCallee() looks for is located in the root of lib or node_modules directories then line numbers appear in the resulting string.
15:52:44.079Z DEBUG briskhome/core.js:45:33: Initialized logger instance for component
15:52:44.079Z  INFO briskhome/core.js:45:33: Briskhome initialization successful

Commit 2bd7817 fixes the issue.


Reset password is confusing

When we reset a password, the message containing the new password is confusing:

Indeed, the final POINT is not part of the password!

Thanks @MattBlissett !


Add base 16 gruvbox dark hard to the themes

okay thanks! Just add a line to doc/airline-themes.txt and mention this theme.

Just add the theme in the doc

thanks. I have merged it.

thanks. I have merged it.

This is the most productive thing I did in this month.

great for motivating. 👍


Dialogue boxes crave attention

The "Adding files" progress bar forces itself front and center no matter what I do with it. If I am importing a few thousand files, it is really annoying  being forced to have that windows on top of everything and in the middle of the screen

Can you try out #552 and let me know if there is anything else that you think should be changed?
https://github.com/comictagger/comictagger/wiki/downloading-packages-from-pull-requests


Add forms

Implemented Changes:

[x] Create a method called current_user in your ApplicationController to make current user data available to all controllers

[x] It will return the first user from the database

[x] Create forms to perform the following functions:

[x] Creates a Post on behalf of the current_user (user the method that you created in your ApplicationController)
[x] Create a comment on behalf of the current_user (use the method that you created in your ApplicationController)

[x] Allow Users to add likes to Posts.

Note:
I did tryid to comply with the last requirement about adding likes, so it works, but the button for removing likes is still in progress, I would appreciate if you ignore that part.

Hi @Diegogagan2587
Kindly remove the underlined aspect from your ReadMe asap!

Cheers!


Add Audience#filter method

This method would allow a user of the Adventure API to easily synthesize audiences that meet some arbitrary condition, i.e.
audience.filter(this::canSeeAnnouncements).sendMessage(announcement);

This method has many uses that are far too many to enumerate here.

is this not effectively a duplicate of #154

I talked with kashike before filing this issue, and he said your issue is better placed in adventure-platform, not adventure itself.

Yeah we discussed the differences as well - I just wondered with mine is just not an extension really of yours


key rev is ignored for dependency (tracing)

Lapce Version
0.4.0
System information
FreeBSD 14.0 / Rust 1.77.0
Describe the bug
Can't compile:
error: failed to load manifest for workspace member `/wrkdirs/usr/ports/editors/lapce/work/lapce-0.4.0/lapce-app`

Caused by:
  failed to parse manifest at `/wrkdirs/usr/ports/editors/lapce/work/lapce-0.4.0/lapce-app/Cargo.toml`

Caused by:
  key `rev` is ignored for dependency (tracing).

Additional information
Trying to compare Cargo.{lock,toml} from 0.3.1 version but can't find what causing this error.

Did you try using vendor tarball? It has the Cargo dependency manifest and all dependencies already present, so you could just swap out it in build

I will try vendor tarball and figure out how to interact with our ports framework.
Thanks!

Any luck?

@panekj
It seems that FreeBSD framework is getting in between and changing some stuff.
I was not able to use vendor tarball yet as I will need more time to do that.
In the meanwhile we will use workaround until a better approch if found.
Thanks very much for your help.
Will close PR now.
Cheers


ci: run different node versions

@AuHau Please also drop the v10 version here and edit the README accordingly

Hehe, done before you commented :-P


How to send meta data with a message

Define and implement how the (chat-)client can send additional meta-data related to the conversation.
This feature is required for #87

Closed with #99


Turn on fullscreen iPad?

Can't seem to be able to play full screen for iPad.
public func loadVideoID(videoID: String) {
var playerParams = playerParameters()
playerParams["videoId"] = videoID
playerParams["playsinline"] = "0"
    loadWebViewWithParameters(playerParams)
}

The video still plays in line. Any help?

Did you find any solution to this? Running into this same problem. I want to display the player inline when the iPad is in landscape or automatically in fullscreen when the iPad is in portrait. I can write the functions required to detect the rotation. However, I have not found a way to force the player into full screen.

Having the same issue, Cannot get the player to play in full screen on iPad. Here is my parameters
let params: YouTubePlayerView.YouTubePlayerParameters = [
"controls": 0 as AnyObject,
"color": "white" as AnyObject,
"iv_load_policy": 3 as AnyObject,
"modestbranding": 0 as AnyObject,
"playsinline": 0 as AnyObject,
"showinfo": 0 as AnyObject,
"rel": 0 as AnyObject,
"fs": 1 as AnyObject
]

I am also facing the same issue. Does anyone have the solution for this?

My videos still play in fullscreen on iPhone but it wasn't playing fullscreen on iPad. I had to make a change in YouTubePlayer.swift. If you change allowsInlineMediaPlayback to false in this section:
fileprivate func buildWebView(_ parameters: [String: AnyObject]) {         webView = UIWebView()         webView.allowsInlineMediaPlayback = false         webView.mediaPlaybackRequiresUserAction = false         webView.delegate = self         webView.scrollView.isScrollEnabled = false     }
it will now play in fullscreen on iPad. Or at least it is working at the time of writing this. I hope that helps.


feat: new sc4s-finalfilter for resolving OOB postfilter conflict issue

Closes: #1863

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


after format, eslint(vue/html-indent) show warning

after format:

after eslint fix:

how can I get the right indent like eslint do with just format?

use just eslint.
prettier is bullshit!!!
https://antfu.me/posts/why-not-prettier


Correct node pos of empty XML template expressions

Purpose

$title

Fixes #39880
Approach
Samples
Remarks
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[x] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Build is failing

Build is failing

Fixed the failing LS test case in https://github.com/ballerina-platform/ballerina-lang/pull/40044/commits/9cf8e144388ba3f0c141bd8fad7ff6782812bc5e.

@IMS94 can you please have a look


When expressionEvaluationOptions scope set to 'inner' for nested template, inner parameters and variables are marked as undefined

You may test this with the nested template taken from here:
https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/linked-templates#linked-template
Template would deploy, but inner parameters and variables are marked by VS code as undefined.
{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "<IP_ADDRESS>",
  "parameters": {
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "The location where the resources will be deployed."
      }
    },
    "vaultName": {
      "type": "string",
      "metadata": {
        "description": "The name of the keyvault that contains the secret."
      }
    },
    "secretName": {
      "type": "string",
      "metadata": {
        "description": "The name of the secret."
      }
    },
    "vaultResourceGroupName": {
      "type": "string",
      "metadata": {
        "description": "The name of the resource group that contains the keyvault."
      }
    },
    "vaultSubscription": {
      "type": "string",
      "defaultValue": "[subscription().subscriptionId]",
      "metadata": {
        "description": "The name of the subscription that contains the keyvault."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2019-10-01",
      "name": "dynamicSecret",
      "properties": {
        "mode": "Incremental",
        "expressionEvaluationOptions": {
          "scope": "inner"
        },
        "parameters": {
          "location": {
            "value": "[parameters('location')]"
          },
          "adminLogin": {
            "value": "ghuser"
          },
          "adminPassword": {
            "reference": {
              "keyVault": {
                "id": "[resourceId(parameters('vaultSubscription'), parameters('vaultResourceGroupName'), 'Microsoft.KeyVault/vaults', parameters('vaultName'))]"
              },
              "secretName": "[parameters('secretName')]"
            }
          }
        },
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
          "contentVersion": "<IP_ADDRESS>",
          "parameters": {
            "adminLogin": {
              "type": "string"
            },
            "adminPassword": {
              "type": "securestring"
            },
            "location": {
              "type": "string"
            }
          },
          "variables": {
            "sqlServerName": "[concat('sql-', uniqueString(resourceGroup().id, 'sql'))]"
          },
          "resources": [
            {
              "type": "Microsoft.Sql/servers",
              "apiVersion": "2018-06-01-preview",
              "name": "[variables('sqlServerName')]",
              "location": "[parameters('location')]",
              "properties": {
                "administratorLogin": "[parameters('adminLogin')]",
                "administratorLoginPassword": "[parameters('adminPassword')]"
              }
            }
          ],
          "outputs": {
            "sqlFQDN": {
              "type": "string",
              "value": "[reference(variables('sqlServerName')).fullyQualifiedDomainName]"
            }
          }
        }
      }
    }
  ],
  "outputs": {
  }
}

Following errors are marked:

@yeswps Thanks for taking the time to enter this, and for using our extension.  This is being tracked as https://github.com/microsoft/vscode-azurearmtools/issues/484 and will be part of our next major release.  Just got the basic code working today.  If you're interested, I can provide a beta version to install manually when it's ready.

@StephenWeatherford yes I would like to try the beta version, can you please let me know where can i retrieve it. Thanks!

Should be ready later today or tomorrow.

@yeswps It's available here: https://github.com/microsoft/vscode-azurearmtools/releases/tag/v0.10.1-alpha
Download the VSIX, then install it via Command Palette -> Extensions: Install from VSIX...
Let us know how it works, thanks!

awesome. Just tried it, works great!

Just installed alpha extension and it did indeed remove all parameter/variable errors for inner template.

Great, thanks for letting us know.

@StephenWeatherford
I've tried with one of my own template, where I'm using copy in variables in inner nested template, following errors are logged, the error didn't clearly indicate which CopyIndex was triggering the issue. The template deploys fine. Should I open a new thread so i can paste the entire template?
Template validation failed: Internal error: Validation threw an exception: The template function 'copyIndex' is not expected at this location. The function can only be used in a resource with copy specified. Please see https://aka.ms/arm-copy for usage details.

Yes, please open another issue.  Thanks!


Issue with multiple browser running. Tests are running on one browser only and instances are not closed

Are you requesting a feature or reporting a bug?
Bug
What is the current behavior?
We are using TestCafe with Cucumber and pass parameters to cucumber using “world-parameters”.
My project consists from 3 feature files.
When I run tests on IE or Chrome, all works fine.
Get issues when try to use concurrent running or use more than one browser.
package.json
"test-ie": "./node_modules/.bin/cucumber-js.cmd  --world-parameters "{\"browser\": [\"ie\",\"chrome\"],\"url\": \"http://localhost:4200/#\\\"}\"",
C:\Users\ddd\AppData\Roaming\npm\node_modules\testcafe\lib\utils\kill-browser-process.js
var processOptions = { arguments: browserId, psargs: 'aux' };
With this configuration IE and Chrome instances  are starting, but actually I can see that tests execute in IE only.
Get 3 IE instances and 3 Chrome instances running. As I understand, one instance for one feature file.
Get message, that tests completed successfully, but IE instances did not close, Chrome instances are still  executing with status “CONNECTED” in the browser.
Comand line:

cucumber-js.cmd  --world-parameters "{"browser": ["ie","chrome"],"url": "http://localhost:4200/#\"}"

Running tests in:

IE 11.0.0 / Windows 10.0.0
Chrome 68.0.3440 / Windows 10.0.0

3 scenarios (3 passed)
56 steps (56 passed)
2m59.468s
Even after 10 min get the same state. When stop project manually, get message "Process finished with exit code 1"
What is the expected behavior?
Tests should be run in in both browsers
I should get message in console: "Process finished with exit code 0"
How would you reproduce the current behavior (if this is a bug)?
Please, see above
Provide the test code and the tested page URL (if applicable)
Tested page URL:
Test code

Specify your

operating system:Win 10
testcafe version:0.22.0(updated today)
node.js version:8.9.4

Hi @Aniku2009, cucumber-js doesn't support running tests in multiple browsers: https://stackoverflow.com/a/43386755/5114901

Hello @Aniku2009
This may be of interest to you. I use this package to run tests in parallel via cucumber (with some limitations)
https://www.npmjs.com/package/cuke-skywalker
Hope this helps.


custom food serving size in edit foods?

In diary you can choose your serving size by cups, grams, etc
(I assume it's used to calculation size for calories)
But i don't see where in foods>edit foods you can set the serving by cups or grams etc.
You can put it in the description, but does that allow for calories calculation?
I primary use only custom food as i don't have a hugely varied diet 95% of the time.

Yeah its a bit confusing I put it in the other fields. Its "Serving weight 1". Only made all those fields like that because MyFoodData has a bazillion fields I didn't want to map myself
On May 26, 2024 7:11:19 AM GMT+12:00, nutpantz @.***> wrote:

In diary you can choose your serving size by cups, grams, etc
(I assume it's used to calculation size for calories)
But i don't see where in foods>edit foods you can set the serving by cups or grams etc.
You can put it in the description, but does that allow for calories calculation?
I primary use only custom food as i don't have a hugely varied diet 95% of the time.
--
Reply to this email directly or view it on GitHub:
https://github.com/brandonp2412/FitBook/issues/1
You are receiving this because you are subscribed to this thread.
Message ID: @.***>

You can't pick the measurement in foods edit like you can in diary.
On May 25, 2024 3:38:15 PM PDT, Brandon Presley @.***> wrote:

Yeah its a bit confusing I put it in the other fields. Its "Serving weight 1". Only made all those fields like that because MyFoodData has a bazillion fields I didn't want to map myself
On May 26, 2024 7:11:19 AM GMT+12:00, nutpantz @.***> wrote:

In diary you can choose your serving size by cups, grams, etc
(I assume it's used to calculation size for calories)
But i don't see where in foods>edit foods you can set the serving by cups or grams etc.
You can put it in the description, but does that allow for calories calculation?
I primary use only custom food as i don't have a hugely varied diet 95% of the time.
--
Reply to this email directly or view it on GitHub:
https://github.com/brandonp2412/FitBook/issues/1
You are receiving this because you are subscribed to this thread.
Message ID: @.***>

--
Reply to this email directly or view it on GitHub:
https://github.com/brandonp2412/FitBook/issues/1#issuecomment-2131586967
You are receiving this because you authored the thread.
Message ID: @.***>

Hmm it might be a bit more confusing to do something like that. I'll have to think about it for a while. All the fields on "Foods" are per 100g (another thing i'm not sure how to make this more clear, something in the title?). So if I had a custom unit for serving size I just wonder how that would work with calculating all the other fields

What about i move "Serving weight 1" and "Serving description 1" above "Show other fields", make them "Serving amount" and "Serving unit". Then whenever I do servings calculations, I run my conversion function to be 100g

Well too be honest i think most people use volume over weight for serving size. (I know that weight is the better way to measure, but never do)
There needs to be a way to convert the food calories\weight\volume to the preferred serving size in diary.
The way i have seen it done before is you put in the serving size by weight AND volume (ie 50 calories \ .33 cups \34 grams) (and could choose cups\liters\ml or oz\gram\Kg) and when you do your diary the serving size you eat is converted to calories and nutrition
But i don't know how complicated that is too implement. (I know metric vs imperial US vs UK is not fun(just go metric everything lol)
Personally i would like a setting to "always show" above other fields various things (but that would be s different issue) in settings. So i can pick and choose what is always visible.
On May 25, 2024 4:35:44 PM PDT, Brandon Presley @.***> wrote:

What about i move "Serving weight 1" and "Serving description 1" above "Show other fields", make them "Serving amount" and "Serving unit". Then whenever I do servings calculations, I run my conversion function to be 100g
--
Reply to this email directly or view it on GitHub:
https://github.com/brandonp2412/FitBook/issues/1#issuecomment-2131683452
You are receiving this because you authored the thread.
Message ID: @.***>

All the fields on "Foods" are per 100g (another thing i'm not sure how to make this more clear, something in the title?). So if I had a custom unit for serving size I just wonder how that would work with calculating all the other fields

Either add a label on top "all measurements are per 100 g" or add  / hg to the individual units of measure, e.g.
Energy (kcal / hg)
Energy (kJ / hg)
Proteing (g / hg)

(joule symbol is capital J).
I agree you should just move the serving unit and size in the top section of the view, so they are always visible, and maybe make default serving weight 100 g rather than 1 g.

A calorie and nutrition tracking app that cannot do the conversion to the serving being consumed is very cumbersome.
Having to do the math from the product label to only 100g servings (which i have never seen on a product label yet) is even more cumbersome.
On May 28, 2024 1:08:54 PM PDT, anddam @.***> wrote:

All the fields on "Foods" are per 100g (another thing i'm not sure how to make this more clear, something in the title?). So if I had a custom unit for serving size I just wonder how that would work with calculating all the other fields

Either add a label on top "all measurements are per 100 g" or add  / hg to the individual units of measure, e.g.
Energy (kcal / hg)
Energy (kJ / hg)
Proteing (g / hg)
(joule symbol is capital J).
I agree you should just move the serving unit and size in the top section of the view, so they are always visible, and maybe make default serving weight 100 g rather than 1 g.
--
Reply to this email directly or view it on GitHub:
https://github.com/brandonp2412/FitBook/issues/1#issuecomment-2136022393
You are receiving this because you authored the thread.
Message ID: @.***>

A calorie and nutrition tracking app that cannot do the conversion to the serving being consumed is very cumbersome. Having to do the math from the product label to only 100g servings (which i have never seen on a product label yet) is even more cumbersome.
…
On May 28, 2024 1:08:54 PM PDT, anddam @.> wrote: > All the fields on "Foods" are per 100g (another thing i'm not sure how to make this more clear, something in the title?). So if I had a custom unit for serving size I just wonder how that would work with calculating all the other fields Either add a label on top "all measurements are per 100 g" or add  / hg to the individual units of measure, e.g. Energy (kcal / hg) Energy (kJ / hg) Proteing (g / hg) (joule symbol is capital J). I agree you should just move the serving unit and size in the top section of the view, so they are always visible, and maybe make default serving weight 100 g rather than 1 g. -- Reply to this email directly or view it on GitHub: #1 (comment) You are receiving this because you authored the thread. Message ID: @.>

Do other countries put the nutrition facts as per serving and not have a column for per 100g?

https://www.fda.gov/food/nutrition-education-resources-materials/nutrition-facts-label
North America does not have a column for 100g
On May 28, 2024 4:23:30 PM PDT, Brandon Presley @.***> wrote:

A calorie and nutrition tracking app that cannot do the conversion to the serving being consumed is very cumbersome. Having to do the math from the product label to only 100g servings (which i have never seen on a product label yet) is even more cumbersome.
…
On May 28, 2024 1:08:54 PM PDT, anddam @.> wrote: > All the fields on "Foods" are per 100g (another thing i'm not sure how to make this more clear, something in the title?). So if I had a custom unit for serving size I just wonder how that would work with calculating all the other fields Either add a label on top "all measurements are per 100 g" or add  / hg to the individual units of measure, e.g. Energy (kcal / hg) Energy (kJ / hg) Proteing (g / hg) (joule symbol is capital J). I agree you should just move the serving unit and size in the top section of the view, so they are always visible, and maybe make default serving weight 100 g rather than 1 g. -- Reply to this email directly or view it on GitHub: #1 (comment) You are receiving this because you authored the thread. Message ID: @.>

Do other countries put the nutrition facts as per serving and not have a column for per 100g?
--
Reply to this email directly or view it on GitHub:
https://github.com/brandonp2412/FitBook/issues/1#issuecomment-2136259130
You are receiving this because you authored the thread.
Message ID: @.***>

Do other countries put the nutrition facts as per serving and not have a column for per 100g? Im from NZ so every food label i've read has it as per serving and then per 100g

That is the ruling in EU as well, manufacturer can put additional declarations columns (as per serving) but the 100 g or ml is a requirement.

@nutpantz the calculation wasn't right for servings using entries, you should be able to enter the stuff in food now as if it's per serving (if you said the serving). Tell me if it's working OK for  you.
As for other units as a serving size, is there any authoritative source saying what units the USA are allowed to have in the serving sizes? Or is it always grams?

Setting the serving seems to work, however i don't know if the conversion is correct. 1 metric cup should be 250ml, but setting the custom food to cups and diary to ml it appears that diary has 200ml as a cup (or at least i need to set diary ml to 200 to match calories in custom foods set in cups)
I don't think the USA has a set serving unit.
It could be grams, cups, bags, teaspoons , even pounds,  (usually cups or grams mostly i think)
I think 99% of companies use what looks best for their product not what is the usual serving people eat. (Who eats 2\3 of a cup of chips)
(US cup is 236ml usually i think)


remove cache headers for development

The server is caching requests for development.
This PR change this behavior for development environment.

This became obsolete in the newest version but thanks!
（づ￣3￣）づ╭❤～


Peer review

In this project, you have done very well and I appreciate your effort to make it look more awesome for the users!
Though we are raising this issue for you to go back through it and refine it in a better way! so please consider the following:

[x] Please as the UI requirement consider making the active nav identified among others by giving it different colors so that the user will be able to know the active section!
[x] Againg as appearing in the given wireframes, please consider making the footer fixed on the bottom of the page to prevent extra space or gap after the contents on the screen.
[x]  Apply the second issue raised to the header as well!

Thanks for the points raised.


First Android app: Android Basics with Compose

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-compose-first-app?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-1-pathway-2%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-first-app#4
In which task and step of the codelab can this issue be found?
Step 9
Describe the problem
After adding the code in section 9 of this step I get an error on the Text() block that says
"@Composable invocations can only happen in the context of a @Composable function"
Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:  AI-241.18034.62.2411.12071903
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Found that the
import androidx.compose.material3.Surface
Was missing from the tutorial, as the standard imports dont include this, and there is no step to add.
Suggest an update to step 6 to include the surface import statement as well


Add a script to run scripts/modules in an isolated way.

For #10681
We'll use this for our security hardening.

Created #10681 to track this.

It's trivial enough that I don't think tests will add much.  Plus, it will be used in critical parts of the extension so any problem will be revealed immediately. :)


Remote sorting using Redux-toolkit always provides sort order 'desc' and don't change

I have problem using redux-toolkit using remote sort.
Remote sorting always provides sort order "desc" and don't change
This happens when I made a dispatch() inside "handleTableChange"; sortOrder doesn't change; but if I remove dispatch, sortOrder change.

can also confirm this


Add traefik healthcheck in docker-compose

I don't understand the utility on have heathcheck on proxy services

I don't understand the utility on have heathcheck on proxy services. And i don't see that implementation on the sprint plan.

we can consider it a spike to evaluate the effective need and close the PR without problems

to assess the real need in the future


Move time partition calculation from StorageEngine to StorageEngineV2

Coverage decreased (-0.03%) to 53.522% when pulling 6166288b3c9dbea7a36b4a3706a7d5756c1b3329 on timep_v2 into a9fd419fbd339591791dde185f856eb117169afc on master.


Expose pino.pretty()

As proposed in https://github.com/mcollina/hapi-pino/issues/4.
@davidmarkclements please review

can we add a
 browser: {"./pretty.js": "./client-pretty.js"}

to package.json to avoid streams being pulled into a browserify build

please do! not sure what it should do there. We might want to move the
testing to tape, so we can run it in the browser as well.
Il giorno ven 22 apr 2016 alle 14:06 David Mark Clements <
<EMAIL_ADDRESS>ha scritto:

can we add a
browser: {"./pretty.js": "./client-pretty.js"}
to package.json to avoid streams being pulled into a browserify build
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/mcollina/pino/pull/31#issuecomment-213397365

added browser field
updates to readme (language)
renamed timeTrans to timeTransOnly - seems clearer

@mcollina - pls review :bowtie:


theharvester: 4.5.0 -> 4.5.1

Diff: https://github.com/laramies/theharvester/compare/refs/tags/4.5.0...4.5.1
Changelog: https://github.com/laramies/theHarvester/releases/tag/4.5.1
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 286707 run on x86_64-linux 1

2 packages built:

theharvester
theharvester.dist


As an Azure service developer, I want to know how to consume the Json library from Azure Core and have documentation about it so I can use it.

Add documentation for service developers.
This documentation does not need to be in contribute or readme since its not intended for end-customers.
For contributors and end-users we only need to mention that Azure Core needs the dependency to be available, Similar to libcurl

https://github.com/Azure/azure-sdk-for-cpp/blob/master/CONTRIBUTING.md#third-party-dependencies
Please also update this document.

This issue is basically the same as https://github.com/Azure/azure-sdk-for-cpp/issues/137
We need to close and decide what's going to be the Azure Core strategy for Json support

This issue is basically the same as https://github.com/Azure/azure-sdk-for-cpp/issues/137
We need to close and decide what's going to be the Azure Core strategy for Json support


Repeated messages not read correctly

It seems that repeated messages are not handled correctly. (Or I am doing something wrong :smile: )
Example code:
My .proto file:
service TodoService {
    rpc FindAll (TodoListRequest) returns (TodoList) {}
}

message TodoList {
    repeated Todo todos = 1;
}

I'm getting the correct response from the server (tested with BloomRPC):
{
    "todos": [
        {"id": 1, "name": "Buy Milk"},
        {"id": 2, "name": "Pay Bills"},
        {"id": 3, "name": "Play Games"}
    ]
}

However, I am getting this response from the TodoServiceClient:

It looks as though it adds (and overwrites) the properties of the items to the array itself, and not to the individual items.
Any idea what might be going wrong / how to fix this?

Hi there, we noticed the same today 🙂 please use the latest protocol plugin, it also contains a fix for the bytes fields. Please let me know if you still experience this behavior

Yeah, saw the fix today actually, thanks!
Closing 🙂


Colors of edges is inconsistent and changes when connecting other inputs.

Noticed on recent develop while testing one of the PRs.
https://user-images.githubusercontent.com/6566674/224274046-8a684ce4-e847-4a01-b75c-4e97bbec1259.mp4

Closing as new colouring is based on target node.


use scrapers instead of to be deprecated sources

Replace sources with scrapers in the example config to be consistent with documentation and avoid deprecation message.
Signed-off-by: Nicolas Duchon<EMAIL_ADDRESS>

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

Thanks for your contribution!


Chamfer distance's data source

in the paper “ VILA: On Pre-training for Visual Language Models” 's "The deep embedding alignment hypothesis." part , the Chamfer distance is interesting and useful. And I want to konw how it is calculate ? and what is the image source and the text source? Thank you very mcuh!

Hi, thanks for your interests in our work!
An example code to measure the Shamfer distance (cosine) is:
x = torch.randn(32, 128)  # N, D
y = torch.randn(32, 128)  # N, D
x = x / torch.norm(x, 1, keepdim=True)
y = y / torch.norm(x, 1, keepdim=True)
sim = x @ y.T  # cosine similarity
dist = 0.5 * (sim.amax(1).mean() + sim.amax(0).mean())

We used a hold out set from the training mix to measure the distance.

Thank you very much! I understand the process.


348 Refactoring the configuration loading code in onto-viewer

Resolve: #348
All required changes are added from the task.
Some additional changes:

remove app.configPath property, now app.config.updateUrl handle both, url to remote config and url to directory file(must start with: file://)
add app.configDownloadPath property

Still not working some tests for onto-viewer-web-app (all controllers tests), but i checked and some of them not work earlier for me. Now throws ConditionTimeoutException.

After 2339861 no change with respect to https://github.com/edmcouncil/onto-viewer/pull/357#pullrequestreview-1504632327.

Also, @raggy2k4 please commit your changes with -s option - see: https://github.com/edmcouncil/fibo/blob/master/CONTRIBUTING.md#developer-certificate-of-origin.


graph/path: Adjusted bellman ford algorithm to use queue.

Hey there,
I started working on the todo left in the bellman_ford_moore-file: "Consider adding further optimisations"
This semester I finished an algorithm course at my university. We learned based on Sedgewick & Wayne suggestion a queue approach is to be preferred since we only have to relax those nodes whose vertex distance changed in the previous iteration.
While the worst case complexity is still O(|V| . |E|) it is typically O(|V| + |E|).
I have implemented such queue and I would appreciate any feedback! :)
Best regards,
Dario

Hey @kortschak,
Thank you very much for reviewing my code and answering so quick!
I have updated all of your requested changes, see latest commit.
Furthermore, here are the benchmark tests:
Tested with a lenovo e480, 16gb ram.
Without queue
goos: linux
goarch: amd64
pkg: gonum.org/v1/gonum/graph/path

BenchmarkBellmanFordFrom_500_tenth-8
2000000000
0.01 ns/op

BenchmarkBellmanFordFrom_1000_tenth-8
2000000000
0.02 ns/op

BenchmarkBellmanFordFrom_2000_tenth-8
2000000000
0.08 ns/op

BenchmarkBellmanFordFrom_500_half-8
2000000000
0.02 ns/op

BenchmarkBellmanFordFrom_1000_half-8
2000000000
0.09 ns/op

BenchmarkBellmanFordFrom_2000_half-8
2000000000
0.38 ns/op

BenchmarkBellmanFordFrom_500_full-8
1000000000
0.09 ns/op

BenchmarkBellmanFordFrom_1000_full-8
2000000000
0.19 ns/op

BenchmarkBellmanFordFrom_2000_full-8
1
1481679020 ns/op

PASS
ok      gonum.org/v1/gonum/graph/path   102.412s
With queue
goos: linux
goarch: amd64
pkg: gonum.org/v1/gonum/graph/path

BenchmarkBellmanFordFrom_500_tenth-8
2000000000
0.00 ns/op

BenchmarkBellmanFordFrom_1000_tenth-8
2000000000
0.01 ns/op

BenchmarkBellmanFordFrom_2000_tenth-8
1000000000
0.06 ns/op

BenchmarkBellmanFordFrom_500_half-8
2000000000
0.01 ns/op

BenchmarkBellmanFordFrom_1000_half-8
2000000000
0.03 ns/op

BenchmarkBellmanFordFrom_2000_half-8
1000000000
0.25 ns/op

BenchmarkBellmanFordFrom_500_full-8
2000000000
0.02 ns/op

BenchmarkBellmanFordFrom_1000_full-8
2000000000
0.06 ns/op

BenchmarkBellmanFordFrom_2000_full-8
1000000000
0.49 ns/op

PASS
ok      gonum.org/v1/gonum/graph/path   78.276s

Thanks for doing the benchmarking. Would you post the output of benchstat old.bench new bench after running the benchmarks with go test -run ^$ -bench BellmanFordFrom -count 10 redirected appropriately.

Hey @kortschak,
Thanks again for reviewing! :)
I have fixed all requested changes.
Furthermore, here are the benchmarks.  If so, where should I put them?
Benchmark-Results
I had to remove all the tests with 2000 nodes because with the old code a time-out error - Test killed with quit: ran too long (10m0s).  - occurred while with the queue approach they all passed.
benchstat old.txt new.txt

name
old time/op
new time/op

BellmanFordFrom/500_tenth-8
13.4ms ± 1%
3.5ms ± 1%

BellmanFordFrom/1000_tenth-8
50.3ms ± 4%
13.9ms ± 2%

BellmanFordFrom/500_half-8
46.7ms ± 1%
15.6ms ± 1%

BellmanFordFrom/1000_half-8
184ms ± 1%
61ms ± 1%

BellmanFordFrom/500_full-8
90.0ms ± 1%
30.3ms ± 1%

BellmanFordFrom/1000_full-8
359ms ± 1%
121ms ± 1%

Thanks. Here's what I see, which looks good.
Can you send a PR adding yourself to A+C with the commit message "A+C: add Dario Heinisch". Then I'll approve this and merge them. Thank you for a valuable first contrib.

nameold time/opnew time/opdelta
BellmanFordFrom/500_tenth-813.0ms ± 2%3.5ms ± 7%-72.89%(p=0.000 n=10+10)
BellmanFordFrom/1000_tenth-853.8ms ± 8%13.7ms ± 0%-74.56%(p=0.000 n=10+9)
BellmanFordFrom/2000_tenth-8188ms ±18%55ms ± 1%-70.82%(p=0.000 n=10+10)
BellmanFordFrom/500_half-849.1ms ± 8%15.6ms ± 1%-68.29%(p=0.000 n=10+10)
BellmanFordFrom/1000_half-8193ms ± 7%62ms ± 0%-68.18%(p=0.000 n=10+10)
BellmanFordFrom/2000_half-8798ms ± 6%248ms ± 1%-68.95%(p=0.000 n=10+10)
BellmanFordFrom/500_full-896.0ms ± 8%30.0ms ± 0%-68.75%(p=0.000 n=10+8)
BellmanFordFrom/1000_full-8364ms ± 1%121ms ± 1%-66.82%(p=0.000 n=9+10)
BellmanFordFrom/2000_full-81.50s ± 7%0.49s ± 1%-67.56%(p=0.000 n=10+10)

Hey @kortschak,
I have added myself see PR #1070
Thank you very much, it was really interesting working on this, learned a lot. Also thanks for all the reviews, they helped me a lot!
Hopefully, this will not be last my commit!
Best regards,
Dario :)


preparing training dataset

I prepare the trainingDF at training_data.ipynb.

I added some cells to install package or change the dir for the files just for myself to run. Please ignore them.
In the split dataset part, I make some test for the torch method, but it never went through. So far, we could ignore them.

For the training dataset, I miss the N^2 since the length is not match. Hope you know other function to deal with that.
For the three models, I copy & paste your code from the demo to sogos_overviews.ipynb. They are runing now but I have not looked at the result really in details. Also, if more evaluate metrices need, please add them.
Generally, need helps for cleaning data.
I have not tried to apply the glider data to those models.


Project templates

Just an idea, I think would be nice to have typescript project templates. This could be implemented using yeoman.

I made https://github.com/david-driscoll/atom-yeoman for Atom as well, and we use it in https://github.com/OmniSharp/omnisharp-atom for project creation.

Nice! This is exactly what I was thinking about. I'll take a look on how you integrate it with omnisharp-atom.

I find creating snippets very helpful (compared to generated files)

@basarat, I agree, the snippets are very helpful. I was thinking about the following scenarios:

I want to create an AngularJs application using Typescript.
I want to create a Backbone application using Typescript.
I want to create an Atom package application using Typescript (not coffee :) ).
...

To start this application I need to configure grunt/gulp, tslint, test, bower, travis, ...
It would be very useful if I had a good template to use as a kick start.
What do you think?

What do you think?

yeoman templates for the win :rose:

I'll create a new repo and start this work! :)


todo: warn new commits after review

with all the fixes and suggestions
also added lint-fix command

Oh, this reminds me of another TODO: check commits after the last CI run!

I would like to make sure we standardize around whether we use Prettier or not. I'm noticing a lot of formatting changes in some PRs and IMO it does make it a bit hard to follow the changes. The other reason is that if some people use it and others don't then we'll end up with a really messy history.

@apapirovski an npm run lint script is included in the package. It must be run before committing. I made the same mistake :D

@Tiriel That's not the issue, the eslint rules for this project are very minimal. These are a result of https://github.com/prettier/prettier.

@apapirovski @Tiriel i came to notice that the code is changed on save that because of my editor as it tried to format code on save. Either is because we don't have enough rules in .eslintrc or something with my editor i disable those setting for now. If With the fixes requested i would update the style to normal.

@cPhost What editor do you use? I suspect you have something like prettier-atom or its equivalent for another editor: https://atom.io/packages/prettier-atom

@apapirovski it online c9 editor.

@apapirovski my bad, didn't mean to offense.
Anyway, that can go with the broader discussion about linting rules in automation. But I'm with you on the necessity!

@cPhost Interesting. It seems to have some sort of a beautifier that isn't prettier but I can't find much info re: how to disable it. :(
@Tiriel No, no it's fine. I just want to figure this out because there are two PRs open right now both adjusting formatting quite substantially.

@cPhost Actually, looks like the option would be in Project > Code Formatters > Format Code on Save.

@apapirovski that is what i used and i think that what caused it! But i mean it also has option for using .eslintrc and maybe it is because we don't have a rule for it.
I agree that it bloats the code and make it lot harder to review. If lots of pr came like this i think we should go ahead and open and issue.

But i mean it also has option for using .eslintrc and maybe it is because we don't have a rule for it.

I think it's because eslint doesn't necessarily have an issue with this new formatting (and neither do I, to be clear). There's nothing inherently wrong with it, it's more that it introduces a lot of churn in the codebase.

Codecov Report

Merging #65 into master will increase coverage by 1.22%.
The diff coverage is 96.42%.

@@            Coverage Diff             @@
##           master      #65      +/-   ##
==========================================
+ Coverage   95.49%   96.71%   +1.22%
==========================================
  Files          13       13
  Lines         444      457      +13
==========================================
+ Hits          424      442      +18
+ Misses         20       15       -5

Impacted Files
Coverage Δ

lib/pr_checker.js
96.63% <96.42%> (+1.14%)
:arrow_up:

lib/auth.js
100% <0%> (+11.42%)
:arrow_up:

Continue to review full report at Codecov.

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

@apapirovski @joyeecheung fixed all the changes requested.

@joyeecheung hopefully this is good to go.

@joyeecheung done. Added stubs and i meant to clear logs after every it so don't have to create new logger every time. I got that idea for other PR so copy...paste and forgot to edit it. 😄

Just want to know whats the point for the status. Is is just for the tests?

Right now? No specific point. Long-term it's going to allow us to do stuff like determine whether land-pr can run or whether we need user input first to address some of the issues, etc.

@cPhost I like the idea of (commit), although for consistency with the error logs, maybe [COMMIT]? Also we need to sync with https://github.com/joyeecheung/node-core-utils/pull/69 on this.

I'm still not a big fan of any preface for the commits. I mean it's pretty clear they're commits, especially since our commits have specific format... Just makes the text longer. I could get behind [COMMIT] if it replaced [INFO] or [WARN]...

@joyeecheung the question is would this log be fine
[WARN] [COMMIT]

@apapirovski @cPhost What about bullet points?
[WARN] Changes were pushed since the last review:
[WARN] - src: fix xxx
[WARN] - test: fix xxx

@joyeecheung i just need some clarification on

Also we need to sync with #69 on this.

do you mean log only last couple of commit to make less noise.

@cPhost just that we want the format to be consistent between the two PRs. So we'll need to have that one also use bullet points.

@apapirovski @joyeecheung done now logs come out as
[WARN] Changes were pushed since the last review:
[WARN] - fixup: new changes requested
[WARN] - prchecker: new format


nixos/syncthing: support syncthing gui and api over unix sockets

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

the syncthing-init test now fails. I will investigate this later

Also, if anyone want to test curl commands with a local unix socket HTTP server here's a quick and dirty python script:
from socketserver import UnixStreamServer, StreamRequestHandler
import sys

class Handler(StreamRequestHandler):
    def handle(self):
        while True:
            msg = self.rfile.readline().strip()
            if msg:
                print("Data Recieved from client is: {}".format(msg))
            else:
                return

if __name__ == "__main__":
    with UnixStreamServer(sys.argv[1], Handler) as server:
        server.serve_forever()

sincerely thanks for the reviews ^.^
all the syncthing tests build, I also checked the syncthing-init test with unix and network addresses.

@stelcodes is there something you still want me to change?

@digtail I don't have permissions to merge PRs. I was just providing feedback. I have not tested these changes locally.

ah okay. thank you for the feedback then!