llama finetune.py throws pytorch tensor datatype error with 4 bit quantization

System Info
PyTorch 2.4.0, Cuda 12.1, CentOS HPC cluster with 7x H100 GPUs
Information

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

🐛 Describe the bug
FSDP_CPU_RAM_EFFICIENT_LOADING=1 ACCELERATE_USE_FSDP=1 python -m torch.distributed.launch \
    --nnodes 1 \
    --nproc_per_node 5 \
    -m llama_recipes.finetuning \
    --enable_fsdp \
    --model_name meta-llama/Meta-Llama-3.1-70B \
    --quantization 4bit \
    --use_peft \
    --peft_method lora \
    --dataset grammar_dataset \
    --lr 5e-5 \
    --save_model \
    --use_wandb \
    --output_dir /qfs/people/usr/models/70B

Error logs
Loading checkpoint shards:   0%|                                                                                | 0/4 [00:02<?, ?it/s]
[rank1]: Traceback (most recent call last):
[rank1]:   File "/share/apps/python/3.10.14/lib/python3.10/runpy.py", line 196, in _run_module_as_main
[rank1]:     return _run_code(code, main_globals, None,
[rank1]:   File "/share/apps/python/3.10.14/lib/python3.10/runpy.py", line 86, in _run_code
[rank1]:     exec(code, run_globals)
[rank1]:   File "/qfs/people/usr/llama-recipes/src/llama_recipes/finetuning.py", line 291, in <module>
[rank1]:     fire.Fire(main)
[rank1]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/fire/core.py", line 143, in Fire
[rank1]:     component_trace = _Fire(component, args, parsed_flag_args, context, name)
[rank1]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/fire/core.py", line 477, in _Fire
[rank1]:     component, remaining_args = _CallAndUpdateTrace(
[rank1]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/fire/core.py", line 693, in _CallAndUpdateTrace
[rank1]:     component = fn(*varargs, **kwargs)
[rank1]:   File "/qfs/people/usr/llama-recipes/src/llama_recipes/finetuning.py", line 121, in main
[rank1]:     model = LlamaForCausalLM.from_pretrained(
[rank1]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/transformers/modeling_utils.py", line 3960, in from_pretrained
[rank1]:     ) = cls._load_pretrained_model(
[rank1]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/transformers/modeling_utils.py", line 4434, in _load_pretrained_model
[rank1]:     new_error_msgs, offload_index, state_dict_index = _load_state_dict_into_meta_model(
[rank1]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/transformers/modeling_utils.py", line 970, in _load_state_dict_into_meta_model
[rank1]:     value = type(value)(value.data.to("cpu"), **value.__dict__)
[rank1]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/bitsandbytes/nn/modules.py", line 149, in __new__
[rank1]:     self = torch.Tensor._make_subclass(cls, data, requires_grad)
[rank1]: RuntimeError: Only Tensors of floating point and complex dtype can require gradients
Loading checkpoint shards:   0%|                                                                                | 0/4 [00:00<?, ?it/s]W0922 19:40:05.383000<PHONE_NUMBER>8528 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 60528 closing signal SIGTERM
W0922 19:40:05.383000<PHONE_NUMBER>8528 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 60529 closing signal SIGTERM
W0922 19:40:05.383000<PHONE_NUMBER>8528 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 60530 closing signal SIGTERM
W0922 19:40:05.383000<PHONE_NUMBER>8528 torch/distributed/elastic/multiprocessing/api.py:858] Sending process 60532 closing signal SIGTERM
E0922 19:40:05.857000<PHONE_NUMBER>8528 torch/distributed/elastic/multiprocessing/api.py:833] failed (exitcode: 1) local_rank: 3 (pid: 60531) of binary: /qfs/people/usr/venv_llama_2/bin/python

This error message is then repeated by each separate GPU process, followed by
Traceback (most recent call last):
  File "/share/apps/python/3.10.14/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/share/apps/python/3.10.14/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launch.py", line 208, in <module>
    main()
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/typing_extensions.py", line 2360, in wrapper
    return arg(*args, **kwargs)
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launch.py", line 204, in main
    launch(args)
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launch.py", line 189, in launch
    run(args)
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/run.py", line 892, in run
    elastic_launch(
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 133, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 264, in launch_agent
    raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
============================================================
llama_recipes.finetuning FAILED

If the command is run without the FSDP_CPU_RAM_EFFICIENT_LOADING=1 ACCELERATE_USE_FSDP=1 header, then it throws a different error:
ValueError: Cannot flatten integer dtype tensors
[rank0]: Traceback (most recent call last):
[rank0]:   File "/share/apps/python/3.10.14/lib/python3.10/runpy.py", line 196, in _run_module_as_main
[rank0]:     return _run_code(code, main_globals, None,
[rank0]:   File "/share/apps/python/3.10.14/lib/python3.10/runpy.py", line 86, in _run_code
[rank0]:     exec(code, run_globals)
[rank0]:   File "/qfs/people/usr/llama-recipes/src/llama_recipes/finetuning.py", line 291, in <module>
[rank0]:     fire.Fire(main)
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/fire/core.py", line 143, in Fire
[rank0]:     component_trace = _Fire(component, args, parsed_flag_args, context, name)
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/fire/core.py", line 477, in _Fire
[rank0]:     component, remaining_args = _CallAndUpdateTrace(
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/fire/core.py", line 693, in _CallAndUpdateTrace
[rank0]:     component = fn(*varargs, **kwargs)
[rank0]:   File "/qfs/people/usr/llama-recipes/src/llama_recipes/finetuning.py", line 179, in main
[rank0]:     model = FSDP(
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py", line 483, in __init__
[rank0]:     _auto_wrap(
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/_wrap_utils.py", line 102, in _auto_wrap
[rank0]:     _recursive_wrap(**recursive_wrap_kwargs, **root_kwargs)  # type: ignore[arg-type]
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 544, in _recursive_wrap
[rank0]:     wrapped_child, num_wrapped_params = _recursive_wrap(
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 544, in _recursive_wrap
[rank0]:     wrapped_child, num_wrapped_params = _recursive_wrap(
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 544, in _recursive_wrap
[rank0]:     wrapped_child, num_wrapped_params = _recursive_wrap(
[rank0]:   [Previous line repeated 2 more times]
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 562, in _recursive_wrap
[rank0]:     return _wrap(module, wrapper_cls, **kwargs), nonwrapped_numel
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 491, in _wrap
[rank0]:     return wrapper_cls(module, **kwargs)
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py", line 509, in __init__
[rank0]:     _init_param_handle_from_module(
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/_init_utils.py", line 603, in _init_param_handle_from_module
[rank0]:     _init_param_handle_from_params(state, managed_params, fully_sharded_module)
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/_init_utils.py", line 615, in _init_param_handle_from_params
[rank0]:     handle = FlatParamHandle(
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/_flat_param.py", line 583, in __init__
[rank0]:     self._init_flat_param_and_metadata(
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/_flat_param.py", line 633, in _init_flat_param_and_metadata
[rank0]:     ) = self._validate_tensors_to_flatten(params)
[rank0]:   File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/fsdp/_flat_param.py", line 769, in _validate_tensors_to_flatten
[rank0]:     raise ValueError("Cannot flatten integer dtype tensors")
[rank0]: ValueError: Cannot flatten integer dtype tensors

E0923 09:17:49.746000<PHONE_NUMBER>4800 torch/distributed/elastic/multiprocessing/api.py:833] failed (exitcode: 1) local_rank: 0 (pid: 44819) of binary: /qfs/people/usr/venv_llama_2/bin/python
Traceback (most recent call last):
  File "/share/apps/python/3.10.14/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/share/apps/python/3.10.14/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launch.py", line 208, in <module>
    main()
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/typing_extensions.py", line 2360, in wrapper
    return arg(*args, **kwargs)
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launch.py", line 204, in main
    launch(args)
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launch.py", line 189, in launch
    run(args)
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/run.py", line 892, in run
    elastic_launch(
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 133, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/qfs/people/usr/venv_llama_2/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 264, in launch_agent
    raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
============================================================
llama_recipes.finetuning FAILED
------------------------------------------------------------
Failures:
  <NO_OTHER_FAILURES>
------------------------------------------------------------
Root Cause (first observed failure):
[0]:
  time      : 2024-09-23_09:17:48
  host      : h100-02.local
  rank      : 0 (local_rank: 0)
  exitcode  : 1 (pid: 44819)
  error_file: <N/A>
  traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
============================================================

Expected behavior
This call and dataset work fine for llama3.1-8B without quantization, but fail with 4-bit quantization. The int4 parameter specific given in https://github.com/meta-llama/llama-recipes/blob/main/recipes/quickstart/finetuning/multigpu_finetuning.md#with-fsdp--qlora does not exist.

Hi @AAndersn thanks for reporting. I was not able to repro this do far but I will give it another try later today. You're right about the int4, this is a left over from a back and forth while we created the PR for QLORA. Would you be interested in creating a PR to fix this?

@mreso  Happy to make a PR to update the docs. I'll also try rolling back to an older version of PyTorch and update this issue tomorrow to see if that fixes it.

The problem appears to be an issue with AutoModel.from_pretrained() inside the finetuning.py script.
I rebuilt my environment today with llama-recipes 0.0.4 and transformers 4.45.0 and am able to run this snippet successfully:
import torch
from transformers import BitsAndBytesConfig, AutoModel

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_storage=torch.bfloat16
)

model = AutoModel.from_pretrained(
            "meta-llama/Meta-Llama-3.1-8B",
            quantization_config=bnb_config,
            device_map="auto",
            torch_dtype=torch.bfloat16
)

However, if I copy and paste this exact snippet into finetuning.py, the AutoModel call fails with same message
python3.11/site-packages/bitsandbytes/nn/modules.py", line 149, in __new__
[rank3]:     self = torch.Tensor._make_subclass(cls, data, requires_grad)
[rank3]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank3]: RuntimeError: Only Tensors of floating point and complex dtype can require gradients

Hi! @AAndersn Thanks for reporting this. I am wondering if changing AutoModel  to LlamaForCausalLM solve this? Can you try? Thanks!

@wukaixingxp - Thank you so much! Changing AutoModel to LLamaForCausalLM fixed it! Testing now with 8B and 70B.
If that works, I will install the pytest suite and then updated #681  to include this fix

I tried your command with transformers = 4.45.0 and torch = 2.4.1. But I got this error[rank2]: Traceback (most recent call last): [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/runpy.py", line 196, in _run_module_as_main [rank2]:     return _run_code(code, main_globals, None, [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/runpy.py", line 86, in _run_code [rank2]:     exec(code, run_globals) [rank2]:   File "/home/kaiwu/work/llama-recipes/src/llama_recipes/finetuning.py", line 332, in <module> [rank2]:     fire.Fire(main) [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/fire/core.py", line 143, in Fire [rank2]:     component_trace = _Fire(component, args, parsed_flag_args, context, name) [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/fire/core.py", line 477, in _Fire [rank2]:     component, remaining_args = _CallAndUpdateTrace( [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/fire/core.py", line 693, in _CallAndUpdateTrace [rank2]:     component = fn(*varargs, **kwargs) [rank2]:   File "/home/kaiwu/work/llama-recipes/src/llama_recipes/finetuning.py", line 203, in main [rank2]:     model = FSDP( [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py", line 483, in __init__ [rank2]:     _auto_wrap( [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/_wrap_utils.py", line 102, in _auto_wrap [rank2]:     _recursive_wrap(**recursive_wrap_kwargs, **root_kwargs)  # type: ignore[arg-type] [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 544, in _recursive_wrap [rank2]:     wrapped_child, num_wrapped_params = _recursive_wrap( [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 544, in _recursive_wrap [rank2]:     wrapped_child, num_wrapped_params = _recursive_wrap( [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 544, in _recursive_wrap [rank2]:     wrapped_child, num_wrapped_params = _recursive_wrap( [rank2]:   [Previous line repeated 2 more times] [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 562, in _recursive_wrap [rank2]:     return _wrap(module, wrapper_cls, **kwargs), nonwrapped_numel [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/wrap.py", line 491, in _wrap [rank2]:     return wrapper_cls(module, **kwargs) [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py", line 509, in __init__ [rank2]:     _init_param_handle_from_module( [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/_init_utils.py", line 565, in _init_param_handle_from_module [rank2]:     _materialize_meta_module( [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/_init_utils.py", line 897, in _materialize_meta_module [rank2]:     raise e [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/_init_utils.py", line 890, in _materialize_meta_module [rank2]:     module.reset_parameters()  # type: ignore[operator] [rank2]:   File "/home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1729, in __getattr__ [rank2]:     raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'") [rank2]: AttributeError: 'LlamaRMSNorm' object has no attribute 'reset_parameters'. Did you mean: 'get_parameter'? /home/kaiwu/miniconda3/envs/recipe_test/lib/python3.10/site-packages/torch/distributed/fsdp/_init_utils.py:892: UserWarning: Unable to call `reset_parameters()` for module on meta device with error 'LlamaRMSNorm' object has no attribute 'reset_parameters'. Please ensure that your module oftype <class 'transformers.models.llama.modeling_llama.LlamaRMSNorm'> implements a `reset_parameters()` method.

pip reported a conflict with torch  = 2.4.1.
I was able to run 8B with 4bit quantization with torch = 2.4.0 by replacing the AutoModel with LlamaForCausalLM or LlamaForQuestionAnswering (for use with a custom dataset).

@wukaixingxp - I see you have made that update in https://github.com/meta-llama/llama-recipes/blob/main/src/llama_recipes/finetuning.py#L139, so will close this issue as fixed by #686
Thanks so much for your help!

@wukaixingxp -- Today I pulled the latest llama-recipes (0.0.4.post) and am getting the same Only Tensors of floating point and complex dtype can require gradients error again. I tried to bump transformers to 4.46.3 and pytorch to 2.5.1, but still no luck. If you can please try running my bash call for grammar or similar csv dataset when you have free time, I would appreciate it a lot.
FYI - I am still able to run an archived copy of your fixes from https://github.com/meta-llama/llama-recipes/commit/9c7a5b421f20b73511d9d0d49078824393e63faa with transformers 4.45.0 and PyTorch 2.4.0, so it's not stopping me for the time being.


What does "good-stuff" do?

There should be clearer documentation about "good-stuff" option.
What does it do? At least approximately.

You're right, it should be better documented.
It currently sets two behaviors that make jslint happy: case un-indenting and space_after_anon_function.
They are shown here:
https://github.com/beautify-web/js-beautify/blob/master/js/lib/beautify.js#L50

I suggest nuking this option and using two separate parameters to control each behaviour. Trying to lump both under one seriously ambiguous option named --good-stuff (with an even less informative description) is counter-intuitive.
A setting named unindent-case is much more explicit.

Nuking the option is also a viable choice.  That would be a breaking change, which would need to wait to the next version.

+1 on adding unindent-case

Apparently it does more then this.
test.js
const a = [
    "foo",
      "bar"
];

~$ js-beautify test.js
const a = [
    "foo",
    "bar"
];

~$ js-beautify --good-stuff test.js
const a = [
    "foo",
      "bar"
];~$

@finalclass
PRs welcome.


tx-generator cleanups

Replace IO with Monad m => m in some types.
reintroduce ToUTxOList.
Remove legacy tx-set based FundSet. (Use type FundSet = [ Fund ] for now.)

bors r+

bors r-

ToDo:
Fix this: With ix-sets removed there needs to be a way to split funds and reuse the change.
(that is : a splitting transaction with two target wallets).

bors r+


NumberSequence - double insert error

Describe the bug
When NumberSequence insert method is used twice on the same name of Number Sequence the application return "Something went wrong screen"

To Reproduce
Steps and to reproduce the behavior:

Run twice code
NumberSequence.Insert('MNBMyNumberSequence', 1, 1);

Expected behavior
A error message shown that Number Sequence already exists
Screenshots
provided above
5. Versions:

AL Language: 4.0.199169

Business Central: Version: W1 15.1 (Platform 15.0.37865.38547 + Application 15.1.37881.38576)

The fix for this issue has been checked in to the master branch. It will be available in the bcinsider.azurecr.io/bcsandbox-master Docker image starting from platform build number 39172.
If you don’t have access to these images you need to become part of the Ready2Go program: aka.ms/readytogo
For more details on code branches and docker images please read:
https://blogs.msdn.microsoft.com/nav/2018/05/03/al-developer-previews-multiple-releases-and-github/
https://blogs.msdn.microsoft.com/freddyk/2018/04/16/which-docker-image-is-the-right-for-you/


Add reset ESP button

can you add the reset buton ?
i have tried it to add id but it doesnt work.
button:

platform: restart
name: "ESP_JBD_reset"

Please try a clean build. It should just work!

i tried it but it doesnt work ? hmmm
Compiling .pioenvs/jbd-bms-ble/src/main.o
Linking .pioenvs/jbd-bms-ble/firmware.elf
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/jbd-bms-ble/src/esphome/components/api/api_connection.o:(.literal._ZN7esphome3api13APIConnection14button_commandERKNS0_20ButtonCommandRequestE+0x0): undefined reference to esphome::button::Button::press()' /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/jbd-bms-ble/src/esphome/components/api/api_connection.o: in function esphome::api::APIConnection::button_command(esphome::api::ButtonCommandRequest const&)':
/data/build/jbd-bms-ble/src/esphome/components/api/api_connection.cpp:795: undefined reference to esphome::button::Button::press()' /data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/jbd-bms-ble/src/main.o:(.literal._Z5setupv+0x760): undefined reference to vtable for esphome::restart::RestartButton'
/data/cache/platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pioenvs/jbd-bms-ble/src/main.o:(.literal._Z5setupv+0x764): undefined reference to `vtable for esphome::restart::RestartButton'
collect2: error: ld returned 1 exit status
*** [.pioenvs/jbd-bms-ble/firmware.elf] Error 1
========================= [FAILED] Took 79.24 seconds =========================

Is this a clean build for sure? Please provide your complete YAML configuration. I would like to reproduce the build issue locally.

yes i did a clean yaml over HA,
here the full code:
`substitutions:
name: jbd-bms-ble
bms0: "${name} bms0"
bms1: "${name} bms1"
bms2: "${name} bms2"
external_components_source: github://syssi/esphome-jbd-bms@main
bms0_mac_address: A4:C1:38:2A:95:DB
bms1_mac_address: A4:C1:38:A2:EA:D8
bms2_mac_address: A4:C1:38:E6:3F:18
esphome:
name: ${name}
esp32:
board: esp32dev
framework:
type: esp-idf
external_components:

source: ${external_components_source}
refresh: 0s

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ota:
password: "cf7319c6dd5079cad5a9243384ae83d3"
logger:
level: DEBUG
api:
esp32_ble_tracker:
on_ble_advertise:
then:
- lambda: |-
if (x.get_name().rfind("xiaoxiang", 0) == 0) {
ESP_LOGI("ble_adv", "New JBD-BMS found");
ESP_LOGI("ble_adv", "  Name: %s", x.get_name().c_str());
ESP_LOGI("ble_adv", "  MAC address: %s", x.address_str().c_str());
ESP_LOGD("ble_adv", "  Advertised service UUIDs:");
for (auto uuid : x.get_service_uuids()) {
ESP_LOGD("ble_adv", "    - %s", uuid.to_string().c_str());
}
}
ble_client:

mac_address: ${bms0_mac_address}
id: client0
mac_address: ${bms1_mac_address}
id: client1
mac_address: ${bms2_mac_address}
id: client2

jbd_bms_ble:

id: bms0
ble_client_id: client0
update_interval: 15s
id: bms1
ble_client_id: client1
update_interval: 15s
id: bms2
ble_client_id: client2
update_interval: 15s

binary_sensor:

platform: jbd_bms_ble
jbd_bms_ble_id: bms0
balancing:
name: "${bms0} balancing"
charging:
name: "${bms0} charging"
discharging:
name: "${bms0} discharging"
online_status:
name: "${bms0} online status"

platform: jbd_bms_ble
jbd_bms_ble_id: bms1
balancing:
name: "${bms1} balancing"
charging:
name: "${bms1} charging"
discharging:
name: "${bms1} discharging"
online_status:
name: "${bms1} online status"

platform: jbd_bms_ble
jbd_bms_ble_id: bms2
balancing:
name: "${bms2} balancing"
charging:
name: "${bms2} charging"
discharging:
name: "${bms2} discharging"
online_status:
name: "${bms2} online status"

sensor:

platform: jbd_bms_ble
jbd_bms_ble_id: bms0
battery_strings:
name: "${bms0} battery strings"
current:
name: "${bms0} current"
power:
name: "${bms0} power"
charging_power:
name: "${bms0} charging power"
discharging_power:
name: "${bms0} discharging power"
state_of_charge:
name: "${bms0} state of charge"
nominal_capacity:
name: "${bms0} nominal capacity"
charging_cycles:
name: "${bms0} charging cycles"
capacity_remaining:
name: "${bms0} capacity remaining"
battery_cycle_capacity:
name: "${bms0} battery cycle capacity"
total_voltage:
name: "${bms0} total voltage"
average_cell_voltage:
name: "${bms0} average cell voltage"
delta_cell_voltage:
name: "${bms0} delta cell voltage"
min_cell_voltage:
name: "${bms0} min cell voltage"
max_cell_voltage:
name: "${bms0} max cell voltage"
temperature_1:
name: "${bms0} temperature 1"
cell_voltage_1:
name: "${bms0} cell voltage 1"
cell_voltage_2:
name: "${bms0} cell voltage 2"
cell_voltage_3:
name: "${bms0} cell voltage 3"
cell_voltage_4:
name: "${bms0} cell voltage 4"
cell_voltage_5:
name: "${bms0} cell voltage 5"
cell_voltage_6:
name: "${bms0} cell voltage 6"
cell_voltage_7:
name: "${bms0} cell voltage 7"
cell_voltage_8:
name: "${bms0} cell voltage 8"
cell_voltage_9:
name: "${bms0} cell voltage 9"
cell_voltage_10:
name: "${bms0} cell voltage 10"
cell_voltage_11:
name: "${bms0} cell voltage 11"
cell_voltage_12:
name: "${bms0} cell voltage 12"
cell_voltage_13:
name: "${bms0} cell voltage 13"
cell_voltage_14:
name: "${bms0} cell voltage 14"
cell_voltage_15:
name: "${bms0} cell voltage 15"
cell_voltage_16:
name: "${bms0} cell voltage 16"
operation_status_bitmask:
name: "${bms0} operation status bitmask"
errors_bitmask:
name: "${bms0} errors bitmask"
balancer_status_bitmask:
name: "${bms0} balancer status bitmask"
software_version:
name: "${bms0} software version"

platform: jbd_bms_ble
jbd_bms_ble_id: bms1
battery_strings:
name: "${bms1} battery strings"
current:
name: "${bms1} current"
power:
name: "${bms1} power"
charging_power:
name: "${bms1} charging power"
discharging_power:
name: "${bms1} discharging power"
state_of_charge:
name: "${bms1} state of charge"
nominal_capacity:
name: "${bms1} nominal capacity"
charging_cycles:
name: "${bms1} charging cycles"
capacity_remaining:
name: "${bms1} capacity remaining"
battery_cycle_capacity:
name: "${bms1} battery cycle capacity"
total_voltage:
name: "${bms1} total voltage"
average_cell_voltage:
name: "${bms1} average cell voltage"
delta_cell_voltage:
name: "${bms1} delta cell voltage"
min_cell_voltage:
name: "${bms1} min cell voltage"
max_cell_voltage:
name: "${bms1} max cell voltage"
temperature_1:
name: "${bms1} temperature 1"
cell_voltage_1:
name: "${bms1} cell voltage 1"
cell_voltage_2:
name: "${bms1} cell voltage 2"
cell_voltage_3:
name: "${bms1} cell voltage 3"
cell_voltage_4:
name: "${bms1} cell voltage 4"
cell_voltage_5:
name: "${bms1} cell voltage 5"
cell_voltage_6:
name: "${bms1} cell voltage 6"
cell_voltage_7:
name: "${bms1} cell voltage 7"
cell_voltage_8:
name: "${bms1} cell voltage 8"
cell_voltage_9:
name: "${bms1} cell voltage 9"
cell_voltage_10:
name: "${bms1} cell voltage 10"
cell_voltage_11:
name: "${bms1} cell voltage 11"
cell_voltage_12:
name: "${bms1} cell voltage 12"
cell_voltage_13:
name: "${bms1} cell voltage 13"
cell_voltage_14:
name: "${bms1} cell voltage 14"
cell_voltage_15:
name: "${bms1} cell voltage 15"
cell_voltage_16:
name: "${bms1} cell voltage 16"
operation_status_bitmask:
name: "${bms1} operation status bitmask"
errors_bitmask:
name: "${bms1} errors bitmask"
balancer_status_bitmask:
name: "${bms1} balancer status bitmask"
software_version:
name: "${bms1} software version"

platform: jbd_bms_ble
jbd_bms_ble_id: bms2
battery_strings:
name: "${bms2} battery strings"
current:
name: "${bms2} current"
power:
name: "${bms2} power"
charging_power:
name: "${bms2} charging power"
discharging_power:
name: "${bms2} discharging power"
state_of_charge:
name: "${bms2} state of charge"
nominal_capacity:
name: "${bms2} nominal capacity"
charging_cycles:
name: "${bms2} charging cycles"
capacity_remaining:
name: "${bms2} capacity remaining"
battery_cycle_capacity:
name: "${bms2} battery cycle capacity"
total_voltage:
name: "${bms2} total voltage"
average_cell_voltage:
name: "${bms2} average cell voltage"
delta_cell_voltage:
name: "${bms2} delta cell voltage"
min_cell_voltage:
name: "${bms2} min cell voltage"
max_cell_voltage:
name: "${bms2} max cell voltage"
temperature_1:
name: "${bms2} temperature 1"
cell_voltage_1:
name: "${bms2} cell voltage 1"
cell_voltage_2:
name: "${bms2} cell voltage 2"
cell_voltage_3:
name: "${bms2} cell voltage 3"
cell_voltage_4:
name: "${bms2} cell voltage 4"
cell_voltage_5:
name: "${bms2} cell voltage 5"
cell_voltage_6:
name: "${bms2} cell voltage 6"
cell_voltage_7:
name: "${bms2} cell voltage 7"
cell_voltage_8:
name: "${bms2} cell voltage 8"
cell_voltage_9:
name: "${bms2} cell voltage 9"
cell_voltage_10:
name: "${bms2} cell voltage 10"
cell_voltage_11:
name: "${bms2} cell voltage 11"
cell_voltage_12:
name: "${bms2} cell voltage 12"
cell_voltage_13:
name: "${bms2} cell voltage 13"
cell_voltage_14:
name: "${bms2} cell voltage 14"
cell_voltage_15:
name: "${bms2} cell voltage 15"
cell_voltage_16:
name: "${bms2} cell voltage 16"
operation_status_bitmask:
name: "${bms2} operation status bitmask"
errors_bitmask:
name: "${bms2} errors bitmask"
balancer_status_bitmask:
name: "${bms2} balancer status bitmask"
software_version:
name: "${bms2} software version"

text_sensor:

platform: jbd_bms_ble
jbd_bms_ble_id: bms0
errors:
name: "${bms0} errors"
operation_status:
name: "${bms0} operation status"
device_model:
name: "${bms0} device model"

platform: jbd_bms_ble
jbd_bms_ble_id: bms1
errors:
name: "${bms1} errors"
operation_status:
name: "${bms1} operation status"
device_model:
name: "${bms1} device model"

platform: jbd_bms_ble
jbd_bms_ble_id: bms2
errors:
name: "${bms2} errors"
operation_status:
name: "${bms2} operation status"
device_model:
name: "${bms2} device model"

switch:

platform: ble_client
ble_client_id: client0
name: "${bms0} enable bluetooth connection"

platform: ble_client
ble_client_id: client1
name: "${bms1} enable bluetooth connection"

platform: ble_client
ble_client_id: client2
name: "${bms2} enable bluetooth connection"

platform: jbd_bms_ble
jbd_bms_ble_id: bms0
charging:
name: "${bms0} charging"
discharging:
name: "${bms0} discharging"

platform: jbd_bms_ble
jbd_bms_ble_id: bms1
charging:
name: "${bms1} charging"
discharging:
name: "${bms1} discharging"

platform: jbd_bms_ble
jbd_bms_ble_id: bms2
charging:
name: "${bms2} charging"
discharging:
name: "${bms2} discharging"

button:
- platform: restart
name: "ESP_JBD_reset"      `
the reset is only for tests remarked

Please make sure your ESPHome version is up-to-date (2023.12.9). The YAML builds fine here:
Linking .pioenvs/jbd-bms-ble/bootloader.elf
Building .pioenvs/jbd-bms-ble/bootloader.bin
Creating esp32 image...
Successfully created esp32 image.
Linking .pioenvs/jbd-bms-ble/firmware.elf
RAM:   [==        ]  16.1% (used 52796 bytes from 327680 bytes)
Flash: [=======   ]  65.6% (used 1203065 bytes from 1835008 bytes)
Building .pioenvs/jbd-bms-ble/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/jbd-bms-ble/firmware.bin"], [".pioenvs/jbd-bms-ble/firmware.elf"])
Wrote 0x1371f0 bytes to file /tmp/.esphome/build/jbd-bms-ble/.pioenvs/jbd-bms-ble/firmware-factory.bin, ready to flash to offset 0x0
==================================================================== [SUCCESS] Took 71.98 seconds ====================================================================
INFO Successfully compiled program.

now it works , i have no glue why :-)


Make inverse hint not freak out when not given an argument

there's an entire unused check so i'm gonna use it by changing the conditions under which it triggers to ones that actually work

im dumb sry


chore: release 1.2.1

:robot: I have created a release *beep* *boop*
1.2.1 (2021-07-30)
Bug Fixes

trigger release build (548f170)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/devbranch-vadym/portainerssh/releases/tag/v1.2.1 :sunflower:


Hyperion discovery questionnaire

Discovery questionnaire for Hyperion.

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

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

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


One click script for wireguard

Hi Sir, will you make a script for wireguard too?

That would be TOP!!  :)

See #331
Also since I am using Wireguard myself, I made a tutorial: https://angristan.xyz/how-to-setup-vpn-server-wireguard-nat-ipv6/
I'll think about the design of the script when I have the time

See https://github.com/angristan/wireguard-install for a WIP 😬


[New Port Request] libheif

libheif is a ISO/IEC 23008-12:2017 HEIF file format decoder and encoder.
http://www.libheif.org/
https://github.com/strukturag/libheif/
https://github.com/strukturag/libheif/releases/tag/v1.4.0

We can’t reopen this issue until a PR is opened, unfortunately, consider making a pull request!


【Bug】Array.from() method cannot correctly handle surrogate pair under debugger mode of worker_threads

Does this issue occur when all extensions are disabled?: Yes/No
Yes

VS Code Version: 1.75.1
OS Version: macos 12.6.3

Steps to Reproduce:
test example
const { Worker, isMainThread } = require('worker_threads');

if (isMainThread) {
   const worker = new Worker(__filename);
} else {
   console.log(Array.from("\n𝐀"))   // break point
}

put break point on console.log that line

start debugger in JavaScript Debugger Terminal

switch to DEBUG CONSOLE type Array.from("\n𝐀")

the Debugger WATCH also incorrectness

that console.log line in test file output correct

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.76.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.76.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Same bug

Node.js version
18.14.2

This looks like a problem with Node.js; the debugger will not affect the behavior of Array.from. Perhaps you're debugging a different version of Node.js than what you're running in your terminal.
Copying the code in your example, I get the expected two-length array. I also tested with some two-byte Japanese characters and they worked as expected.

This looks like a problem with Node.js; the debugger will not affect the behavior of Array.from. Perhaps you're debugging a different version of Node.js than what you're running in your terminal.
Copying the code in your example, I get the expected two-length array. I also tested with some two-byte Japanese characters and they worked as expected.

I am not sure that is not problem of node.js. Because I do not run node.js in debugger mode from cli. But the output of console.log line is correct. The error only happen in DEBUG CONSOLE and WATCH window.
The version of Node.js is same. That is the same running of DEBUG CONSOLE and console.log output.

Unicode surrogate pair is not two-byte characters, it is four byte.


add webhook

Towards: https://github.com/giantswarm/giantswarm/issues/16000
Add mutating and validating webhook.

Right now things aren't really working because we miss values in the CR. We want to try adding the webhook to solve that issue.

Let's maybe chat this afternoon together how to tackle this :)

We just trying to create a cluster so far. Let's first figure out if we need webhook at all.


Range-info: when checking if a decl reference is contained in the selected range, consider only the start location. rdar://32415952

@swift-ci please smoke test and merge


Add symbols for pronouns and preverbs

Fixes #489

Codecov Report

Merging #491 into master will decrease coverage by 0.08%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master     #491      +/-   ##
==========================================
- Coverage   88.67%   88.58%   -0.09%
==========================================
  Files          71       71
  Lines        2588     2594       +6
==========================================
+ Hits         2295     2298       +3
- Misses        293      296       +3

Impacted Files
Coverage Δ

CreeDictionary/API/models.py
86.66% <71.42%> (-0.72%)
:arrow_down:

CreeDictionary/utils/enums.py
95.08% <100.00%> (ø)

Continue to review full report at Codecov.

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


Add gitpod badge to readme

Please add the following code snippet to the bottom of the readme file
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/AccessibleForAll/ColorPaletteCombos)

Hi Emma!
Can I work on this one? :)
It is okay if this is for someone else!
Thank you!

Go for it :)


Edit the Documentation on generating new source files for translation in Wiki

Pertinent section of the Wagtail Wiki

https://github.com/wagtail/wagtail/wiki/Managing-Wagtail-translations#generating-new-source-files-for-translation

Details

A fix I worked on from another issue needed me to generate new source files for translations. I followed instructions but the command failed. It failed because it was run in the wrong directory. The docs were a bit misleading.
The command is not supposed to be run from within the scripts directory, but from its parent; the root directory, because the rebuild-translation-sources.sh references a sibling of the scripts directory; the ./wagtail directory.
I think that the 'From scripts, run:' should be edited.

can i work on this issue

i created a pull request in which i changed script with ./wagtail in the doc pls review it whenever you can its my first pull request so pardon me for any mistake

I'm just a contributor, not a core member of the team. I think it's up to the core team to make a decision on it, and how they might want it to be (or even for it to be left as it is). Also, I didn't quite see your pull request, but ./wagtail might also be just as misleading.

Thanks for reporting, @Chiemezuo! Have now updated the page to say "from the root of the wagtail codebase" instead.
@aditya123473892 I don't see a pull request from you, and in fact this documentation isn't part of the Wagtail code repository (or any other repository), so the pull request process doesn't apply here.

ok thanks i understood will work try to work on other issues thanks for guiding

The pleasure is all mine @gasman


'Connection refused' Error

After I installed llm-ollama, simple command raises httpx.ConnectError: [Errno 111] Connection refused
llm -m llama2:latest 'How much is 2+2?'

Traceback (most recent call last):
  File "/home/haje01/.local/bin/llm", line 8, in <module>
    sys.exit(cli())
  File "/home/haje01/.local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/haje01/.local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/haje01/.local/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/haje01/.local/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/haje01/.local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/haje01/.local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/haje01/.local/lib/python3.10/site-packages/llm/cli.py", line 799, in models_list
    for model_with_aliases in get_models_with_aliases():
  File "/home/haje01/.local/lib/python3.10/site-packages/llm/__init__.py", line 80, in get_models_with_aliases
    pm.hook.register_models(register=register)
  File "/home/haje01/.local/lib/python3.10/site-packages/pluggy/_hooks.py", line 501, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/home/haje01/.local/lib/python3.10/site-packages/pluggy/_manager.py", line 119, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/home/haje01/.local/lib/python3.10/site-packages/pluggy/_callers.py", line 138, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/home/haje01/.local/lib/python3.10/site-packages/pluggy/_callers.py", line 102, in _multicall
    res = hook_impl.function(*args)
  File "/home/haje01/.local/lib/python3.10/site-packages/llm_ollama.py", line 26, in register_models
    for model in ollama.list()["models"]:
  File "/home/haje01/.local/lib/python3.10/site-packages/ollama/_client.py", line 313, in list
    return self._request('GET', '/api/tags').json()
  File "/home/haje01/.local/lib/python3.10/site-packages/ollama/_client.py", line 53, in _request
    response = self._client.request(method, url, **kwargs)
  File "/home/haje01/.local/lib/python3.10/site-packages/httpx/_client.py", line 814, in request
    return self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/home/haje01/.local/lib/python3.10/site-packages/httpx/_client.py", line 901, in send
    response = self._send_handling_auth(
  File "/home/haje01/.local/lib/python3.10/site-packages/httpx/_client.py", line 929, in _send_handling_auth
    response = self._send_handling_redirects(
  File "/home/haje01/.local/lib/python3.10/site-packages/httpx/_client.py", line 966, in _send_handling_redirects
    response = self._send_single_request(request)
  File "/home/haje01/.local/lib/python3.10/site-packages/httpx/_client.py", line 1002, in _send_single_request
    response = transport.handle_request(request)
  File "/home/haje01/.local/lib/python3.10/site-packages/httpx/_transports/default.py", line 227, in handle_request
    with map_httpcore_exceptions():
  File "/usr/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/home/haje01/.local/lib/python3.10/site-packages/httpx/_transports/default.py", line 83, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectError: [Errno 111] Connection refused

Thank you in advance!

Please check that you can interact with Ollama server directly through HTTP API:
$ curl http://localhost:11434/api/chat -d '{
  "model": "llama2:latest",
  "messages": [
    {
      "role": "user",
      "content": "why is the sky blue?"
    }
  ]
}'

My Apologies...
Thanks!


docs: removing entities from HASS

See #254
Needs:

[ ] Check if steps for re-discovery (push discovery doc) is correct.

@LordMike Let me know when this is ready, will be useful!

@LordMike Let me know when this is ready, will be useful!

Actually. Since disabling the HASS integration on my end, I can't see that part of the UI anymore.. Can you confirm if the steps for rediscovery are correct?

Actually. Since disabling the HASS integration on my end, I can't see that part of the UI anymore.. Can you confirm if the steps for rediscovery are correct?

Also. With github actions, it's possible to run some CI stuff only if certain paths are affected. So for these PR's, you could avoid rebuilding the application and running linters etc..
This could be done by adding path arguments to all jobs, where docs stuff only  runs when docs/** is affected, and the source stuff only runs when src/** (or whatever) is affected.
Docs.

Also. With github actions, it's possible to run some CI stuff only if certain paths are affected. So for these PR's, you could avoid rebuilding the application and running linters etc..
This could be done by adding path arguments to all jobs, where docs stuff only  runs when docs/** is affected, and the source stuff only runs when src/** (or whatever) is affected.
Docs.

@LordMike Thanks for the suggestion about the ignore path, didn't know about that!
Anyway the steps are a little different, you should press on Rediscover Node button and now node details are shown in the expanded row of the table

@LordMike Thanks for the suggestion about the ignore path, didn't know about that!
Anyway the steps are a little different, you should press on Rediscover Node button and now node details are shown in the expanded row of the table

@zwave-js-bot fix lint

@zwave-js-bot fix lint

Pull Request Test Coverage Report for Build 511892962

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 22.794%

Totals

Change from base Build 511886658:
0.0%

Covered Lines:
2009

Relevant Lines:
9022

💛  - Coveralls

Pull Request Test Coverage Report for Build 511892962

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 22.794%

Totals

Change from base Build 511886658:
0.0%

Covered Lines:
2009

Relevant Lines:
9022

💛  - Coveralls

I've changed it to Rediscover Node:

Note that in order for a removed entity to appear again, it must be published by zwavejs2mqtt again. This happens automatically for new devices, if enabled, alternatively it can be done manually by selecting the node in zwavejs2mqtt, and then for each HASS device clicking Rediscover Node.

I've changed it to Rediscover Node:

Note that in order for a removed entity to appear again, it must be published by zwavejs2mqtt again. This happens automatically for new devices, if enabled, alternatively it can be done manually by selecting the node in zwavejs2mqtt, and then for each HASS device clicking Rediscover Node.


Inlining a trampoline terminates the caller with a tailcall

Version and Platform (required):

Binary Ninja Version: 3.2.3949
OS: macOS
OS Version: 12.4
CPU Architecture: M1

Bug Description:
Marking a trampoline function as inline causes the caller's lifting to end early, as if the caller did a tailcall jump to the trampoline's target.
Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

Open the following exe/pdb: animals.zip
Navigate to 0x402553 (Fly::buzz)
Right click the call to j__printf, and Edit Function Properties
Enable Inline during Analysis
Observe lifting of Fly::buzz is now broken

Expected Behavior:
I expected the inlined call to j__printf to result in a call to _printf, not a tailcall
Screenshots:
HLIL (before)

HLIL (after)

LLIL (before)

LLIL (after)

The ability to inline these functions from the UI has been disabled. The option will be reenabled when it is possible to inline them.

Inlining of functions that contain tail calls is now supported in build 3969. Note that in this particular example, inlining the call will cause suboptimal HLIL expression folding because of the additional control flow. This is a different bug and is currently unknown why it is the case, as the required optimizations are already implemented.

Decompiler output has been improved in these cases with build 3998. Some expressions that were no longer optimized after inlining are now optimized again.


Travis CI: Test on Python 3.9

This was supposed to be opened inside my fork, so I can test things. Sorry fo the noise.


add unit tests for cloudtest.go

I would like to add unit tests for pkg/cloudtest/cloudtest.go

I would like to add unit tests for pkg/cloudtest/cloudtest.go

This file is no longer present.


support a 'notificator' module which allows you to subscribe to certain events

Initially the only event we would support is changes to a given address (unlockhash), as is requested by the motivating User-Facing issue: threefoldfoundation/tfchain#145
Through websockets we should expose a new protocol using JSON-RPC, which allows users to subscribe to a certain event "stream" and receive notifications for the desired subscriptions when needed. This to prevent the need for a client to having to randomly poll the server, generating traffic for no good reason, and instead receive the desired updates when they happen, without much overhead.
Subscribing to an address will be the first use-case, such that a light client could subscribe to a the address(es) it owns, and receive (un)spend outputs as they happen.

I thing it makes sense to only notify about relevant transactions when they actually enter the consensus, and thus are part of a created block. Others might however have a different opinion on this. Perhaps we could support both separately, or do return them within a single stream by making the distinction clear with a "confirmed" boolean property.

will a dedicated ip/port be used?

I would suggest to use a dedicated port.
Go-Ethereum does this for example as well for its websocket support.

Furthermore, it could be made so that only the consensus set is required
and if a transactionpool is enabled, additional updates about unconfimed transactions might be sent

Agreed. But even than we should make it clear in our notifications whether a transaction is confirmed or not.

This also makes it clear to me that we should also notify the address stream about reversed transactions.
So we could have 3 types of transaction notifications:

unconfirmed (accepted in transaction pool)
confirmed (applied in consensus)
reverted (or however you want to call it)

Also something you possibly might want to subscribe to is new blocks, since this can be useful for "confirmed" transactions to know how safe it is to trust them, i.e. a transaction which is confirmed in the previous block could pretty easily be reverted while a txn confirmed 10 blocks prior is less likely to revert.

Also something you possibly might want to subscribe to is new blocks, since this can be useful for "confirmed" transactions to know how safe it is to trust them

Perhaps, yes. But not sure if we want to do this initially. Or if we do, not sure if we want to send the entire block, or only the headers. But not sure how do-able that is, given that our codebase is not really prepared for partial merkle tree computations as far as I understood from @robvanmieghem.

Sending only the headers is not a problem, since I would imagine this notifier module would be subscribed to the consensus set, thus meaning it gets the consensus set updates in real time, which is a list of reverted an applied blocks, so the header is already known as it is calculated by the cs first before being pushed to subscribed modules, right?

Initial design:
The notifier module requires a ConsensusSet module and takes an optional TransactionPool module. The Cs will provide confirmed and rollbacked blocks (transactions), whereas the Tp will provide info about new txns waiting to be confirmed.
subscribing to an address
Either the client subscribes to the address when the websocket is created through a query parameter, which means that subscribing to an additional address will require a new websocket connection. The client can not send any commands to the server (other than the ping-pong and close messages, which are part of the protocol itself). The server does not need to implement any special kind of reading ability, and only data is send over the connection.
Or the server does implement some reading functionality. The client sends predefined json objects which tell the server that it wants to subscribe to a new address or unsubscribe from an old address. This would  mean that an existing connection can be reused in case the client wishes to redefine the set of subscribed addresses. But it also means that the server needs to have a goroutine for every websocket connection with the solo purpose of reading incomming data.
processing and sending data
In order to avoid wasting a lot of CPU cycles if there are multiple connections, it seems best that the parent notifier module collects all the Cs and Tp updates, and processes them. Some way to do processing could be: split a new block into a list of ExplorerTransactions, and for every transaction, figure out all addresses somehow involved in the transaction (senders addresses, receiving addresses, ...). Then, push the list of txns and involved addresses to every connection. The connection itself maintains a list of addresses its subscribed to, and pushes only the relevant transactions to the client. The connections can either have a goroutine running dedicated to writing on the websocket and read the transactionlist from a dedicated channel (thus having a goroutine and channel open for every conneced client), or the Notifier can iterate over the list of connections, start a goroutine for each of them which takes the transactionlist, checks and sends relevant transactions, and exits again.

Can't we implement the electrum JSON-RPC protocol for this instead of reinventing the weel?
https://electrumx.readthedocs.io/en/latest/protocol-methods.html#blockchain-address-subscribe

Yes, @robvanmieghem is correct. This feature was inspired by Electrum, so unless you have a very good to do a different than or alternative version of the electrum protocol’s adresss subscription, I would follow this protocol as described/implemented.

https://github.com/rivine/rivine/issues/385

 Address Subscriptions for light clients  using he  Electrum  protocol

While working on the implementation of the address subscription, I ran into the following problem:
The address status is an ordered list of transactions ID's. The transaction ID's are stored in the explorer module. If an address is updates (new block or block reverted), then the cs update is propagated to the explorer, which then updates its internal DB. So the logical step would be to have the electrum module subscribe to the explorer module, but this functionality is not possible. As a workaround, the electrum module currently subscribes to the CS, relying on the fact that the explorer subscribers first, thus it gets and processes the CS update first. So when the Electrum module receives the update, the explorer already processed it and we can look up the transactions to get the new status.
The problem is that there is no guarantee that the updates are received in order of subsription, so this is not really an exceptional solution in the final design. There are multiple ways to fix this:

Create subscription functionality in the explorer so we can directly subsribe to that
Maintain a DB for the electrum module as well, which stores the required data. This eliminates the need for the explorer module (technically), though use of the electrum module is kind of pointless without explorer
Move the Electrum module to (a subpackage of) the explorer module.

@LeeSmet which option did you take?

Part of my assumption from the comment was wrong. Because we need a valid explorer module in the electrum module, the explorer MUST be initialized first. As part of its initialization, its subscribes to the consensus set. This means that ones the electrum module necessarily subscribes after the explorer, and receives its updates after the explore (as slice iteration is consistently in order over the index). So there actually is an enforced order already (although this is implicit).
I'd personally prefer to go with option 1, though there is no functional value to that right now. Maybe in the future there will be, and if so we can change it then. I created a separate issue for that should it be needed, see #433

Closed by 8b4b942


Standardise API config commands

The following commands need to be changed from:
tredly-host config firewall addAPIwhitelist
tredly-host config firewall clearAPIwhitelist
To:
tredly config api whitelist
tredly config api whitelist clear

This issue has been moved to https://github.com/tredly/tredly/issues/37. Please continue discussions there.


Use several style images

Hello
can someone tell me the syntax if i want to hand over a list of style images?

@Daniel63656 ,
The program uses the first file supplied as content and the rest as styles. Using the example below I have been able to run multiple styles:
./style_transfer /path/to/content.jpg /path/to/style1.jpg /path/to/style2.jpg /path/to/style3.jpg ...
Hope this helps.


feat: add option to disable diffing

Description

For extremely large snapshot files, the diff algorithm is not very efficient. Until the algorithm can be modified to work with large files, there is now a --snapshot-diff-mode=disabled flag that can be specified to disable diffing on snapshot assertion failures.
Related Issues

Closes #581

Checklist

[x] This PR has sufficient documentation.
[x] This PR has sufficient test coverage.
[x] This PR title satisfies semantic convention.

Additional Comments

No additional comments.

:tada: This PR is included in version 4.8.0 :tada:
The release is available on:

v4.8.0
GitHub release

Your semantic-release bot :package::rocket:


Installing rocm on trusty

On Ubuntu 14.04.2 64 bit,
While trying to build opencl on rocm1.6 from the below
https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime
when i try to install rocm using the steps mentioned in the github link, rocm is not getting installed, console says rocm depends on rocm-dev but its not going to be installed.

Currently, we have moved to supporting 16.04 only with ROCm 1.6


FORMS-12555 Adding post method to the adaptive form container.

Adding this for parity with AF1.

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[ ] I ran all tests locally and they pass.

Can you add a small test case for this ?

Added


gallery.flutter.dev Cupertino examples do not respect dark-mode

The "system" theme does not seem to respect Dark mode if the phone is already in Dark Mode (iOS).

Note how the phone is in Dark mode (Dark top banner, etc), but the cupertino example is on a white background:

(The slider shadows being wrong are filed separately, just re-using the screenshot.)

Even if I manually set the "Theme" in the options to "Dark" the Cupertino examples do not change.

Maybe these are separate bugs?  Happy to split out if needed.

/cc @willlarche, @clocksmith   : Is this on purpose ? I checked Flutter Web code, looks like the app defaults to light.

It was on purpose. @rami-a could probably explain the reasoning (I forget)

This was an intentional design choice when we worked with the designers on this initially. We wanted the demo content to stand out more against the demo chrome. Totally open to revisiting this of course.
Now that I think about this more, we probably should have the demo content respect the dark-mode setting, so that developers can see what the components look like in dark mode.

Verified both at startup and change, dark mode updates correctly on the engine side.
WAI. Closing this issue. If you decide gallery should change approach please file in flutter/gallery.


Test Account>Receive>Know More>Tap on "click here" crashes the app

-Verified this issue on Dev app v1.7.0 (293)


stats page gap between header/subheader

On master branch, not sure if this has always been there or because of new collapse feature, there is a gap between the sub header and header. As you scroll you see what is underneath show up.  Possible to fix?

I found the commit here: 00e81c63c40247fa4c61e4c40ebe25fc1ef5af45. margin-top css was reduced but works better if its just removed from the .stats-tabs class

Removed the margin


consider input as CSV instead of txt file

consider gene/region input as csv
first column gene/region
second column ymax/"” (then remove from config) → then its at least configurable on a gene/region level → can be extracted like DEA parameters in dea_limma workflow
ymax parameter: have in addition to "”==auto also "max” which determines the max value across all to be plotted and uses that as ymax → not possible, because that is not known before

think about additional configuration potential e.g., coloring?


tag select is not parsing properly nested options

it fails parsing this html code:
<select id="order-by" name="order-by" class="styled">
<option selected="selected" value="RANKING">Our Selection</option>
<option  value="PRICE">Price</option>
</select>
i've tried changing the ID of the select to "orderBy" but the error remains
debugging over the code i've found that in HtmlTreeBuilderState.class , the code executing on the startTag of the select is:
[...]
} else if (name.equals("select")) {
tb.error(this);
return tb.process(new Token.EndTag("select"));
}
[...]
and after this, when it receives the option tag, fails with error:
Unexpected token [EndTag] when in state [InSelect]

I can't repro this in current builds -- fixed by another change I expect. Thanks.


created MaximizeSumOfSelectedNumbers.cpp

Maximize the sum of selected numbers from a sorted array to make it empty

Hello @AnanyaDas162 ,
I have made a PR for the GFG practice problem for 14th  October. Plz kindly review


It should not be possible to set the efficiency/COP for technologies that don't support it

We should 'disable' it in the interface but still show it for now.

Already on it. :grinning:

Can this be closed @antw?


Allow filtering non-PK timestamp column

Is your feature request related to a problem? Please describe.
We have a large dataset in AWS Keyspaces. We wish to migrate only data created in the last 60 days, but client-side timestamps are disabled so we cannot use the --start-replication-from feature of cqlreplicator.
We have a timestamp column is our table and wish to filter based on that timestamp column. The filterExpression feature cannot be used since our timestamp column is not part of the Primary Key.
What other options are available to us in this case? Would it be easy to modify cqlreplicator to support such filtering? Our source and target are both AWS Keyspaces.
Describe the solution you'd like
We'd like to filter the dataset based on a timestamp column which is not part of the Primary Key.
Describe alternatives you've considered
Copy all data using cqlreplicator, then DELETE unwanted data post-migration using a spark script.
Additional context
none

@jlewis-spotnana here is an example, what it might look like:
--json-mapping '{
    "keyspaces": {
      "transformation": {
      "enabled": true,
      "addNonPrimaryColumns": ["timestamp_column"],
      "filterExpression": "timestamp_column > to_timestamp('2023-05-01 00:00:00')"
      }
    }
  }'

Thanks! I will give this a try and report my results.

@jlewis-spotnana, this is just my proposal, well, might take a couple of weeks before I will release it

@nwheeler81 Thanks for your consideration of this feature request! I'll probably have to continue my PROD migration w/o this feature, due to timeline constraints on my end.
Let me know if you need a tester. 🙂

@jlewis-spotnana ack, btw, I will release CR this week and you can try the filtering option.

@jlewis-spotnana here is a branch.
There is a branch with several major changes:

A filter feature for non-primary keys has been added. For example, you can now use: --json-mapping '{"keyspaces": {"transformation": { "enabled": true, "addNonPrimaryKeyColumns": ["col2"], "filterExpression": "col2 > timestamp "2024-11-12 00:00:59.588000+0000"" }}}'

Read and write traffic against Amazon Keyspaces can be controlled using --max-wcu-traffic 1000 with or without --tiles, but still it works in the old way.

Auto-recovery has been implemented. If Glue jobs are killed, there's no need for manual fixes. The CQLReplicator will automatically detect and resolve the issue.

Performance and cost efficiency have been improved by using unlogged batch. However, for large partitions, disabling batching and using single inserts may be preferable to avoid throttling issues in Amazon Keyspaces. This can be achieved with: --json-mapping '{"keyspaces": {"writeConfiguration": { "maxStatementsPerBatch": 1}}}'


Example Project

It looks like too early to ask this question, but I am still wondering if you guys have a road map for a n example application like "dotnet-architecture/eShopOnContainers" ?

@Shawn-Fan  This is currently not on our roadmap. If you want to try and help the project with the port, it would be really appreciated by the team.

Thanks in advance

Not .NET, but referencing... How to get the App running on dapr? and microservices-demo.

@shaggygi Sound exciting, Polyglot reactive microservices in the future. Any plan yet?

@shaggygi  & @Shawn-Fan Polyglot would be a good sample, Could you please open it in samples repo, this repo is for dotnet sdk only.

Sorry, @amanbha, Please close this topic.


List examples

Adds one example to all list functions.
I wasn't sure whether to include type arguments or omit. For now, I've included them.

Added some stylistic comments, but looks good overall!


Faster Travis Builds

Thanks for this PR. Can you check the build times? Not sure if I'm getting this right, but it looks like it may actually be slightly slower. Thanks!

5 min 25 (this one) sec vs 7 min 57 sec on a comparison of a random other PR.  Doing a proper statistical evaluation is of limited interest to me.
This type of change will also eventually be needed by Travis when they deprecate the old environment.


JobConfig adaptations

Hi,
I want to propose 2 changes in JobConfig class, if possible:

In my project I have to use jackson-core:2.9.9 to work properly with other dependencies. To avoid an exception in that version, JobConfig needs @NoArgsConstructor and @AllArgsConstructor annotations. Could be added?

All the properties in JobConfig are String values (Map<String, String> properties), could you allow other types (i.e Map<String, Object> properties) ?

Hi,
good idea. I will add this soon.
Thanks
Christian

Thanks to you for sharing this great project!

You are welcome. I have now implemented your suggestion.
The  JobConfig now supports Map<String, Object> properties. If the values of this map are of type Double, Date, or Long, they are cast accordingly and passed to a new JobParameters instance. Otherwise, the value is turned into a String via its toString() method, and this is then used in the JobParameters instance. This is because JobParameters only supports the aforementioned types via its constructors.
This is now part of release 1.4.0.

Thanks!


Fixed #10390

Closes #10390

We also need to update PHPUnit tests

Set your email in your local git settings https://help.github.com/articles/setting-your-email-in-git/

We need a CHANGELOG line

Ok~

@TianJinRong but you did not do it in the order as is required :) See https://github.com/yiisoft/yii2/blob/master/docs/internals/git-workflow.md#5-update-the-changelog

I sent PR with more clearer the code. https://github.com/TianJinRong/yii2/pull/1/files

https://github.com/yiisoft/yii2/issues/10390

@githubjeka

false === $tag is great;
For tag, it might be confused if we accept one type and a specified
vlaue instead of two types, so there we accept true and see it as
setting default value.

For tag, it might be confused if we accept one type and a specified
value instead of two types, so there we accept true and see it as
setting default value.

it is a general convention used in Yii to accept some values or bool false to disable it. Introducing true here will be inconsistent.

@cebe optimize for the hidden.

:+1:

@githubjeka  :)

Merged. I've also added the same feature to checkboxList() method. https://github.com/yiisoft/yii2/commit/85c6a903dced72cce0ce95f8fd424fd492ceb4e6

Thank you!

@SilverFire :-)


Add filter option

I want to see just OOW.Gateway.* entries.
2016-01-29 17:09:20.7547 22 TRACE OOW.Gateway.CGate.CGateGateway	InstrumentParams DB report for the last 60 sec:
	Received write operations:  27099
	Accepted write operations:   3346 (12% of the received)
	Min operation queue length:     0
	Max operation queue length:  2968 (total 2968)
	Completed write operations:  1454 (total 2134)
2016-01-29 17:10:20.7725 42 TRACE OOW.Gateway.CGate.CGateGateway	InstrumentParams DB report for the last 60 sec:
	Received write operations:  30430
	Accepted write operations:   1782 (5% of the received)
	Min operation queue length:  2126
	Max operation queue length:  3837 (total 3837)
	Completed write operations:  1000 (total 3134)
2016-01-29 17:10:33.2859 20 DEBUG OOW.Owin.RequestLoggingMiddleware	Incoming request GET http://localhost:57505/ from ::1::52188 (local)
2016-01-29 17:10:33.3114 20 DEBUG OOW.Owin.RequestLoggingMiddleware	Incoming request GET http://localhost:57505/ from ::1::52188 (local)

Another feature is filter by log level.


[dart2wasm] co19/LanguageFeatures/int-to-double/assignment_class_member_t01,2 fail on dart2wasm

The tests co19/LanguageFeatures/int-to-double/assignment_class_member_t01 and co19/LanguageFeatures/int-to-double/assignment_class_member_t02 work well on onther platforms but fail on dart2wasm
/=================================================================================================================\
| co19/LanguageFeatures/int-to-double/assignment_class_member_t01 is new and failed (RuntimeError, expected Pass) |
\=================================================================================================================/

--- Command "dart2wasm" (took 01.000818s):
DART_CONFIGURATION=ReleaseX64 CHROME_PATH=/b/s/w/ir/third_party/browsers/chrome/chrome/google-chrome pkg/dart2wasm/tool/compile_benchmark -O0 --compiler-asserts -Dtest_runner.configuration=dart2wasm-linux-chrome /b/s/w/ir/tests/co19/src/LanguageFeatures/int-to-double/assignment_class_member_t01.dart /b/s/w/ir/out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.wasm

--- Command "chrome" (took 82ms):
/b/s/w/ir/tools/sdks/dart-sdk/bin/dart pkg/test_runner/bin/launch_browser.dart chrome http://<IP_ADDRESS>:40147/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/test.html?crossOriginPort=38307

Runtime error:
RuntimeError: dereferencing a null pointer
RuntimeError: dereferencing a null pointer
    at main (http://<IP_ADDRESS>:40147/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.wasm:wasm-function[79]:0xb5e0)
    at main tear-off trampoline (http://<IP_ADDRESS>:40147/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.wasm:wasm-function[81]:0xb5f2)
    at _invokeMain (http://<IP_ADDRESS>:40147/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.wasm:wasm-function[84]:0xb7df)
    at Module.invoke (http://<IP_ADDRESS>:40147/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.mjs:227:28)
    at http://<IP_ADDRESS>:40147/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/test.html?crossOriginPort=38307:29:23
    at dartMainRunner (http://<IP_ADDRESS>:40147/root_dart/pkg/test_runner/lib/src/test_controller.js:319:5)
    at http://<IP_ADDRESS>:40147/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/test.html?crossOriginPort=38307:28:3

Deobfuscated error and stack:
RuntimeError: dereferencing a null pointer
RuntimeError: dereferencing a null pointer
    at     at main (out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.wasm:wasm-function[79]:0xb5e0)                     unparsed
    at     at main tear-off trampoline (out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.wasm:wasm-function[81]:0xb5f2) unparsed
    at     at _invokeMain (out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.wasm:wasm-function[84]:0xb7df)              unparsed
    at Module.invoke                                                                                out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/assignment_class_member_t01.mjs 227:28
    at <fn>                                                                                out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/test.html 29:23
    at dartMainRunner                                                                                pkg/test_runner/lib/src/test_controller.js 319:5
    at <fn>                                                                                out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t01/test.html 28:3

exit code:
0

--- To debug locally, run:
/b/s/w/ir/tools/sdks/dart-sdk/bin/dart /b/s/w/ir/pkg/test_runner/bin/http_server.dart -p 40147 -c 38307 --network <IP_ADDRESS> --build-directory=/b/s/w/ir/out/ReleaseX64/ --runtime=chrome --packages=/b/s/w/ir/.dart_tool/package_config.json

--- Re-run this test:
python3 tools/test.py -n dart2wasm-linux-chrome co19/LanguageFeatures/int-to-double/assignment_class_member_t01

/=================================================================================================================\
| co19/LanguageFeatures/int-to-double/assignment_class_member_t02 is new and failed (RuntimeError, expected Pass) |
\=================================================================================================================/

--- Command "dart2wasm" (took 01.000841s):
DART_CONFIGURATION=ReleaseX64 CHROME_PATH=/b/s/w/ir/cache/builder/sdk/third_party/browsers/chrome/chrome/google-chrome pkg/dart2wasm/tool/compile_benchmark -O0 --compiler-asserts -Dtest_runner.configuration=dart2wasm-linux-chrome /b/s/w/ir/cache/builder/sdk/tests/co19/src/LanguageFeatures/int-to-double/assignment_class_member_t02.dart /b/s/w/ir/cache/builder/sdk/out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.wasm

--- Command "chrome" (took 77ms):
/b/s/w/ir/cache/builder/sdk/tools/sdks/dart-sdk/bin/dart pkg/test_runner/bin/launch_browser.dart chrome http://<IP_ADDRESS>:34961/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/test.html?crossOriginPort=45457

Runtime error:
RuntimeError: dereferencing a null pointer
RuntimeError: dereferencing a null pointer
    at main (http://<IP_ADDRESS>:34961/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.wasm:wasm-function[79]:0xb5e0)
    at main tear-off trampoline (http://<IP_ADDRESS>:34961/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.wasm:wasm-function[81]:0xb5f2)
    at _invokeMain (http://<IP_ADDRESS>:34961/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.wasm:wasm-function[84]:0xb7df)
    at Module.invoke (http://<IP_ADDRESS>:34961/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.mjs:227:28)
    at http://<IP_ADDRESS>:34961/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/test.html?crossOriginPort=45457:29:23
    at dartMainRunner (http://<IP_ADDRESS>:34961/root_dart/pkg/test_runner/lib/src/test_controller.js:319:5)
    at http://<IP_ADDRESS>:34961/root_build/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/test.html?crossOriginPort=45457:28:3

Deobfuscated error and stack:
RuntimeError: dereferencing a null pointer
RuntimeError: dereferencing a null pointer
    at     at main (out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.wasm:wasm-function[79]:0xb5e0)                     unparsed
    at     at main tear-off trampoline (out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.wasm:wasm-function[81]:0xb5f2) unparsed
    at     at _invokeMain (out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.wasm:wasm-function[84]:0xb7df)              unparsed
    at Module.invoke                                                                                out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/assignment_class_member_t02.mjs 227:28
    at <fn>                                                                                out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/test.html 29:23
    at dartMainRunner                                                                                pkg/test_runner/lib/src/test_controller.js 319:5
    at <fn>                                                                                out/ReleaseX64/generated_tests/dart2wasm-linux-chrome/tests_co19_src_LanguageFeatures_int-to-double_assignment_class_member_t02/test.html 28:3

exit code:
0

--- To debug locally, run:
/b/s/w/ir/cache/builder/sdk/tools/sdks/dart-sdk/bin/dart /b/s/w/ir/cache/builder/sdk/pkg/test_runner/bin/http_server.dart -p 34961 -c 45457 --network <IP_ADDRESS> --build-directory=/b/s/w/ir/cache/builder/sdk/out/ReleaseX64/ --runtime=chrome --packages=/b/s/w/ir/cache/builder/sdk/.dart_tool/package_config.json

--- Re-run this test:
python3 tools/test.py -n dart2wasm-linux-chrome co19/LanguageFeatures/int-to-double/assignment_class_member_t02

Smaller repro:
class C {
  double m1 = 42;
}

main() {
  C c = new C();
  c?.m1 ??= 42;
}

This looks similar to #55341 which also had an unnecessary null check.

I wonder if this is a TFA bug, post-TFA kernel looks wrong. Before TFA:
class C extends core::Object {
  field core::double m1 = 42.0;

  synthetic constructor •() → test::C
    : super core::Object::•()
    ;

  static method _#new#tearOff() → test::C
    return new test::C::•();
}

static method main() → dynamic {
  test::C c = new test::C::•();

  let final test::C #t1 = c
    in #t1 == null
         ?{core::double?} null
         : #t1.{test::C::m1}{core::double} == null ?{core::double} #t1.{test::C::m1} = 42.0 : null;
}

After TFA:
static method main() → dynamic {
  test::C c = new test::C::•();
  let final test::C #t1 = c in _in::unsafeCast<core::double?>(_in::unsafeCast<core::double>( block {
     #t1.{test::C::m1}{core::double};
  } =>null));
}

The problematic part is unsafeCast<double>(block { ... } => null), which tries to cast null to double.
@alexmarkov is my reading of the kernel correct? Could this be a TFA bug?

Kernel AST before TFA doesn't look correct:
?{core::double} #t1.{test::C::m1} = 42.0 : null

The static type of this ?: is double, while it can result in null. When pruning this expression, TFA keeps its static type by inserting unsafeCast (as changing the static type may alter semantics of enclosing expressions).
So the problem is likely in CFE or in another transformation prior to TFA.
/cc @johnniwinther @chloestefantsova

@chloestefantsova Is this the same problem that you fixed today?

Note: d4d78843245 didn't fix this issue, repro works with the current main (671f271f582).


fix(pageserver): ensure to_i128 works for metadata keys

Problem
field2 of metadata keys can be 0xFFFF because of the mapping. Allow 0xFFFF for to_i128. An alternative is to encode 0xFFFF as 0xFFFFFFFF (which is allowed in the original to_i128). But checking the places where field2 is referenced, the rest part of the system does not seem to depend on this assertion.
Summary of changes
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

ready for review :)


crates/noseyparker/src/datastore.rs: either get or set statement must return a row

Sometimes nosey parker stops working and crashes every time.
Deleting the old datastore dir resolves the issue.
To Reproduce
docker run -ti -v $PWD:/opt/mount -v /tmp:/opt/tmp --network none ghcr.io/praetorian-inc/noseyparker:latest scan --datastore /opt/mount/nosey.tmp /opt/mount

Expected behavior
Should not crash, but gracefully handle an exception
Actual behavior
⠁ Initializing (rules)... [00:00:00]                                                                                The application panicked (crashed).
Message:  either get or set statement must return a row
Location: crates/noseyparker/src/datastore.rs:1174

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 1: __libc_start_main
    at <unknown source file>

Output of noseyparker --version
noseyparker 0.21.0

Build Configuration:

    Build Timestamp:    2024-11-20T19:13:59.222192282Z

    Commit Timestamp:   2024-11-20T13:42:54.000000000-05:00
    Commit Branch:      HEAD
    Commit SHA:         ca989f9b7abd941e7db181e25f34d29e2c26f71a

    Cargo Features:     color_backtrace,default,disable_trace,github,log,mimalloc,parquet,release
    Debug:              true
    Optimization:       3
    Target Triple:      aarch64-unknown-linux-gnu

Build System:

    OS:                 Debian GNU/Linux
    OS Version:         Linux 11 Debian GNU/Linux

    CPU Vendor:         ARM
    CPU Brand:          Neoverse-N1
    CPU Cores:          8

    rustc Version:      1.77.2
    rustc Channel:      stable
    rustc Host Triple:  aarch64-unknown-linux-gnu
    rustc Commit Date:  2024-04-09
    rustc Commit SHA:   25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04
    rustc LLVM Version: 17.0

Additional context
Macbook M2

Interesting!
I've not been able to reproduce with this:
docker run -ti -v $PWD:/opt/mount -v /tmp:/opt/tmp --network none ghcr.io/praetorian-inc/noseyparker:latest scan --datastore /opt/mount/nosey.tmp /opt/mount

Presumably, the crash depends on a datastore being present that happens to be in some unexpected state.
@tosiara if you are still able to reproduce this, can you rerun with an added -vv?

No, unfortunately, since I deleted the old database nosey.tmp, the issue got resolved and I no longer reproduce it. I also tried to artificially corrupt the old data, but couldn't trigger the crash


Configure dependabot to check for new GitHub action versions daily

Saw a couple of outdated versions. Thought that dependabot might be able to help out keeping things up to date.

Haha, I see.
While I'll not pretend that I'm read up on the trusted publisher stuff. Having an early glance it does look that it could make sense.

Now that you had mentioned it, we tried to setup it up and had it working with a trusted publisher for our package: https://github.com/5monkeys/bankid-sdk (workflows/release.yaml)
I have to say it was very easy to grasp and get it working. (We used the pending publisher)


Add jtreg6.1_1

Close #3074
Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

Please keep me in the loop regarding updating the jtreg. test.getDependency at both openj9 Jenkins and internal Jenkins needs to be triggered after this change.

@llxia jobs at https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/ is ready.

Thanks @sophia-guo

All 3 Jenkins jobs are updated:
https://ci.adoptopenjdk.net/view/all/job/test.getDependency/1258/
https://openj9-jenkins.osuosl.org/job/test.getDependency/185/
internal/test.getDependency/10080/


Interstellar rockets

Minecraft Version: 1.12.2
Forge Version: 1.12.2-<IP_ADDRESS>11
Advanced Rocketry Version: 1.2.6-55
LibVulpes Version: 0.2.8-27
is this the latest curseforge build? Yes
I put a warp core on a rocket, tried to fly it to another star... and it didn't work. I assume this is intentional, judging by the message that popped up on the screen about only being able to travel within the same solar system. So I built the actual warp core multiblock into the rocket, put some dilithium crystals in.... and I still got the "you can't go there" popup.
That just doesn't make sense, so I'm going to consider it a bug or an oversight. Even just the warp core block on the rocket should be enough for interstellar travel, since rockets are far lighter and more mobile than space stations.
If it is intentional, it's an annoying and counterintuitive limitation. I'm currently testing some custom systems, and I need to travel between stars. Since their planets have random IDs, I can't just warp myself there. And I don't have a space station because I'm regularly regenerating dimensions. Now I'm stuck and have to go to a space station and build a warp core, just to test a few variables for a star. Quite a waste of time.
Another example: Say a player dies in another solar system, and spawns back on Earth. Their space station is currently light-years away as well, but not to worry: They have a giant backup rocket built with a warp core just for this situation. They get in, try to launch, and... it doesn't work. Anger and despair presumably ensue after that.
In short, this is a problem. Rockets are more mobile than space stations, yet they can't travel between stars. It makes testing tedious, it doesn't make sense, and it can create a huge and arbitrary game reset if the player dies in another solar system and can't reach their space station.

So, I'd like to bring up the question of whether or not this is balanced before anyone develops this feature. Although it would be pretty cool, there's a little bit more progression required to building a space station, and it does possibly limit us from expanding the requirements for any spacecraft to be interstellar.
However, one thing I would like to see are rockets that can get to other planets in the same solar system. Maybe a special rocket that, when you reach outer space, opens up a GUI where you can control the rocket using the arrow keys and basic Newtonian physics? I'll leave that idea for later.
I think, at least for now, the mod needs a manual to tell the player that this won't work so that he won't try it and be disappointed when it doesn't work.

I don't think balance is an issue here; just require a whole warp core multiblock to be built into the rocket to travel between stars. Same cost as the space station. The single-block warp core would still work for interplanetary travel like it does now. And since you can't really bring along a whole facility full of machines and infrastructure, taking a rocket would still be inferior to warping with a space station.

And since you can't really bring along a whole facility full of machines and infrastructure, taking a rocket would still be inferior to warping with a space station.

I suppose that's true...

Is this still a issue? Please comment if it is and i will reopen if if you are unable? We are closing old issues to see what is still relevant and needs to be fixed.

Is this still a issue? Please comment if it is and i will reopen if if you are unable? We are closing old issues to see what is still relevant and needs to be fixed.

Still an issue in v1.5.0-131.

For now, until this is added, you can use these two commands to go to planets (that arent gas giants)
/advancedRocketry planet list
/advancedRocketry goto [dimid]

It is intentional that warp cores on rockets do not allow interstellar travel, the idea being that the warp core alone without dilithium fuel does not have the power to go to a nearby star.  I wanted to allow for another use for the core without requiring building a separate block for the rocket.


Windows support

Note: for support questions, please use one of these channels: Chat: Gitter

I'm submitting a ...
[ ] bug report
[x] feature request
[ ] question about the decisions made in the repository

Do you want to request a feature or report a bug?

feature (why ask twice?)

What is the current behavior?

modules and scripts working in *nix SO.

What is the expected behavior?

modules and scripts cross platform.

What is the motivation / use case for changing the behavior?

I use Windows to develop, shame on me.

Please tell us about your environment:

SO: Windows 10

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

related:
fs-xattr #15
fs-xattr #16
Yeah, besides the scripts ( #1 ) this module fails installing on Windows. Why do you use this for?

thanks for the report.
Unfortunately I do not have a windows computer atm. Will try to fix this as soon as possible but would be much faster if I could get some help from an experienced windows developer.

I'm not an "experienced" Windows developer. Just a regular Windows developer. I can assist you if you with this. I'm interested in making a multiplatform seed for my Angular2 projects. 😀


Logout with DELETE verb by default

A while ago Devise changed the default HTTP verb used to sign out from GET to DELETE.
This PR re-aligns this preference default with what is shipped with Devise. It also improves the code to be more dynamic since we were not really supporting changing that preference.
🚨Can be breaking 🚨
Stores that rely on signing out with GET verb will need to change the Devise.sign_out_via configuration at config/initializers/devise.rb:
Devise.sign_out_via = :get

I'm not sure about backward compatibility here and I'm not super sure what to do, leaving WIP for now, please do not merge yet.

We discussed this in the core team meeting and we are fine merging this as is and releasing a new version.


Feel free to crib some code

This isn't really an issue so much as an FYI.
I wrote https://github.com/Zoltu/ethereum-crypto which is a native implementation of all of the Ethereum crypto mechanisms that are not available natively in web crypto.  It comes with some caveats (see readme) but it is CC0 so you are free to crib the code with no attribution if you like.
The big sell of that library is that it is a single package that has everything you need for Ethereum crypto in it, and it uses native (browser) constructs/types only.  This package on the other hand brings in ~32 transitive dependencies and uses NodeJS primitives (e.g., Buffer) in its types and non-native big numbers (bn.js instead of bigint).

I can appreciate that this library makes more sense for some people in some situations, but I wanted to put it out there that if you are targeting modern browsers (bigint supported), then @zoltu/ethereum-crypto may be a better option, or at least one worth investigating or cribbing code from.

For the authors of this library, I encourage you to steal any of the work I have done as I want to see the Ethereum ecosystem succeed far more than I want credit for anything.

Please take a look at #6

I'm closing this as it has been superseded by #6, which has been merged


Migrate to rules_js

rules_nodejs isn't maintained anymore. We should migrate to rules_js

done in #252


Update to v14 and publish adaptive block size ASAP

As for now, I found logic behind your code as best way to increase block size.
Moving max block size regulation to protocol level, away from human hands is only good option to make it once and for very long time.
Block size limit need to be raised as predicted by Satoshi, and SegWit is making major step forward to scalability in micro-transctions and upgrade transaction script code.
Core code for SegWit activation should be lowered to 75% and when reached, adaptive block size should be also activated.
Combining SegWit and ABS make Bitcoin open for much wider adoption than choosing from one of those two.
Currently Core SegWit activation on 95% is impossible to reach, and BU block size regulation logic is bad from beginning, not mention bug/s found in it.
I hope that you can make your code up and running in short time, to help end this crisis.

I do realize, that activating SW under 95% is risky. Maybe when this code roll it get so much support, that reaching this limit will be possible.

bitpay has apparently abandoned development of the bitcore/insight stack

This has sound logic. There is an outstanding pull request here: #43 Rebase bitcore patches to 0.14.x.

I was wrong in the previous comment; it seems bitpay is doing bitcore-related work again, but moving from bitcoind to bcoin (a javascript implementation). See https://github.com/bitpay/bitcore/tree/next , it's pretty active.
I am not sure how active that is, I don't want to speak for bitpay.
We forked bitpay bitcore bitcoin core (o_O) here
https://github.com/satoshilabs/bitcoin
and here is Bitcoin ABC (= Bitcoin Cash = Bcash) with the patches
https://github.com/satoshilabs/bitcoin-abc


RabbitMQ PubSub: Wrong content-type handling

I am trying to sent a event by pubsub component.  (mq is rabbitmq)
Event sent by this code(netcore SDK 1.9.0):

and event sent successful with wrong content-type:

The donet sdk will check the content-type to identify whether it is clould event:

and  the dapr pubsub component was hard code content-type to "text/plain" :
https://github.com/dapr/components-contrib/blob/master/pubsub/rabbitmq/rabbitmq.go#L194
and the issue 879 mentioned this
so  the subscribe end point alway throw this error:
bad news is subscribe  endpoint got an error:
{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "traceId": "00-bf24d29056b340a20f334166b88c8793-18596679de91203d-01",
    "errors": {
        "$": [
            "The input does not contain any JSON tokens. Expected the input to start with a valid JSON token, when isFinalBlock is true. Path: $ | LineNumber: 0 | BytePositionInLine: 0."
        ],
        "client": [
            "The client field is required."
        ]
    }
}

/assign

@zivfuture Thanks for submitting this issue, can I know why you close this issue?


remove duplicated dependencies in pom.xml

The dependencies (spring-cloud-starter-bus-redis and spring-cloud-starter-bus-kafka) have been declared twice.

@jeffreylyp have you signed the contributor's agreement?