Attempted to get this running on AMD mi300x...

Hi there!
I saw your tweet and for 😆 's, I tried to run your stuff on one of our 8xMI300x systems, just to see if it works. Would be also nice to eventually compare performance against the H100s.
I pulled the latest container. docker pull rocm/pytorch:latest and ran within that.
docker run -it --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --device=/dev/kfd --device=/dev/dri --group-add video --ipc=host --shm-size 8G -v /mnt/drive1:/mnt/drive1 rocm/pytorch:latest
python3 -m venv env --system-site-packages

source env/bin/activate
pip3 install --upgrade pip
pip3 install -r requirements.txt

 python data/cached_fineweb10B.py
./run.sh

Everything seemed to go well out of the box, I could see the GPUs being used in rocm-smi, but then it seems to have 💩 out after sitting at the val loss output for a bit.
I'm no AI pytorch expert (yet), but if you have any clear indication of what's going wrong here, let me know what I can try any changes you suggest. Either that, or if you are willing, I can give you access to the machine itself (via ssh) and you can try playing with it.
cheers!
<EMAIL_ADDRESS> ./run.sh
W1006 18:02:14.946367<PHONE_NUMBER>53248 torch/distributed/run.py:757]
W1006 18:02:14.946367<PHONE_NUMBER>53248 torch/distributed/run.py:757] *****************************************
W1006 18:02:14.946367<PHONE_NUMBER>53248 torch/distributed/run.py:757] Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
W1006 18:02:14.946367<PHONE_NUMBER>53248 torch/distributed/run.py:757] *****************************************
Running pytorch 2.3.0a0+git1b935e2
using device: cuda:3
using device: cuda:1
using device: cuda:7
using device: cuda:2
using device: cuda:4
using device: cuda:6
using device: cuda:5
using device: cuda:0
Training DataLoader: total number of tokens:<PHONE_NUMBER>3 across 103 files
Validation DataLoader: total number of tokens: 100000000 across 1 files
compiling the model...
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/utils.py:1764: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  return node.target(*args, **kwargs)
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/utils.py:1764: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  return node.target(*args, **kwargs)
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/utils.py:1764: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  return node.target(*args, **kwargs)
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/utils.py:1764: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  return node.target(*args, **kwargs)
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/utils.py:1764: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  return node.target(*args, **kwargs)
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/utils.py:1764: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  return node.target(*args, **kwargs)
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/utils.py:1764: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  return node.target(*args, **kwargs)
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/utils.py:1764: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  return node.target(*args, **kwargs)
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py:124: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py:124: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py:124: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py:124: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py:124: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py:124: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py:124: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py:124: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
val loss 11.003429412841797
[rank5]: Traceback (most recent call last):
[rank5]:   File "/mnt/drive1/modded-nanogpt/train_gpt2.py", line 479, in <module>
[rank5]:     loss.backward()
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_tensor.py", line 525, in backward
[rank5]:     torch.autograd.backward(
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/__init__.py", line 267, in backward
[rank5]:     _engine_run_backward(
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/graph.py", line 744, in _engine_run_backward
[rank5]:     return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/function.py", line 301, in apply
[rank5]:     return user_fn(self, *args)
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 882, in backward
[rank5]:     out = call_compiled_backward()
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 831, in call_compiled_backward
[rank5]:     out = call_func_at_runtime_with_args(
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/utils.py", line 113, in call_func_at_runtime_with_args
[rank5]:     out = normalize_as_list(f(args))
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/eval_frame.py", line 451, in _fn
[rank5]:     return fn(*args, **kwargs)
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/external_utils.py", line 36, in inner
[rank5]:     return fn(*args, **kwargs)
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 906, in __call__
[rank5]:     return self.get_current_callable()(inputs)
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py", line 784, in run
[rank5]:     return model(new_inputs)
[rank5]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 934, in _run_from_cache
[rank5]:     return compiled_graph.compiled_artifact(inputs)
[rank5]:   File "/tmp/torchinductor_root/vt/cvte4ixg2lf4m3me4ex3ts76azjvf7r67ywg5pfh4okaetfvxjto.py", line 518, in call
[rank5]:     assert_size_stride(getitem_4, (64, 12, 1024), (12288, 1024, 1))
[rank5]: AssertionError: wrong number of dimensions
[rank1]: Traceback (most recent call last):
[rank1]:   File "/mnt/drive1/modded-nanogpt/train_gpt2.py", line 479, in <module>
[rank1]:     loss.backward()
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_tensor.py", line 525, in backward
[rank1]:     torch.autograd.backward(
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/__init__.py", line 267, in backward
[rank1]:     _engine_run_backward(
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/graph.py", line 744, in _engine_run_backward
[rank1]:     return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/function.py", line 301, in apply
[rank1]:     return user_fn(self, *args)
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 882, in backward
[rank1]:     out = call_compiled_backward()
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 831, in call_compiled_backward
[rank1]:     out = call_func_at_runtime_with_args(
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/utils.py", line 113, in call_func_at_runtime_with_args
[rank1]:     out = normalize_as_list(f(args))
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/eval_frame.py", line 451, in _fn
[rank1]:     return fn(*args, **kwargs)
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/external_utils.py", line 36, in inner
[rank1]:     return fn(*args, **kwargs)
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 906, in __call__
[rank1]:     return self.get_current_callable()(inputs)
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py", line 784, in run
[rank1]:     return model(new_inputs)
[rank1]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 934, in _run_from_cache
[rank1]:     return compiled_graph.compiled_artifact(inputs)
[rank1]:   File "/tmp/torchinductor_root/ir/cirkve7dpc5r7ta4hi2wbzncxl6nsu2adq4n7yo5vdsuf63bbxt4.py", line 518, in call
[rank1]:     assert_size_stride(getitem_4, (64, 12, 1024), (12288, 1024, 1))
[rank1]: AssertionError: wrong number of dimensions
[rank0]: Traceback (most recent call last):
[rank0]:   File "/mnt/drive1/modded-nanogpt/train_gpt2.py", line 479, in <module>
[rank0]:     loss.backward()
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_tensor.py", line 525, in backward
[rank0]:     torch.autograd.backward(
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/__init__.py", line 267, in backward
[rank0]:     _engine_run_backward(
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/graph.py", line 744, in _engine_run_backward
[rank0]:     return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/function.py", line 301, in apply
[rank0]:     return user_fn(self, *args)
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 882, in backward
[rank0]:     out = call_compiled_backward()
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 831, in call_compiled_backward
[rank0]:     out = call_func_at_runtime_with_args(
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/utils.py", line 113, in call_func_at_runtime_with_args
[rank0]:     out = normalize_as_list(f(args))
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/eval_frame.py", line 451, in _fn
[rank0]:     return fn(*args, **kwargs)
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/external_utils.py", line 36, in inner
[rank0]:     return fn(*args, **kwargs)
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 906, in __call__
[rank0]:     return self.get_current_callable()(inputs)
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py", line 784, in run
[rank0]:     return model(new_inputs)
[rank0]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 934, in _run_from_cache
[rank0]:     return compiled_graph.compiled_artifact(inputs)
[rank0]:   File "/tmp/torchinductor_root/kg/ckgqmxhmzvz7dlsac4l5uks2rme5x7eeghl3ckvmqlui6z2o4ylf.py", line 518, in call
[rank0]:     assert_size_stride(getitem_4, (64, 12, 1024), (12288, 1024, 1))
[rank0]: AssertionError: wrong number of dimensions
[rank3]: Traceback (most recent call last):
[rank3]:   File "/mnt/drive1/modded-nanogpt/train_gpt2.py", line 479, in <module>
[rank3]:     loss.backward()
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_tensor.py", line 525, in backward
[rank3]:     torch.autograd.backward(
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/__init__.py", line 267, in backward
[rank3]:     _engine_run_backward(
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/graph.py", line 744, in _engine_run_backward
[rank3]:     return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/function.py", line 301, in apply
[rank3]:     return user_fn(self, *args)
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 882, in backward
[rank3]:     out = call_compiled_backward()
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 831, in call_compiled_backward
[rank3]:     out = call_func_at_runtime_with_args(
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/utils.py", line 113, in call_func_at_runtime_with_args
[rank3]:     out = normalize_as_list(f(args))
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/eval_frame.py", line 451, in _fn
[rank3]:     return fn(*args, **kwargs)
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/external_utils.py", line 36, in inner
[rank3]:     return fn(*args, **kwargs)
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 906, in __call__
[rank3]:     return self.get_current_callable()(inputs)
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py", line 784, in run
[rank3]:     return model(new_inputs)
[rank3]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 934, in _run_from_cache
[rank3]:     return compiled_graph.compiled_artifact(inputs)
[rank3]:   File "/tmp/torchinductor_root/ey/ceya432rp26lzw4thezihkebcocsehnlhftqjioubkkd35ngwvhh.py", line 518, in call
[rank3]:     assert_size_stride(getitem_4, (64, 12, 1024), (12288, 1024, 1))
[rank3]: AssertionError: wrong number of dimensions
[rank4]: Traceback (most recent call last):
[rank4]:   File "/mnt/drive1/modded-nanogpt/train_gpt2.py", line 479, in <module>
[rank4]:     loss.backward()
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_tensor.py", line 525, in backward
[rank4]:     torch.autograd.backward(
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/__init__.py", line 267, in backward
[rank4]:     _engine_run_backward(
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/graph.py", line 744, in _engine_run_backward
[rank4]:     return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/function.py", line 301, in apply
[rank4]:     return user_fn(self, *args)
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 882, in backward
[rank4]:     out = call_compiled_backward()
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 831, in call_compiled_backward
[rank4]:     out = call_func_at_runtime_with_args(
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/utils.py", line 113, in call_func_at_runtime_with_args
[rank4]:     out = normalize_as_list(f(args))
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/eval_frame.py", line 451, in _fn
[rank4]:     return fn(*args, **kwargs)
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/external_utils.py", line 36, in inner
[rank4]:     return fn(*args, **kwargs)
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 906, in __call__
[rank4]:     return self.get_current_callable()(inputs)
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py", line 784, in run
[rank4]:     return model(new_inputs)
[rank4]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 934, in _run_from_cache
[rank4]:     return compiled_graph.compiled_artifact(inputs)
[rank4]:   File "/tmp/torchinductor_root/6l/c6llgpjbyq5wo3mxhjrletrm32l2nzzo2loeax4zalumfjr7vsln.py", line 518, in call
[rank4]:     assert_size_stride(getitem_4, (64, 12, 1024), (12288, 1024, 1))
[rank4]: AssertionError: wrong number of dimensions
[rank6]: Traceback (most recent call last):
[rank6]:   File "/mnt/drive1/modded-nanogpt/train_gpt2.py", line 479, in <module>
[rank6]:     loss.backward()
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_tensor.py", line 525, in backward
[rank6]:     torch.autograd.backward(
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/__init__.py", line 267, in backward
[rank6]:     _engine_run_backward(
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/graph.py", line 744, in _engine_run_backward
[rank6]:     return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/autograd/function.py", line 301, in apply
[rank6]:     return user_fn(self, *args)
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 882, in backward
[rank6]:     out = call_compiled_backward()
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/jit_compile_runtime_wrappers.py", line 831, in call_compiled_backward
[rank6]:     out = call_func_at_runtime_with_args(
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_functorch/_aot_autograd/utils.py", line 113, in call_func_at_runtime_with_args
[rank6]:     out = normalize_as_list(f(args))
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/eval_frame.py", line 451, in _fn
[rank6]:     return fn(*args, **kwargs)
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_dynamo/external_utils.py", line 36, in inner
[rank6]:     return fn(*args, **kwargs)
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 906, in __call__
[rank6]:     return self.get_current_callable()(inputs)
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/compile_fx.py", line 784, in run
[rank6]:     return model(new_inputs)
[rank6]:   File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/_inductor/codecache.py", line 934, in _run_from_cache
[rank6]:     return compiled_graph.compiled_artifact(inputs)
[rank6]:   File "/tmp/torchinductor_root/gl/cgl63o2axbbprnu2acsqrzfqu27xiyxbxnj5esgyjkzvz4d4ohzx.py", line 518, in call
[rank6]:     assert_size_stride(getitem_4, (64, 12, 1024), (12288, 1024, 1))
[rank6]: AssertionError: wrong number of dimensions
W1006 18:04:10.185627<PHONE_NUMBER>53248 torch/distributed/elastic/multiprocessing/api.py:851] Sending process 114 closing signal SIGTERM
W1006 18:04:10.185979<PHONE_NUMBER>53248 torch/distributed/elastic/multiprocessing/api.py:851] Sending process 115 closing signal SIGTERM
W1006 18:04:10.186084<PHONE_NUMBER>53248 torch/distributed/elastic/multiprocessing/api.py:851] Sending process 116 closing signal SIGTERM
W1006 18:04:10.187988<PHONE_NUMBER>53248 torch/distributed/elastic/multiprocessing/api.py:851] Sending process 117 closing signal SIGTERM
W1006 18:04:10.189330<PHONE_NUMBER>53248 torch/distributed/elastic/multiprocessing/api.py:851] Sending process 118 closing signal SIGTERM
W1006 18:04:10.189493<PHONE_NUMBER>53248 torch/distributed/elastic/multiprocessing/api.py:851] Sending process 120 closing signal SIGTERM
W1006 18:04:10.189615<PHONE_NUMBER>53248 torch/distributed/elastic/multiprocessing/api.py:851] Sending process 121 closing signal SIGTERM
E1006 18:04:10.454885<PHONE_NUMBER>53248 torch/distributed/elastic/multiprocessing/api.py:826] failed (exitcode: 1) local_rank: 5 (pid: 119) of binary: /opt/conda/envs/py_3.9/bin/python
Traceback (most recent call last):
  File "/opt/conda/envs/py_3.9/bin/torchrun", line 33, in <module>
    sys.exit(load_entry_point('torch==2.3.0a0+git1b935e2', 'console_scripts', 'torchrun')())
  File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 347, in wrapper
    return f(*args, **kwargs)
  File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/distributed/run.py", line 879, in main
    run(args)
  File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/distributed/run.py", line 870, in run
    elastic_launch(
  File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 132, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/opt/conda/envs/py_3.9/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 263, in launch_agent
    raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
============================================================
train_gpt2.py FAILED
------------------------------------------------------------
Failures:
  <NO_OTHER_FAILURES>
------------------------------------------------------------
Root Cause (first observed failure):
[0]:
  time      : 2024-10-06_18:04:10
  host      : 1d5fd75bfd9d
  rank      : 5 (local_rank: 5)
  exitcode  : 1 (pid: 119)
  error_file: <N/A>
  traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
============================================================

hmm. could you try it without torch.compile? (just comment out the line that compiles the model)

Running!
./run.sh
W1006 18:45:31.200540<PHONE_NUMBER>95296 torch/distributed/run.py:757]
W1006 18:45:31.200540<PHONE_NUMBER>95296 torch/distributed/run.py:757] *****************************************
W1006 18:45:31.200540<PHONE_NUMBER>95296 torch/distributed/run.py:757] Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
W1006 18:45:31.200540<PHONE_NUMBER>95296 torch/distributed/run.py:757] *****************************************
Running pytorch 2.3.0a0+git1b935e2
using device: cuda:4
using device: cuda:7
using device: cuda:5
using device: cuda:1
using device: cuda:6
using device: cuda:3
using device: cuda:2
using device: cuda:0
Training DataLoader: total number of tokens:<PHONE_NUMBER>3 across 103 files
Validation DataLoader: total number of tokens: 100000000 across 1 files
compiling the model...
/mnt/drive1/modded-nanogpt/train_gpt2.py:159: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  y = F.scaled_dot_product_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), is_causal=True)
/mnt/drive1/modded-nanogpt/train_gpt2.py:159: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  y = F.scaled_dot_product_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), is_causal=True)
/mnt/drive1/modded-nanogpt/train_gpt2.py:159: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  y = F.scaled_dot_product_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), is_causal=True)
/mnt/drive1/modded-nanogpt/train_gpt2.py:159: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  y = F.scaled_dot_product_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), is_causal=True)
/mnt/drive1/modded-nanogpt/train_gpt2.py:159: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  y = F.scaled_dot_product_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), is_causal=True)
/mnt/drive1/modded-nanogpt/train_gpt2.py:159: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  y = F.scaled_dot_product_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), is_causal=True)
/mnt/drive1/modded-nanogpt/train_gpt2.py:159: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  y = F.scaled_dot_product_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), is_causal=True)
/mnt/drive1/modded-nanogpt/train_gpt2.py:159: UserWarning: 1Torch was not compiled with memory efficient attention. (Triggered internally at /var/lib/jenkins/pytorch/aten/src/ATen/native/transformers/hip/sdp_utils.cpp:517.)
  y = F.scaled_dot_product_attention(q.transpose(1, 2), k.transpose(1, 2), v.transpose(1, 2), is_causal=True)
