Triton Error in flash-linear-attention/fla/modules/rmsnorm.py

PyTorch=='2.3.0a0+ebedce2'
Triton=='2.2.0'
(from out-of-box NVIDIA PyTorch Container 24.02 nvcr.io/nvidia/pytorch:24.02-py3)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/train.py", line 705, in <module>
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     logits, loss = model(X, Y)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/model_fla.py", line 26, in forward
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     ori_output = self.model(
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 579, in forward
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     mamba_outputs = self.backbone(
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 494, in forward
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     hidden_states = mixer_block(hidden_states, cache_params=cache_params)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 318, in forward
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     hidden_states = self.norm(hidden_states)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 504, in forward
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return rms_norm_fn(
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 488, in rms_norm_fn
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return LayerNormFn.apply(x, weight, bias, residual, eps, prenorm, residual_in_fp32, True)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/autograd/function.py", line 553, in apply
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return super().apply(*args, **kwargs)  # type: ignore[misc]
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 421, in forward
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     y, mean, rstd, residual_out = _layer_norm_fwd(
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 155, in _layer_norm_fwd
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     MAX_FUSED_SIZE = 65536 // x.element_size()
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 162, in resume_in__layer_norm_fwd_at_155
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     _layer_norm_fwd_1pass_kernel[(M,)](
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in run
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     self.nargs = dict(zip(self.arg_names, args))
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in resume_in_run_at_127
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     self.nargs = dict(zip(self.arg_names, args))
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in resume_in_run_at_127
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     self.nargs = dict(zip(self.arg_names, args))
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 128, in resume_in_run_at_127
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     if len(self.configs) > 1:
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 143, in resume_in_run_at_128
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 143, in <dictcomp>
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 122, in _bench
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     return do_bench(kernel_call, warmup=self.warmup, rep=self.rep, quantiles=(0.5, 0.2, 0.8))
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/testing.py", line 102, in do_bench
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     fn()
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 109, in kernel_call
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     self.pre_hook(args)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 110, in resume_in_kernel_call_at_109
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     self.fn.run(
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 413, in run
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     grid = get_special_arg("grid")
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 414, in resume_in_run_at_413
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     num_warps = get_special_arg("num_warps")
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 415, in resume_in_run_at_414
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     num_ctas = get_special_arg("num_ctas", 1)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 416, in resume_in_run_at_415
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     num_stages = get_special_arg("num_stages")
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 417, in resume_in_run_at_416
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     enable_warp_specialization = get_special_arg("enable_warp_specialization", False)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 426, in resume_in_run_at_417
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     bound_args = self.signature.bind(*args, **kwargs)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 427, in resume_in_run_at_426
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     bound_args.apply_defaults()
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 429, in resume_in_run_at_427
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     assert len(bound_args.arguments) == len(self.params)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 429, in resume_in_run_at_429
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     assert len(bound_args.arguments) == len(self.params)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 430, in resume_in_run_at_429
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     args = [KernelArg(arg_value, param) for (_, arg_value), param in zip(bound_args.arguments.items(), self.params)]
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 435, in resume_in_run_at_430
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     spec_key = tuple(arg.specialization_key() for arg in args if not arg.param.do_not_specialize)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO] ==========
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO] Traceback (most recent call last):
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 741, in _convert_frame
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     result = inner_convert(frame, cache_entry, hooks, frame_state)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 332, in _convert_frame_assert
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     unimplemented("generator")
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/exc.py", line 193, in unimplemented
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO]     raise Unsupported(msg)
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [INFO] torch._dynamo.exc.Unsupported: generator
[2024-04-05 19:06:32,021] torch._dynamo.convert_frame: [DEBUG] skipping because no torch.* specialization_key             /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py 170
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO] WON'T CONVERT <genexpr> /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py line 436
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO] ========== TorchDynamo Stack Trace ==========
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO] Traceback (most recent call last):
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 741, in _convert_frame
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     result = inner_convert(frame, cache_entry, hooks, frame_state)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 332, in _convert_frame_assert
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     unimplemented("generator")
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/exc.py", line 193, in unimplemented
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     raise Unsupported(msg)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO] torch._dynamo.exc.Unsupported: generator
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO] ========== The above exception occurred while processing the following code ==========
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/train.py", line 705, in <module>
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     logits, loss = model(X, Y)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/model_fla.py", line 26, in forward
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     ori_output = self.model(
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 579, in forward
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     mamba_outputs = self.backbone(
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 494, in forward
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     hidden_states = mixer_block(hidden_states, cache_params=cache_params)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 318, in forward
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     hidden_states = self.norm(hidden_states)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return self._call_impl(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return forward_call(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 504, in forward
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return rms_norm_fn(
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 488, in rms_norm_fn
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return LayerNormFn.apply(x, weight, bias, residual, eps, prenorm, residual_in_fp32, True)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/autograd/function.py", line 553, in apply
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return super().apply(*args, **kwargs)  # type: ignore[misc]
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 421, in forward
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     y, mean, rstd, residual_out = _layer_norm_fwd(
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 155, in _layer_norm_fwd
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     MAX_FUSED_SIZE = 65536 // x.element_size()
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 162, in resume_in__layer_norm_fwd_at_155
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     _layer_norm_fwd_1pass_kernel[(M,)](
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in run
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     self.nargs = dict(zip(self.arg_names, args))
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in resume_in_run_at_127
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     self.nargs = dict(zip(self.arg_names, args))
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in resume_in_run_at_127
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     self.nargs = dict(zip(self.arg_names, args))
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 128, in resume_in_run_at_127
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     if len(self.configs) > 1:
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 143, in resume_in_run_at_128
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 143, in <dictcomp>
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 122, in _bench
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     return do_bench(kernel_call, warmup=self.warmup, rep=self.rep, quantiles=(0.5, 0.2, 0.8))
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/testing.py", line 102, in do_bench
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     fn()
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 109, in kernel_call
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     self.pre_hook(args)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 110, in resume_in_kernel_call_at_109
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     self.fn.run(
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 413, in run
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     grid = get_special_arg("grid")
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 414, in resume_in_run_at_413
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     num_warps = get_special_arg("num_warps")
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 415, in resume_in_run_at_414
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     num_ctas = get_special_arg("num_ctas", 1)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 416, in resume_in_run_at_415
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     num_stages = get_special_arg("num_stages")
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 417, in resume_in_run_at_416
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     enable_warp_specialization = get_special_arg("enable_warp_specialization", False)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 426, in resume_in_run_at_417
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     bound_args = self.signature.bind(*args, **kwargs)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 427, in resume_in_run_at_426
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     bound_args.apply_defaults()
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 429, in resume_in_run_at_427
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     assert len(bound_args.arguments) == len(self.params)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 429, in resume_in_run_at_429
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     assert len(bound_args.arguments) == len(self.params)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 430, in resume_in_run_at_429
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     args = [KernelArg(arg_value, param) for (_, arg_value), param in zip(bound_args.arguments.items(), self.params)]
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 436, in resume_in_run_at_430
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     constexpr_key = tuple(arg.value for arg in args if arg.param.is_constexpr)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO] ==========
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO] Traceback (most recent call last):
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 741, in _convert_frame
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     result = inner_convert(frame, cache_entry, hooks, frame_state)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 332, in _convert_frame_assert
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     unimplemented("generator")
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]   File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/exc.py", line 193, in unimplemented
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO]     raise Unsupported(msg)
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [INFO] torch._dynamo.exc.Unsupported: generator
[2024-04-05 19:06:32,022] torch._dynamo.convert_frame: [DEBUG] skipping because no torch.* <listcomp>             /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py 450
[2024-04-05 19:06:32,022] [33/0] torch._dynamo.symbolic_convert: [INFO] Step 1: torchdynamo start tracing _device_of /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py:231
[2024-04-05 19:06:32,022] [33/0] torch.fx.experimental.symbolic_shapes: [INFO] create_env
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG] TRACE starts_line /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py:231 in _device_of (JITFunction)
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG]         @staticmethod
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG] TRACE starts_line /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py:233 in _device_of (JITFunction._device_of)
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG]             try:
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE SETUP_FINALLY 12 []
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG] TRACE starts_line /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py:234 in _device_of (JITFunction._device_of)
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG]                 return arg.device.type
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE LOAD_FAST arg []
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE LOAD_ATTR device [LazyVariableTracker()]
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.output_graph: [DEBUG] create_graph_input L_arg_ L['arg']
[2024-04-05 19:06:32,023] [33/0] torch._dynamo.variables.builder: [DEBUG] wrap_to_fake L['arg'] (16384, 1308) StatefulSymbolicContext(dynamic_sizes=[<DimDynamic.STATIC: 2>, <DimDynamic.STATIC: 2>], constraint_sizes=[None, None], tensor_source=LocalSource(local_name='arg', cell_or_freevar=False), shape_env_to_source_to_symbol_cache={})
[2024-04-05 19:06:32,025] [33/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE LOAD_ATTR type [ConstantVariable(device)]
[2024-04-05 19:06:32,025] [33/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE POP_BLOCK None [ConstantVariable(str)]
[2024-04-05 19:06:32,025] [33/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE RETURN_VALUE None [ConstantVariable(str)]
[2024-04-05 19:06:32,025] [33/0] torch._dynamo.convert_frame: [DEBUG] Skipping frame because no content in function call _device_of                     /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py 231
[2024-04-05 19:06:32,025] torch._dynamo.convert_frame: [DEBUG] skipping because no torch.* <listcomp>             /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py 451
[2024-04-05 19:06:32,025] torch._dynamo.convert_frame: [DEBUG] skipping because no torch.* <listcomp>             /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py 453
[2024-04-05 19:06:32,025] [34/0] torch._dynamo.symbolic_convert: [INFO] Step 1: torchdynamo start tracing _pinned_memory_of /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py:238
[2024-04-05 19:06:32,025] [34/0] torch.fx.experimental.symbolic_shapes: [INFO] create_env
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG] TRACE starts_line /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py:238 in _pinned_memory_of (JITFunction)
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG]         @staticmethod
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG] TRACE starts_line /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py:240 in _pinned_memory_of (JITFunction._pinned_memory_of)
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG]             try:
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE SETUP_FINALLY 12 []
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG] TRACE starts_line /usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py:241 in _pinned_memory_of (JITFunction._pinned_memory_of)
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert.__trace_source: [DEBUG]                 return arg.is_pinned()
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE LOAD_FAST arg []
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE LOAD_ATTR is_pinned [LazyVariableTracker()]
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.output_graph: [DEBUG] create_graph_input L_arg_ L['arg']
[2024-04-05 19:06:32,026] [34/0] torch._dynamo.variables.builder: [DEBUG] wrap_to_fake L['arg'] (16384, 1308) StatefulSymbolicContext(dynamic_sizes=[<DimDynamic.STATIC: 2>, <DimDynamic.STATIC: 2>], constraint_sizes=[None, None], tensor_source=LocalSource(local_name='arg', cell_or_freevar=False), shape_env_to_source_to_symbol_cache={})
[2024-04-05 19:06:32,028] [34/0] torch._dynamo.symbolic_convert: [DEBUG] TRACE CALL_FUNCTION 0 [GetAttrVariable(TensorVariable(), is_pinned)]
Traceback (most recent call last):
  File "/raid/xind/TLM/train.py", line 705, in <module>
    logits, loss = model(X, Y)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py", line 417, in _fn
    return fn(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/raid/xind/TLM/new_models/model_fla.py", line 26, in forward
    ori_output = self.model(
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 579, in forward
    mamba_outputs = self.backbone(
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 494, in forward
    hidden_states = mixer_block(hidden_states, cache_params=cache_params)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/raid/xind/TLM/new_models/flash-linear-attention/fla/models/mamba/modeling_mamba.py", line 318, in forward
    hidden_states = self.norm(hidden_states)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 504, in forward
    return rms_norm_fn(
  File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 488, in rms_norm_fn
    return LayerNormFn.apply(x, weight, bias, residual, eps, prenorm, residual_in_fp32, True)
  File "/usr/local/lib/python3.10/dist-packages/torch/autograd/function.py", line 553, in apply
    return super().apply(*args, **kwargs)  # type: ignore[misc]
  File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 421, in forward
    y, mean, rstd, residual_out = _layer_norm_fwd(
  File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 155, in _layer_norm_fwd
    MAX_FUSED_SIZE = 65536 // x.element_size()
  File "/raid/xind/TLM/new_models/flash-linear-attention/fla/modules/rmsnorm.py", line 162, in resume_in__layer_norm_fwd_at_155
    _layer_norm_fwd_1pass_kernel[(M,)](
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in run
    self.nargs = dict(zip(self.arg_names, args))
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in resume_in_run_at_127
    self.nargs = dict(zip(self.arg_names, args))
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 127, in resume_in_run_at_127
    self.nargs = dict(zip(self.arg_names, args))
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 128, in resume_in_run_at_127
    if len(self.configs) > 1:
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 143, in resume_in_run_at_128
    timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 143, in <dictcomp>
    timings = {config: self._bench(*args, config=config, **kwargs) for config in pruned_configs}
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 122, in _bench
    return do_bench(kernel_call, warmup=self.warmup, rep=self.rep, quantiles=(0.5, 0.2, 0.8))
  File "/usr/local/lib/python3.10/dist-packages/triton/testing.py", line 102, in do_bench
    fn()
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 109, in kernel_call
    self.pre_hook(args)
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/autotuner.py", line 110, in resume_in_kernel_call_at_109
    self.fn.run(
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 413, in run
    grid = get_special_arg("grid")
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 414, in resume_in_run_at_413
    num_warps = get_special_arg("num_warps")
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 415, in resume_in_run_at_414
    num_ctas = get_special_arg("num_ctas", 1)
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 416, in resume_in_run_at_415
    num_stages = get_special_arg("num_stages")
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 417, in resume_in_run_at_416
    enable_warp_specialization = get_special_arg("enable_warp_specialization", False)
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 426, in resume_in_run_at_417
    bound_args = self.signature.bind(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 427, in resume_in_run_at_426
    bound_args.apply_defaults()
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 429, in resume_in_run_at_427
    assert len(bound_args.arguments) == len(self.params)
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 429, in resume_in_run_at_429
    assert len(bound_args.arguments) == len(self.params)
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 430, in resume_in_run_at_429
    args = [KernelArg(arg_value, param) for (_, arg_value), param in zip(bound_args.arguments.items(), self.params)]
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 453, in resume_in_run_at_430
    [self._pinned_memory_of(arg) for arg in non_constexpr_arg_values])
  File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 453, in <listcomp>
    [self._pinned_memory_of(arg) for arg in non_constexpr_arg_values])
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/eval_frame.py", line 580, in catch_errors
    return callback(frame, cache_entry, hooks, frame_state)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 741, in _convert_frame
    result = inner_convert(frame, cache_entry, hooks, frame_state)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 384, in _convert_frame_assert
    return _compile(
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 643, in _compile
    guarded_code = compile_inner(code, one_graph, hooks, transform)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/utils.py", line 246, in time_wrapper
    r = func(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 524, in compile_inner
    out_code = transform_code_object(code, transform)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/bytecode_transformation.py", line 1033, in transform_code_object
    transformations(instructions, code_options)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 151, in _fn
    return fn(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/convert_frame.py", line 489, in transform
    tracer.run()
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/symbolic_convert.py", line 2110, in run
    super().run()
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/symbolic_convert.py", line 780, in run
    and self.step()
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/symbolic_convert.py", line 743, in step
    getattr(self, inst.opname)(inst)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/symbolic_convert.py", line 462, in wrapper
    return inner_fn(self, inst)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/symbolic_convert.py", line 1190, in CALL_FUNCTION
    self.call_function(fn, args, {})
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/symbolic_convert.py", line 644, in call_function
    self.push(fn.call_function(self, args, kwargs))
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/variables/misc.py", line 645, in call_function
    return self.obj.call_method(tx, self.name, args, kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/variables/tensor.py", line 770, in call_method
    return wrap_fx_proxy(
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/variables/builder.py", line 1302, in wrap_fx_proxy
    return wrap_fx_proxy_cls(target_cls=TensorVariable, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/variables/builder.py", line 1387, in wrap_fx_proxy_cls
    example_value = get_fake_value(proxy.node, tx, allow_non_graph_fake=True)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/utils.py", line 1590, in get_fake_value
    raise TorchRuntimeError(str(e)).with_traceback(e.__traceback__) from None
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/utils.py", line 1545, in get_fake_value
    ret_val = wrap_fake_exception(
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/utils.py", line 1086, in wrap_fake_exception
    return fn()
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/utils.py", line 1546, in <lambda>
    lambda: run_node(tx.output, node, args, kwargs, nnmodule)
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/utils.py", line 1657, in run_node
    raise RuntimeError(fn_str + str(e)).with_traceback(e.__traceback__) from e
  File "/usr/local/lib/python3.10/dist-packages/torch/_dynamo/utils.py", line 1638, in run_node
    return getattr(args[0], node.target)(*args[1:], **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/utils/_stats.py", line 20, in wrapper
    return fn(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_subclasses/fake_tensor.py", line 1480, in __torch_dispatch__
    return self.dispatch(func, types, args, kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_subclasses/fake_tensor.py", line 1711, in dispatch
    op_impl_out = op_impl(self, func, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_subclasses/fake_tensor.py", line 442, in dispatch_to_op_implementations_dict
    return op_implementations_dict[func](fake_mode, func, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/torch/_subclasses/fake_tensor.py", line 827, in nyi
    assert func not in _device_not_kwarg_ops, f"NYI: {func}"
torch._dynamo.exc.TorchRuntimeError: Failed running call_method is_pinned(*(FakeTensor(..., device='cuda:0', size=(16384, 1308), requires_grad=True),), **{}):
NYI: aten.is_pinned.default

from user code:
   File "/usr/local/lib/python3.10/dist-packages/triton/runtime/jit.py", line 241, in _pinned_memory_of
    return arg.is_pinned()

You can suppress this exception and fall back to eager by setting:
    import torch._dynamo
    torch._dynamo.config.suppress_errors = True

[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] TorchDynamo compilation metrics:
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] Function                                  Runtimes (s)
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] --------------------------------------  --------------
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] _compile.<locals>.compile_inner                 2.5749
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] OutputGraph.call_user_compiler                  1.282
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] create_aot_dispatcher_function                  1.3513
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] compile_fx.<locals>.fw_compiler_base            1.2468
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] GraphLowering.run                               0.0301
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] GraphLowering.compile_to_module                 1.0085
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] Scheduler.__init__                              0.0083
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] Scheduler.codegen                               0.1939
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] WrapperCodeGen.generate                         0.0011
[2024-04-05 19:06:32,062] torch._dynamo.utils: [INFO] CachingAutotuner.benchmark_all_configs          0.1649

@XinDongol Hello, not sure what indeed happened here, is it runnable for envs without torch.compile?
Also, could you set the env var CUDA_LAUNCH_BLOCKING=1 to precisely locate what caused the error?

@yzhangcs Thanks
I can skip this error by turning off torch.compile(). It seems that it is an issue with flash-attn/triton and torch.compile().


Launch Script: Unable to run it (Linux)

Describe the bug
Using the launch script in the .vscode folder I'm unfortunately not able to launch/run the application in debug mode.
To Reproduce
Steps to reproduce the behavior:

Go to "Run and debug"
Click on "Launch script"
First problem is the program path I think given with backslashes which is IMHO a Windows thing and thus fails on Linux OS systems.
Furthermore I can not find any script called testStart.ts. Is that missing in the repo or needs to be created in some way?

Expected behavior
Launching VSCode with the debugged extension running
Desktop (please complete the following information):

OS: Ubuntu

@andi1984 Thanks for reporting this. I believe it's resolved in the latest commit. Can you pull & try again.  Gracias!
@all-contributors please add @andi1984 for bugs


NVDA not assigning labels properly in date input component

This issue is from a May 2019 external accessibility audit report.
WCAG Reference: Usability feedback only, there is no WCAG related guidelines.
Issue ID: DAC_Issue24
URL: http://govuk-frontend-v3.herokuapp.com/full-page-examples/applicant-details
Page: Applicants details
Screen Shot

There were form fields present that were not appearing as labelled to users of NVDA in Firefox, although these had clearly been labelled.
This was due to the use of input type of ‘number’. This is a software issue but has been reported for informational purposes. The input type of number also does not allow voice commands to be used either.
However, this input type can be useful for users on a mobile or tablet device as it displays the correct keyboard.
Current Code Ref(s)
<input class="govuk-input govuk-date-input__input govuk-input--width-2" id="dob-day" name="dob-day" type="number" pattern="[0-9]*">

Screen reader comments
“With NVDA, while navigating out of context using the elements list ‘insert+f7’, the edit fields relating to the date of birth feature announced to me as “Unlabelled.” It might not be clear to some users using the elements list what the fields relate to. This did not occur using JAWS or VoiceOver for iPhone and Mac.”
Solution
Use the input type of ‘tel’ to ensure that all users can access and interact with text boxes as expected.

As they mention in the audit, this is a bug with NVDA.
We do however know there are issues with type=number and there are some alternatives we could try.
I have put awaiting-triage on this so we can consider:

Changing the component to use something other than type=number, for example exploring inputmode or type=tel.
Reporting this bug and closing this issue.

We think we should try to test this in a device lab, if we change the implementation, for older browsers if possible.


ClassOrdering identifies minimum set of reorders

Expected Behavior
ClassOrdering should report the minimum work to properly order a class.
Current Behavior
As of https://github.com/detekt/detekt/pull/3142 ClassOrdering reports a list of all misordered pairs. @BraisGabin pointed out that this could result in over-reporting issues in a class https://github.com/detekt/detekt/pull/3142#issuecomment-707661931
Context
Addressing this issue will enable user to more quickly identify and fix misorders.

Why is this closed? The feature described here is not implemented yet.

Why is this closed? The feature described here is not implemented yet.

Sorry, misread/misinterpreter the PR :)

Hi @arturbosch / @BraisGabin raised the PR at https://github.com/detekt/detekt/pull/6003


ensureing path sufix deserve minior version dump

There are broccoli plugins relying on previous behavior (0.2.5), like broccoli-sourcemap-concat https://github.com/ef4/broccoli-sourcemap-concat/blob/master/concat.js#L153
With patched version being released those plugins are broken on Windows.
Commit that breaks previous behavior: https://github.com/joliss/node-walk-sync/commit/a1c0486f58be8f14ff3e29ac2cf86875bde9222d#diff-168726dbe96b3ce427e7fedce31bb0bcR28

@chrmod can you provide an example that fails, my windows machine seems to be running it without trouble.

this seems to have gone stale, will gladly reopen if my above comment can be addressed.

I believe this is related to an issue I'm having with https://github.com/ming-codes/ember-cli-d3. If you clone that repo on Windows, then do npm install, bower install and finally ember test you should get an exception being thrown due to a non-posix path related error.


GDPR: Add an option to disable cookie persistance

Hi,
First of all, thank you for such an amazing project! We've been using it for a couple of years and it works like a charm ❤ .
Recently, we discovered that loglevel might use cookies for persistence. While this sounds like an absolutely great idea, we should have an option to disable it. Having it always on would violate GDPR policy around "functional" cookies. Unless customer would allow this type of cookies, they should be blocked by default.
I checked the docs and it seems that currently there is only an option to disable persistence which I'd like to avoid and hence, asking you to consider adding this functionality to the lib. If you'd like to add such functionality to your lib, I can compose a PR addressing this. I might only need your opinion on on the naming 🤔, but the rest I can take myself.

You should talk to your own legal/privacy team, but I'm fairly confident that:

You don't generally need consent for strictly functional cookies, which covers loglevel is most contexts, so I would be surprised if this really is required in most environments.
In cases where this is required (e.g. using loglevel inside marketing code only) you do almost certainly need to disable persistence completely, not just cookies. GDPR & other EU laws do not regulate cookies. They regulate storage of information on an end user's computer, and they apply equally to cookies, localStorage, indexedDB, or anything else similar. You can already comply with this by completely disabling persistence in loglevel with the existing option.

Some more info here: https://law.stackexchange.com/a/30766. If there's a specific use case where you really do need to disable cookies to enforce usage of local storage only instead, I'd be super interested to hear about it and I'm happy to look into that, but AFAIK there's no privacy laws anywhere in the world that treat cookies differently to the other persistence features that loglevel uses.

That's a great response, thank you! I'll double-check this with the legal team and come back to you 🙏

Apparently, it will take time to figure this one out on our side. I'll close this ticket for now and reopen if applicable. Thank you so much for your help!

See #165


Rename signer to mutation sequencer

The KT signer no longer signs things, creating confusion.
Rename the KT signer to the KT mutation sequencer to better reflect its new purpose in life

Done


deprecation: update warnings for CRI config fields

Some CRI config properties had removal postponed until v2.1 in https://github.com/containerd/containerd/pull/9966. Update the associated deprecation warnings to match the new removal version.

/cherrypick release/1 .7

/cherrypick release/1.7


Dependency defined on startup event

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
@app.on_event("startup")
async def startup_event():
    something = await func()
    myobj = MyObj(something)

###

@router.get("")
async def index():
  # need myobj instance here

Description
I need to execute some async initialization on startup creating an instance of myobj, and then I need this instance as a dependency in routers endpoint.
Operating System
Windows
Operating System Details
No response
FastAPI Version
0.68.1
Python Version
3.8.8
Additional Context
I need to create an instance of a "master" object asynchronously during the startup of FastApi, and then to get this exact instance in routers endpoint, but I cannot figure out how to pass it as a dependency.
(I'm aware that if I have multiple workers each worker will get a different "master" object but that is ok, the main point here is that within a single worker an instance is created after async operation on startup, and then reused in routers endpoint.)

You can try to use some kind of singleton implementation for that object.

@adriangb thank you so much for the idea about using dependency overrides. It really helped me out!

Thanks for the discussion here everyone! ☕
And thanks @gygabyte017 for coming back to close the issue.

I made it all the way to this discussion from searching on dependency injection in the events handling. Is that still planned to be released?


Training data format

Hi, when training RainNet, does it need any grounth truth labels (real images), or just 2 pair of composite image and its segmentation mask is enough? thank you

When you are training the network, you should provide the ground truth images as the targets. We didn't use two pairs of composite images and their segmentation masks, just 1 pair.


docs: add 'editable: true' to example config

It is confusing that the example doesn't work out of the box. It took me a while to figure out that I had to set editable: true in the config to be able to edit the content.

appreciate. Thanks!


When using TCP connections send only one packet

net.Buffers relies on writeBuffer to send all the pieces in one go. The
tls library does not support this so the length and content get split
into 2 packets. This patch removes net.Buffers and replaces with a new
single memory allocation to ensure the length+content get sent in one
packet. This fixes #1199

I think we had something like this way before. Also to prevent further flip flopping on this code there should be at least a test to detect this.
@tmthrgd from the top of my head, I think you are the one that moved to net.Bufffer? (not related to this issue, but close enough)

I think we had something like this way before. Also to prevent further flip flopping on this code there should be at least a test to detect this.
@tmthrgd from the top of my head, I think you are the one that moved to net.Bufffer? (not related to this issue, but close enough)

Indeed I did. net.Buffer is a net win for TCP so I don’t think we should do this as is. crypto/tls has an internal buffer anyway so perhaps a better fix would be for Go to add net.Buffer support for tls.Conn. If that doesn’t happen, or we’re not prepared to wait, then perhaps gating this on *net.TCPConn might be a solution.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] When using TCP conn..." ]

I think we had something like this way before. Also to prevent further flip
flopping on this code there should be at least a test to detect this.
@tmthrgd from the top of my head, I think you are the one that moved to
net.Bufffer? (not related to this issue, but close enough)
Indeed I did. net.Buffer is a net win for TCP so I don’t think we should do
this as is. crypto/tls has an internal buffer anyway so perhaps a better fix
would be for Go to add net.Buffer support for tls.Conn. If that doesn’t happen,
or we’re not prepared to wait, then perhaps gating this on *net.TCPConn might
be a solution.

Is there a golang issue we can link to?

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] When using TCP conn..." ]
Is there a golang issue we can link to?

Not to my knowledge. It would be worth someone opening one and hearing what the Go team think.

[ Quoting<EMAIL_ADDRESS>in "Re: [miekg/dns] When using TCP conn..." ]
Is there a golang issue we can link to?

Not to my knowledge. It would be worth someone opening one and hearing what the Go team think.

Superceded by #1219


B2MD verifier

Motivation:
When writing B2MDs, there are a couple of scenarios that always need to
be tested: firehose feeding, drip feeding, many messages, ...
It's tedious writing those tests over and over again for every B2MD.
Modifications:
Add a simple B2MD verifier that users can use in unit tests.
Result:
Hopefully fewer bugs in B2MDs.

@swift-nio-bot test this please

16:45:27 removal of container a462f06554d90c3e6f6b04d1ddc6a72ee249d60df04e493d84ced4bffed4a67c is already in progress
16:45:27 Build step 'Execute shell' marked build as failure


During install create the profile dir if it does not already exist

While installing posh-git using install.ps1 on Windows 7 Enterprise SP1 laptops for users running Powershell 4.0 or 5.0 had some users receive this error:
PS C:\tools\posh-git> .\install.ps1
Add-Content : Could not find a part of the path
'C:\Users\*username*\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
At C:\tools\posh-git\src\Utils.ps1:180 char:9
+         Add-Content -LiteralPath $profilePath -Value $profileContent -Encoding U ...

Nothing had previously been added to the user's Profile scripts AND the folder "WindowsPowerShell" did not exists under the user's documents.  This caused Add-Content to fail.
The pull request is to create the Powershell profile directory for the current user if it does not already exists.
Tested both with and without -WhatIf and it works good.

Great callouts!  Thanks.
Amended the suggested changes and retested. (Both with $VerbosePreference = "SilentlyContinue" and "Continue").  Tests looked good.

You should also be able to call Add-PoshGitToProfile -Verbose and see the verbose output from New-Item.  BTW thanks for the PR!  See the one other issue I found - it's a quick tweak.

LGTM, but care to add a test for this scenario?

@tolgabalci OK for the ParentSet parameter set, there is no -LiteralPath parameter. Looks good. I'm going to merge this and I'll add a test later tonight.  If you're really inspired to add the test, you can always open a separate PR.

It just dawned on me that, there's a much simpler fix for this: New-Item -Force will automatically create directories as necessary. This is what install.ps1 used to do.

Do you think it is worth changing this?  I'm not sure that it is.

Just a little less path-splitting logic to maintain. And thinking through edge cases, it's technically possible (though unlikely with defaults) that more than $PROFILE's immediate parent could be missing. Of course, you could work around this with -Force when creating the parent. ¯_(ツ)_/¯

@rkeithhill Thank you for adding the test and showing me how to do it!
@dahlbyk New-Item will actually create the full parent directory tree without -Force.  I do not think -Force is really intended for use when creating directories.  I was trying it out, it does have the interesting side effect of suppressing errors when one of the directories in the directory tree being created is a file and it fails to create the path.
@rkeithhill @dahlbyk, thank you so much for being so responsive!

New-Item will actually create the full parent directory tree without -Force when used with -ItemType Directory. I do not think -Force is really intended for use when creating directories. I was trying it out, it does have the interesting side effect of suppressing errors when one of the directories in the directory tree being created is a file and it fails to create the path.

Interesting… I suppose the nested directory variations are all things we could test for, if you are interested in exploring publicly. 😁


How to display center aspectFill

I am trying to display rectangle video in square frame.
I want video to centered fill all frame but not squashed.
 So I can't see content of e
Any suggesstion?

Could you provide some screenshots of the issue? Also it would be good to
see your full layout to make sure it's not something wrong there first.
On Tue, Oct 18, 2016 at 3:05 AM, matart15<EMAIL_ADDRESS>wrote:

I am trying to display rectangle video in square frame.
I want video to centered fill all frame but not squashed.
I tried this but did not work
<VideoPlayer
stretch="aspectFill"
verticalAlignment="center"
[src]="videoLink"
horizontalAlignment="center">
Also tried to use callback
.html
<VideoPlayer
[left]="playerOffsetX"
[top]="playerOffsetY"
stretch="aspectFill"
verticalAlignment="center"
horizontalAlignment="center"
#videoPlayer
[src]="videoLink"
loaded="videoplayerLoaded"
finished="videoFinished"
autoplay="true"
controls="true"
[width]="playerWidth"
[height]="playerHeight"
(loadingComplete)="playerCallback($event)"
>
.ts
playerCallback(e: VideoSource){
let player = this.videoPlayer.nativeElement;
CustomTracer.log("asdfasdfasdfasdfasdfasdfasdf", player.width, player.android, player.android.src)
var vidSource = fromFile(this.videoLink)
CustomTracer.log("asdfasdfasdfasdfasdfasdfasdf", e.width)
// this.playerWidth = player.android.videoSource.width
// this.playerHeight = player.android.videoSource.height
// this.playerOffsetX = 10
// this.playerOffsetY = 40
}
Callback is called, but player.android.videoSource and e.width are
undefined.
console.log(e) gives me circular JSON error. So I can't see content of e
Any suggesstion?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bradmartin/nativescript-videoplayer/issues/41, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFulhO6v3agG9bQgDzTEmoep2G-Mj1rzks5q1H3AgaJpZM4KZfSC
.

I cloned demo app and added my code. Here is the diff.
https://github.com/matart15/nativescript-videoplayer/commit/a95183702bcf69c285579b1b1c42fd4223b18a3f

1.
First I tried AbsoluteLayout and calculated offset and width. It worked on JS but now working on typescript project. am i doing something wrong?
In this javascript project function playerCallback(e) prints this
JS: asdf0 Video<nativeVideoPlayer>@file:///app/main-page.xml:19:9;
JS: asdf0 360
JS: asdf1 280
JS: asdf2 android.widget.VideoView{fea8661 VFE...... .F....I. 0,0-1080,840}
JS: asdf3 /data/data/org.nativescript.demo/files/app/videos/big_buck_bunny.mp4

but exact same code in typescript project prints this. (same file from local folder)
JS: asdf0 Video<videoPlayer>
JS: asdf0 NaN                                         <------ this is the problem. can't access video width
JS: asdf1 280
JS: asdf2 android.widget.VideoView{7e1fd4a VFE...... .F....I. 0,0-1080,840}
JS: asdf3 /data/data/com.mydouga.loveet/files/app/assets/big_buck_bunny.mp4

typescript code :
*.html
<GridLayout rows="*" columns="*, *" style="background-color: green;">
  <!--<AbsoluteLayout style="background-color: green;" row="0">-->
    <Label text="Label On Top of Video View" left="30" top="270" row="0" colSpan="2" color="#fff" horizontalAlignment="center"></Label>

    <VideoPlayer
      (loadingComplete)="playerCallback($event)"

      #videoPlayer
      id="videoPlayer"
      controls="true"
      loop="true"
      autoplay="true"
      height="280"
      src="~/assets/big_buck_bunny.mp4"
      row="0"
      colSpan="2"></VideoPlayer>

  <!--</AbsoluteLayout>-->
  </GridLayout>

*.ts
  playerCallback(args: EventData){
    console.log("playerCallback : ", args)
    var sender = <view.View>args.object;
    var parent = sender.parent;
    this.player = <Video>view.getViewById(parent, 'videoPlayer');
    console.log("asdf0", sender, parent, this.player)
    var player1 = <Video>this.videoPlayer.nativeElement;
    console.log("asdf0", player1)
    console.log("asdf0", this.player.width)
    console.log("asdf1", this.player.height)
    console.log("asdf2", this.player.android)
    console.log("asdf2", this.player.android.width)
    console.log("asdf3", this.player.android.src)

  }

2.
Is there more layout way to center video than absolute layout and calculated offset.
something like this. but i can't figure it out.
      stretch="aspectFill"
      verticalAlignment="center"
      horizontalAlignment="center"

This is now possible on Android, see the readme.


How to get DbContext when unit testing with TestServer

From @CraigSelbert on December 10, 2015 1:36
This is more of a question that an issue but I am not sure where to ask so I am starting here.
When writing unit tests using xUnit and the TestServer how do you get ahold of the database context that you inject into the controller? The services that are being registered during startup are not available using CallContextServiceLocator.Locator.ServiceProvider.GetService.
So when I tried using CallContextServiceLocator.Locator.ServiceProvider.GetService<TestContext>(); it always resolves to null.  I know I can set up my tests other ways to make this work but if I could get ahold of the registered services and manipulate them before they where injected that would be ideal.
If this is the wrong place for this question that is fine just please point me in the right direction. I have posted this question on [Stack Overflow] (http://stackoverflow.com/questions/34190361/testing-asp-net-5-with-entity-framework-7-using-in-memory-database) and I have a working [repo] (https://github.com/CraigSelbert/ASP5_EF7_Test)
Copied from original issue: aspnet/Home#1165

From @Eilon on December 10, 2015 17:41
@rynowak @dougbu any thoughts on this?

From @davidfowl on December 10, 2015 17:46
We should really expose the ISP from the TestServer /cc @Tratcher
@CraigSelbert your only option today is to store the ISP in a static and use that from the test

Related to https://github.com/aspnet/Hosting/issues/518

TestServer.Services?

Application services, including injected DBContext's, can now be accessed from TestServer.Application.Services. cc @craigselbert

@JunTaoLuo - Thanks for doing this, I will change to use this code base again.


[FEATURE] Unflatten provider errors from invocation errors

Is your feature request related to a problem? Please describe.
Right now we take errors from provider methods and send them as part of an invocation error. Instead, we should be serializing the Result type from the provider and then sending that message back.
Describe the solution you'd like
Provider macro generation will need to be updated to send back serialized data and the dispatch method on the MessageDispatch trait in the provider SDK will need to be updated to only return an InvocationError.
This will also mean we need to update our adapters for the wasi-cloud interfaces to send back serialized Results rather than flattening the error

@brooksmtownsend @thomastaylor312 does this need to be on 1.0? Would this be a backwards-incompatible change?

This feels like something that could be handled internal to providers/the host, but incompatible with previous versions so I think this would be a good one to get done pre-1.0. Leaving to @thomastaylor312 in case I misunderstand.

Okay, that's what I thought. I'll add to the 1.0 milestone. @vados-cosmonic expressed interest in working on this 🙏

You were correct @brooksmtownsend, this would be a breaking change


Safe JSON prep

We want to build a rich example with fully-safe JSON parsing. This can use reflection to (de)serialize structs.

What are the language features we still need implement?
What are the library components we need?

We're going to for sure need a safe numeric parser.
I'm not sure how to create a struct using reflective methods. How do we handle objects-of-objects? Do we construct an object then gradually relocate into the data members? Do we attempt placement new?


Should we add server side logging?

We could using Java logging tools to provide server side logging. This would allow students to (perhaps) better see/understand what's happening on the server side of their system. This is how "real professionals" would probably do it, but it's not clear to me if it would actually be helpful for the students.
Thoughts?

Would this really provide a log file or would it print things to the console? I don't know much about logging, but I think it would be great to learn more. Is there an example of what you're talking about that I could look at?

Logging tools can typically send logging output to a variety of sources depending on how you configure them, and usually you can do multiple things all at the same time. So you can configure your logger to send info scrolling by on the console, debug info to a file, and critical errors to some service that turns them into text messages to the team (if you have such a service set up).
There are a lot of Java logging tools, and I'm not really sure what is "recommended" these days. slf4j seems to be Widely Used and we're already pulling it in as a dependency for some reason (I think having to do with SparkJava). "Java logging basics" provides a pretty good overview of the main things, and lots more info on the left side-bar if you want to dig deeper.
In principle, I would definitely be all for doing more with logging. My experience, though, is that configuring loggers is a pain and often confuses people more than it's worth in the end.

We're not going to do this this semester (Spring, 2018); we might want to come back to it later for S19, though.


fix: keepkey eip-712 signing

Description
Bump hdwallet to fix keepkey EIP-712 signing
Pull Request Type

[x] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes https://github.com/shapeshift/web/issues/5384
Risk
Low - isolated to keepkey
Testing

OpenSea message signing
Any other relevant dapp message signing

Engineering
:point_up:
Operations
:point_up:
Screenshots (if applicable)

Related HDWallet PR: https://github.com/shapeshift/hdwallet/pull/649


Can only access NodePort through the node the app is running on

Environmental Info:
K3s Version:
k3s version v1.20.6+k3s1 (8d043282)
go version go1.15.10
Node(s) CPU architecture, OS, and Version:
Linux ip-10-0-2-179.eu-north-1.compute.internal 5.4.0-1045-aws #47-Ubuntu SMP Tue Apr 13 07:02:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:
NAME                                        STATUS   ROLES                  AGE    VERSION
ip-10-0-2-179.eu-north-1.compute.internal   Ready    control-plane,master   104m   v1.20.6+k3s1
ip-10-0-2-170.eu-north-1.compute.internal   Ready    control-plane,master   91m    v1.20.6+k3s1
Describe the bug:
Can only access NodePort through the node the app is running on, unable to get response from the same port on other nodes. This affects the LB functionality.
Steps To Reproduce:
running any NodePort or LoadBalaner service, and you get the port responding on only one node.
Expected behavior:
Port is responding on all nodes.

You might check the docs here: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-type-nodeport

If you set service.spec.externalTrafficPolicy to the value Local, kube-proxy only proxies proxy requests to local endpoints, and does not forward traffic to other nodes. This approach preserves the original source IP address. If there are no local endpoints, packets sent to the node are dropped.

No externalTrafficPolicy was defined. Setting it to Cluster solved the issue. Thanks !


Use PRBMath instead of Exponential

Export to my recently published PRBMath library instead of Compound's Exponential.

Done in e6b41e1.


Comint-derived UCI interaction mode

With as yet undocumented commands pygn-mode-engine-go-depth and pygn-mode-engine-go-time.

Updated this branch so that it supports connecting to a UCI engine over SSH.


Wistia support [WIP]

@SamPotts as discussed in #570 (closed), I opened this new PR against the develop branch. Please be aware that videos still play without picture (black container). I wanted to still open this for you to take a glance and let me know if you foresee any issues or have an idea of why Wistia videos are not appearing although they can be heard.
Link to related issue (if applicable)
https://github.com/Selz/plyr/issues/393
Sumary of proposed changes
Add support for Wistia videos.
Task list

[ ] Fix videos playing audio only
[ ] Tested on supported browsers
[x] Gulp build completed
[x] Updated docs
[ ] Updated demo page

Any update on this?

@dswitzer I tried to implement as much as I could, but videos were not visible and I could only hear audio. I asked for help but didn't receive much support. Given that this was made for Plyr 2.x and current version is 3.x and a major refactor seems to have been done, I don't see any chances of this being merged as is. You may want to look at the diff and try to re-implement with the latest master version. I don't have any time to attempt it since the project I needed this for discarded the idea of supporting Wistia and I don't have any spare time at the moment, especially if I stumble upon issues and get no help/support from maintainers that know the code better than me.

Purely for my own knowledge, can I please ask for some background on why this is desirable / what is the use case? Is there a particular feature of Plyr that's not in Wistia?


Step fails without throwing any error message

Those are my logs:

| (5<EMAIL_ADDRESS>                       |
+------------------------------------------------------------------------------+
| id: change-android-versioncode-and-versionname                               |
| version: 1.0.0                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2018-01-30T22:45:23Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
Configs:
- BuildGradlePth: build.gradle
- NewVersionName:
- NewVersionCode: 51
- VersionCodeOffset:
Updating versionName and versionCode in: build.gradle
0 versionCode updated
0 versionName updated
|                                                                              |
+---+---------------------------------------------------------------+----------+
| ✓ |<EMAIL_ADDRESS>            | 3.25 sec |
+---+---------------------------------------------------------------+----------+

As you can see I've passed new version code ($BITRISE_BUILD_NUMBER), it was correctly picked up but step didn't change anything in build.gradle.

Hi @pzmudzinski ,
Thanks for reporting!
Can you please share your build.gradle file? For some reason the step could not find the version name and version code in the build.gradle file. For debugging we'd need the build.gradle file.

This is it
apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

apply plugin: 'kotlin-kapt'

apply plugin: 'io.fabric'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "***********"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "***********"
        vectorDrawables {
            useSupportLibrary true
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            buildConfigField "String", "SERVER_URL", "***********"
        }
        debug {
            buildConfigField "String", "SERVER_URL", "***********"
        }
    }
}

dependencies {
  // bla bla bla
}

apply plugin: 'com.google.gms.google-services'

Looks pretty standard, right?

Thanks, we'll check it ASAP why the step can't find the version infos!

We tried to reproduce this issue but so far we could not.
Can you please share the build's bitrise.io URL?

I think I know what's wrong. Step is using GRADLE_BUILD_FILE_PATH by default which points to project-wise build.gradle (with repositories definitions etc.) but there's no app-specific things there (like versionCode).
It's explained here better:
https://stackoverflow.com/questions/23241681/why-are-there-two-build-gradle-files-in-an-android-studio-project
<PROJECT_ROOT>\app\build.gradle is specific for app module.

<PROJECT_ROOT>\build.gradle is a "Top-level build file" where you can add configuration options common to all sub-projects/modules.

I've changed gradle file path to app/build.gradle and it worked out.
I think step should be modified to either have app/build.gradle by default or detect that someone is trying to use top-level build file and put a warning that probably he had app/build.gradle in mind.

Got it, thanks for the details @pzmudzinski ! I'm glad to hear you managed to solve this - I'll bring this up for a discussion with the team! :)

hi @viktorbenei, just to clarify something. Where do you put this step? I use it before gradle runner

@mspmax you should add it right before you'd create the APK, usually right before the Gradle Runner step.


DE23063 - Zoom effect on Change Image tile doesn't work in Safari

I'm wondering if this is a similar issue to #124, where we had problems with applying multiple filters to the same thing in Edge. Maybe it's the multiple transforms causing issue?

Fixed in https://github.com/Brightspace/image-selector/pull/4


New UI search background is transparent

Using docs-dev.raku.org and then typing in the search bar, the result popup is transparent. It needs to be a colour or not transparent.

closing as fixed


retries in client

Hi,
We used grpc++ in our project and everything works well such as load balance. But when I decide to enable the client 's request retry mechanism when a host is shutdown some thing went wrong: rpc method returns error code "14" with message such as "Socket closed" , but I am sure there are several other nodes that can work, It seems that the retry mechanism is not working. I am not sure if it is a usage error or a grpc‘s bug. Can somebody tell me why or how to enable retries correctly? thanks a lot!
        std::shared_ptr<grpc::Channel> channel;
        grpc::ChannelArguments args;
        args.SetLoadBalancingPolicyName("round_robin");
        args.SetInt(GRPC_ARG_ENABLE_RETRIES, 1); // enable
        std::vector<std::unique_ptr<grpc::experimental::ClientInterceptorFactoryInterface>> creators;
        creators.push_back(std::unique_ptr<grpc::experimental::ClientInterceptorFactoryInterface>(new ClientInterceptorFactory(this,"test-svc")));
        channel = grpc::experimental::CreateCustomChannelWithInterceptors(strHosts, grpc::InsecureChannelCredentials(), args, std::move(creators));

        auto stub = ProtoService::NewStub(channel);
        stub->SayHello(......); // error : Socket closed

Transparent retries are not yet implemented in C++.  Even the configurable retry code is not quite ready to be enabled by default yet (which is why GRPC_ARG_ENABLE_RETRIES is still off by default).  But if you want to try it out, you can inject a service config that configures retries based on the status code for particular RPC methods.
For details, see https://github.com/grpc/proposal/blob/master/A6-client-retries.md.

@markdroth Thanks for your reply, I will try the method you provided.

@markdroth Thanks for your reply, I will try the method you provided.

I encounter the same problem,  do you solve it? Thanks

Transparent retries were implemented in gRPC 1.45, so if the RPC is retriable, that should happen automatically if you upgrade to that version.


Verify DB records after E2E execution

Implement a DB verification service inside the e2e folder.
The service must be able to easily assert that a given record exists in the DB.
The service could be using the already implemented repositories for the validator node

We would like to ideally be able to:

verify that a record is created by theTransactionRepo and it has the correct properties at the end of the execution
verify that there are TransactionMessage records created by the MessageRepo and all of them have correct properties at the end of the execution.

An additional read-only user for the db might be needed.


Thanks.

Thank you for reporting the issue.
Fixed in 0.3.1, uploaded to PyPI.


Somehow invert the reference transfer functions' phase when reading from diaggui XML files using dtt2hdf

Related issue: https://github.com/gw-vis/vishack/issues/8

As a temporary fix, instead of the reference transfer function, we invert the phase of the results just before evaluating them. I found this easier to implement than inverting the phases of the references.


Camera change filter live.

Hi, I trying to change camera filter, but nothing is happening...
My code:
camera?.removeAllTargets()
let filter = SketchFilter()
camera! --> filter --> renderView
camera?.startCapture()
Please, say me what I'm doing not correctly...

In theory that should work. You can try adding camera?.stopCapture() at the beginning and see if that works.
Also, was there a previous filter active? If so, you need to remove the targets from that (because it is linked to the renderView).
How are camera and renderView defined and initialised? If renderView is defined as RenderView? then you should be using renderView! (add the !) You should probably check that camera != nil and that the renderView frame size has been set appropriately, though you would see an error if it was not set at all
Hope that helps

I have tried it also, it's not working. @nateemma even if you send camera?.stopCapture()

Remember to also use removeAllTargets() on any filter that's pointing to the renderView (as you can see the Mac FilterShowcase doing), or the old filter will remain locked on the renderView and you may not be able to add another as a target to it.
Look at your console logs for a debug build. You're most likely seeing warnings that you're attempting to add something as a target to a single-input view that can't take another target.
Again, the Mac FilterShowcase switches between multiple filters with the same camera and renderView, and can be used as an example of this.

Yeah, make sens :)
@ronysteel by adding smth like:
previousFilter.removeAllTargets()
before setting new filter, should resolve your issue.

@BradLarson
@zubco
@nateemma
Thank you verry much!


github/workflows: Enable CodeQL analysis for Kotlin / Java

See 1.
Signed-off-by: Sebastian Schuberth<EMAIL_ADDRESS>

Moving to draft state due to memory issues, also see https://github.com/github/codeql/discussions/11460.

Still blocked until mid-January 2023.

Still blocked until mid-January 2023.

Now blocked by a lack of support for Kotlin 1.8.

Ping @oss-review-toolkit/kotlin-devs 😉


Light2d shadow with mix mode modulates transparent pixels

Godot version:
3.0.6.stable
OS/device including version:
Tried at several configurations:
Windows / Intel HD 4400
Windows / Radeon R5
Issue description:
Setting up a Light2D with mode = mix, shadow enabled and shadow color #5c525252. Light texture from here: http://www.gamefromscratch.com/post/2016/09/23/Godot-Engine-Tutorial-Part-18-2D-Lighting.aspx
When adding sprite with some transparent pixels, shadows affects transparent pixels too:
In engine:

In game:

Did I missing something, while configuring lightning?
Minimal reproduction project:
godot-test-light2d.zip

this is a problem of multi pass rendering, should be fixable in 3.2 with singlepass

Wondering if there's a workaround for this currently?

Should be resolved already in 4.0-dev.

4.0 Has a number of Light2D issues that prevented me from testing this in the past. I managed to find a workaround in v3.4.2.stable.official [45eaa2daf] that should work for a good number of use cases.
I've attached an MRP for the workaround, so others can see for themselves.
transparent_light_workaround_mrp.zip
As an overview here is the setup I used (the project has some extra nodes for testing purposes not shown here):

Node2D (World)

ColorRect (test background color)
LightOccluder2D
Sprite2D (to test shadows)
Sprite2D (to test shadows w/ "Light only" Light Mode)
Player

Sprite2D ("Unshaded"  CanvasItemMaterial LightMode)
Light2D (in Mix mode, Shadow enabled, all other settings default)

CanvasModulate (set to a greyscale color, but could be any color)

I used a greyscale ramp to test the Light2D which worked surprisingly well to see what I did and didn't like (default in the MRP).

For posterity I also used the light texture used in the original issue MRP. You can find each texture as a separate Light2D under the Player scene.


feat/agenda-styling

Please review before merging.

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


Is there a way to set the onMissingKey and allowMissing property of Polyglot ?

Hmmm, i don't know, I will check for this tonight ;-)

Nope, you can't.
it will be fixed very soon with a createGepP factory 👍

Thanks! Waiting for it....

please check for https://github.com/Tiqa/redux-polyglot/tree/feat/createGetP
is it ok for you ?
I don't want to push this without test on a real project.
Do you want a release candidate ?

Need documentation about this before publish @latest

Thanks! It's ok for me.

ok, i'll write documentation soon for this (maybe tonight).

I'm thinking to add a function setPolyglotOptions to redux-polyglot.
even if you can create your own getP, I want to mutate getP polyglot options.
so you can import the basic getP function and use it once at the start of your app.
This is the easy way to change polyglot options.
createGetPis the pure alternative, very useful for unit testing.
@wangyun1517 @JalilArfaoui @jvincent42 ?
what do you think ? :-)

Let's talk about this in #68.
Anyway, I just pre-release 0.4.0 on a next dist-tag ;-)
# to see available dist-tag
npm dist-tag ls redux-polyglot

# install 0.4.0
npm install --save<EMAIL_ADDRESS>


[bug] Scoring issue (tracking)

Describe the bug
If I change a score on AniList and don't go into Neko and refresh the tracking tab manually, the next time I read it, the score gets reset after the chapter updates because Neko still thinks I haven't changed the score yet (since I haven't manually updated the tab).
To Reproduce
I made a short clip to demonstrate how to reproduce this issue:
https://youtu.be/_jMUfk5suE4
Expected behavior
After changing the score on AniList, I expected it to update on Neko without having to manually refresh the tracking tab every time (I change my scores very frequently and don't really think about doing this. I suggest allowing Neko to check AniList in the background for tracking. Maybe something similar to auto library updates but with tracking tab?
Screenshots
N/A (made a clip)
Please complete the following information:

Device: Samsung Tab S5E
Android Version: The latest ver for my device (I don't know how to name it)
Version: Neko ver. 1.7.2

Additional context
N/A

fixed in 2.0


Level 6 test case issue

My reduce function results in a NaN : 8
Anyone knows why? thanks in adv! :)

For it to return Nan : 8, you might want to check your private constructor for Fraction. Does it filter and check for whether it is a valid fraction?

Hi @summerthia02 you might want to look at your constructor in Fraction.
Maybe in the Fraction of(Numer, Denom), you might wanna add a if(Numer.isValid(), Denom.isValid()) checker and if it's not valid return new Fraction(Optional.empty())
Cause right now, you are passing in a not valid Numerator after reduction.
Hope this helps!

For it to return Nan : 8, you might want to check your private constructor for Fraction. Does it filter and check for whether it is a valid fraction when you call it?

right! I think I forgot to check if the fraction is valid after subtraction thanks!

@kaitlyngohh


Private Posting Key is not recognized if it equals Private Memo Key

To reproduce:

create account where memo key = posting key
try to import posting key to keychain

It fails claiming it's wrong posting key

I'll look into it


Feature request: Add Zcash support to front-end

Given the ability for OpenBazaar to be pseudonymous and run over Tor, it would be fitting to adopt native support for Zcash with its strong privacy protections. In my mind, this would complete the privacy circle to create a truly anonymous marketplace.
As @cpacia has already written server-side support for Zcash, and @SamPatt indicated only client-side integration was lacking, the challenge has been issued for assistance from the community to implement the front-end.
I'll add 1 ⓩ to a bounty for the person who submits a pull request which is merged that adds full ZEC support alongside BTC.

I think this may be a bit premature.
I believe there was some misinformation. Alt coin support is not yet done on the server, at least in a way that is usable on the client. There are some issues we still need to work out as far as currency conversion data (crypto to crypto and crypto to fiat) as well as the most appropriate way for the server to expose the currency baseUnits (e.g. how bitcoin uses Satoshi) when a listing is priced in an alt.
Also, the designs for alt coin support were made after the server side piece was written and it is unclear if the current design of the server would satisfy the UX requirements. To be honest, as of yet, we haven't completely settled in on what those UX requirements are.
I think before any code writing takes place, the requirements need to be finalized. At that point the server can be adjusted where necessary and client development can begin.

Just to be clear, what is complete on the server side is some code that should allow a server to run in Zcash only mode. This hasn't been tested much, and anyone working on it would need to do extensive testing, fix any bugs they find, and complete anything that needs to be added.
Making changes to the existing client to support Zcash, especially in a way that allowed interaction with non-Zcash servers, would be a substantial undertaking, and require rewriting a non-trivial amount of the code base.
The OB1 team is working on ideas for the best way to handle multiple currencies. That may involve changes to the way the server currently works. In the meantime, if someone wants to experiment with a branch of the current client that uses some other solution, that would be interesting to see.

I would like to suggest a backend architecture for OpenBazaar to properly implement multiple currencies. You could emulate the BarterDEX project, which is a decentralized exchange that supports many cryptocoins (I think around 20 currently). What they do is run an electrumX node for each coin they want to support, and then use RPC commands to talk to electrumX to do operations with that coin (generate a new address, get a list of addresses, make a transaction/etc).
This would mean that the OpenBazaar project would need to have a server which has various ports open, each port being an ElectrumX server for each supported coin. Then the openbazaar binary that end users use, it would know the IP+port of these electrumX servers, and when it needs to do a cryptocoin operation, it uses the appropriate RPC.
I helped add the Hush cryptocoin to electrumX (it's current being merged upstream, it already runs production transactions on via superNETs fork of electrumX: https://github.com/SuperNETorg/electrumx/commit/8e55df9a7b5ea9bac01019e9183e36cd45893e30 )
Here is the upstream PR for adding Hush to electrumX: https://github.com/kyuupichan/electrumx/pull/297
If you do adopt this architecture, and it is implemented, adding a new coin becomes almost trivial. Any coin supported by electrumX comes for free, and a new coin usually just means adding a small amount of metadata about address formats and genesis blocks.
Please let me know if the above sounds viable to core devs, I would love to help add Zcash+Hush and lots of other cryptocoin support :metal:

🤘🎧🤘

Do I owe this 1 ⓩ bounty to @cpacia, @rmisio, or split between the both of you?
Feel free to provide a ZEC address. :smile:

@naconner we have a project fund zcash address, @SamPatt can provide it.

(edited from my previous response for clarity)
@naconner thank you for the offer. Since this was done as part of our normal duties at OB1, could you donate it to the project fund, so we can pass it along to people contributing to OpenBazaar from outside our team?
Unfortunately, we don't have the project ZEC fund set up yet, @SamPatt @hoffmabc and @drwasho are still coordinating that. We'll let you know once we have it ready.

Thanks, @jjeffryes. I'll await news on the fund. :+1:

This has been implemented. You can use ZEC with OB as long as you run a full node.


🎮 Game Request
Embark on an exhilarating adventure with Doraemon Run! Navigate through intricate mazes as you guide Doraemon in his quest to collect mouthwatering Dora cakes while evading treacherous traps. With intuitive controls and escalating challenges, players are immersed in an engaging gameplay experience.
In Doraemon Run, every Dora cake devoured by Doraemon adds to the player's score, incentivizing the collection of as many cakes as possible. Quick successions in cake collection or overcoming special challenges further augment the player's score, fostering competition on the game's leaderboards.
Point down the features
Features:

Collect Dora cakes to earn 10 points each, boosting your overall score.
Navigate through challenging mazes, avoiding obstacles and traps to maintain Doraemon's health.
Score bonus points for consecutive cake collections and completing in-game challenges.
Compete with others for high scores on the leaderboard.
Health decreases by 1 with each collision with the maze or traps.
Game ends when Doraemon's health reaches 0 or upon collision with the boundary line.

Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @kshitizvardhan !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @kunjgit , Sorry to bother you! Just wanted to let you know that everything is set for this PR to be merged.
Could you please look into it..

Hey @kshitizvardhan ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