Cannot build quantized int8 models for Phi3 128k models [TensorRT-LLM 0.12.0]

System Info

CPU x86_64 (intel i9)
128G memory (RAM)
GPU: 1 x RTXA6000
Libraries:

TensorRT-LLM 0.12.0 (stable)
TensorRT 10.3.0
transformers 4.42.4
CUDA version 12.2 (driver 535.183.01)
Python 3.10.12

Who can help?
@Tracin
@ncomly-nvidia
@kaiyux
Information

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

Tasks

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

Reproduction
Steps to reproduce the behavior:

Use examples/quantization/quantize.py to convert Phi3 128k models (mini and medium) to int8 (int8_sq quantization, int8 kv_cache)
Use trtllm-build to build the engine

Expected behavior
Builds successfully, as per the support matrix of Phi3 in TRTLLM v0.12.0: https://github.com/NVIDIA/TensorRT-LLM/tree/28fb9aacaa5a05494635194a9cbb264da9a744bd/examples/phi
actual behavior
Errors occur when building the engine with trtllm-build. Command:
trtllm-build --checkpoint_dir ./tempquant --output_dir ./temptrtllm --gemm_plugin auto --max_batch_size 1 --max_input_len 1024 --max_seq_len 2048

Errors:
[TensorRT-LLM] TensorRT-LLM version: 0.12.0
[09/10/2024-16:41:48] [TRT-LLM] [I] Set bert_attention_plugin to auto.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set gpt_attention_plugin to auto.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set gemm_plugin to auto.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set gemm_swiglu_plugin to None.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set fp8_rowwise_gemm_plugin to None.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set nccl_plugin to auto.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set lookup_plugin to None.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set lora_plugin to None.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set moe_plugin to auto.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set mamba_conv1d_plugin to auto.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set context_fmha to True.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set bert_context_fmha_fp32_acc to False.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set paged_kv_cache to True.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set remove_input_padding to True.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set reduce_fusion to False.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set enable_xqa to True.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set tokens_per_block to 64.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set use_paged_context_fmha to False.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set use_fp8_context_fmha to False.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set multiple_profiles to False.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set paged_state to True.
[09/10/2024-16:41:48] [TRT-LLM] [I] Set streamingllm to False.
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.producer = {'name': 'modelopt', 'version': '0.15.1'}
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.residual_mlp = False
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.bias = False
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.rotary_pct = 1.0
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.rank = 0
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.decoder = phi3
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.rmsnorm = True
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.lm_head_bias = False
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.original_max_position_embeddings = 4096
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.longrope_scaling_short_factors = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.01, 1.02, 1.02, 1.04, 1.04, 1.07, 1.07, 1.1, 1.3000000000000003, 1.3000000000000003, 1.5000000000000004, 1.5700000000000005, 1.9000000000000008, 2.3100000000000014, 2.759999999999992, 3.3899999999999784, 3.9399999999999666, 4.009999999999965, 4.289999999999959, 4.349999999999958, 5.349999999999937, 6.659999999999909, 7.029999999999901, 7.51999999999989, 8.00999999999988, 8.249999999999876, 8.279999999999875, 9.629999999999846, 9.89999999999984, 10.589999999999826, 11.049999999999816, 11.7899999999998, 12.189999999999792, 12.889999999999777, 13.129999999999772, 13.16999999999977, 13.20999999999977, 13.479999999999764, 13.539999999999763, 13.779999999999758, 13.929999999999755, 14.429999999999744, 14.759999999999737, 15.149999999999729, 15.419999999999723, 15.53999999999972, 15.659999999999718, 15.749999999999716, 15.759999999999716, 15.799999999999715, 16.05999999999971, 16.079999999999714, 16.11999999999972, 16.11999999999972, 16.18999999999973, 16.31999999999975, 16.539999999999786, 16.799999999999827]
[09/10/2024-16:41:48] [TRT-LLM] [W] Implicitly setting Phi3Config.longrope_scaling_long_factors = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.25, 1.25, 1.5, 2.0, 2.75, 5.75, 5.75, 6.5, 9.25, 11.0, 13.25, 19.25, 19.75, 19.75, 21.25, 21.5, 26.5, 30.0, 33.75, 35.25, 38.5, 42.0, 42.25, 46.0, 47.0, 50.0, 50.5, 51.0, 52.0, 52.75, 53.75, 54.75, 57.0, 57.25, 58.5, 59.25, 59.5, 62.0, 62.5, 62.75, 63.25, 63.25, 63.25, 63.75, 64.0, 64.0, 64.25, 64.5, 64.5, 65.0, 65.0]
[09/10/2024-16:41:48] [TRT-LLM] [I] Compute capability: (8, 6)
[09/10/2024-16:41:48] [TRT-LLM] [I] SM count: 84
[09/10/2024-16:41:48] [TRT-LLM] [I] SM clock: 2100 MHz
[09/10/2024-16:41:48] [TRT-LLM] [I] int4 TFLOPS: 722
[09/10/2024-16:41:48] [TRT-LLM] [I] int8 TFLOPS: 361
[09/10/2024-16:41:48] [TRT-LLM] [I] fp8 TFLOPS: 0
[09/10/2024-16:41:48] [TRT-LLM] [I] float16 TFLOPS: 180
[09/10/2024-16:41:48] [TRT-LLM] [I] bfloat16 TFLOPS: 180
[09/10/2024-16:41:48] [TRT-LLM] [I] float32 TFLOPS: 90
[09/10/2024-16:41:48] [TRT-LLM] [I] Total Memory: 47 GiB
[09/10/2024-16:41:48] [TRT-LLM] [I] Memory clock: 8001 MHz
[09/10/2024-16:41:48] [TRT-LLM] [I] Memory bus width: 384
[09/10/2024-16:41:48] [TRT-LLM] [I] Memory bandwidth: 768 GB/s
[09/10/2024-16:41:48] [TRT-LLM] [I] NVLink is active: False
[09/10/2024-16:41:48] [TRT-LLM] [I] PCIe speed: 2500 Mbps
[09/10/2024-16:41:48] [TRT-LLM] [I] PCIe link width: 8
[09/10/2024-16:41:48] [TRT-LLM] [I] PCIe bandwidth: 2 GB/s
Traceback (most recent call last):
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/functional.py", line 647, in from_string
    return RotaryScalingType[s]
  File "/usr/lib/python3.10/enum.py", line 440, in __getitem__
    return cls._member_map_[name]