val loss 11.021111488342285
step    1/6676 | train loss 11.0205 | lr_scale 1.00e+00 | (64862.29 ms | 8083 tok/s)
step    2/6676 | train loss 9.2245 | lr_scale 1.00e+00 | (880.07 ms | 595736 tok/s)
step    3/6676 | train loss 7.8305 | lr_scale 1.00e+00 | (872.35 ms | 601009 tok/s)
step    4/6676 | train loss 7.6170 | lr_scale 1.00e+00 | (885.78 ms | 591895 tok/s)
step    5/6676 | train loss 7.6862 | lr_scale 1.00e+00 | (886.25 ms | 591581 tok/s)
step    6/6676 | train loss 7.8194 | lr_scale 1.00e+00 | (883.03 ms | 593740 tok/s)
step    7/6676 | train loss 8.5758 | lr_scale 1.00e+00 | (891.98 ms | 587782 tok/s)
step    8/6676 | train loss 7.9219 | lr_scale 1.00e+00 | (880.58 ms | 595388 tok/s)
step    9/6676 | train loss 7.6205 | lr_scale 1.00e+00 | (879.77 ms | 595935 tok/s)
step   10/6676 | train loss 7.3670 | lr_scale 1.00e+00 | (889.60 ms | 589351 tok/s)
step   11/6676 | train loss 7.2259 | lr_scale 1.00e+00 | (873.73 ms | 600054 tok/s)
step   12/6676 | train loss 7.0139 | lr_scale 1.00e+00 | (873.87 ms | 599960 tok/s)
step   13/6676 | train loss 6.9057 | lr_scale 1.00e+00 | (873.36 ms | 600312 tok/s)
step   14/6676 | train loss 6.7420 | lr_scale 1.00e+00 | (875.86 ms | 598597 tok/s)
step   15/6676 | train loss 6.7187 | lr_scale 1.00e+00 | (876.47 ms | 598179 tok/s)
step   16/6676 | train loss 6.6241 | lr_scale 1.00e+00 | (875.32 ms | 598964 tok/s)
step   17/6676 | train loss 6.6011 | lr_scale 1.00e+00 | (876.41 ms | 598220 tok/s)
step   18/6676 | train loss 6.6240 | lr_scale 1.00e+00 | (877.33 ms | 597596 tok/s)
step   19/6676 | train loss 6.6198 | lr_scale 1.00e+00 | (877.07 ms | 597771 tok/s)
step   20/6676 | train loss 6.4442 | lr_scale 1.00e+00 | (877.82 ms | 597261 tok/s)
step   21/6676 | train loss 6.4658 | lr_scale 1.00e+00 | (877.99 ms | 597146 tok/s)
step   22/6676 | train loss 6.5030 | lr_scale 1.00e+00 | (877.85 ms | 597238 tok/s)
step   23/6676 | train loss 6.3411 | lr_scale 1.00e+00 | (876.89 ms | 597894 tok/s)
step   24/6676 | train loss 6.3826 | lr_scale 1.00e+00 | (876.63 ms | 598076 tok/s)
step   25/6676 | train loss 6.2716 | lr_scale 1.00e+00 | (878.37 ms | 596885 tok/s)
step   26/6676 | train loss 6.2952 | lr_scale 1.00e+00 | (877.99 ms | 597143 tok/s)
step   27/6676 | train loss 6.2863 | lr_scale 1.00e+00 | (880.89 ms | 595178 tok/s)
step   28/6676 | train loss 6.1839 | lr_scale 1.00e+00 | (880.93 ms | 595152 tok/s)
step   29/6676 | train loss 6.2608 | lr_scale 1.00e+00 | (879.70 ms | 595983 tok/s)
step   30/6676 | train loss 6.1791 | lr_scale 1.00e+00 | (881.42 ms | 594823 tok/s)
step   31/6676 | train loss 6.2140 | lr_scale 1.00e+00 | (880.76 ms | 595266 tok/s)
step   32/6676 | train loss 6.1020 | lr_scale 1.00e+00 | (882.17 ms | 594316 tok/s)
step   33/6676 | train loss 6.1077 | lr_scale 1.00e+00 | (882.89 ms | 593829 tok/s)
step   34/6676 | train loss 6.0905 | lr_scale 1.00e+00 | (883.37 ms | 593508 tok/s)
step   35/6676 | train loss 6.1618 | lr_scale 1.00e+00 | (882.22 ms | 594281 tok/s)
step   36/6676 | train loss 6.0684 | lr_scale 1.00e+00 | (883.57 ms | 593372 tok/s)
step   37/6676 | train loss 6.0830 | lr_scale 1.00e+00 | (885.20 ms | 592280 tok/s)
step   38/6676 | train loss 6.0379 | lr_scale 1.00e+00 | (885.72 ms | 591934 tok/s)
step   39/6676 | train loss 6.0624 | lr_scale 1.00e+00 | (902.16 ms | 581148 tok/s)
step   40/6676 | train loss 5.9839 | lr_scale 1.00e+00 | (885.54 ms | 592053 tok/s)
step   41/6676 | train loss 6.0095 | lr_scale 1.00e+00 | (886.44 ms | 591453 tok/s)
step   42/6676 | train loss 5.9636 | lr_scale 1.00e+00 | (888.73 ms | 589930 tok/s)
step   43/6676 | train loss 6.0477 | lr_scale 1.00e+00 | (889.83 ms | 589198 tok/s)
step   44/6676 | train loss 5.9231 | lr_scale 1.00e+00 | (888.89 ms | 589823 tok/s)
step   45/6676 | train loss 5.9101 | lr_scale 1.00e+00 | (890.92 ms | 588478 tok/s)