KeyError: 'su'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/louis_ml/.local/bin/trtllm-build", line 8, in <module>
    sys.exit(main())
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 500, in main
    parallel_build(model_config, ckpt_dir, build_config, args.output_dir,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 377, in parallel_build
    passed = build_and_save(rank, rank % workers, ckpt_dir,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 344, in build_and_save
    engine = build_model(build_config,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 313, in build_model
    model = model_cls.from_checkpoint(ckpt_dir, config=rank_config)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/modeling_utils.py", line 480, in from_checkpoint
    model = cls(config)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/modeling_utils.py", line 418, in __call__
    obj = type.__call__(cls, *args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/phi3/model.py", line 232, in __init__
    super().__init__(config, transformer, lm_head)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/modeling_utils.py", line 717, in __init__
    Attention.create_attention_const_params(self, config)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/layers/attention.py", line 515, in create_attention_const_params
    rotary_embedding_scale_type = RotaryScalingType.from_string(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/functional.py", line 649, in from_string
    raise ValueError(f'Unsupported rotary scaling type: {s}')
ValueError: Unsupported rotary scaling type: su

additional notes
The environment that TRT is being run in is a VM with GPU passthrough (Ubuntu host, Ubuntu guest). The models are downloaded from HF's official Phi3 models: eg https://huggingface.co/collections/microsoft/phi-3-6626e15e9585a200d2d761e3, and are of the latest version.
Building and running the models (Phi3 mini 4k, mini 128k, medium 4k, medium 128k) without quantization (using dtype bf16 or fp16) works as intended (on the same VM environment), while only the models (Phi3 mini 4k, medium 4k) work with int8 quantization. I believe that the problem is due to the implementation of ROPE within TRTLLM, as evident from the error message and the fact that only 128k Phi3 models have problems with int8 quantization.
I hope that this can be resolved, as models with longer contexts are very useful in a practical sense. If possible, please also considering supporting int4 quantization officially for Phi3 models in the future. Thanks!

Same for me

@nv-guomingz Please help take a look. It's a Phi3-128k rope_scaling issue.

Hi @louis845  thanks for your patience.
I just verified phi3-mini-128k with latest public release and the issue has gone yet.
Please have a try with our latest source code.

Thanks @nv-guomingz for your prompt reply. Could you clarify whether the latest public release means latest stable public release (0.13.0) or some development version like (0.14.*)? For 0.13.0, the problem due to ROPE seems fixed, but there is another problem. I am testing with Phi-3-mini-128k-instruct. May you tell me which exact version of TRT-LLM you are running? Thanks.
I tried building the engine with int8 calibration exactly with your commands, and there is an error 'NoneType' object has no attribute 'ndim':
[TensorRT-LLM] TensorRT-LLM version: 0.13.0
[11/01/2024-02:38:18] [TRT-LLM] [I] Set bert_attention_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set gpt_attention_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set gemm_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set gemm_swiglu_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set fp8_rowwise_gemm_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set nccl_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set lookup_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set lora_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set moe_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set mamba_conv1d_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set low_latency_gemm_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set context_fmha to True.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set bert_context_fmha_fp32_acc to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set remove_input_padding to True.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set reduce_fusion to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set enable_xqa to True.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set tokens_per_block to 64.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set use_paged_context_fmha to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set use_fp8_context_fmha to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set multiple_profiles to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set paged_state to True.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set streamingllm to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set use_fused_mlp to True.
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.producer = {'name': 'modelopt', 'version': '0.15.1'}
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.residual_mlp = False
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.bias = False
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.rotary_pct = 1.0
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.rank = 0
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.decoder = phi3
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.rmsnorm = True
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.lm_head_bias = False
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.original_max_position_embeddings = 4096
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.longrope_scaling_short_factors = [1.1, 1.1, 1.1, 1.3000000000000003, 1.3500000000000003, 1.3500000000000003, 1.4000000000000004, 1.5500000000000005, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.0500000000000007, 2.0500000000000007, 2.0500000000000007, 2.0500000000000007, 2.0500000000000007, 2.0500000000000007, 2.1000000000000005, 2.1000000000000005, 2.1500000000000004, 2.25, 2.25, 2.25, 2.25, 2.25, 2.3999999999999995, 2.4499999999999993, 2.499999999999999, 2.6999999999999984, 2.6999999999999984, 2.7499999999999982, 2.799999999999998, 2.8999999999999977, 3.049999999999997]
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.longrope_scaling_long_factors = [1.0700000524520874, 1.1200000047683716, 1.149999976158142, 1.4199999570846558, 1.5699999332427979, 1.7999999523162842, 2.129999876022339, 2.129999876022339, 3.009999990463257, 5.910000324249268, 6.950000286102295, 9.070000648498535, 9.930000305175781, 10.710000038146973, 11.130000114440918, 14.609999656677246, 15.409998893737793, 19.809999465942383, 37.279998779296875, 38.279998779296875, 38.599998474121094, 40.12000274658203, 46.20000457763672, 50.940006256103516, 53.66000747680664, 54.9373893737793, 56.89738845825195, 57.28738784790039, 59.98738479614258, 60.86738586425781, 60.887386322021484, 61.71739196777344, 62.91739273071289, 62.957393646240234, 63.41739273071289, 63.8173942565918, 63.83739471435547, 63.897396087646484, 63.93739700317383, 64.06739807128906, 64.11434936523438, 64.12435150146484, 64.15435028076172, 64.19435119628906, 64.24435424804688, 64.57435607910156, 64.69000244140625, 64.76000213623047]
[11/01/2024-02:38:18] [TRT-LLM] [I] Compute capability: (8, 6)
[11/01/2024-02:38:18] [TRT-LLM] [I] SM count: 84
[11/01/2024-02:38:18] [TRT-LLM] [I] SM clock: 2100 MHz
[11/01/2024-02:38:18] [TRT-LLM] [I] int4 TFLOPS: 722
[11/01/2024-02:38:18] [TRT-LLM] [I] int8 TFLOPS: 361
[11/01/2024-02:38:18] [TRT-LLM] [I] fp8 TFLOPS: 0
[11/01/2024-02:38:18] [TRT-LLM] [I] float16 TFLOPS: 180
[11/01/2024-02:38:18] [TRT-LLM] [I] bfloat16 TFLOPS: 180
[11/01/2024-02:38:18] [TRT-LLM] [I] float32 TFLOPS: 90
[11/01/2024-02:38:18] [TRT-LLM] [I] Total Memory: 23 GiB
[11/01/2024-02:38:18] [TRT-LLM] [I] Memory clock: 8001 MHz
[11/01/2024-02:38:18] [TRT-LLM] [I] Memory bus width: 384
[11/01/2024-02:38:18] [TRT-LLM] [I] Memory bandwidth: 768 GB/s
[11/01/2024-02:38:18] [TRT-LLM] [I] NVLink is active: False
[11/01/2024-02:38:18] [TRT-LLM] [I] PCIe speed: 2500 Mbps
[11/01/2024-02:38:18] [TRT-LLM] [I] PCIe link width: 8
[11/01/2024-02:38:18] [TRT-LLM] [I] PCIe bandwidth: 2 GB/s
[11/01/2024-02:38:18] [TRT-LLM] [I] Set dtype to float16.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set paged_kv_cache to True.
[11/01/2024-02:38:18] [TRT-LLM] [W] Overriding paged_state to False
[11/01/2024-02:38:18] [TRT-LLM] [I] Set paged_state to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] max_seq_len is not specified, using deduced value 131072
[11/01/2024-02:38:18] [TRT-LLM] [W] remove_input_padding is enabled, while opt_num_tokens is not set, setting to max_batch_size*max_beam_width.

[11/01/2024-02:38:18] [TRT-LLM] [W] padding removal and fMHA are both enabled, max_input_len is not required and will be ignored
[11/01/2024-02:38:18] [TRT] [I] [MemUsageChange] Init CUDA: CPU +13, GPU +0, now: CPU 245, GPU 266 (MiB)
[11/01/2024-02:38:19] [TRT] [I] [MemUsageChange] Init builder kernel library: CPU +2117, GPU +396, now: CPU 2517, GPU 662 (MiB)
[11/01/2024-02:38:19] [TRT-LLM] [I] Set nccl_plugin to None.
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 584, in <module>
    main()
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 575, in main
    parallel_build(model_config, ckpt_dir, build_config, args.output_dir,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 429, in parallel_build
    passed = build_and_save(rank, rank % workers, ckpt_dir,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 396, in build_and_save
    engine = build_model(build_config,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 389, in build_model
    return build(model, build_config)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/builder.py", line 1152, in build
    model(**inputs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/module.py", line 40, in __call__
    output = self.forward(*args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/modeling_utils.py", line 773, in forward
    hidden_states = self.transformer.forward(**kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/phi3/model.py", line 193, in forward
    hidden_states = self.layers(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/module.py", line 40, in __call__
    output = self.forward(*args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/modeling_utils.py", line 388, in forward
    hidden_states = layer(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/module.py", line 40, in __call__
    output = self.forward(*args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/phi3/model.py", line 129, in forward
    attention_output = self.attention(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/module.py", line 40, in __call__
    output = self.forward(*args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/layers/attention.py", line 855, in forward
    short = slice(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/functional.py", line 1223, in slice
    input_ndim = input.ndim()
AttributeError: 'NoneType' object has no attribute 'ndim'

Thanks @nv-guomingz for your prompt reply. Could you clarify whether the latest public release means latest stable public release (0.13.0) or some development version like (0.14.*)? For 0.13.0, the problem due to ROPE seems fixed, but there is another problem. I am testing with Phi-3-mini-128k-instruct. May you tell me which exact version of TRT-LLM you are running? Thanks.
I tried building the engine with int8 calibration exactly with your commands, and there is an error 'NoneType' object has no attribute 'ndim':
[TensorRT-LLM] TensorRT-LLM version: 0.13.0
[11/01/2024-02:38:18] [TRT-LLM] [I] Set bert_attention_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set gpt_attention_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set gemm_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set gemm_swiglu_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set fp8_rowwise_gemm_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set nccl_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set lookup_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set lora_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set moe_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set mamba_conv1d_plugin to auto.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set low_latency_gemm_plugin to None.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set context_fmha to True.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set bert_context_fmha_fp32_acc to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set remove_input_padding to True.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set reduce_fusion to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set enable_xqa to True.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set tokens_per_block to 64.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set use_paged_context_fmha to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set use_fp8_context_fmha to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set multiple_profiles to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set paged_state to True.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set streamingllm to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set use_fused_mlp to True.
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.producer = {'name': 'modelopt', 'version': '0.15.1'}
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.residual_mlp = False
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.bias = False
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.rotary_pct = 1.0
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.rank = 0
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.decoder = phi3
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.rmsnorm = True
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.lm_head_bias = False
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.original_max_position_embeddings = 4096
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.longrope_scaling_short_factors = [1.1, 1.1, 1.1, 1.3000000000000003, 1.3500000000000003, 1.3500000000000003, 1.4000000000000004, 1.5500000000000005, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.000000000000001, 2.0500000000000007, 2.0500000000000007, 2.0500000000000007, 2.0500000000000007, 2.0500000000000007, 2.0500000000000007, 2.1000000000000005, 2.1000000000000005, 2.1500000000000004, 2.25, 2.25, 2.25, 2.25, 2.25, 2.3999999999999995, 2.4499999999999993, 2.499999999999999, 2.6999999999999984, 2.6999999999999984, 2.7499999999999982, 2.799999999999998, 2.8999999999999977, 3.049999999999997]
[11/01/2024-02:38:18] [TRT-LLM] [W] Implicitly setting Phi3Config.longrope_scaling_long_factors = [1.0700000524520874, 1.1200000047683716, 1.149999976158142, 1.4199999570846558, 1.5699999332427979, 1.7999999523162842, 2.129999876022339, 2.129999876022339, 3.009999990463257, 5.910000324249268, 6.950000286102295, 9.070000648498535, 9.930000305175781, 10.710000038146973, 11.130000114440918, 14.609999656677246, 15.409998893737793, 19.809999465942383, 37.279998779296875, 38.279998779296875, 38.599998474121094, 40.12000274658203, 46.20000457763672, 50.940006256103516, 53.66000747680664, 54.9373893737793, 56.89738845825195, 57.28738784790039, 59.98738479614258, 60.86738586425781, 60.887386322021484, 61.71739196777344, 62.91739273071289, 62.957393646240234, 63.41739273071289, 63.8173942565918, 63.83739471435547, 63.897396087646484, 63.93739700317383, 64.06739807128906, 64.11434936523438, 64.12435150146484, 64.15435028076172, 64.19435119628906, 64.24435424804688, 64.57435607910156, 64.69000244140625, 64.76000213623047]
[11/01/2024-02:38:18] [TRT-LLM] [I] Compute capability: (8, 6)
[11/01/2024-02:38:18] [TRT-LLM] [I] SM count: 84
[11/01/2024-02:38:18] [TRT-LLM] [I] SM clock: 2100 MHz
[11/01/2024-02:38:18] [TRT-LLM] [I] int4 TFLOPS: 722
[11/01/2024-02:38:18] [TRT-LLM] [I] int8 TFLOPS: 361
[11/01/2024-02:38:18] [TRT-LLM] [I] fp8 TFLOPS: 0
[11/01/2024-02:38:18] [TRT-LLM] [I] float16 TFLOPS: 180
[11/01/2024-02:38:18] [TRT-LLM] [I] bfloat16 TFLOPS: 180
[11/01/2024-02:38:18] [TRT-LLM] [I] float32 TFLOPS: 90
[11/01/2024-02:38:18] [TRT-LLM] [I] Total Memory: 23 GiB
[11/01/2024-02:38:18] [TRT-LLM] [I] Memory clock: 8001 MHz
[11/01/2024-02:38:18] [TRT-LLM] [I] Memory bus width: 384
[11/01/2024-02:38:18] [TRT-LLM] [I] Memory bandwidth: 768 GB/s
[11/01/2024-02:38:18] [TRT-LLM] [I] NVLink is active: False
[11/01/2024-02:38:18] [TRT-LLM] [I] PCIe speed: 2500 Mbps
[11/01/2024-02:38:18] [TRT-LLM] [I] PCIe link width: 8
[11/01/2024-02:38:18] [TRT-LLM] [I] PCIe bandwidth: 2 GB/s
[11/01/2024-02:38:18] [TRT-LLM] [I] Set dtype to float16.
[11/01/2024-02:38:18] [TRT-LLM] [I] Set paged_kv_cache to True.
[11/01/2024-02:38:18] [TRT-LLM] [W] Overriding paged_state to False
[11/01/2024-02:38:18] [TRT-LLM] [I] Set paged_state to False.
[11/01/2024-02:38:18] [TRT-LLM] [I] max_seq_len is not specified, using deduced value 131072
[11/01/2024-02:38:18] [TRT-LLM] [W] remove_input_padding is enabled, while opt_num_tokens is not set, setting to max_batch_size*max_beam_width.

[11/01/2024-02:38:18] [TRT-LLM] [W] padding removal and fMHA are both enabled, max_input_len is not required and will be ignored
[11/01/2024-02:38:18] [TRT] [I] [MemUsageChange] Init CUDA: CPU +13, GPU +0, now: CPU 245, GPU 266 (MiB)
[11/01/2024-02:38:19] [TRT] [I] [MemUsageChange] Init builder kernel library: CPU +2117, GPU +396, now: CPU 2517, GPU 662 (MiB)
[11/01/2024-02:38:19] [TRT-LLM] [I] Set nccl_plugin to None.
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 584, in <module>
    main()
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 575, in main
    parallel_build(model_config, ckpt_dir, build_config, args.output_dir,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 429, in parallel_build
    passed = build_and_save(rank, rank % workers, ckpt_dir,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 396, in build_and_save
    engine = build_model(build_config,
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 389, in build_model
    return build(model, build_config)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/builder.py", line 1152, in build
    model(**inputs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/module.py", line 40, in __call__
    output = self.forward(*args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/modeling_utils.py", line 773, in forward
    hidden_states = self.transformer.forward(**kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/phi3/model.py", line 193, in forward
    hidden_states = self.layers(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/module.py", line 40, in __call__
    output = self.forward(*args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/modeling_utils.py", line 388, in forward
    hidden_states = layer(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/module.py", line 40, in __call__
    output = self.forward(*args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/models/phi3/model.py", line 129, in forward
    attention_output = self.attention(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/module.py", line 40, in __call__
    output = self.forward(*args, **kwargs)
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/layers/attention.py", line 855, in forward
    short = slice(
  File "/home/louis_ml/.local/lib/python3.10/site-packages/tensorrt_llm/functional.py", line 1223, in slice
    input_ndim = input.ndim()
AttributeError: 'NoneType' object has no attribute 'ndim'

I'm using the latest main branch commit (https://github.com/NVIDIA/TensorRT-LLM/commit/f6821ee393be6ec92234f9bb47a4b09f6738050b), please have a try.

Thanks @nv-guomingz again for the prompt reply. In the latest main branch, there are some errors from directly importing tensorrt_llm. I am using the official way to install the latest main branch as per the nvidia.github.io website:
# Install the latest preview version (corresponding to the main branch) of TensorRT-LLM.
# If you want to install the stable version (corresponding to the release branch), please
# remove the `--pre` option.
pip3 install tensorrt_llm -U --pre --extra-index-url https://pypi.nvidia.com

I think the latest version is probably unstable and probably has bugs here and there. Since you've tested it and it works, it probably will work in some upcoming stable release. May I ask which release (0.14.0, 0.15.0) is the patch expected to apply? I'll wait until the stable release that contains the patch for this is released, and file another ticket if the issue persists in the new version. Thanks for your time and effort.
Error:
import tensorrt_llm
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/louis_ml/Desktop/TensorRT-LLM/tensorrt_llm/__init__.py", line 32, in <module>
    import tensorrt_llm.functional as functional
  File "/home/louis_ml/Desktop/TensorRT-LLM/tensorrt_llm/functional.py", line 28, in <module>
    from . import graph_rewriting as gw
  File "/home/louis_ml/Desktop/TensorRT-LLM/tensorrt_llm/graph_rewriting.py", line 12, in <module>
    from .network import Network
  File "/home/louis_ml/Desktop/TensorRT-LLM/tensorrt_llm/network.py", line 30, in <module>
    from tensorrt_llm.module import Module
  File "/home/louis_ml/Desktop/TensorRT-LLM/tensorrt_llm/module.py", line 17, in <module>
    from ._common import default_net
  File "/home/louis_ml/Desktop/TensorRT-LLM/tensorrt_llm/_common.py", line 37, in <module>
    from ._utils import str_dtype_to_trt
  File "/home/louis_ml/Desktop/TensorRT-LLM/tensorrt_llm/_utils.py", line 31, in <module>
    from tensorrt_llm.bindings import GptJsonConfig
ModuleNotFoundError: No module named 'tensorrt_llm.bindings'```

pip installation link:

https://pypi.nvidia.com/tensorrt-llm/tensorrt_llm-0.15.0.dev2024102900-cp310-cp310-linux_x86_64.whl

Thanks @nv-guomingz for fixing the issue! I've successfully built PHI3 with 128k context and int8 quantization, and ran benchmarks with it and there are no obvious problems.


KAFKA-17369: Remove Reflections from logging and update licenses

This is a follow up to #16604 to clean up some logging configurations and sync the licenses.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

I merged the other PR too eagerly. I verified the license changes with the steps in https://issues.apache.org/jira/browse/KAFKA-12622 .
PTAL @C0urante @mimaison @divijvaidya Thanks!

Test failures appear unrelated, especially as this is a logging and license change.


Render unix render bad width, windos fine

Hi
I am testing rendering news and have this url
http://www.telam.com.ar/notas/201501/90852-capitanich-scioli-criticas-evento-clarin.html
If I render that url with the win version, I have a nice image, 1024px wide, but with the unix x64 version we obtain a 400px "half content cut" wide
(all the content in this site has same problem, witch means has to do with design)
This is obviously without setting viewpoint.
I upload boths images

Thank you for submitting this ticket!
This issue tracker primarily serves as the tool to report and track bugs, defects, and development tasks.
For general question, code review request, or other related discussion, please post it to either:

the official PhantomJS users mailing-list
Stack Overflow (with phantomjs tag)

If you have not read it yet, please check also a few tips on Effective Q&A.


RadarChart bad label position with option startAngle

Some labels have bad position (radar is not symetric) when we change startAngle options.
startAngle:
30 - labels are ok
-30 - first label is positioned on the right instead of left
750 - most of the labels are bad positioned
Example:
https://codepen.io/tester999/pen/aMMBMR

@spernica did you try with v2.8? (codepen)

@simonbrunel no, but I see that you try it and still labels are positioned badly

Oh, I was thinking you referred to the number labels. Indeed, there is a bug.


recovery mode?

I dont know if this is really an issue but when ever I try to launch the configurator it tells me my config is broken? then I can edit the file but theres text at the bottom saying its fine? I dont exactly know how to use/pass this window
I also looked through the GUI usage wiki and I couldnt find how to get passed the recovery mode window which just gives me a raw editor that idk how to use
so any ideas on how I could get passed it? or maybe Im being dumb in which case Im sorry for wasting ur time lmao

Hello, and thank you for the issue!
If recovery mode says that config is fine, it's syntactically correct. So the issue is somewhere where the config is parsed and being worked with. Can you please provide the config, so I can test where it fails? There are no sensitive data inside it, only ingame settings.
no problem! I was just a bit confused since this was my first time trying to use the program

{"deviceUUID":"","userLocalDataVersionId":"0.0.1","deviceLanguageType":1,"deviceVoiceLanguageType":1,"selectedServerName":"os_euro","localLevelIndex":0,"deviceID":"","targetUID":"","curAccountName":"","uiSaveData":"{"currWindowResolutionIndex":6}","inputData":"{"scriptVersion":"OSRELWin2.7.0","mouseSensitivity":10.0,"joypadSenseIndex":2,"joypadFocusSenseIndex":2,"joypadInvertCameraX":false,"joypadInvertCameraY":false,"joypadInvertFocusCameraX":false,"joypadInvertFocusCameraY":false,"mouseSenseIndex":3,"mouseFocusSenseIndex":3,"touchpadSenseIndex":2,"touchpadFocusSenseIndex":5,"enableTouchpadFocusAcceleration":false,"lastJoypadDefaultScale":1.0,"lastJoypadFocusScale":1.0,"lastPCDefaultScale":0.75,"lastPCFocusScale":1.0,"lastTouchDefaultScale":1.0,"lastTouchFcousScale":1.0,"switchWalkRunByBtn":false,"skiffCameraAutoFix":true,"skiffCameraAutoFixInCombat":false,"cameraDistanceRatio":0.3688570559024811,"wwiseVibration":true}","graphicsData":"{"currentVolatielGrade":-1,"customVolatileGrades":[{"key":1,"value":2},{"key":2,"value":1},{"key":3,"value":1},{"key":4,"value":1},{"key":5,"value":1},{"key":6,"value":1},{"key":7,"value":1},{"key":8,"value":1},{"key":9,"value":1},{"key":10,"value":1},{"key":11,"value":1},{"key":12,"value":1},{"key":13,"value":1},{"key":16,"value":1},{"key":15,"value":1},{"key":17,"value":1}],"volatileVersion":"OSRELWin2.7.0"}","globalPerfData":"{"saveItems":[{"entryType":18,"index":2,"itemVersion":"OSRELWin2.7.0"}],"truePortedFromGraphicData":true,"portedVersion":"OSRELWin2.7.0","portedFromGraphicData":false}","miniMapConfig":0,"enableCameraSlope":true,"enableCameraCombatLock":true,"completionPkg":false,"completionPlayGoPkg":false,"onlyPlayWithPSPlayer":false,"needPlayGoFullPkgPatch":false,"resinNotification":true,"exploreNotification":true,"volumeGlobal":5,"volumeSFX":10,"volumeMusic":10,"volumeVoice":10,"audioAPI":-1,"audioDynamicRange":0,"audioOutput":0,"_audioSuccessInit":true,"enableAudioChangeAndroidMinimumBufferCapacity":true,"audioAndroidMiniumBufferCapacity":2048,"motionBlur":false,"gyroAiming":false,"firstHDRSetting":false,"maxLuminosity":0.0,"uiPaperWhite":0.0,"scenePaperWhite":0.0,"gammaValue":2.4624998569488525,"_overrideControllerMapKeyList":[],"_overrideControllerMapValueList":[],"rewiredDisableKeyboard":false,"disableRewiredDelayInit":false,"lastSeenPreDownloadTime":0,"mtrCached":true,"mtrIsOpen":true,"mtrMaxTTL":32,"mtrTimeOut":5000,"mtrTraceCount":5,"mtrAbortTimeOutCount":3,"mtrAutoTraceInterval":3600,"mtrTraceCDEachReason":600,"_customDataKeyList":[],"_customDataValueList":[]}

The problem was in the code that manages controls settings - it wasn't expecting empty override list. That's because the game adds an input device to the config only when it has changes in settings.
I've uploaded a new release that should work fine now.

tysm I didnt expect the controls to be the issue lol


fix: handle Scala 3 nightly version for community build

This was originally reported on Discord but it looks like the "unmanaged" community build is filtering out Mill projects that use mill-tpolecat, as you can see in
https://github.com/VirtusLab/community-build3/blob/927f3751011d120c52a5217dfe8ccd3321f49c42/env/prod/config/filtered-projects.txt#L66-L69. From the comment and from playing around it looks to be because if you have a NIGHTLY or RC or anything it will puke. This adds a fallback for Scala 3 projects to revert back to the last stable release in those situations. Hopefully this will allow for those listed Mill projects to still be tested in the community build.

Awesome, thanks @ckipp01

@joan38 thank you! Feel free to ping me when you cut a new release and I'll see if I can remove those repos from the community build and update those repos usages.

Thanks Chris and Joan, I bumped the libs on riscvassembler and published v1.7.1 to address this (should be up in a couple mins).

@ckipp01 once the other two repos bump, would you open the PR removing from the filtered-projects or do you want me to do it?
Again, thanks for looking into this!

@ckipp01 once the other two repos bump, would you open the PR removing from the filtered-projects or do you want me to do it? Again, thanks for looking into this!

Once they are bumped and released I can do it. But if you notice that's done and I haven't done it yet, feel free!

Hi @ckipp01, since the other two projects haven't merged the PRs, can we submit the PR to remove my lib from the filters in community build?


#2144 Enhance Static Properties by UI validation V2

Purpose

Remarks

PR introduces (a) breaking change(s): <yes/no>
PR introduces (a) deprecation(s): <yes/no>

@IsaakKrut, there seems to be an issue with the unit test. Do you have an idea what is going wrong.
I tried to mock the extractor but it did not work.
Cheers,
Philipp

@tenthe The 3 values(serverAddressValue, hostValue, portValue) from the extractor you are using in OpcUaAdapterMigrationV2 have to be present in the extractor. Without them I'm getting NullPointerException in the AbstractParameterExtractor.singleValueParameter method call. Could we instantiate an extractor with those properties inside the test? And if so, are they gonna be available during actual migration as well?

@IsaakKrut, I tested the migration and there I did not get any exceptions.
I only geth the NullPointer when running the test. Maybe we can mock the extractor return a value when the function is called with the parameters (serverAddressValue, hostValue, portValue).
Do you think this will work?

@tenthe All these 3 fields (serverAddressValue, hostValue, portValue) are going to have a value during migration, right? If so we can add the defaultValue parameter for host and port for version 2 config in OpcUaAdapterVersionedConfig on lines 138, 140. And create an extractor inside the test with the same default values. Ran the test with those changes and it passed

Ok, great. Can you add your changes. Then we can close this PR.

Created a separate PR to update this branch since I don't have push access
#2454

Hi @tenthe, did you have a chance to look at PR #2454?

Hi @IsaakKrut,
sorry for the late reply. I'll have a look at it in the upcominig days.
Cheers,
Philipp

Hi @tenthe,
Thanks for the update, looks much cleaner. Both the implementation and the tests. I tested locally and it works as expected


Add My READ.me

Please describe your issue?

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Hey, would you pls assign this issue to me?

@pawar-jaydeep go for it. :)


option to turn off publishing assets in parallel

It is a bit annoying and error-prone to re-generate the GitHub Actions file every time there is a new asset is added. Which can be ambiguous as many constructs add assets under the hood.
Is there a way to combine the assets into a single job?
CodePipeline has that option.

Why can't we use cdk.out manifests for tracking the assets?

We don't actually track the contents of cdk.out and recommend you not commit this folder to your repository. What should be happening is that the synth step of your pipeline will create a cdk.out and that is the assembly that gets deployed. It becomes problematic if the same deploy.yml file can produce different cdk.out folders imo.
Regarding publishAssetsInParallel, I see your point. The default behavior of true is the only behavior that is allowed in cdk-pipelines-github. I suppose it is reasonable to expect a way to not publish assets in parallel via github actions. However, I don't think introducing something similar in this module would mean that deploy.yml doesn't change when you introduce a new asset to the pipeline. In this scenario, sure there's only one "publish asset" step but deploy.yml still updates to a new publish-assets-<hash>.sh file. I think you want deploy.yml to change every time your pipeline changes.
Updating this issue to reflect the feature request of a publishAssetsInParallel option, though I don't think it's on my immediate roadmap without a few additional +1s.

and recommend you not commit this folder to your repository.

Of course, but that's not what I meant.
I meant tracking the assets via artifacts in GH.

Build generates cdk.out
Adds it to artifact
Next step downloads the cdk.out artifact
Read manifest file for available assets
Upload all assets in one step

Yep. I agree with all that. What I disagree with is keeping the manifest file "well-known", so that deploy.yml does not change. That will introduce unintended consequences imo. I think this works if the manifest file name is hashed, so deploy.yml will target a different file name whenever the contents change. You'll get your assets in one step, but deploy.yml will still change every time your assets change.
I'll think this through a bit more, but those are my thoughts right now.

I don't understand tho why manifest needs to be well known?
To my understanding, cdk can work with cdk.out alone. That's how CodePipeline via AWS works now, I think.
Once you do cdk synth and package up the cdk.out, that is all that is needed to have as the final artifact to be able to do cdk deploy.
npx cdk deploy --app "cdk.out/"

Did this go anywhere? It would great if all the assets could be uploaded in a single job rather than multiple in parallel. We are getting pipeline which look like the following and it is spawning a separate runner for each publish...

A bit confused what the scope of this issue is after the initial conversation, but for my part, I agree with combining the "Publish Assets". I'd prefer the reduced noise (and I suppose cost savings) over what probably amounts to not a lot of time savings. Anyways, it seems like the aws cdk should be implementing this within the CLI instead of exposing this complexity to the CI/CD implementations.

The CDK pipeline has the option to combine asset publishing into 2 steps already. It doesn't need any CLI changes. Just execute the CLI many times in one job.

https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.pipelines.CodePipeline.html#publishassetsinparallel

We are deploying a serverless application from a monorepo and the number of jobs is really getting out of hand. Ability to combine the uploads into a single job, especially as this flag is already there for aws codepipelines would be a great addition.

I was also hit by this. It was so bad, I had to hack around the workflow file to combine all the assets into one job. As others have mentioned, this wasted hundreds of dollars a month. The large number of assets also made the UI unusably slow.

I would like to add to this and am wondering if publishing the asset can be done within a single Docker container, instead of replicating over 50 action jobs. The current approach seems to be increasing our GitHub usage hours and cluttering the action flow UI.

I was also hit by this. It was so bad, I had to hack around the workflow file to combine all the assets into one job. As others have mentioned, this wasted hundreds of dollars a month. The large number of assets also made the UI unusably slow.

How were you able to hack around the workflow file to combine all asset into one job? Could you provide some insight for this hack around?

Adjust the OIDC step and call this nasty method on your workflow object after app.synth().
export function combineAssetJobs(pipeline: GitHubWorkflow) {
  const assetCommands: string[] = [];
  const assetOutputs: { [key: string]: string } = {};

  const workflow = parse(pipeline.workflowFile.toYaml());
  Object.entries(workflow.jobs).forEach(([id, job]: [string, any]) => {
    // asset jobs need to be combined
    if (id.startsWith('Assets-FileAsset')) {
      // remove the job
      workflow.jobs[id] = undefined;

      // add the publish step to the combined publish assets job
      const publishJobCommand = job.steps.slice(-1)[0].run.trim();
      if (!publishJobCommand.startsWith('/bin/bash ')) {
        throw new Error(`Expected publish command to start with /bin/bash\nFound: ${publishJobCommand}\nFile: ${publishJobCommand}`);
      }

      // patch and execute the publish command
      const publishScriptPath = publishJobCommand.split(' ')[1];
      assetCommands.push(`sed -i -e "s/echo 'asset-hash=/echo '${id}-asset-hash=/" ${publishScriptPath}`);
      assetCommands.push(publishJobCommand);
      assetOutputs[`${id}-asset-hash`] = `$\{{ steps.Publish.outputs.${id}-asset-hash }}`;
    }

    // deploy job needs to point to new asset job
    if (id.endsWith('-Deploy')) {
      // remove old asset jobs
      job.needs = job.needs.filter((need: string) => !need.startsWith('Assets-FileAsset'));
      // add new job
      job.needs.push('Assets');
      // fix the output
      const oldTemplate = job.steps[2].with.template;
      job.steps[2].with.template = oldTemplate.replace(/needs\.Assets-FileAsset(\d+)\.outputs\.asset-hash/g, 'needs.Assets.outputs.Assets-FileAsset$1-asset-hash');
    }
  });

  // add combined assets job
  workflow.jobs.Assets = {
    'name': 'Publish Assets',
    'needs': ['Build-Build'],
    'permissions': {
      'contents': 'read',
      'id-token': 'write',
    },
    'runs-on': 'ubuntu-latest',
    'outputs': assetOutputs,
    'steps': [
      {
        name: 'Download cdk.out',
        uses: 'actions/download-artifact@v4',
        with: {
          name: 'cdk.out',
          path: 'cdk.out',
        },
      },
      {
        name: 'Install',
        run: 'npm install --no-save cdk-assets',
      },
      {
        name: 'Authenticate Via OIDC Role',
        uses: 'aws-actions/configure-aws-credentials@v4',
        with: {
          'aws-region': 'us-east-1',
          'role-duration-seconds': 1800,
          'role-skip-session-tagging': true,
          'role-to-assume': 'arn:xxxx',
        },
      },
      {
        id: 'Publish',
        name: 'Publish Assets',
        run: assetCommands.join('\n'),
      },
    ],
  };

  // match download and upload action versions
  workflow.jobs['Build-Build'].steps.slice(-1)[0].uses = 'actions/upload-artifact@v4';

  // update workflow file
  const patchedWorkflow = '# ' + pipeline.workflowFile.commentAtTop!.split('\n').join('\n# ') + '\n' + stringify(workflow);
  fs.writeFileSync('.github/workflows/deploy.yml', patchedWorkflow);
}

Adjust the OIDC step and call this nasty method on your workflow object after app.synth().
export function combineAssetJobs(pipeline: GitHubWorkflow) {
  const assetCommands: string[] = [];
  const assetOutputs: { [key: string]: string } = {};

  const workflow = parse(pipeline.workflowFile.toYaml());
  Object.entries(workflow.jobs).forEach(([id, job]: [string, any]) => {
    // asset jobs need to be combined
    if (id.startsWith('Assets-FileAsset')) {
      // remove the job
      workflow.jobs[id] = undefined;

      // add the publish step to the combined publish assets job
      const publishJobCommand = job.steps.slice(-1)[0].run.trim();
      if (!publishJobCommand.startsWith('/bin/bash ')) {
        throw new Error(`Expected publish command to start with /bin/bash\nFound: ${publishJobCommand}\nFile: ${publishJobCommand}`);
      }

      // patch and execute the publish command
      const publishScriptPath = publishJobCommand.split(' ')[1];
      assetCommands.push(`sed -i -e "s/echo 'asset-hash=/echo '${id}-asset-hash=/" ${publishScriptPath}`);
      assetCommands.push(publishJobCommand);
      assetOutputs[`${id}-asset-hash`] = `$\{{ steps.Publish.outputs.${id}-asset-hash }}`;
    }

    // deploy job needs to point to new asset job
    if (id.endsWith('-Deploy')) {
      // remove old asset jobs
      job.needs = job.needs.filter((need: string) => !need.startsWith('Assets-FileAsset'));
      // add new job
      job.needs.push('Assets');
      // fix the output
      const oldTemplate = job.steps[2].with.template;
      job.steps[2].with.template = oldTemplate.replace(/needs\.Assets-FileAsset(\d+)\.outputs\.asset-hash/g, 'needs.Assets.outputs.Assets-FileAsset$1-asset-hash');
    }
  });

  // add combined assets job
  workflow.jobs.Assets = {
    'name': 'Publish Assets',
    'needs': ['Build-Build'],
    'permissions': {
      'contents': 'read',
      'id-token': 'write',
    },
    'runs-on': 'ubuntu-latest',
    'outputs': assetOutputs,
    'steps': [
      {
        name: 'Download cdk.out',
        uses: 'actions/download-artifact@v4',
        with: {
          name: 'cdk.out',
          path: 'cdk.out',
        },
      },
      {
        name: 'Install',
        run: 'npm install --no-save cdk-assets',
      },
      {
        name: 'Authenticate Via OIDC Role',
        uses: 'aws-actions/configure-aws-credentials@v4',
        with: {
          'aws-region': 'us-east-1',
          'role-duration-seconds': 1800,
          'role-skip-session-tagging': true,
          'role-to-assume': 'arn:xxxx',
        },
      },
      {
        id: 'Publish',
        name: 'Publish Assets',
        run: assetCommands.join('\n'),
      },
    ],
  };

  // match download and upload action versions
  workflow.jobs['Build-Build'].steps.slice(-1)[0].uses = 'actions/upload-artifact@v4';

  // update workflow file
  const patchedWorkflow = '# ' + pipeline.workflowFile.commentAtTop!.split('\n').join('\n# ') + '\n' + stringify(workflow);
  fs.writeFileSync('.github/workflows/deploy.yml', patchedWorkflow);
}

Superb, thanks a lot!


Can't download datasets anymore

Dataset downloads used to work last week but this is no longer the case.
mkdir ~/kaggle-upload
echo "Hello World" > ~/kaggle-upload/sample.txt
kaggle datasets init -p ~/kaggle-upload/
sed -i '' -E 's/INSERT_[A-Z]+_HERE/helloworld/g' ~/kaggle-upload/dataset-metadata.json
kaggle datasets create -p ~/kaggle-upload/

So far so good, dataset is created; however, download fails:
kaggle datasets download <username>/helloworld -p ~/kaggle-download/

500 - An internal server error occurred. Please ensure that your API client is up to date. If it is, please report a bug at github.com/Kaggle/kaggle-api

Actually, looks like this is an error specific to my account, this does not reproduce with a new account so closing.


Find CSVs by label for an operator, to ensure deleting all the CSVs for a specific subscription

What this PR does / why we need it:
Ensure that all CSVs tied to a subscription will be deleted when ODLM is deleting an operator.
Which issue(s) this PR fixes:
Fixes https://github.ibm.com/IBMPrivateCloud/roadmap/issues/63676#issuecomment-81421553
Test
After deleting the OperandRequest, ODLM will list the corresponding operator's CSV by labels, to ensure finding all the CSVs and delete it.
I0606 00:44:46.646520       1 operandrequest_controller.go:248] Deleting OperandRequest integration-quickstart-ibm-inte-6c1a-keycloak in the namespace test-upgrade
...
I0606 00:44:46.770573       1 reconcile_operator.go:439] Found 1 ClusterServiceVersions for Subscription test-upgrade/keycloak-operator
...
I0606 00:44:46.806260       1 operandrequest_controller.go:248] Deleting OperandRequest edb-keycloak-request in the namespace test-upgrade
...
I0606 00:44:46.894641       1 reconcile_operator.go:439] Found 1 ClusterServiceVersions for Subscription test-upgrade/edb-keycloak
...
I0606 00:44:46.914245       1 reconcile_operator.go:460] Deleting the ClusterServiceVersion, Namespace: test-upgrade, Name: cloud-native-postgresql.v1.22.3
I0606 00:44:46.954314       1 reconcile_operator.go:482] Subscription test-upgrade/edb-keycloak is deleted
...
I0606 00:45:06.802662       1 reconcile_operator.go:460] Deleting the ClusterServiceVersion, Namespace: test-upgrade, Name: rhbk-operator.v22.0.11-opr.1
I0606 00:45:06.831219       1 reconcile_operator.go:482] Subscription test-upgrade/keycloak-operator is deleted

/retest


AJ-1632: not found exceptions

Reviewer: see comments inline for an important question about compatibility!
https://broadworkbench.atlassian.net/browse/AJ-1632 - the exceptions thrown by get-job and list-jobs APIs should not leak information about existence/non-existence of jobs and collections. For more context on why, see here.
I tested the following use cases manually, in addition to the unit tests in code:
get job

Before this PR
After this PR

job exists, I have permission to it
200 with job response
200 with job response

job exists, I do not have permission to it
403 forbidden
404 does not exist or you do not have permission to see it

job does not exist
404 does not exist
404 does not exist or you do not have permission to see it

job exists, job's collection has invalid workspace*
500 unexpected workspace for collection
500 unexpected workspace for collection

this corner case only happens if the db or the WDS deployment is misconfigured; we do not expect to see this in practice

list jobs

Before this PR
After this PR

collection does not exist
200 with empty list
404 does not exist or you do not have permission to see it

collection exists, I do not have permission to it
403 forbidden
404 does not exist or you do not have permission to see it

collection exists, I have permission to it
200 with results
200 with results

Hold on, what is your reasoning for an empty collection list being a 404 over 200 -> empty list? I wrote the API under the impression we could eventually have a piece of UI that'd list jobs of certain status (or active/inactive if we want to group) and there could definitely be a valid case where there's no jobs running a certain way and we should display that. I feel like throwing a 404 would give the UI more work to do than just displaying an empty list (ie, no jobs).

Hold on, what is your reasoning for an empty collection list being a 404 over 200 -> empty list?

@ashanhol We might be talking about two different things here.
If the collection exists but there are no jobs in that collection, this still returns [] just like it did before.
The change I made is that if the specified collection doesn't exist we will now return a 404, where previously we returned [].
This feels more accurate - it indicates to the user that the collection id they specified is invalid.


[SPARK-49700][CONNECT][SQL] Unified Scala Interface for Connect and Classic

What changes were proposed in this pull request?
This PR makes the shared SQL (JVM) interface the primary interface.
The implementations are moved to the classic and connect sub packages.
Please note that this does change a number of developer APIs:

Streaming Sink
Streaming Source
FileFormat
Command

Why are the changes needed?
This is the final step in creating a unified Scala interface for both Classic and Connect.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Existing tests.
Was this patch authored or co-authored using generative AI tooling?
No.

For anyone interested. I have opened this up so people can take a look.

For anyone interested. This is mostly ready for review. I still looking at some of the developer API, most of it uses classic now, however in most cases the interfaces should suffice. Moving them back might make the lives of spark library developers at bit easier.

cc @HyukjinKwon @cloud-fan @dongjoon-hyun this is the last big change. PTAL.

Please note that this does change a number of developer APIs:
Streaming Sink
Streaming Source
FileFormat
Command

How is FileFormat and Command related to the DataFrame API?

@cloud-fan they all use SparkSession in their in their interface. SparkSession also changes.
For the record I am fine going either way. The SparkSession interface works in most of the cases, and where it does not work you can import the ClassicConversions object. This would make it easier for some to migrate. However, I do think there is a benefit in being more clear here, because the only implementation of SparkSession that you will see is the classic one.


Implement a continuous integration test with github actions

Description of feature
It could be something similar to this:
https://github.com/nf-core/taxprofiler/blob/dev/.github/workflows/ci.yml

Some steps that may be needed to be done to add this feature:

Create a minimal custom BLAST database from which to retrieve a genome for mapping
Subset fastq files to contain only some portion of reads that map to a certain small genome
Add these fastq files and BLAST db to assets/test with updated samples.csv and samplesheet.csv
Add CI workflow definition in .github/workflows


Specify copies of generic worker

Is it possible to specify that 5 copies of x should run after y is done?
I want to run multiple workers that get tasks from an external queue.
Right now I'm doing this but can I specify that I want 5 workers instead?
    - - name: worker
        template: worker
        withItems:
          - a
          - b
          - c

I think the current way is pretty good. In general case you need to somehow differentiate and identify the workers and withItems does that.


TCP socket connect time out option (IDFGH-6660)

Is there an option to set the TCP socket connection time-out time?
Because when connecting to a not existing device, it takes long for the 'connect' function to return..
I've seen the option 'SO_CONTIMEO', but is seems like this is not implemented in the lwip stack used by esp-idf.
Another solution for me would be an option to close/stop a connecting socket, which will make the 'connect' function return.
Thanks!

@SimonPVS could you see if this example helps? https://github.com/espressif/esp-idf/blob/41761fc762e859a76148ede014e296b4093eefb0/examples/protocols/sockets/non_blocking/main/non_blocking_socket_example.c#L136-L151

Hi!
Thanks, this works for me.
But in case someone has a solution using blocking sockets, they are still welcome to share :)

@SimonPVS The approach used in arduino-esp32 is similar to the above except it uses LwIP API for connect.
https://github.com/espressif/arduino-esp32/blob/6a7bcabd6b7a33f074f93ed60e5cc4378d350b81/libraries/WiFi/src/WiFiClient.cpp#L213-L246
For blocking connect() API there is no good way to timeout the connect early other than multiple tasks that I'm aware of.

setsockopt (sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(timeout);

@SimonPVS The only way to configure a timeout on TCP connection is to switch the socket to non-blocking mode and wait (select() or poll()) until it's writable.
Please note, that POSIX doesn't define TCP connection timeout options for blocking sockets. While this is be implemented on some platforms (i.e.  on linux SO_SNDTIMEO could be used), it's not supported in lwip.
More information could be found for example in Unit Network Programming book, section 14.2. Socket Timeouts:
... All three techniques work with IO operations (read, write...) ....
...select can be used to place a timeout on *connect* only in a non-blocking mode
... and the two socket options do not work with *connect*

Thanks for reporting, will close due to short of feedback, feel free to reopen with more updates.


Reduce allocations in PSTraceSource.WriteLine(). Part 2

PR Summary
New C# feature - interpolated string handler - allow us to optimize PSTraceSource code:

reduce boxing and related allocations
reduce cascade allocations in FormatOutputLine()

Only FileSystem Provider is changed in the PR to use new WriteLine() method so we can test and measure.
Reviewers can use debugger and follow command:
Trace-Command -PSHost -Name FileSystemProvider -Expression {Get-Item c:\}

In the following PR we can replace all uses of WriteLine with new code. There are hundreds of them in tens of files out there and it makes no sense to do this in the PR and make it difficult to review.
PR Context
History #10052.
From https://github.com/PowerShell/PowerShell/pull/10052#pullrequestreview-258505038

I will look into the FormatOutputLine later in a separate PR.

@daxian-dbw The time has come! 😄
PR Checklist

[ ] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[ ] Summarized changes
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[ ] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

This is great! There are more places to apply this, like all the WriteVerbose and WriteWarning calls in engine. This will save a great deal of string allocations.

This is great! There are more places to apply this, like all the WriteVerbose and WriteWarning calls in engine. This will save a great deal of string allocations.

I suggest doing this in some follow PRs because we need to change dozens of files, which will make it difficult to review this PR.

Leveraging the interpolated string handler for WriteLine doesn't further reduce allocations for the common cases where tracing is disabled, because your previous PR https://github.com/PowerShell/PowerShell/pull/10052 already eliminated allocation (mostly) for WriteLine when tracing is disabled.
The current change in this PR will reduce more allocations when tracing is enabled, but that's not a common scenario and thus not very interesting (reducing allocation is always good, it's just not as important in this case).
Back to the design of the current change, it would require one handler implementation per every logging option, because the handler has built-in assumption of the tracing option to check against. This is obviously not desired. What we want is a single handler implementation that can work for all logging options. To achieve this goal, we need to first do significant refactoring to the existing PSTraceSource methods -- changing method like TraceWarning(xxx), WriteLine(xxx) and etc. to Trace(Option option, xxxx) -- so that each method doesn't have built-in assumption but instead the passed-in option instructs what to do with this tracing operation. However, the refactoring work will be massive.

Leveraging the interpolated string handler for WriteLine doesn't further reduce allocations for the common cases where tracing is disabled, because your previous PR https://github.com/PowerShell/PowerShell/pull/10052 already eliminated allocation (mostly) for WriteLine when tracing is disabled.

We still do early evaluating of arguments (there is even StringBuilder!).
When tracing is disabled we reduce allocations even more significantly.
All this already makes this change very useful.

However, the refactoring work will be massive.

I am trying to keep the PR as small as possible.
My plan:

Merge the PR
Remove all WriteLine() helpers with new one in follow PR
Think whether we want to continue and refactor other trace helpers.
They are so rarely used that I thought it might not be necessary. But we can unify all methods with one Trace(Option option, xxxx) in the next PR if you want.

When tracing is disabled, we reduce allocations even more significantly.
All this already makes this change very useful.

Can you please point me to some examples to prove that?
Also, back to the design of the current change, I have concern about having one handler implementation per every logging option. See the 3rd paragraph in my comment https://github.com/PowerShell/PowerShell/pull/18246#issuecomment-1306052049 for details.

When tracing is disabled, we ideally should never call to the WriteLine methods. That's doable for the parameter binders but may be harder for the uses in some other places.

When tracing is disabled, we reduce allocations even more significantly.
All this already makes this change very useful.

Can you please point me to some examples to prove the bold part?

You can look how WriteLine(string format, object arg1) is used (384 times). Most is strings but there are FileInfo, Uri, StringBuilder, ...

Also, back to the design of the current change, I have concern about having one handler implementation per every logging option. See the 3rd paragraph in my comment https://github.com/PowerShell/PowerShell/pull/18246#issuecomment-1306052049 for details.

Options:

Most benefits we get from WriteLine() refactoring. Rest of trace methods we could ignore.
Create some handlers since they are very simple.
I'd prefer to convert all methods to Trace(Option option, xxxx) and use one handler.

You can look how WriteLine(string format, object arg1) is used (384 times). Most is strings but there are FileInfo, Uri, StringBuilder, ...

Having FileInfo, Uri, StringBuilder passed in to arg1 in this case doesn't cause any allocation when the tracing is disabled, so it's still not clear to me where the big saving would be from.

I'd prefer to convert all methods to Trace(Option option, xxxx) and use one handler.

This would be most ideal -- being consistent and modern. That will also allow the pattern to be easily copied in other places. The problem is that the saving in allocation will not be obvious when the tracing is disabled (this is the common scenario), which will make the value/cost of this work less attractive :(

Again, I think when tracing is disabled, we ideally should never call to the WriteLine methods. That's doable for the parameter binders but may be harder for the uses in some other places.

Again, I think when tracing is disabled, we ideally should never call to the WriteLine methods. That's doable for the parameter binders but may be harder for the uses in some other places.

Can you clarify how we could achieve this?
Since it is in run time we should check if (_flags.HasFlag(PSTraceSourceOptions.WriteLine)) in every callsite. Do you say we need to move the check out of WriteLine method?

Having FileInfo, Uri, StringBuilder passed in to arg1 in this case doesn't cause any allocation when the tracing is disabled, so it's still not clear to me where the big saving would be from.

We seem to be in slightly different contexts. :-) I must have made a bad initial description.
Earlier we added many helper methods to remove unnecessary allocations. It was a workaround that didn't eliminate the allocation problem completely.
Now we can remove all these helper methods and use a single method that completely solves the problem. There are still limitations there, but they are not critical since the API is not public.

I'd prefer to convert all methods to Trace(Option option, xxxx) and use one handler.

This would be most ideal -- being consistent and modern. That will also allow the pattern to be easily copied in other places.

We still can keep using specific names like WriteLine and have one handler. For this we should have one more optional parameter in the handler and in the methods. What is pattern from the two ones you like more?

The problem is that the saving in allocation will not be obvious when the tracing is disabled (this is the common scenario), which will make the value/cost of this work less attractive :(

The benefit is that the new pattern eliminates allocations and errors like s_tracer.WriteLine("DSC ClassCache: loading file '{0}' added the following classes to the cache: {1}", path, sb.ToString());.

I'd prefer to convert all methods to Trace(Option option, xxxx) and use one handler.

This would be most ideal -- being consistent and modern. That will also allow the pattern to be easily copied in other places. The problem is that the saving in allocation will not be obvious when the tracing is disabled (this is the common scenario), which will make the value/cost of this work less attractive :(

Create Write(PSTraceSourceOptions, interpolatedhandler) method because Trace name is already used.


[WIP] New deployment result types

I accidentally broke a plugin test. That's confusing me a ton. I'll debug it early tomorrow.

Also, I think this works nice with TypeChain, but I still need to test it.


Fix forge initialization

Fix https://github.com/TeamMidnightDust/MidnightLib/issues/35 and commands registration.

Thank you very much, sorry for the late reply.


Error in form field "File"

Hi, i find an error on form field "File" (file.blade.php), it's simple, i suppose is a copy/paste error.
Excelente work with Voyager.. i discovered it yesterday and is amazing.
Regards

Hi @gabrieljaime, thanks for the PR.


Sample personality library proof-of-concept

This is a proof-of-concept pull request to illustrate the idea of personality library. This helps the team decide whether we need a library for the sample personality.

Codecov Report
Attention: Patch coverage is 0% with 64 lines in your changes missing coverage. Please review.

Project coverage is 34.94%. Comparing base (46ec9c2) to head (428a37b).
Report is 72 commits behind head on main.

Files
Patch %
Lines

cmd/example-mysql/main.go
0.00%
30 Missing :warning:

cmd/example-gcp/main.go
0.00%
25 Missing :warning:

personalities/sample/sample.go
0.00%
9 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #156      +/-   ##
==========================================
- Coverage   35.80%   34.94%   -0.86%
==========================================
  Files          16       34      +18
  Lines        1363     2896    +1533
==========================================
+ Hits          488     1012     +524
- Misses        801     1773     +972
- Partials       74      111      +37

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Closing this pull request as it has served its purpose.


WIP: Use gitlab API to get the latest version

For this code to work it needs https://github.com/chainguard-dev/melange/pull/1231 code changes in melange.
To tryout locally

Clone the melange repository locally and checkout to https://github.com/chainguard-dev/melange/pull/1231
use replace chainguard.dev/melange => ../your-local-melange-clone-path in the end of your wolfictl go.mod file and run go mod tidy

It should now use the local melange copy to build.
How it works:
for packages that are using gitlab projects we can use it to get the latest version ant its corresponding commit. for example in gitlab-pages package modify the update block with
update:
  enabled: true
  gitlab:
    identifier: gitlab-org/gitlab-pages
    strip-prefix: v
    use-tag: true

And now we can run ../wolfictl check update gitlab-pages.yaml or any other command.

Hey @rawlingsj can I get a review on this PR and also
https://github.com/chainguard-dev/melange/pull/1231


[Bug] Mangadex sign in unknown error

Steps to reproduce
Go to settings and attempt to sign in to mangadex login.
Expected behavior
Should sign in.
Actual behavior
Gives an error message that states 'unknown error' and then refuses to sign in.
Crash logs
No response
Tachiyomi version
App version: 1.8.1
Android version
Android 11
Device
Oneplus 8 Pro
Other details

I have tried numerous things like clearing cache, clearing cookies, reinstalling even though this is the first time I've used this fork of tachiyomi, force close and reopen, device restart, waited a day, tried a different account and changed connected network.
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have tried the troubleshooting guide.
[X] I have updated the app to version 1.8.1.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

Make sure you entered the correct email and password, also try logging in with webview

Have logged in through Web view and it works fine. I know I'm putting the right password in as well

The new OAuth provider fixes this for the next build


[Bug] Failed to build on MacOS Mojave 10.14.5

🐛 Bug

To reproduce
** Code snippet to reproduce **
./scripts/cli/start_cli_testnet.sh

** Stack trace/error message **
Building and running client in debug mode.
   Compiling grpcio-sys v0.4.4
   Compiling backtrace v0.3.30
   Compiling docopt v1.1.0
   Compiling futures-executor-preview v0.3.0-alpha.16
   Compiling proptest_helpers v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/common/proptest_helpers)
   Compiling parity-multiaddr v0.4.1
   Compiling failure v0.1.5
   Compiling futures-preview v0.3.0-alpha.16
   Compiling memsocket v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/network/memsocket)
   Compiling prost-derive v0.5.0
   Compiling which v2.0.1
   Compiling protoc-grpcio v0.3.1
   Compiling failure_ext v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/common/failure_ext)
   Compiling threshold_crypto v0.3.1
   Compiling ed25519-dalek v1.0.0-pre.1
   Compiling codespan v0.1.3
   Compiling snow v0.5.2
   Compiling lalrpop v0.16.3
   Compiling canonical_serialization v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/common/canonical_serialization)
   Compiling logger v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/common/logger)
   Compiling prost-build v0.5.0
   Compiling codespan-reporting v0.1.4
   Compiling netcore v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/network/netcore)
   Compiling prost v0.5.0
   Compiling prost-types v0.5.0
   Compiling crash_handler v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/common/crash_handler)
   Compiling grpcio-compiler v0.5.0-alpha
   Compiling protoc-grpcio v1.0.2
   Compiling grpcio-client v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/common/grpcio-client)
   Compiling build_helpers v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/common/build_helpers)
   Compiling proto_conv v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/common/proto_conv)
   Compiling types v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/types)
   Compiling storage_proto v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/storage/storage_proto)
   Compiling mempool v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/mempool)
   Compiling admission_control_proto v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/admission_control/admission_control_proto)
   Compiling crypto v0.1.0 (/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/crypto/legacy_crypto)
error: failed to run custom build command for `grpcio-sys v0.4.4`

Caused by:
  process didn't exit successfully: `/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/target/debug/build/grpcio-sys-de29f299956e12f6/build-script-build` (exit code: 101)
--- stdout
cargo:rerun-if-changed=grpc_wrap.cc
cargo:rerun-if-changed=grpc
cargo:rerun-if-env-changed=GRPCIO_SYS_USE_PKG_CONFIG
cargo:rerun-if-env-changed=CARGO_CFG_TARGET_OS
running: "cmake" "/Users/gautamanand/.cargo/registry/src/github.com-1ecc6299db9ec823/grpcio-sys-0.4.4/grpc" "-DgRPC_INSTALL=false" "-DgRPC_BUILD_CSHARP_EXT=false" "-DgRPC_BUILD_CODEGEN=false" "-DgRPC_BENCHMARK_PROVIDER=none" "-DCMAKE_INSTALL_PREFIX=/Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/target/debug/build/grpcio-sys-1a7c7d66f8455f0b/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -stdlib=libc++ -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_BUILD_TYPE=Debug"
-- The ASM compiler identification is Clang
-- Found assembler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/gautamanand/Library/Github/SERGANUS/public/hello-libra/libra/target/debug/build/grpcio-sys-1a7c7d66f8455f0b/out/build
running: "cmake" "--build" "." "--target" "grpc" "--config" "Debug" "--"
Scanning dependencies of target fiat
[  0%] Building C object third_party/boringssl/third_party/fiat/CMakeFiles/fiat.dir/curve25519.c.o
[  0%] Built target fiat
Scanning dependencies of target crypto_base
[  0%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/cpu-aarch64-fuchsia.c.o
[  0%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/cpu-aarch64-linux.c.o
[  0%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/cpu-arm.c.o
[  0%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/cpu-arm-linux.c.o
[  0%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/cpu-intel.c.o
[  0%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/cpu-ppc64le.c.o
[  0%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/crypto.c.o
[  2%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/ex_data.c.o
[  2%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/mem.c.o
[  2%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/refcount_c11.c.o
[  2%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/refcount_lock.c.o
[  2%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/thread.c.o
[  2%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/thread_none.c.o
[  2%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/thread_pthread.c.o
[  2%] Building C object third_party/boringssl/crypto/CMakeFiles/crypto_base.dir/thread_win.c.o
[  2%] Built target crypto_base
Scanning dependencies of target stack
[  2%] Building C object third_party/boringssl/crypto/stack/CMakeFiles/stack.dir/stack.c.o
[  2%] Built target stack
Scanning dependencies of target lhash
[  2%] Building C object third_party/boringssl/crypto/lhash/CMakeFiles/lhash.dir/lhash.c.o
[  2%] Built target lhash
[  2%] Generating err_data.c

--- stderr
CMake Warning at cmake/protobuf.cmake:48 (message):
  gRPC_PROTOBUF_PROVIDER is "module" but PROTOBUF_ROOT_DIR is wrong
Call Stack (most recent call first):
  CMakeLists.txt:140 (include)

CMake Warning at cmake/gflags.cmake:26 (message):
  gRPC_GFLAGS_PROVIDER is "module" but GFLAGS_ROOT_DIR is wrong
Call Stack (most recent call first):
  CMakeLists.txt:142 (include)

CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   zlib

This warning is for project developers.  Use -Wno-dev to suppress it.

go: cannot find GOROOT directory: /usr/local/Cellar/go/1.11.5/libexec
make[3]: *** [third_party/boringssl/crypto/err/err_data.c] Error 2
make[3]: *** Deleting file `third_party/boringssl/crypto/err/err_data.c'
make[2]: *** [third_party/boringssl/crypto/err/CMakeFiles/err.dir/all] Error 2
make[1]: *** [CMakeFiles/grpc.dir/rule] Error 2
make: *** [grpc] Error 2
thread 'main' panicked at '
command did not execute successfully, got: exit code: 2

build script failed, must exit now', /Users/gautamanand/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.40/src/lib.rs:832:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

warning: build failed, waiting for other jobs to finish...
error: build failed

Expected Behavior

build failed but in principle should succeed
System information
Please complete the following information:

rustc 1.36.0-nightly (50a0defd5 2019-05-21)
macos 10.14.5

Additional context
Add any other context about the problem here.

Solved: Fixed by permission rights to libra folder, chmod 775 libra


[BUG] When open_with::show_properties(PathBuf) the window of properties is not given the focus.

When open_with::show_properties(PathBuf) the window of properties is not given the focus and hides behind the others windows.

Is this on Windows?
On Sat, Mar 23, 2024, at 08:03, McKpol wrote:

When open_with::show_properties(PathBuf) the window of properties is not given the focus and hides behind the others windows.
—
Reply to this email directly, view it on GitHub https://github.com/longmathemagician/open_with/issues/3, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQCCT35FK4MSQINMKJ2EI3YZWKT7AVCNFSM6AAAAABFEW3HO6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYDGOJRGU3TQNQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Yes


[Bug]: Not able to copy page URL from page settings panel

Is there an existing issue for this?

[X] I have searched the existing issues

Description
We are not able to copy the page URL from the page settings panel.
Steps To Reproduce

Go to an app.
Click on the settings icon & in the page settings section click on any page.
Try to copy the page URL.

Expected: The URL should get highlighted while selecting it & should also get copied.
Actual: The URL is not getting copied.
Public Sample App
No response
Environment
Production
Severity
High (Blocker to building or releasing)
Issue video log
https://www.loom.com/share/643f8aee2f0f4345a99ec8ec27ba81d6
Version
Cloud

I'm sorry I don't understand a couple of things.

What is the expected behaviour? Should the URL be copy-able or not?
Also, saw that in both release and prod the copy is not possible. Isn't the tag release blocker for regressions caught on release and not on prod?

I'm sorry I don't understand a couple of things.

What is the expected behaviour? Should the URL be copy-able or not?
Also, saw that in both release and prod the copy is not possible. Isn't the tag release blocker for regressions caught on release and not on prod?

https://theappsmith.slack.com/archives/CTHN8GX5Y/p1713247158789679?thread_ts=1713246401.528689&cid=CTHN8GX5Y


python3-maturin: fix compilation

As is, this doesn't work for me:
| cargo build --manifest-path Cargo.toml --message-format=json-render-diagnostics --target x86_64-unknown-linux-gnu --release -v --no-default-features --locked | error: failed to select a version for the requirement windows-sys = "^0.45.0" (locked to 0.45.0) | candidate versions found which didn't match: 0.48.0 | location searched: directory source <yocto-workdir>/python3-maturin-native/1.2.3-r0/cargo_home/bitbake (which is replacing registry crates-io) | required by package console v0.15.7
|     ... which satisfies dependency console = "^0.15.4" (locked to 0.15.7) of package maturin v1.2.3 (<yocto-workdir>/python3-maturin-native/1.2.3-r0/maturin-1.2.3)
| perhaps a crate was updated and forgotten to be re-vendored?
| error: cargo build --manifest-path Cargo.toml --message-format=json-render-diagnostics --target x86_64-unknown-linux-gnu --release -v --no-default-features --locked failed with code 101
| ERROR: 'python3 setup.py bdist_wheel ' execution failed.
and
| cargo build --manifest-path Cargo.toml --message-format=json-render-diagnostics --target x86_64-unknown-linux-gnu --release -v --no-default-features --locked | error: failed to select a version for the requirement redox_syscall = "^0.2.11" (locked to 0.2.16) | candidate versions found which didn't match: 0.3.5 | location searched: directory source <yocto-workdir>/python3-maturin-native/1.2.3-r0/cargo_home/bitbake (which is replacing registry crates-io) | required by package redox_users v0.4.3
|     ... which satisfies dependency redox_users = "^0.4" (locked to 0.4.3) of package dirs-sys v0.4.1
|     ... which satisfies dependency dirs-sys = "^0.4.1" (locked to 0.4.1) of package dirs v5.0.1
|     ... which satisfies dependency dirs = "^5.0.0" (locked to 5.0.1) of package cargo-xwin v0.14.6
|     ... which satisfies dependency cargo-xwin = "^0.14.3" (locked to 0.14.6) of package maturin v1.2.3 (<yocto-workdir>/python3-maturin-native/1.2.3-r0/maturin-1.2.3)
| perhaps a crate was updated and forgotten to be re-vendored?
| error: cargo build --manifest-path Cargo.toml --message-format=json-render-diagnostics --target x86_64-unknown-linux-gnu --release -v --no-default-features --locked failed with code 101
| ERROR: 'python3 setup.py bdist_wheel ' execution failed.
Add the missing version

@Gerry546 Did you entcounter this issue too?


Add FINOS Legend logo to delta.io/integrations

Hello there! FINOS Legend is integrated with Delta Lake and the logo needs to be added to the Integrations section of the delta.io website - View on GitHub here.
Below are two different versions of the FINOS Legend logo to use. Please let me know if you have any questions! Thanks. :D

@dennyglee @MrPowers

Resolved with #267  - thanks!


Single select with refresh doesnt work. Input is hidden!?

I try to make single select populated async with refresh="searchResults($select.search)" and it doesnt work. Input doesnt show. Its ng-hiden ( ng-show="$select.searchEnabled && $select.open" )
I have no select-enabled option set, so why it behaves so weird? Also its bootstrap theme so it should allow search instantly not after dropdown is shown as select2/selectivize.
No errors, no clue. Also Examples doesnt show correct single item with refresh="", async example is bad as prefetching data before user types anything is not autocomplete. Please help and maybe lets update docs/examples because second time It takes forever to get it running. Thanks!
<ui-select style="display:inline-block;width: 300px; border:0;" ng-model="person.selected"
         theme="bootstrap"
         ng-disabled="disabled"
         on-select="select($item)"
         reset-search-input="false">

<ui-select-match placeholder="Enter a full name...">{{$select.selected.full_name}}</ui-select-match>
<ui-select-choices repeat="item in results track by item.id"
         refresh="searchResults($select.search)"
         refresh-delay="0">

</ui-select-choices>
</ui-select>

Can you setup a plunker with this?

Closing due to lack of reproduction. Feel free to open a new issue with reproduction based on the latest release if it is still an issue.

@ev45ive If you have found the answer, please stop leaving your issue and tell how you solve this. It will help a lot of people I think.


add mounts to qemu (to use as podman volume)

might it be ok to pass a mount to the qemu VM, to later use that as volume in podman? Or is this the wrong approach?
-virtfs local,path=/path/to/share,mount_tag=host0,security_model=passthrough,id=host0

Could be a nice add-on, do you have a complete example (use case)


Files transferring duplicate dialog

Describe the solution
It's annoying to do them individually so adding a button on top of the start of actions could act like an apply all. Details should also be out by default.

You can select multiple items and right click on them to take an action in the conflicts dialog.


Updated ion-input doc typo

Short description of what this resolves:
clearInput doc example had a typo, this fixes that typo
Changes proposed in this pull request:

Ionic Version: 1.x / 2.x
Fixes: #
clearInput property was on ion-item element instead of ion-input element in example

thanks


result table view doesn't appear in some view controllers

hi, result table view doesn't appear in one view controller and it appears , but in another view controller it doesn't appear .

Could you post the sample code that you are using with.


fix: add flash to scanner and improve ui

This was it before

and now after

@kevmo314 Do I put the scanner_settings as a component or in the model? I don't think I should keep it under screens


test_e2e: Add container engine validation

Developers might not use only docker but different
containers engine like podman. This patch adds support to it.
Signed-off-by: Douglas Schilling Landgraf<EMAIL_ADDRESS>

/lgtm
/approve


Add unit tests for TPMT and TPMU types

Add unit tests for TPMT and TPMU types

This resolves #539


CRM-802 - boom-autocomplete

Calling focus on input after select throws nasty error in IE.  "cannot read property 'remove' of undefined or null reference".   Getting rid of the line that tries to call focus to the input using refs after a search result has been selected will fix this error.  Looks like a similar line was previously commented out on line 161 of Autocomplete, so I have a feeling that person ran into a similar issue.  There's no need to call focus to the input here, in fact we want to do the opposite.

yep


Add _.chunk to Array functions.

Fixes #1891

Mind removing the trailing spaces on lines 649, 654, 656, and 660?

This would be good.

@keinkonzept: Some final nitpicks, and I think this'll be good to merge.

Based on how often this has been requested, I think it should be added

I think I agree at this point.

That's three :+1:, then. Any last comments on the source before merging?

I think this implementation is broken for a count of 1. Also, I don't like having a default count. I'll comment more when in front of a computer.

Seems fine for count 1 (its a tested case for default => 1 and 1). I've squashed the commits down and fixed style issues here:
https://github.com/jashkenas/underscore/compare/master...megawac:chunk

No, definitely broken. It should return an array of singletons.


Fixing name attribute for radio button

Radio buttons name attribute was being overwritten inside of computedOptions().
It also meant that <option> had the name attribute being added to them

By removing create name property from inside of computedOptions() I believe it fixes both of these things so now you can pass down your own value for name

Oh that's interesting. Thinking it over in my head, it still makes sense how it was, but looking at the source code, you're totally right. Thanks for catching this one. I'll include it in the next release :)

Oops. Hit the wrong button 😅

No worries. Glad I could help :)

@stuartjnelson Can you give a try to the latest build?


SDL screen mode/size improvements

Syncs SDL screen mode handling with the other ports and allows overriding the screen size on the command line. (Can finally test picosystem things in SDL without hacking the sources)
Also fixes a bug with surfaces taller than 255. (I tried 240x320 for fun).
(I definitely did this because of the picosystem thing and not because of blitsim.)

Oops, included #824.
My preferred solution is to merge that though, bit hard to build things here without it.


Theme is not applied until running Show-Themes

I'm probably missing something obvious here, but the theme I configured using Set-Theme is not applied within a new terminal session until I run Show-Themes.  Any ideas on what the issue may be?

I'll have a look asap. I don't think I've seen that before but I'll try to reproduce it.

I tried to see what might cause this but can't find a way that results to this.
My configuration ($PROFILE):
Import-Module -Name posh-git -ErrorAction SilentlyContinue
Import-Module oh-my-posh
Set-Theme -name 'avit'

When I open a new window in ConEmu, it's always set to Avit.
The only thing Show-Themes does is list what's in the folder.
It doesn't even make much sense as the only function that can override the current theme is Set-Theme which will import the theme and override the Write-Theme function used in the prompt. As that one is used in Start-Up and Set-Theme, it can only be called from there.
Can you share your $PROFILE? I'd really love to be able to explain this :-)


Identify command by their ID

Extend CmfCommand with an ID property.
When specifying child commands, the parent should be identified via the ID.

Closed by b5de0c63ff46032951f00063e9ec1183ce341b10


[BUG]: "svelte-kit dev" is replaced by "vite dev"

Description of the bug

svelte-kit dev is no longer available — use vite dev instead

Install vite as a devDependency with npm/pnpm/etc
Create a vite.config.js with the @sveltejs/kit/vite plugin (see below)
Update your package.json scripts to reference vite dev instead of svelte-kit dev

Steps To Reproduce
pnpm run dev
Additional Information
No response

I updated all dependencies. Please check and let me know.

Seems working now:

BTW, the port become 5173 now, it used to be 3000 (I think), you may set in package.json:

"dev": "vite dev --host --port 3000",

Thank you. I will set it the port number.


Conduit doesn't seem to work in IPv6

Hi,
I currently trying to make Conduit work in my IPv6-only cluster, and I face some problems,
I have made some change on the .yaml file to disable 10.32.x. services and replace them to ClusterIP: none svc.
All the Conduit components run fine, without any error,
When  I inject conduit in my deployment, change the cluster domain and the IPv6 binding on the injected .yaml and deploy it,  it isn't detected by Conduit himself ..
Here his the conduit-proxy logs for my deployment (basic nginx deployment) :
1517540343.322389 DBUG tokio_core::reactor loop time - Instant { tv_sec: 14929, tv_nsec: 25991688 }
1517540343.322438 DBUG tokio_core::reactor::timeout_token cancel timeout 2
1517540343.322469 DBUG tokio_core::reactor cancel a timeout: 2
1517540343.322508 DBUG tokio_core::reactor scheduling direction for: 1
1517540343.322523 DBUG tokio_core::reactor blocking
1517540343.322540 DBUG tokio_core::reactor added a timeout: 2
1517540343.322575 DBUG tokio_core::reactor loop process - 1 events, Duration { secs: 0, nanos: 217251 }
1517540343.322598 DBUG tokio_core::reactor loop poll - Duration { secs: 0, nanos: 4148 }
1517540343.322611 DBUG tokio_core::reactor loop time - Instant { tv_sec: 14929, tv_nsec: 26231606 }
1517540343.322632 DBUG tokio_core::reactor::timeout_token "controller-client", cancel timeout 5
1517540343.322643 DBUG tokio_core::reactor "controller-client", cancel a timeout: 5
1517540343.322657 WARN conduit_proxy::control "controller-client", controller error: Connect(Connect(Error(Error { repr: Custom(Custom { kind: NotFound, error: StringError("DNS resolution failed") }) })))
1517540343.322691 DBUG tokio_core::reactor "controller-client", set a timeout: 1
1517540343.322711 DBUG tokio_core::reactor "controller-client", updating a timeout: 1
1517540343.322730 DBUG tokio_core::reactor "controller-client", updating a timeout: 0
1517540343.322746 DBUG tokio_core::reactor "controller-client", scheduling direction for: 0
1517540343.322756 DBUG tokio_core::reactor "controller-client", blocking
1517540343.322803 DBUG tokio_core::reactor loop process - 1 events, Duration { secs: 0, nanos: 204706 }
1517540343.322824 DBUG tokio_core::reactor loop poll - Duration { secs: 0, nanos: 3561 }
1517540343.322838 DBUG tokio_core::reactor loop time - Instant { tv_sec: 14929, tv_nsec: 26458238 }
1517540343.322848 DBUG tokio_core::reactor loop process - 0 events, Duration { secs: 0, nanos: 24378 }

{ kind: NotFound, error: StringError("DNS resolution failed") }) })))
Thanks

Thanks for the bug report. I'm going to close this as a duplicate of #91 as I think they are the same issue. I will follow up with a comment in #91.


USER_FN_SET_DEPTH and USER_FN_SET_GAIN switched

Hello
I was trying to increment the depth value with a button using USER_FN_SET_DEPTH, and immediately noticed it wasn't increasing or decreasing the depth, then i tried to do the same thing with the USER_FN_SET_GAIN, and it affected the depth, so i think these two user function commands are switched.
Another thing, when i try to increase the depth in 2cm using this: cusCastUserFunction(USER_FN_SET_GAIN, 2, nullptr) the depth goes to the max, which is 7cm.
The app is up to date and i'm using version 8.0.1

Hi thanks for reporting I will look at it.

I was able to reproduce, it's because the macro definitions for USER_FN_SET_DEPTH and USER_FN_SET_GAIN are offset by one. We will update the API soon. In the meantime, you can simply fix it by changing the values to:
#define USER_FN_SET_DEPTH           21
#define USER_FN_SET_GAIN            22

(Skip the value 20.)