First run with pytorch.compile disabled:
step 6676/6676 | train loss 3.2916 | lr_scale 5.00e-04 | (883.35 ms | 593522 tok/s)
val loss 3.2770633697509766
peak memory consumption: 62878 MiB

Trying with nightly instead of latest and seems to have the same issue:
./run.sh
W1006 20:51:18.022267 70 site-packages/torch/distributed/run.py:793]
W1006 20:51:18.022267 70 site-packages/torch/distributed/run.py:793] *****************************************
W1006 20:51:18.022267 70 site-packages/torch/distributed/run.py:793] Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
W1006 20:51:18.022267 70 site-packages/torch/distributed/run.py:793] *****************************************
Running pytorch 2.6.0a0+git77fba0c
using device: cuda:6using device: cuda:1

using device: cuda:7
using device: cuda:3
using device: cuda:5
using device: cuda:0
using device: cuda:4
using device: cuda:2
Training DataLoader: total number of tokens:<PHONE_NUMBER>3 across 103 files
Validation DataLoader: total number of tokens: 100000000 across 1 files
compiling the model...
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
libibverbs: Warning: couldn't open config directory '/etc/libibverbs.d'.
/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/compile_fx.py:171: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/compile_fx.py:171: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/compile_fx.py:171: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/compile_fx.py:171: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/compile_fx.py:171: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/compile_fx.py:171: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/compile_fx.py:171: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/compile_fx.py:171: UserWarning: TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.
  warnings.warn(
val loss 10.966203689575195
[rank1]: Traceback (most recent call last):
[rank1]:   File "train_gpt2.py", line 479, in <module>
[rank1]:     loss.backward()
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_tensor.py", line 581, in backward
[rank1]:     torch.autograd.backward(
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/autograd/__init__.py", line 347, in backward
[rank1]:     _engine_run_backward(
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/autograd/graph.py", line 825, in _engine_run_backward
[rank1]:     return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/autograd/function.py", line 307, in apply
[rank1]:     return user_fn(self, *args)
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_functorch/_aot_autograd/runtime_wrappers.py", line 2048, in backward
[rank1]:     out = call_compiled_backward()
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_functorch/_aot_autograd/runtime_wrappers.py", line 1980, in call_compiled_backward
[rank1]:     out = call_func_at_runtime_with_args(
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_functorch/_aot_autograd/utils.py", line 124, in call_func_at_runtime_with_args
[rank1]:     out = normalize_as_list(f(args))
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_dynamo/eval_frame.py", line 632, in _fn
[rank1]:     return fn(*args, **kwargs)
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/codecache.py", line 1562, in __call__
[rank1]:     return self.current_callable(inputs)
[rank1]:   File "/opt/conda/envs/py_3.8/lib/python3.8/site-packages/torch/_inductor/utils.py", line 1991, in run
[rank1]:     return model(new_inputs)
[rank1]:   File "/tmp/torchinductor_root/ex/cexygkqmw2w7mvgo6leniyrthpyyjjpivrfi46sxowqcjraiw5e7.py", line 600, in call
[rank1]:     assert_size_stride(getitem_4, (64, 12, 1024), (12288, 1024, 1))

Ok, found a version of pytorch that works! Seems like much higher tok/s too.
https://hub.docker.com/layers/rocm/pytorch/latest-internal/images/sha256-b9a1c61f20ef013264c73b24c258cf6b06620d00399c0fb85f4f5db6f7992f04?context=explore
Running pytorch 2.4.0a0+git8531805
step    1/6676 | train loss 10.9977 | lr_scale 1.00e+00 | (176327.68 ms | 2973 tok/s)
step    2/6676 | train loss 9.2039 | lr_scale 1.00e+00 | (853.15 ms | 614531 tok/s)
step    3/6676 | train loss 7.8569 | lr_scale 1.00e+00 | (909.38 ms | 576536 tok/s)
step    4/6676 | train loss 7.4966 | lr_scale 1.00e+00 | (791.65 ms | 662272 tok/s)
step    5/6676 | train loss 7.6010 | lr_scale 1.00e+00 | (779.18 ms | 672868 tok/s)
step    6/6676 | train loss 8.0912 | lr_scale 1.00e+00 | (772.11 ms | 679028 tok/s)
step    7/6676 | train loss 8.1390 | lr_scale 1.00e+00 | (790.10 ms | 663570 tok/s)
step    8/6676 | train loss 7.7398 | lr_scale 1.00e+00 | (781.98 ms | 670463 tok/s)
step    9/6676 | train loss 7.6330 | lr_scale 1.00e+00 | (773.85 ms | 677505 tok/s)
step   10/6676 | train loss 7.2317 | lr_scale 1.00e+00 | (778.70 ms | 673286 tok/s)
step   11/6676 | train loss 7.0780 | lr_scale 1.00e+00 | (769.38 ms | 681438 tok/s)
step   12/6676 | train loss 6.9914 | lr_scale 1.00e+00 | (774.42 ms | 677009 tok/s)
step   13/6676 | train loss 6.8845 | lr_scale 1.00e+00 | (775.21 ms | 676314 tok/s)
step   14/6676 | train loss 6.7133 | lr_scale 1.00e+00 | (773.74 ms | 677601 tok/s)
step   15/6676 | train loss 6.7093 | lr_scale 1.00e+00 | (777.38 ms | 674428 tok/s)
step   16/6676 | train loss 6.6078 | lr_scale 1.00e+00 | (767.97 ms | 682698 tok/s)
step   17/6676 | train loss 6.5961 | lr_scale 1.00e+00 | (787.01 ms | 666174 tok/s)
step   18/6676 | train loss 6.6134 | lr_scale 1.00e+00 | (775.62 ms | 675957 tok/s)
step   19/6676 | train loss 6.5873 | lr_scale 1.00e+00 | (777.11 ms | 674661 tok/s)
step   20/6676 | train loss 6.4243 | lr_scale 1.00e+00 | (772.23 ms | 678926 tok/s)
step   21/6676 | train loss 6.4449 | lr_scale 1.00e+00 | (782.67 ms | 669872 tok/s)
step   22/6676 | train loss 6.4932 | lr_scale 1.00e+00 | (781.58 ms | 670803 tok/s)
step   23/6676 | train loss 6.3389 | lr_scale 1.00e+00 | (782.05 ms | 670402 tok/s)
step   24/6676 | train loss 6.3687 | lr_scale 1.00e+00 | (767.46 ms | 683149 tok/s)
step   25/6676 | train loss 6.2571 | lr_scale 1.00e+00 | (770.30 ms | 680632 tok/s)
step   26/6676 | train loss 6.2845 | lr_scale 1.00e+00 | (784.56 ms | 668254 tok/s)
step   27/6676 | train loss 6.2624 | lr_scale 1.00e+00 | (777.18 ms | 674607 tok/s)
step   28/6676 | train loss 6.1619 | lr_scale 1.00e+00 | (777.76 ms | 674099 tok/s)
step   29/6676 | train loss 6.2400 | lr_scale 1.00e+00 | (768.77 ms | 681982 tok/s)
step   30/6676 | train loss 6.1702 | lr_scale 1.00e+00 | (780.84 ms | 671438 tok/s)

I will close this as it is working now.


add libre

RE-CHECK!

Automated adapter checker
ioBroker.libre

:thumbsup: No errors found

[ ] :eyes: [W400] Cannot find "libre" in latest repository
[ ] :eyes: [W515] Why you decided to disable i18n support?

Add comment "RE-CHECK!" to start check anew

Welcome in the repo, see telegram


sig-scale: features for automating benchmarking

Sig-scale released a bunch of benchmarks as part of release-1.0. However,
there are improvements needed to the benchmarks as well as automation to
publish the graphs every week. This issue is extension of https://github.com/kubevirt/project-infra/issues/2705

[ ] Automation:

[ ] CI post-submit job is needed to plot graphs in ci-performance-benchmarks repository
[ ] CI should have a way to screenshots benchmarks in ci-performance-benchmarks repository for badges

[ ] Benchmarks enhancements:

[ ] enhance perf-report-creator to include VM with instancetype and preference metrics  https://github.com/kubevirt/project-infra/issues/2874
[ ] consider averages for performance benchmarks

cc @rthallisey created this is for sig-scale post v1 tasks.


Dora metrics from Gitlab Integration

With DORA metrics now exposed from gitlab is there any feature work to include this in the integration?
Ref: https://docs.gitlab.com/ee/api/dora/metrics.html

Hey @djtecha ! I'm currently looking into this. I don't have much experience with gitlab but glancing over the docs you shared, it seems that the DORA metrics just consist of the deployment_frequency and lead_time_for_changes?

Yup, there's an API for them too. Just doesn't look to be part of the DD integration. Would be sweeeeet to get them :)

@djtecha Sorry for going silent for so long. I thought I would have some bandwidth to tackle this. I've instead created a feature request in our backlog to see if this can be done in a sprint in the (near)future. Thanks for raising this and again sorry for not responding earlier.


CORE-16623 : Sync with release

Please fix the PR title
Also if you are interested in pull requests created automatically for synchronisation, the Build team can assist.

@wzur-r3 That will be helpful, How can we create the sync pr automatically?

Please fix the PR title

There's no ticket associated with this pull request.

Also if you are interested in pull requests created automatically for synchronisation, the Build team can assist.

We typically merge only when significant changes have been made to code that we have extended in our feature branch. There is no set schedule for this as it depends on what work is going on at the time. Scheduled merges are likely to cause more issues for us than they'll solve.


Feature Request [fieldsProjection]

Thanks for the library :heart:

In this example fieldsProjection will result { id: 1, 'author.id': 1, 'author.firstName': 1, 'author.lastName': 1 }
But I want to set an option like fieldsProjection(info, { keepParentField: true }) to make it return this  { id: 1, 'author': 1, 'author.id': 1, 'author.firstName': 1, 'author.lastName': 1 }
{
  post { # post: [Post]
    id
    author: {
      id
      firstName
      lastName
    }
  }
}

resolve(source, args, context, info) { // resolver of Post
  console.log(fieldsProjection(info)); // { id: 1, 'author.id': 1, 'author.firstName': 1, 'author.lastName': 1 };
}

This will be very helpful in case you have a document like this in DB

@ObjectType()
export default class Member implements IMember {
  @prop({ ref: User, required: true, index: true })
  User: Ref<User>

  @Field(() => TeamMemberRole)
  @prop({ type: String, required: true, default: TeamMemberRole.MEMBER })
  Role: TeamMemberRole

  @Field()
  @prop({
    required: true,
    default: () => new Date().getTime()
  })
  AddedOn: number
}

@ObjectType()
export default class Company extends BaseModel implements ICompany {
  @Field()
  @prop({ required: true })
  Name: string

  @Field(() => Member)
  @prop({ items: Member, _id: false, default: [] })
  Members: Member[]
}

And you have a field resolver on Member.User and you want to do a projection for this user, in the Company Resolver you will have Member.User.ID but not Member.User so in the Member.User resolver the User value will be null.
but if you had Member.User.ID and Member.User this will fix the problem.
For now, I do a workaround to get the result I want

    const projection = fieldsProjection(info)

    AppendBaseKeyWithRegixCheckForChilds(projection, 'Members.User')

_____________________________________________________
const AppendBaseKeyWithRegixCheckForChilds = (
  projection: {},
  baseKey: string
): void => {
  Object.keys(projection).forEach(k => {
    if (RegExp(`${baseKey}.`).test(k)) {
      delete projection[k]
      projection[baseKey] = 1
    }
  })
}

Maybe my use case is too personalized and I don't mind if it is.
Thanks again for your work :heart:

Seems legit, can you suggest PR for this? Currently I'm too busy to make this enhancement, so I can;t promise any quick implementation for this...

I had this issue on my notifications for 29 days till I decided to invest some time and create this pr, now I can mark it as done :heavy_check_mark:  :joy: :joy:


Ecez v2

Issues that should be closed with this merging:

#187
#186
#184
#183
#182
#181
#163? (must confirm)
#162
#160
#158
....

Note to self: do squash for when this eventually merges


Issue with V1.22

Hi, Andy -
I am trying to deploy a child trigger from Campaign Member to Campaign and am getting this error on deploy:
dlrs_CampaignMemberTest.testTrigger System.DmlException: Insert failed. First exception on row 0; first error: MALFORMED_ID, Invalid campaign id: null: [CampaignId] (dlrs) Class.dlrs_CampaignMemberTest.testTrigger: line 11, column 1

Apologies, I know that isn't much to go on...but it is all I've got. :-)  I even tried using the new checkbox for Test Code See All Data and that didn't work either...same error.

Hey @JenNelsonChicago ,
Can you please describe what you're trying to roll up? My gut reaction to your error is that you're field values in your rollup are telling the tool to do something it doesn't understand.
Can you take a picture of your rollup?

Hi, @wes1278 -
Thanks for looking.
I am trying to rollup a Count of Campaign Members with particular Statuses into a numeric field on Campaign.
The query that returns the correct count in Workbench SOQL Query is
SELECT CampaignId,Id,Status FROM CampaignMember WHERE Status != 'Sent' AND Status != 'Responded' AND Status != 'Donated' AND Status != 'Removed'
Here's the screen shot of my rollup:

And here's the error I get when I try to deploy the trigger:

This looks like its related to this https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/197. Also do you have any Apex Triggers on CampaignMember?

Hi, @afawcett - we do have a trigger on CampaignMember for this package (http://sforce.co/1hKaKQG) from the AppExchange.  It allows us to get past the ever-present default Campaign Members Statuses "Sent" and "Responded".

Yeah so it perhaps looks like you need the custom Apex test code snippet referenced in #197, though it seems the poster didn't share the code. So you need the new Test Code feature route and possibly if you want to take a less best practice route the see all data flag.
I've reluctantly added the new section on the rollup summary (you'll have to add the fields yourself if your upgrading) to allow for some customisation of the generated Apex Test code. In some cases, like yours, the rather dumb, insert the child record without any fields to trigger the rollup code for code coverage, doesn't work....
Thus we have to dip into some code land (hence my reluctancy). So in your case, you could probably tick the SeeAllData checkbox (this makes the test dependent on org data, not ideal if things change in the org the test breaks). Then you would paste something like this into the Test Code field and try Manage Child Trigger again (note you should see your overriden test code in the preview before hitting Deploy).
dlrs.RollupService.testHandler(new CampaignMember(CampaignId = 'someidthatexists'));

If you wanted a more robust route, don't tick the See All Data field and try something like this...
Campaign newCampaign = new Campaign(); // Not sure what required fields it has?
insert newCampaign;
dlrs.RollupService.testHandler(new CampaignMember(CampaignId = newCampaign.Id));

I'm sorry we've had to get into code here, i've still not lost hope i could take some of these needs and make a declarative solution and perhaps capture more use cases like this, perhaps not all, but some more.
Let me know how you get on with this.

Good news the poster on #197 has just responded to say they will share the code. So if the above doesn't work for you, hopefully their snippet will (assuming your scenarios and installed software are the same). Lets see.... :+1:

@JenNelsonChicago hope you got this going, let me know if not. :+1:

Hola! I pasted in this code and it worked like a charm. I think screen shots would be super helpful as I was a little confused on where to paste the code and what certain text meant. So here it goes. I pasted the additional snippet
Campaign c=new Campaign(Name='Test');
insert c;
Contact con=new Contact(Lastname='fred');
insert con;
// Force the dlrs_CampaignMemberTrigger to be invoked, fails the test if org config or other Apex code prevents this.
SavePoint sp = Database.setSavepoint();
dlrs.RollupService.testHandler(
new CampaignMember(campaignid=c.id, Contactid=con.id));
Database.rollback(sp);
In the
Child Object text box

This solved the issue! Thanks all!


multiple module refs

Describe the bug
when adding a module definition more than once, it gets assigned the same ID and will prevent ETS from adding the device with error
To Reproduce
Steps to reproduce the behavior:

define a module
add the module to the app dynamic more than once on top level
export the knxprod
import on ETS
add the device to the device list and ETS will report duplicate key error

furthermore, when trying to use the "Zurücksetzen" button in the app dynamic module ref yields in the following exception:
Exception has occurred: CLR/System.Exception
An exception of type 'System.Exception' occurred in Kaenx.Creator.dll but was not handled in user code: 'Unbekannter Typ zum ID löschen: System.Windows.Controls.Button'
   at Kaenx.Creator.Controls.DynamicView.ResetId(Object sender, RoutedEventArgs e) in C:\Users\john\Desktop\Kaenx.Creator.git\Kaenx.Creator\Controls\DynamicView.xaml.cs:line 106

Expected behavior
IDs are kept unique within the same class (here: module ref)
Screenshots
none
Desktop (please complete the following information):

OS: Windows
Browser irrelevant
Version current source

@john30 thanks for your report.
I can't reproduce the bug with duplicate key.
But i fixed the bug with the reset ID.
I created a module and added it to the RootNode:

My Module Dynamic looks like this:

Maybe you can share a ae-manu file and the created knxprod where the bug happens with me?

seems to be gone with the latest sources, thanks anyway!


Issue in demo project.

Its using old version of chart.js line function in line_chart.html
Should be updated to

Do you feel that you could put together a pull request fixing it?

Issue addressed in #30 — Thanks to @marauder37


generated .env file contains type and lack format notice

Command atomic-server setup-env generates a file .env.  Nice!
That generated file contains a typo on first line, however: runnign -> running.
Also, and more important, it is undocumented how exactly to format entries in that file, and where it belongs (it is stored in current directory, wherever that might happen to be).
I guess that the file is specifically tailored for use with a systemd service unit file, and therefore recommend to state explicitly some notes about that.
The following is the full text of a default file that I (modulo a typo of my own) shipped with my draft packaging until I noticed this feature for generating a more rich file:
# This is a systemd EnvironmentFile for atomic-server.
# For supported variables and values, see man page atomic-server(8).
# For file syntax, see man page systemd.exec(5) section ENVIRONMENT.

I suggest to include the above text at the top of the generated content, replacing at least the first line of currently generated content.
While at it, I also suggest to wrap lines at 72 chars (or at most at 78 chars), since some editors (I am told emacs is among those) can be annoying to use with very long lines.

Good points, I'll edit your post and include a todo checklist


EC2 add ex_rename_node function, add size metadata

EC2 add ex_rename_node function, add size metadata
Description

add virtualizationTypes as size extra for sizes (can be 'paravirtual', 'hvm', or both). This is helpful in order to specify if a HVM or PV image can be deployed at a size

adds size hi1.4xlarge

add function ex_rename_node for renaming a node

Status
done, ready for review
Checklist (tick everything that applies)

[x] Code linting (required, can be done after the PR checks)
[x] Documentation
[ ] Tests
[ ] ICLA (required for bigger changes)

please check the response from the test suite
https://travis-ci.org/apache/libcloud/jobs/208298201
Also, this needs rebasing,
thanks

First thank you for your contribution.
This PR is very old and out of date now so I will go ahead and close it.
If it's still relevant, please sync your changes with the latest master / trunk and open a new PR. Thanks!


Do not place comments on the same line as the def keyword mishandling string interpolation

The hash in string interpolation is mistaken as a comment
# CASE 1
app/helpers/application_helper.rb:278:57: C: Do not place comments on the same line as the def keyword.
  def options_menu_item(option, key, url = send("redraw_#{controller.controller_name}_path"))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

# CASE 2
lib/fat_free_crm/permissions.rb:54:15: C: Do not place comments on the same line as the def keyword.
          def #{model}_ids
              ^^^^^^^^^^^^

duplicate of https://github.com/bbatsov/rubocop/issues/4886


Feature/dialog support heading and pagefield

Tested output from before this PR to match output after with the exceptions of:

heading/pagefield (obviously)
multifield dialog rendering no longer puts name/cq-msm-lockable on the "multifield" element (as it is present on the child elements)

Validated that multifields are still working after this update.


Fixes S2 bounding volumes

This PR fixes some two main issues in the current S2 implementation:

Incorrect conversion from {level}/{x}/{y}/{z} to Hilbert/S2 index.
The parent bounding volume being updated when a child bounding volume is created.

Thanks for the pull request @sanjeetsuhag!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

@sanjeetsuhag I'll merge this once CI passes

merged! Thanks @sanjeetsuhag!


Add Option to Ignore Changes to Prolog/Revised Date

Let's say I make a couple of minor revisions to a DITA topic, for example, fixing some typos and refactoring a bulleted list into a table. The contents of the topic itself have not fundamentally changed; therefore, I want the revised date of the topic to remain unchanged. Else my readers might expect to see brand new content.
It is understood and accepted that the addon automatically updates the revised date to the current day, regardless of the type of change, which is expected.
However, when attempting to manually override the automatically updated revised date to the previous date, the addon automatically changes the manually overridden date to the current date preventing me from manually overriding the date.
I would like an option in the Preferences to have the addon ignore any changes made to the prolog and any of its child elements. This will enable me to manually override the updated revised date in these instances where I determine that the contents of the topic have not actually changed.
Thanks!

Hi Cosmin,
Thank you for the reply! That's unfortunate that it would be hard to implement that behavior though. :(
While it's not ideal, a button on the toolbar to enable/disable the updating would be an acceptable workaround. I've also explored using a simple text editor to modify the revised date after saving the file in Oxygen, which also isn't ideal.
Thank you for considering this feature request!
Daniel


test(share/p2p): fix namespace add operations in tests

Overview
Fixes the test with unreliable add/sub operations. Adds AddToNamespace for tests

Codecov Report

Merging #2422 (b2e520e) into main (c556588) will increase coverage by 0.11%.
Report is 7 commits behind head on main.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2422      +/-   ##
==========================================
+ Coverage   52.37%   52.49%   +0.11%
==========================================
  Files         156      156
  Lines        9995     9998       +3
==========================================
+ Hits         5235     5248      +13
+ Misses       4292     4285       -7
+ Partials      468      465       -3

see 7 files with indirect coverage changes


GMA - Fix Error in JNI method invocation on BannerView destruction

Description

Provide details of the change, and generalize the change in the PR title above.

There were stability issues when calling a JNI method and then immediately removing the global reference.  This manifested in JNI corruption errors on simulators.
The previous BannerView destructor attempted to protect developers from accidentally leaking resources if the BannerView's destructor was called before the Destroy() method was invoked.  Our protected caused JNI assertions in simulators where the JNI parameters were corrupted.  I assume this was due to the  JNI object reference being deleted admist an asynchronous operation.
Therefore this change removes the attempt o invoke the JNI Destroy() method in the destructor on Android.  BannerView's header comments are updated to explicitly state that Destroy should be invoked before the C++ object's destructor is called.  Additionally log a warning if this scenario occurs.

Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.

Local Simulator Testing
Integration CI
Packaging CI and its Integration Tests

Type of Change
Place an x the applicable box:

[X] Bug fix. Add the issue # below if applicable.
[ ] New feature. A non-breaking change which adds functionality.
[ ] Other, such as a build process or documentation change.

I think the problem is the ignoring the result part.  The corruption seems to stem from removing the object reference after the asynchronous destruction operation is kicked off but before it completes.
Maybe in Java I can switch which C++ function callback is invoked. Instead of using a boolean to denote if BannerViewHelper::Destroy was invoked by the Destructor, as it is now, I could pass the global reference to the BannerViewHelper.  If the global reference is NULL then the current C++ Destroy -> Java Destroy() -> C+++ future path is invoked.  If the global reference is non-null, then Java calls back into a different C++ static function with the Global Reference as a parameter.  The C++ static function then releases the global reference of the Java Object that time, and the C++ destructor doesn't even touch it.
I can try it out tomorrow.


Moving filtering feature into sorting menu

Hello,
Thanks for your work on this project, I'm glad to use it in my own!
I don't know if it's the right place to ask you that but is it possible to move filtering feature into sorting menu instead of below the headers with some sort of options or maybe in a a future version? I don't know if it's what you want. Maybe I missed something in the tutorial to just do it.
Thanks again, GG with UI Grid.
Ginwu

As it is, you would have to customize the column menu template to add stuff in. The column menus are set up to basically be buttons that perform actions, and they don't allow generic html. That would be a good thing to allow, though!  If you're up for a PR that would be swell, otherwise I can file this as an enhancement.

There's a PR out there that allows the menus to take a template, it had a rebasing issue or something else, I can't remember what, but it was pretty close.

Thanks for your answers. I'm trying to combine the custom column menu and the custom filters, but I can't put html in a custom column menu, so I'm blocked.

Yes, this PR allows templates on menu items: #3049

Yes, I'm trying with the custom menu.
But I can't do somenthing like this, isn't it?
{
field: 'id',
width: '60',
displayName: 'ID',
type: 'number',
menuItems: [
{
title: 'Filter',
template: ''
}
]
}
So is it possible to add templates to custom menu, and maybe a submenu to add multiple filters for example to a column? Or some defaults filters to column menu for each column type, like contains, begin with,etc for a string column. What do you think about that?
Thanks for your help!

It's not currently possible to custom templates for menu items, that PR adds the capability but it hasn't been merged yet because it needs some tidyup.
Submenus have been discussed, I think @AgDude was looking at it.  There's no implementation of that as yet.

Ok, thank you for your response. I'm waiting for that then.


Markdown Vue Components

Environment
Nuxt project info:                                                                                2:39:45 AM

Operating System: Windows_NT
Node Version:     v22.9.0
Nuxt Version:     3.13.2
CLI Version:      3.13.2
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      compatibilityDate, future, devtools, experimental, unhead, modules
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
It's basically an issue of folder structure.
Describe the bug
In Nuxt v3, we were to place Markdown Vue Components in the components/content folder. I switched to Nuxt v4, and it seems Nuxt is not able to load the component. I presume there is a different structure for that. Does any one know the new folder for Markdown Vue Components?

Additional context
No response
Logs
No response

this seems likely to be an upstream bug in nuxt content. would you raise an issue there?

this seems likely to be an upstream bug in nuxt content. would you raise an issue there?

Okay I will do that.

Closing here so we can track in https://github.com/nuxt/content/issues/2800


Schedule ExecuteAsync instead of running it inline

This prevents bad actors from blocking start up but also comes
with a bunch of caveats. StartAsync merely schedules the ExecuteAsync call
so there's no guarantee that ExecuteAsync runs before StartAsync or Dispose
(in theory).

I'm not sure I like scheduling the work. I like the guarantee that when StartAsync returns, we know the ExecuteAsync delegate has started.

Should there be a token I can wait on after calling start to know that everything has started? I am concerned about not knowing if anything has actually started. I am thinking of something that sends a signal after starting to say it can now handle processing, how do I know when to send that signal?

Closing this, it doesn't feel good


"Edit with Spyder" not in context menu for .py files

New install of Anaconda, the "Edit with Spyder" option is not found in the context menu. Tried reinstalling Spyder from the Anaconda launcher, didn't help.
Version and main components

Spyder Version: 3.1.4
Python Version: 3.6.0
Qt Versions: 5.6.2, PyQt5 5.6 on Windows

Dependencies
pyflakes >=0.6.0 :  1.5.0 (OK)
pep8 >=0.6       :  1.7.0 (OK)
pygments >=2.0   :  2.1.3 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
pandas >=0.13.1  :  0.19.2 (OK)
numpy >=1.7      :  1.11.3 (OK)
sphinx >=0.6.6   :  1.5.1 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
jedi >=0.9.0     :  0.9.0 (OK)
matplotlib >=1.0 :  2.0.0 (OK)
sympy >=0.7.3    :  1.0 (OK)
pylint >=0.25    :  1.6.4 (OK)

This is not something we can solve in Spyder itself, sorry.
We need to add this functionality to a project called menuinst, but (right now) no one has the time to do it.


Implementation

Hi, I have a UWP app, that connects via ble to a custom developed module. Im porting it to Xamarin, Im trying to implement your library, but Im not familiar with reactive programming. Is there any complete implementation example elsewhere? The one included in the readme isnt clear enough.
Thanks in advance!

No idea about other examples.  The sample I have is about as clear as it can get.  I do use some IoC concepts, but if you focus on the actual ble portion, it should be fairly straight forward.

Ok, I'll dive into it today. Great job by the way, thanks!

You are correct, the examples are very clear, I found that I was missing:

using System.Reactive.Linq;

Which translated in an error when trying to await an observable collection.
VS does not recommends it as a solution.


"odo update -h" shows erroneously the command intent

[kind/bug]
odo update -h
Update the source code path of a component

Usage:
  odo update [flags]

Examples:
  # Change the source code path of a currently active component to local (use the current directory as a source)
  odo update --local

  # Change the source code path of the frontend component to local with source in ./frontend directory
  odo update frontend --local ./frontend

  # Change the source code path of a currently active component to git
  odo update --git https://github.com/openshift/nodejs-ex.git

  # Change the source code path of the component named node-ex to git
  odo update node-ex --git https://github.com/openshift/nodejs-ex.git

  # Change the source code path of the component named wildfly to a binary named sample.war in ./downloads directory
  odo update wildfly --binary ./downloads/sample.war

Per the command seems that update:

can only update the source path of a component (misleading)

Related to https://github.com/redhat-developer/odo/issues/1198

/close
see  #2281


Importing .csv with no result

Hi there, I'm getting no results when trying to import my .csv files. Here are my steps:
download google sheet as .csv file
create note in obsidian with handlebar
create destination folder for import
use json/csv importer designating to each of the previous
The result is a "import finished" in the top right, but no new notes created.
Below is the .csv and .md handlebar note that I used
Mal'Gama Deities - Deities.csv
Handlebar Template (deity list).md
This is the Error in Console:
Missing helper: "Divine"
FOR ROW:
[object Object]

It looks like you have a space in your column name which is causing the problem. If you remove spaces from your column titles and use those new titles in your markdown file then it should work properly. Regards,MartinOn 8 Jul 2022 19:04, Celldeth @.***> wrote:
Hi there, I'm getting no results when trying to import my .csv files. Here are my steps:
download google sheet as .csv file
create note in obsidian with handlebar
create destination folder for import
use json/csv importer designating to each of the previous
The result is a "import finished" in the top right, but no new notes created.
Below is the .csv and .md handlebar note that I used
Mal'Gama Deities - Deities.csv
Handlebar Template (deity list).md
This is the Error in Console:
Missing helper: "Divine"
FOR ROW:
[object Object]
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

Just ran it again and it worked after also getting rid of my "." in one of the titles. So strange, i thought i checked that and got the same error. In any case, thank you very much.


Tools examples does not start some tools correctly

The example text for some of the tools does not have "bpftrace " in front of the tool bt-file, so it looks like the bt-file is directly executable. This is the case for these tools:
biolatency.bt
capable.bt
cpuwalk.bt
dcsnoop.bt
./mdflush.bt
pidpersec.bt
runqlen.bt
xfsdist.bt
The tools should be run like this:
bpftrace biolatency.bt
bpftrace capable.bt
bpftrace cpuwalk.bt
bpftrace dcsnoop.bt
bpftrace mdflush.bt
bpftrace pidpersec.bt
bpftrace runqlen.bt
bpftrace xfsdist.bt

We'll fix #17 first, and then update all the examples to ensure they don't have bpftrace (although it doesn't matter if they do).

I took a quick look at #17 and added a starting point diff. Maybe you or someone would like to finish it? :-)

I'm afraid that's a little too daunting for me :-)
I just struggled a little trying to understand how to use the examples...

All tools are directly executable now - closing


dbcopy doesn't work when icloud backup is disabled

using the SQLItePlugin in iOS is possible to disable iCloud backup specifying the "location:2" parameter to open a prepopulated database:
db = sqlitePlugin.openDatabase({name: "my.db", location: 2, createFromLocation: 1});
With this configuration dbcopy doesn't see the original database and so calling sqlDB.copy() or sqlDB.remove() doesn't work as expected.
Any solution?
PS: thanks for the plugin!

I am working on the iCloud backup disable functionality, will update the plugin in few days.

thanks!

You can use 1.0.3 version to pass the location parameter (check Readme file) similar to Sqlite Plugin.

thanks, it works like a charm!


Table filter won't initialize until there are 2 elements

When my table is empty, instead of initializing, it fails at getCellsNb. The argument seems to default to 2 which tries to reference an element in the table that doesn't exist. Please advise.

Previous refactoring work introduced a regression at instantiation when the HTML table contains only 1 row. This is now covered by tests.
Starting from v0.4.31 when the HTML table contains 1 row, TableFilter will instantiate without javascript exception.
It will continue to throw an error when the HTML table has 0 rows.
Tell me how it goes.

Looks like the file in the dist folder isn't actually the tablefilter.js file or just looks drastically different. Let me know

Accidentally committed the unminified files in dist folder. Thanks for pointing this out, use v0.4.32 instead.
Cheers


Add SubscribeWithState

for avoid closure capture(generated class) on Subscribe.

method signatrue.
 public static IDisposable SubscribeWithState<T, TState>(this IObservable<T> source, TState state, Action<TState, T> onNext, Action<TState, Exception> onError, Action<TState> onCompleted)
 {
    return source.Subscribe(Observer.CreateSubscribeWithStateObserver(state, onNext, onError, onCompleted));
 }

and we can create Disposable.CreateWithState, too.

Observable.Create, too.


How to handling non-animation side effects?

Is animate the appropriate function for outputting behavior values to all side effects (i.e. console log, local storage, (v)dom)? Or is it just for canvas? For example, the following works in the browser but not in the console.
seconds :: Behavior Number
seconds = map ((_ / 1000.0) <<< toNumber) Time.millisSinceEpoch

main :: forall e. Eff (console :: CONSOLE, frp :: FRP | e) Unit
main = animate seconds logShow

Is there a more appropriate function built in to handle other non-animation side effects? Are behaviors even appropriate for things like dom updates, storing state, etc? Or is it really just for canvas animation and the like?
I'm coming from a RxJS (events only) mindset... so trying to wrap my head around behaviors is proving difficult.

animate should work with any type of effects, but it requires requestAnimationFrame, so it won't work in the console.
In the console, you can sample on an Event, and subscribe to the result.


Issue with prodigal-gv script

Hello, thanks for this tool! I am running into an issue with the scripts/prodigal-gv file when it starts running prodigal. I get a Permission denied error. I checked the file and it looks potentially corrupt, but I'm not sure. Everything else seems to be working fine!
here's where the error occurs:
Running Prodigal
Traceback (most recent call last):
File "/PIGv/scripts/prodigal_launcher.py", line 20, in
subprocess.call(cmd2, stdout=open("prodigal.out", "w"), stderr=open("prodigal.err", "w"))
File "/PIGV/lib/python3.10/subprocess.py", line 345, in call
with Popen(*popenargs, **kwargs) as p:
File "/miniconda3/envs/PIGV/lib/python3.10/subprocess.py", line 971, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "miniconda3/envs/PIGV/lib/python3.10/subprocess.py", line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: 'scripts/prodigal-gv'
Thanks!

Try going into the scripts folder and do "chmod +rwx *" . This should give
executable permission to all files in the folder.
On Wed, Nov 22, 2023, 10:25 AM phage123 @.***> wrote:

Hello, thanks for this tool! I am running into an issue with the
scripts/prodigal-gv file when it starts running prodigal. I get a
Permission denied error. I checked the file and it looks potentially
corrupt, but I'm not sure. Everything else seems to be working fine!
here's where the error occurs:
Running Prodigal
Traceback (most recent call last):
File "/PIGv/scripts/prodigal_launcher.py", line 20, in
subprocess.call(cmd2, stdout=open("prodigal.out", "w"),
stderr=open("prodigal.err", "w"))
File "/PIGV/lib/python3.10/subprocess.py", line 345, in call
with Popen(*popenargs, **kwargs) as p:
File "/miniconda3/envs/PIGV/lib/python3.10/subprocess.py", line 971, in
init
self._execute_child(args, executable, preexec_fn, close_fds,
File "miniconda3/envs/PIGV/lib/python3.10/subprocess.py", line 1863, in
_execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
PermissionError: [Errno 13] Permission denied: 'scripts/prodigal-gv'
Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/BenMinch/PIGv/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUT6BLM7KK3FJOTURDVCOVTYFY7TLAVCNFSM6AAAAAA7WVG7Z6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGAYDMOBZGU4TQNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

OK, I did that and it ran up until Prodigal and gave a slightly different error:
Running Prodigal
Traceback (most recent call last):
File "/PIGv/scripts/prodigal_launcher.py", line 20, in
subprocess.call(cmd2, stdout=open("prodigal.out", "w"), stderr=open("prodigal.err", "w"))
File "/PIGV/lib/python3.10/subprocess.py", line 345, in call
with Popen(*popenargs, **kwargs) as p:
File "/PIGV/lib/python3.10/subprocess.py", line 971, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/PIGV/lib/python3.10/subprocess.py", line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: 'scripts/prodigal-gv'
Done

It does seem like a problem with getting prodigal-gv to work on your
machine. It could maybe be because it is a windows or Mac? I have a Linux
machine so it is untested on those other platforms. I am not much of a
computer programmer myself so the only thought I have is to possibly delete
and redownload the prodigal-gv script, or if you already have normal
prodigal installed, you can edit the main PiGv script to use that instead.
On Wed, Nov 22, 2023, 11:29 AM phage123 @.***> wrote:

OK, I did that and it ran up until Prodigal and gave a slightly different
error:
Running Prodigal
Traceback (most recent call last):
File "/PIGv/scripts/prodigal_launcher.py", line 20, in
subprocess.call(cmd2, stdout=open("prodigal.out", "w"),
stderr=open("prodigal.err", "w"))
File "/PIGV/lib/python3.10/subprocess.py", line 345, in call
with Popen(*popenargs, **kwargs) as p:
File "/PIGV/lib/python3.10/subprocess.py", line 971, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/PIGV/lib/python3.10/subprocess.py", line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: 'scripts/prodigal-gv'
Done
—
Reply to this email directly, view it on GitHub
https://github.com/BenMinch/PIGv/issues/1#issuecomment-1823391148, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AUT6BLMBJOGX5Z2EFAJZZCDYFZHBVAVCNFSM6AAAAAA7WVG7Z6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRTGM4TCMJUHA
.
You are receiving this because you commented.Message ID:
@.***>

Yes i am using a Mac. I got it working by editing the scripts/prodigal-gv and scripts/viralrecall.py , replacing the "scripts/prodigal-gv" command with just "prodigal" after installing the prodigal program (just "conda install prodigal") within the PIGv conda environment. Thanks for the help!


Update to Nette 3.0-alpha

Remove packages that are part of nette/nette from composer.json
Update to minimal version 7.1
Remove HHVM support https://github.com/nette/utils/issues/110
declare  strict types

Diky za code review, upraveno.


QA: comment incentives based on their html tags

Describe the background or context
No response
Describe the solution
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

Lorem Ipsu
dummy text
industry's standard

Describe the solution
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

quick
brown fox
jumps over

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

/start


RPC Calls not working

After referring to a number of examples and documents here:
https://heroiclabs.com/docs/runtime-code-basics/#rpc-example
https://heroiclabs.com/docs/gameplay-multiplayer-server-multiplayer/#manually
And api references, I was going a little crazy trying to determine why my payload was always and empty string.
I havent tracked it in the code (nor am I going to spend time doing so right now) but there is no need to use it.
All the payload and information in lua modules can be extracted from the first param - context.
Heres a quick example for people having problems getting rpc to work:
local function my_test_rpc(context)

    local payload = context.query_params.payload
    local data = nk.json_decode(payload[1])
    print("data.name = ", data.name)
end

nk.register_rpc(my_test_rpc, "test_rpc")

To call it from the client I use something like this:
local json = require "nakama.util.json"
local myobj = { name = "David" }
local jsonbody = json.encode(myobj)
nakama.rpc_func2( self.nk_client, "test_rpc", jsonbody, nil, function(result)
    print("done")
end)

If you have any problems please let me know. The above is untested, but its very close to what Im using.

local data = nk.json_decode(payload[1])

Why do you expect a payload to be a list? It is only what you send in your RPC call - meaning, an entire JSON object.
Also, the payload is the second argument to any RPC function, you're not supposed to fetch it from the context, it's documented with an example here
Try this instead:
local function my_test_rpc(context, payload)
    local data = nk.json_decode(payload)
    print("data.name = ", data.name)
end

nk.register_rpc(my_test_rpc, "test_rpc")

Oh. soz. Thanks for the response.

Seems like this is solved? Closing.