[BUG] CUDARuntimeError on the Merlin Docker CI container

Describe the bug
I ran the Merlin Docker CI container with tag: latest. I get a CUDARuntimeError when I run pytest in the /nvtabular directory.
Steps/Code to reproduce bug
Here is a minimal, complete, verified example to reproduce this bug:

docker run --gpus '"device=0"' -it  nvcr.io/nvstaging/merlin/merlin_ci_runner:latest /bin/bash

cd /nvtabular/

pytest .

This produces a CUDARuntimeError: cudaErrorCompatNotSupportedOnDevice: forward compatibility was attempted on non supported HW error with the following traceback:

```ImportError while loading conftest '/nvtabular/tests/conftest.py'.
tests/conftest.py:31: in
    import cudf
/usr/local/lib/python3.8/dist-packages/cudf/__init__.py:4: in
    validate_setup()
/usr/local/lib/python3.8/dist-packages/cudf/utils/gpu_utils.py:63: in validate_setup
    raise e
/usr/local/lib/python3.8/dist-packages/cudf/utils/gpu_utils.py:60: in validate_setup
    gpus_count = getDeviceCount()
rmm/_cuda/gpu.pyx:134: in rmm._cuda.gpu.getDeviceCount
    ???
E   rmm._cuda.gpu.CUDARuntimeError: cudaErrorCompatNotSupportedOnDevice: forward compatibility was attempted on non supported HW
```

Expected behavior
The expected behavior is that pytest should be able to run all found tests in the nvtabular/ directory.
Environment details (please complete the following information):

Environment location: The Docker Merlin CI container with tag latest and image id 786aa04c3187

Method of NVTabular install: NVTabular was installed by the maintainers of the container image.

A minimal docker run command that reproduces this problem is:
docker run --gpus '"device=0"' -it  nvcr.io/nvstaging/merlin/merlin_ci_runner:latest /bin/bash
The docker pull command used to acquire this Docker image is:
docker pull nvcr.io/nvstaging/merlin/merlin_ci_runner:latest
Additional context
On the host OS, uname -a gives the following:
Linux nv-pc 4.15.0-156-generic #163-Ubuntu SMP Thu Aug 19 23:31:58 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
while nvidia-smi on the host OS gives:

```Fri Sep 24 11:12:47 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 207...  Off  | 00000000:09:00.0 Off |                  N/A |
|  0%   39C    P8    14W / 215W |      1MiB /  7982MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 1080    Off  | 00000000:42:00.0  On |                  N/A |
| 28%   37C    P8    10W / 180W |   1165MiB /  8118MiB |      3%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    1   N/A  N/A      1990      G   /usr/lib/xorg/Xorg                 18MiB |
|    1   N/A  N/A      2294      G   /usr/bin/gnome-shell               69MiB |
|    1   N/A  N/A      3201      G   /usr/lib/xorg/Xorg                395MiB |
|    1   N/A  N/A      3311      G   /usr/lib/firefox/firefox          645MiB |
|    1   N/A  N/A      3565      G   /usr/lib/firefox/firefox            1MiB |
|    1   N/A  N/A      3689      G   /usr/lib/firefox/firefox            1MiB |
|    1   N/A  N/A      3715      G   /usr/lib/firefox/firefox            1MiB |
|    1   N/A  N/A      7810      G   ...AAAAAAAAA= --shared-files       24MiB |
+-----------------------------------------------------------------------------+
</details>k

@lesnikow
This is probably to cudf not being compiled properly for all the architectures.
This change has just been merged: https://github.com/NVIDIA-Merlin/Merlin/pull/52 Merlin containers are being re-built right now and all should be working. If so, I will add the change to merlin_ci container and this problem should be solved.
I will keep you posted.

@albert17 Thank you, this is very good to know. In this case, let me do another docker pull to update this container image, and see if this will resolve this issue.


deps: Update protoc-gen-validate to 0.10.1

Additional Description:
Pick up recent changes to allow upgrade of protobuf to v22.x
Risk Level: Low
Testing: Unit tests
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

/retest


TypeError: h5py objects cannot be pickled

Hi~
When I set num_worker to a number greater than 0, the following error will appear. How to solve this problem? I know that num_worker=0 can run, but I want to further improve the running speed. Thank you very much！
[info] start training on task 0
Error executing job with overrides: []
Traceback (most recent call last):
  File "/home/a/Videos/bin/boot/LIBERO/libero/lifelong/main.py", line 223, in main
    s_fwd, l_fwd = algo.learn_one_task(
  File "/home/a/Videos/bin/boot/LIBERO/libero/lifelong/algos/base.py", line 175, in learn_one_task
    for (idx, data) in enumerate(train_dataloader):
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 439, in __iter__
    return self._get_iterator()
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 387, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1040, in __init__
    w.start()
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/home/a/anaconda3/envs/LIBERO/lib/python3.8/site-packages/h5py/_hl/base.py", line 368, in __getnewargs__
    raise TypeError("h5py objects cannot be pickled")
TypeError: h5py objects cannot be pickled

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Hi, could you please provide the full command to reproduce this error?

The following is the complete information when set num_worker>0 in .yaml file , so I have to set num_worker=0 to make it run which also causes training efficiency  lower as a side effect.
(LIBERO) lyf@Precision-7920-Tower:~/Videos/bin/boot/LIBERO/libero$ export CUDA_VISIBLE_DEVICES=0 && export MUJOCO_EGL_DEVICE_ID=0 && python lifelong/main.py seed=0 benchmark_name=libero_object policy=bc_rnn_policy lifelong=base
{ 'bddl_folder': None,
  'benchmark_name': 'libero_object',
  'data': { 'action_scale': 1.0,
            'affine_translate': 4,
            'data_modality': ['image', 'proprio'],
            'frame_stack': 1,
            'img_h': 128,
            'img_w': 128,
            'max_word_len': 25,
            'num_kp': 64,
            'obs': { 'modality': { 'depth': [],
                                   'low_dim': [ 'gripper_states',
                                                'joint_states'],
                                   'rgb': [ 'agentview_rgb',
                                            'eye_in_hand_rgb']}},
            'obs_key_mapping': { 'agentview_rgb': 'agentview_image',
                                 'eye_in_hand_rgb': 'robot0_eye_in_hand_image',
                                 'gripper_states': 'robot0_gripper_qpos',
                                 'joint_states': 'robot0_joint_pos'},
            'seq_len': 10,
            'shuffle_task': False,
            'state_dim': None,
            'task_group_size': 1,
            'task_order_index': 0,
            'train_dataset_ratio': 0.8,
            'use_ee': False,
            'use_eye_in_hand': True,
            'use_gripper': True,
            'use_joint': True},
  'device': 'cuda',
  'eval': { 'batch_size': 48,
            'eval': True,
            'eval_every': 5,
            'load_path': '',
            'max_steps': 600,
            'n_eval': 20,
            'num_procs': 20,
            'num_workers': 0,
            'save_sim_states': False,
            'use_mp': True},
  'folder': None,
  'init_states_folder': None,
  'lifelong': {'algo': 'Sequential'},
  'load_previous_model': False,
  'policy': { 'color_aug': { 'network': 'BatchWiseImgColorJitterAug',
                             'network_kwargs': { 'brightness': 0.3,
                                                 'contrast': 0.3,
                                                 'epsilon': 0.1,
                                                 'hue': 0.3,
                                                 'input_shape': None,
                                                 'saturation': 0.3}},
              'image_embed_size': 64,
              'image_encoder': { 'network': 'ResnetEncoder',
                                 'network_kwargs': { 'freeze': False,
                                                     'language_fusion': 'film',
                                                     'no_stride': False,
                                                     'pretrained': False,
                                                     'remove_layer_num': 4}},
              'language_encoder': { 'network': 'MLPEncoder',
                                    'network_kwargs': { 'hidden_size': 128,
                                                        'input_size': 768,
                                                        'num_layers': 1,
                                                        'output_size': 128}},
              'policy_head': { 'loss_kwargs': {'loss_coef': 1.0},
                               'network': 'GMMHead',
                               'network_kwargs': { 'activation': 'softplus',
                                                   'hidden_size': 1024,
                                                   'low_eval_noise': False,
                                                   'min_std': 0.0001,
                                                   'num_layers': 2,
                                                   'num_modes': 5}},
              'policy_type': 'BCRNNPolicy',
              'rnn_bidirectional': False,
              'rnn_dropout': 0.0,
              'rnn_hidden_size': 1024,
              'rnn_num_layers': 2,
              'text_embed_size': 32,
              'translation_aug': { 'network': 'TranslationAug',
                                   'network_kwargs': { 'input_shape': None,
                                                       'translation': 8}}},
  'pretrain': False,
  'pretrain_model_path': '',
  'seed': 0,
  'task_embedding_format': 'bert',
  'task_embedding_one_hot_offset': 1,
  'train': { 'batch_size': 48,
             'debug': False,
             'grad_clip': 100.0,
             'loss_scale': 1.0,
             'n_epochs': 50,
             'num_workers': 2,
             'optimizer': { 'kwargs': { 'betas': [0.9, 0.999],
                                        'lr': 0.0001,
                                        'weight_decay': 0.0001},
                            'name': 'torch.optim.AdamW'},
             'resume': False,
             'resume_path': '',
             'scheduler': { 'kwargs': {'eta_min': 1e-05, 'last_epoch': -1},
                            'name': 'torch.optim.lr_scheduler.CosineAnnealingLR'},
             'use_augmentation': True},
  'use_wandb': False,
  'wandb_project': 'lifelong learning'}
'Available algorithms:'
{ 'agem': <class 'libero.lifelong.algos.agem.AGEM'>,
  'er': <class 'libero.lifelong.algos.er.ER'>,
  'ewc': <class 'libero.lifelong.algos.ewc.EWC'>,
  'multitask': <class 'libero.lifelong.algos.multitask.Multitask'>,
  'packnet': <class 'libero.lifelong.algos.packnet.PackNet'>,
  'sequential': <class 'libero.lifelong.algos.base.Sequential'>,
  'singletask': <class 'libero.lifelong.algos.single_task.SingleTask'>}
'Available policies:'
{ 'bcrnnpolicy': <class 'libero.lifelong.models.bc_rnn_policy.BCRNNPolicy'>,
  'bctransformerpolicy': <class 'libero.lifelong.models.bc_transformer_policy.BCTransformerPolicy'>,
  'bcviltpolicy': <class 'libero.lifelong.models.bc_vilt_policy.BCViLTPolicy'>}
[info] using task orders [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

============= Initialized Observation Utils with Obs Spec =============

using obs modality: rgb with keys: ['eye_in_hand_rgb', 'agentview_rgb']
using obs modality: depth with keys: []
using obs modality: low_dim with keys: ['joint_states', 'gripper_states']
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 302.53it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_alphabet_soup_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 318.71it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_cream_cheese_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 312.77it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_salad_dressing_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 318.38it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_bbq_sauce_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 299.41it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_ketchup_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 314.74it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_tomato_sauce_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 304.23it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_butter_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 327.94it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_milk_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 295.45it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_chocolate_pudding_and_place_it_in_the_basket_demo.hdf5
SequenceDataset: loading dataset into memory...
100%|??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????| 50/50 [00:00<00:00, 326.11it/s]
/home/lyf/Videos/bin/boot/LIBERO/datasets/libero_object/pick_up_the_orange_juice_and_place_it_in_the_basket_demo.hdf5

=================== Lifelong Benchmark Information  ===================
 Name: libero_object
 # Tasks: 10
    - Task 1:
        pick up the alphabet soup and place it in the basket
    - Task 2:
        pick up the cream cheese and place it in the basket
    - Task 3:
        pick up the salad dressing and place it in the basket
    - Task 4:
        pick up the bbq sauce and place it in the basket
    - Task 5:
        pick up the ketchup and place it in the basket
    - Task 6:
        pick up the tomato sauce and place it in the basket
    - Task 7:
        pick up the butter and place it in the basket
    - Task 8:
        pick up the milk and place it in the basket
    - Task 9:
        pick up the chocolate pudding and place it in the basket
    - Task 10:
        pick up the orange juice and place it in the basket
 # demonstrations: (50) (50) (50) (50) (50) (50) (50) (50) (50) (50)
 # sequences: (7808) (7194) (6641) (7348) (8056) (7364) (7865) (7281) (7982) (6968)
=======================================================================

[info] start lifelong learning with algo Sequential
[info] policy has 13.5 GFLOPs and 19.1 MParams

[info] start training on task 0
Error executing job with overrides: ['seed=0', 'benchmark_name=libero_object', 'policy=bc_rnn_policy', 'lifelong=base']
Traceback (most recent call last):
  File "lifelong/main.py", line 223, in main
    s_fwd, l_fwd = algo.learn_one_task(
  File "/home/lyf/Videos/bin/boot/LIBERO/libero/lifelong/algos/base.py", line 175, in learn_one_task
    for (idx, data) in enumerate(train_dataloader):
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 439, in __iter__
    return self._get_iterator()
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 387, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1040, in __init__
    w.start()
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/home/lyf/anaconda3/envs/LIBERO/lib/python3.8/site-packages/h5py/_hl/base.py", line 368, in __getnewargs__
    raise TypeError("h5py objects cannot be pickled")
TypeError: h5py objects cannot be pickled

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Hi, I am also receiving this problem when I run:
export CUDA_VISIBLE_DEVICES=0 && export MUJOCO_EGL_DEVICE_ID=0 && python lifelong/main.py seed=0 benchmark_name=libero_90 policy=bc_rnn_policy lifelong=base

I receive this:
=================== Lifelong Benchmark Information  ===================
 Name: libero_90
 # Tasks: 90
    - Task 1:
        close the top drawer of the cabinet
    - Task 2:
        close the top drawer of the cabinet and put the black bowl on top of it
    - Task 3:
        put the black bowl in the top drawer of the cabinet
    - Task 4:
        put the butter at the back in the top drawer of the cabinet and close it
    - Task 5:
        put the butter at the front in the top drawer of the cabinet and close it
    - Task 6:
        put the chocolate pudding in the top drawer of the cabinet and close it
    - Task 7:
        open the bottom drawer of the cabinet
    - Task 8:
        open the top drawer of the cabinet
    - Task 9:
        open the top drawer of the cabinet and put the bowl in it
    - Task 10:
        put the black bowl on the plate
    - Task 11:
        put the black bowl on top of the cabinet
    - Task 12:
        open the top drawer of the cabinet
    - Task 13:
        put the black bowl at the back on the plate
    - Task 14:
        put the black bowl at the front on the plate
    - Task 15:
        put the middle black bowl on the plate
    - Task 16:
        put the middle black bowl on top of the cabinet
    - Task 17:
        stack the black bowl at the front on the black bowl in the middle
    - Task 18:
        stack the middle black bowl on the back black bowl
    - Task 19:
        put the frying pan on the stove
    - Task 20:
        put the moka pot on the stove
    - Task 21:
        turn on the stove
    - Task 22:
        turn on the stove and put the frying pan on it
    - Task 23:
        close the bottom drawer of the cabinet
    - Task 24:
        close the bottom drawer of the cabinet and open the top drawer
    - Task 25:
        put the black bowl in the bottom drawer of the cabinet
    - Task 26:
        put the black bowl on top of the cabinet
    - Task 27:
        put the wine bottle in the bottom drawer of the cabinet
    - Task 28:
        put the wine bottle on the wine rack
    - Task 29:
        close the top drawer of the cabinet
    - Task 30:
        put the black bowl in the top drawer of the cabinet
    - Task 31:
        put the black bowl on the plate
    - Task 32:
        put the black bowl on top of the cabinet
    - Task 33:
        put the ketchup in the top drawer of the cabinet
    - Task 34:
        close the microwave
    - Task 35:
        put the yellow and white mug to the front of the white mug
    - Task 36:
        open the microwave
    - Task 37:
        put the white bowl on the plate
    - Task 38:
        put the white bowl to the right of the plate
    - Task 39:
        put the right moka pot on the stove
    - Task 40:
        turn off the stove
    - Task 41:
        put the frying pan on the cabinet shelf
    - Task 42:
        put the frying pan on top of the cabinet
    - Task 43:
        put the frying pan under the cabinet shelf
    - Task 44:
        put the white bowl on top of the cabinet
    - Task 45:
        turn on the stove
    - Task 46:
        turn on the stove and put the frying pan on it
    - Task 47:
        pick up the alphabet soup and put it in the basket
    - Task 48:
        pick up the cream cheese box and put it in the basket
    - Task 49:
        pick up the ketchup and put it in the basket
    - Task 50:
        pick up the tomato sauce and put it in the basket
    - Task 51:
        pick up the alphabet soup and put it in the basket
    - Task 52:
        pick up the butter and put it in the basket
    - Task 53:
        pick up the milk and put it in the basket
    - Task 54:
        pick up the orange juice and put it in the basket
    - Task 55:
        pick up the tomato sauce and put it in the basket
    - Task 56:
        pick up the alphabet soup and put it in the tray
    - Task 57:
        pick up the butter and put it in the tray
    - Task 58:
        pick up the cream cheese and put it in the tray
    - Task 59:
        pick up the ketchup and put it in the tray
    - Task 60:
        pick up the tomato sauce and put it in the tray
    - Task 61:
        pick up the black bowl on the left and put it in the tray
    - Task 62:
        pick up the chocolate pudding and put it in the tray
    - Task 63:
        pick up the salad dressing and put it in the tray
    - Task 64:
        stack the left bowl on the right bowl and place them in the tray
    - Task 65:
        stack the right bowl on the left bowl and place them in the tray
    - Task 66:
        put the red mug on the left plate
    - Task 67:
        put the red mug on the right plate
    - Task 68:
        put the white mug on the left plate
    - Task 69:
        put the yellow and white mug on the right plate
    - Task 70:
        put the chocolate pudding to the left of the plate
    - Task 71:
        put the chocolate pudding to the right of the plate
    - Task 72:
        put the red mug on the plate
    - Task 73:
        put the white mug on the plate
    - Task 74:
        pick up the book and place it in the front compartment of the caddy
    - Task 75:
        pick up the book and place it in the left compartment of the caddy
    - Task 76:
        pick up the book and place it in the right compartment of the caddy
    - Task 77:
        pick up the yellow and white mug and place it to the right of the caddy
    - Task 78:
        pick up the book and place it in the back compartment of the caddy
    - Task 79:
        pick up the book and place it in the front compartment of the caddy
    - Task 80:
        pick up the book and place it in the left compartment of the caddy
    - Task 81:
        pick up the book and place it in the right compartment of the caddy
    - Task 82:
        pick up the book and place it in the front compartment of the caddy
    - Task 83:
        pick up the book and place it in the left compartment of the caddy
    - Task 84:
        pick up the book and place it in the right compartment of the caddy
    - Task 85:
        pick up the red mug and place it to the right of the caddy
    - Task 86:
        pick up the white mug and place it to the right of the caddy
    - Task 87:
        pick up the book in the middle and place it on the cabinet shelf
    - Task 88:
        pick up the book on the left and place it on top of the shelf
    - Task 89:
        pick up the book on the right and place it on the cabinet shelf
    - Task 90:
        pick up the book on the right and place it under the cabinet shelf
 # demonstrations: (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50) (50)
 # sequences: (3828) (10662) (6208) (9440) (9070) (8969) (7157) (4736) (10010) (6628) (6811) (3765) (5538) (6910) (5393) (6821) (6415) (5730) (9979) (7563) (4645) (14013) (5832) (11773) (6643) (7910) (6376) (12093) (3762) (6107) (6665) (7576) (10539) (10160) (6282) (7414) (9702) (6946) (10588) (8795) (9457) (9272) (8612) (7519) (5871) (13047) (6939) (7426) (8665) (8088) (7034) (6609) (5875) (8383) (5306) (6004) (5069) (7697) (7986) (5571) (6176) (7660) (5970) (10771) (11734) (7239) (7032) (5327) (5377) (6195) (4473) (6668) (7907) (8742) (7938) (7831) (6405) (7336) (7582) (6104) (7115) (8738) (7310) (6774) (5896) (5158) (8055) (8547) (5111) (5988)
=======================================================================

/home/raymond/anaconda3/envs/libero/lib/python3.8/site-packages/torch/functional.py:568: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at  ../aten/src/ATen/native/TensorShape.cpp:2228.)
  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
[info] start lifelong learning with algo Sequential
/home/raymond/anaconda3/envs/libero/lib/python3.8/site-packages/robomimic/utils/dataset.py:516: DeprecationWarning: `np.bool` is a deprecated alias for the builtin `bool`. To silence this warning, use `bool` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.bool_` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  pad_mask = pad_mask[:, None].astype(np.bool)
/home/raymond/anaconda3/envs/libero/lib/python3.8/site-packages/torch/nn/modules/rnn.py:761: UserWarning: RNN module weights are not part of single contiguous chunk of memory. This means they need to be compacted at every call, possibly greatly increasing memory usage. To compact weights again call flatten_parameters(). (Triggered internally at  ../aten/src/ATen/native/cudnn/RNN.cpp:926.)
  result = _VF.lstm(input, hx, self._flat_weights, self.bias, self.num_layers,
[info] policy has 13.5 GFLOPs and 19.1 MParams

[info] start training on task 0
Error executing job with overrides: ['seed=0', 'benchmark_name=libero_90', 'policy=bc_rnn_policy', 'lifelong=base']
Traceback (most recent call last):
  File "lifelong/main.py", line 219, in main
    s_fwd, l_fwd = algo.learn_one_task(
  File "/home/raymond/LIBERO/libero/lifelong/algos/base.py", line 175, in learn_one_task
    for (idx, data) in enumerate(train_dataloader):
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 363, in __iter__
    self._iterator = self._get_iterator()
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 314, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 927, in __init__
    w.start()
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/home/raymond/anaconda3/envs/libero/lib/python3.8/site-packages/h5py/_hl/base.py", line 370, in __getnewargs__
    raise TypeError("h5py objects cannot be pickled")
TypeError: h5py objects cannot be pickled

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Please let me know, thanks!

Hi @Cranial-XIX
Thanks for the interesting paper and releasing the code.
I am facing the same issue ("TypeError: h5py objects cannot be pickled") while running with num_worker=4. Although the code works with num_worker=0 with some additional transformation of image input in the policy file, The loss becomes negative after the first epoch for different algorithm. Consequently, the accuracy is 0.
Could you please comment on that.
Thanks

@Cranial-XIX Any solutions?

Tried all configurations of algo, policy, and benchmark and still got the same error.

Try adding these two lines to venv.py. This took me like two days to figure out, so I hope this helps!
if multiprocessing.get_start_method(allow_none=True) != "spawn":
multiprocessing.set_start_method("spawn", force=True)

@raymondyu5 Thanks for the response. Where should I exactly add these lines?
Btw, from my understanding, venv.py file is not used when running the training (libero/lifelong/main.py) which is what I want to do.

Hi @BrightMoonStar and @raymondyu5
Could you please comment on the following observation.
"The code works with num_worker=0, however the loss becomes negative after the first epoch for different algorithm. Consequently, succes and the AoC is 0."
Thanks for your response.

Hi!
I met the same problem.I set num_worker=0, but it didn't work for me. When i set:
num_worker=0
I received this:

ValueError: persistent_workers option needs num_workers > 0
How can i solve this error?Thank you very much.

你好@BrightMoonStar，@raymondyu5和@Cranial-XIX 您能否使用 ER 算法对以下观察进行评论。 “代码在 num_worker=0 的情况下有效，但是对于不同的算法，在第一个 epoch 之后损失变为负值。因此，成功且 AoC 为 0。” 感谢您的回复。

I meet the same problem

你好@BrightMoonStar，@raymondyu5和@Cranial-XIX 您能否使用 ER 算法对以下观察进行评论。 “代码在 num_worker=0 的情况下有效，但是对于不同的算法，在第一个 epoch 之后损失变为负值。因此，成功且 AoC 为 0。” 感谢您的回复。

Have you solved it？Thanks for your reply!

Dear all,
I faced the same issue. And I found here a solution: https://github.com/pytorch/pytorch/issues/11929 and https://discuss.pytorch.org/t/hdf5-multi-threaded-alternative/6189/9. They both mentioned we need to open the hdf5 file in __getitem__ method but not __init__ of the custom Dataset if using multi-processing dataloader. Thus, I modified directly on SequenceDataset from RoboMimic. However, the problem of "TypeError: h5py objects cannot be pickled" still exists. Have you solved this issue?
May I have your suggestions on this? @Cranial-XIX @zhuyifengzju
Thank you for your attention on this matter and for your precious time!!
Best regards,
Pengzhi

Hi! I met the same problem.I set num_worker=0, but it didn't work for me. How can i solve this error?Thank you very much.When i set: num_worker=0 I received this:

ValueError: persistent_workers option needs num_workers > 0

Hi, I commented two lines when creating the dataloader in base.py:
        train_dataloader = DataLoader(
            dataset,
            batch_size=self.cfg.train.batch_size,
            # num_workers=self.cfg.train.num_workers,
            sampler=RandomSampler(dataset),
            # persistent_workers=False,
        )

Hi, May I ask if you are using a Linux or Windows machine to run it?

Can you comment the
if multiprocessing.get_start_method(allow_none=True) != "spawn":
    multiprocessing.set_start_method("spawn", force=True)

From 270-271 in libero/lifelong/main.py and try again?

Thank you so much for your reply!
Your solution worked! However, if I comment out the two lines, the issue reappears (https://github.com/Lifelong-Robot-Learning/LIBERO/issues/3).
I would first try downgrading the Cuda/Driver version. Besides this method, may I have your suggestions on this?
Thank you so much again. Look forward to your reply!

Can you comment the
if multiprocessing.get_start_method(allow_none=True) != "spawn":
    multiprocessing.set_start_method("spawn", force=True)

From 270-271 in libero/lifelong/main.py and try again? Try keeping everything else the same as in the HEAD first. It works fine on my side.

I still get the same problem after adding the two lines. Do you know how to solve it?


Consider replacing futures_codec with tokio_util

futures_codec is unmaintained and pulls in outdated versions of bytes and pin-project https://deps.rs/crate/futures_codec/0.4.1
I propose that we swap futures_codec with tokio_util (I'm not sure of the exact history here but it seems one was copied into the other at some point because they have the same API)
futures_codec is async runtime agnostic, so if we planned to make docker-api async runtime agnostic as well then using tokio_util would be a misstep. But currently docker-api does use tokio making docker-api tokio specific.
I would be happy to provide a PR to perform this change (here and in container-api), but wanted to check in first to see if this was the right direction.

In general I agree that it will be beneficial to replace futures_codec because it's pulling older dependencies so I'm all for it. I'd like to keep the possibility to make docker-api runtime agnostic one day so maybe there is another solution to use an active fork of futures_codec -> asynchronous codec that provides the same functionality but has updated dependencies and so on.
If you'd like to take this on then please do.

asynchronous_codec sounds like the best way forward to.
It doesnt seem particularly maintained either, unlike tokio_util which continues to receive updates, but at the very least asynchrous_codec has bytes and pin-project on their 1.0 releases which I dont expect to need updating again any time soon.
I'll go ahead and make PRs for both projects


CASSANDRA-14572 Expose all table metrics in virtual tables [without annotation processor]

Thanks for sending a pull request! Here are some tips if you're new here:

Ensure you have added or run the appropriate tests for your PR.
Be sure to keep the PR description updated to reflect all changes.
Write your PR title to summarize what this PR proposes.
If possible, provide a concise example to reproduce the issue for a faster review.
Read our contributor guidelines
If you're making a documentation change, see our guide to documentation contribution

Commit messages should follow the following format:
<One sentence description, usually Jira title or CHANGES.txt summary>

<Optional lengthier description (context on patch)>

patch by <Authors>; reviewed by <Reviewers> for CASSANDRA-#####

Co-authored-by: Name1 <email1>
Co-authored-by: Name2 <email2>

The Cassandra Jira

Was incorrectly opened, the right PR is:
https://github.com/apache/cassandra/pull/3152


fix: respect the current theme by avoiding the color-scheme

If we use the dark or any variations of the theme in dark mode, this will happen:

But if we add color-scheme: none; we avoid having problems with the embedded iframe and their styles:

Thanks, but none isn't in the spec: https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme
I should've set it to normal as I did in the client script: https://github.com/giscus/giscus/blob/main/client.ts#L111


Wiki Markdown Syntax Not Helpful

https://github.com/tripit/slate/wiki/Markdown-Syntax
Possibly vandalized? Anyways, there doesn't seem to be a clear description of how things show up in the center vs the right, how the markdown syntax maps to special slate formatting, etc...

Yup, vandalism, thanks for the tip! I've hopefully fixed it and banned the spammers — if you or anybody else spots any vandalism, feel free to let me know at<EMAIL_ADDRESS>


Crash when exiting custom level - unknown if caused by mod

Geode Issue

[X] I confirm that this crash is NOT related to a mod but directly to Geode Loader itself.

Platform
Windows
Geode Version
v2.0.0-beta.12
Mods Installed
Only showing enabled mods, all mods are listed in the crash report
[v8.0.0-alpha.9] absolllute.megahack
[v1.1.0] adyagd.godlikefaces
[v1.0.1] alphalaneous.happy_textures
[v1.1.2] alphalaneous.projectedstars
[v1.0.5] bitz.customprofiles
[v1.0.2] blackholemx.nomoregames
[v1.1.2] capeling.demons_in_garage_2.2
[v1.1.1] capeling.icon_profile_2.2
[v1.0.1] colon.bumpscosity
[v4.0.0-alpha.9] cvolton.betterinfo
[v2.2.0] fleym.nongd
[v1.2.14] gdutilsdevs.gdutils
[v1.4.0] geode.devtools
[v2.0.0-beta.12] geode.loader
[v1.1.4] geode.node-ids
[v1.5.0] geode.texture-loader
[v1.0.4] hjfod.gdshare
[v1.0.1] hjfod.gmd-api
[v1.0.1] itzkiba.elegant_rankings
[v1.1.0] itzkiba.grandpa_demon
[v1.0.0] legowiifun.unlisted_objects_in_editor
[v1.1.3] mat.circle-tool
[v1.0.1] mat.draw-divide
[v1.0.2] mat.run-info
[v1.1.0] mat.scroll-zoom
[v1.0.3] n.level_pronouns
[v1.2.0-beta.3] org.dogotrigger.deathreplay
[v1.1.0] redlime.statchanges
[v1.2.0] sanes.daily-transfer
[v1.1.4] shineua.minecraft_splash
[v1.0.2] skyward.no_robtop_logo
[v2.2.0] techstudent10.discord_rich_presence
[v1.1.0] thesillydoggo.better_startpos_menu
[v1.0.0] thesillydoggo.entersearch
[v1.2.0] thesillydoggo.moretags
[v1.0.0] uproxide.geodedevelopers
[v1.0.0] weebify.coins_in_pause_menu
[v1.0.1] weebify.restartbtn
[v1.2.1] zilko.xdbot
Steps to Reproduce

Go to a custom level
After playing for a while, double-tap Esc to exit (with transitions off)
Your game crashes right after loading the level page

Crash Report
https://gist.github.com/ClaytonTDM/4007cfc768a6baab5a0c796b8875af11
Additional Information
It's unknown if this is caused by a mod, because the stack trace contains both mod and non-mod instances. I'm reporting this here just to be safe.
The issue doesn't happen 100% of the time, it seems to be random.

39 mods :ned:


add kpm pkg include and exclude

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y #306

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[ ] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

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

Hey @Peefy,
In kpm/pkg/package/toml_test.go, I'm not able to unmarshal the array of strings. Can you please help me on why it's not working? I tried converting the include array to a string and it's working fine for it.

cc @zong-zhe

@Peefy PTAL


Command injection vulnerability

When using pass-arguments-to-command you can inject arbitrary commands into the payload and they will be executed.
Hook definition:
- id: my_hook
  execute-command: "/my_script.sh"
  http-methods:
    - POST
  pass-arguments-to-command:
    - source: payload
      name: prefix

curl -d "prefix=dummy$(touch ~/my_test_file)" -X POST http://localhost:9000/hooks/my_hook

Running this curl command causes ~/my_test_file to be created.

You mentioned potential shell injection in the prefix parameter. To mitigate this risk, you can use regex to validate the prefix parameter. The webhook documentation provides a way to use regex for parameter validation, which can help ensure that the prefix parameter conforms to expected patterns and reduces the risk of injection attacks.
Using Regex to Validate the prefix Parameter
You can use the match regex rule to validate the prefix parameter in your webhook configuration. For example, if you want the prefix parameter to only contain alphanumeric characters, you can use the following configuration:
{
  "match": {
    "type": "regex",
    "regex": "^[a-zA-Z0-9]+$",
    "parameter": {
      "source": "payload",
      "name": "prefix"
    }
  }
}```

On further testing, I realized this probably isn't as serious as I thought - the $() injection was happening on my command line when issuing the curl command.  If I escape the $ so it is passed in the payload, it doesn't seem to get executed when the hook executes the script.  Per your suggestion, I've added regex rules to exclude payloads with special characters.


image list: add creation date

image list: add creation date
The OCI image spec defines the creation date annotation: https://github.com/opencontainers/image-spec/blob/main/annotations.md

org.opencontainers.image.created date and time on which the image was built, conforming to RFC 3339.

This patch ensures that the annotation is set with the same value for both amd64 and arm64.
Then, the date is printed in the image list command:
Note: the creation date will also be useful for the future Artifact Hub patch because the 'createdAt' field is mandatory in artifacthub-pkg.yml:
https://github.com/artifacthub/hub/blob/master/docs/metadata/artifacthub-pkg.yml
createdAt: The date this package was created (RFC3339 layout) (required)

How to use
$ sudo -E ig image list
INFO[0000] Experimental features enabled
REPOSITORY  TAG     DIGEST       CREATED
trace_dns   latest  d98eea3ede9e 2024-03-06T16:50:41+01:00

Testing done
go run -exec 'sudo -E' ./cmd/ig/... image build -t mytest:mytest2 gadgets/trace_dns/
go run -exec 'sudo -E' ./cmd/ig/... image list|grep mytest

I noticed if I pull the image and print it, I see an empty value:
Is that expected?

It depends if the image you pulled has the annotation with the creation date.

I noticed if I pull the image and print it, I see an empty value:
Is that expected?

It depends if the image you pulled has the annotation with the creation date.

Actually, there seems to be a bug there...

When pulling the image from the remote repository with pullGadgetImageToStore(), oras.Copy() does not return the annotations from the index but generate a new descriptor:
https://github.com/oras-project/oras-go/blob/main/registry/remote/repository.go#L1039-L1042
However, the annotations from the manifests are preserved. Two possible solutions:

When pulling, copy the annotations from the manifest to the index (/var/lib/ig/oci-store/index.json)
When listing the images (ig image list), read the annotations from the manifests (/var/lib/ig/oci-store/blobs/sha256/)

I tried to implement the first solution, but I didn't get it to work:

--- a/pkg/oci/oci.go
+++ b/pkg/oci/oci.go
@@ -165,11 +165,31 @@ func pullGadgetImageToStore(ctx context.Context, imageStore oras.Target, image s
                return nil, fmt.Errorf("copying to remote repository: %w", err)
        }

+       // oras.Copy() ignores annotations from the index. Retrieve annotations from manifest.
+       manifest, err := getManifestForHost(ctx, imageStore, targetImage.String())
+       if err != nil {
+               return nil, fmt.Errorf("reading manifest: %w", err)
+       }
+
+       desc.Annotations = manifest.Annotations
+
+       var manifestDesc ocispec.Descriptor
+       manifestBytes, err := getContentBytesFromDescriptor(ctx, repo, manifestDesc)
+       if err != nil {
+               return nil, fmt.Errorf("getting manifest from descriptor: %w", err)
+       }
+       repo.Push(ctx, desc, bytes.NewReader(manifestBytes))
+       err = repo.Tag(ctx, desc, targetImage.String())
+       if err != nil {
+               return nil, fmt.Errorf("tagging image with annotations: %w", err)
+       }
+
        imageDesc := &GadgetImageDesc{
                Repository: targetImage.Name(),
                Digest:     desc.Digest.String(),
-               Created:    getTimeFromAnnotations(desc.Annotations),
+               Created:    getTimeFromAnnotations(manifest.Annotations),
        }
+       fmt.Printf("Image %s:%s@%s created at %+v\n", imageDesc.Repository, imageDesc.Tag, imageDesc.Digest, imageDesc.Created)
        if ref, ok := targetImage.(reference.Tagged); ok {
                imageDesc.Tag = ref.Tag()
        }

The Printf prints the correct date, but it is not saved in /var/lib/ig/oci-store/index.json... (to be debugged?)

See also this long discussion https://github.com/oras-project/oras-go/issues/22#issuecomment-1223664264 about annotations in descriptor versus annotations in the manifest itself. IIUC, the discussion suggests we should not rely on the remote registry to keep the annotations in the index, but instead we should use the annotations in the manifest.
I suggest to merge this PR, and find a way to fix it in a follow-up PR. Wdyt?

I fixed it with solution 2.
It should work with pulled images too now.


fix: ensure next/font(s) are applied correctly

See issue discussed here --> https://github.com/jpmorganchase/salt-ds/issues/2162

We can probably close this with
https://github.com/jpmorganchase/mosaic/pull/631


Fixed LAEA projection y coordinate that resulted in NaN

Fixes #813.
Fixed LAEA projection y coordinate that resulted in n.def (fix was applied according to Proj.4 C library)

@pergerch Thanks for PR.
But, please read this [link] (https://github.com/DotSpatial/DotSpatial/blob/master/.github/CONTRIBUTING.md#requirements-for-a-pull-request) about pull requests.
Could you also include into PR:

Unit-test
Update CHANGELOG.md
Add yourself into CONTRIBUTORS.md

And also, could you point me to corresponding code in Proj.4?

@mogikanin I've applied your requested changes.
To fix this issue I have used the proj.4 c code in the master branch of the project under:
https://github.com/OSGeo/proj.4/blob/master/src/PJ_laea.c
line 130 and line 143

Thanks, Christoph! I've merged it into master branch.


utils: system_cpu_available inconsistent return type

system_cpu_available is declared as returning size_t but defined as returning int. This might result in UB, specifically the UB was triggered from iota_pow_flex in binary compiled for trinity on Windows.

Fixed in PR #1462.


Update project documentation

To make it more clear how to contribute or set up a local configuration of this project

Include an example openapi.json in the project for people to experiment with. Remove the hard-coded crime api json file when ready.

Duplicate issue


SmartGit - New Theme

What is SmartGit?
SmartGit is a Git GUI client with support for GitHub, BitBucket, GitLab pull requests and comments. SmartGit targets professional users.
How does it look?

Repository
https://github.com/IT-Hock/dracula-smartgit
Additional Note
There are some "bugs" in the theme, like the button text sometimes is unreadable because the foreground color is dark gray. I'm looking into a way to fix it.

Hey, that's very cool! ✨
I just sent you an invitation to join the organization.
I also cloned your repository for Dracula's organization, so you can go ahead and delete or archive yours:

Your repository.
New repository.

Thanks for building this! 🎉


FEAT-#6970: Implement to/from_ray_dataset functions

What do these changes do?

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.

[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #6970
[x] tests added and passing
[x] module layout described at docs/development/architecture.rst is up-to-date

@Retribution98, CI fails for the new functions? Can you take a look?

It looks like a Ray Dataset issue. We can submit this bug to them. To workaround the issue for now, I guess we could use a simpler data without a Datetime index for testing.

@anmyachev, any other comments?

It looks like a Ray Dataset issue. We can submit this bug to them. To workaround the issue for now, I guess we could use a simpler data without a Datetime index for testing.

Yes, I know about this problem because I caught it when I was testing this feature locally. This problem is not related to the use of the index, but to the use of an old version of Python from Ray, so I'm very surprised that the previous CI running passed.
In any case, this problem has already been fixed in the master branch of the Ray repository, so we can try installing ray from the nightly releases. I checked it works.

Could you point me out to the issue they resolved? I am kind of confused that it relates to the python version Ray uses.

Could you point me out to the issue they resolved? I am kind of confused that it relates to the python version Ray uses.

This problem was resolved here.

It seems we should xfail the test until a new release of Ray is off and then enable it.

I see, it was related to a new pandas but not python. Thanks!

The pandas version, of course, sorry for this misprint.


Custom title for approval Issue.

I suggest the ability to pass a full custom title. Right now it looks like this:
Manual approval required for workflow run<PHONE_NUMBER>: {issue-title}
I would also like complete control over the title if possible and feel this would be a useful feature.

I think commenting out this line will do the work.
Your title will then be whatever string you assign to issue-title in your yml.

Agreed this would be helpful.
As it is, the title is so long that it wraps after two additional words added to issue-title.
When several workflows are triggered in quick succession, the notifications are nearly useless to "glance" at, requires increased cognitive load to remove the noise.


Generate null-safe Kotlin code

Next step of #1692. Closes #1644.
Now we parse the Kotlin metadata and add a Nullable or NonNull annotation to each type based on that in kotlin_processor.dart. Not everything is covered because we simply don't support all Kotlin features.

I don't know why the golden test is failing. Cannot reproduce it on my machine.

coverage: 88.763% (-0.08%) from 88.844%
when pulling 89f3b6e12b6147172493421e56517c4b22d8e588 on kotlin-nullability
into 9ec7403db4c5d78203183032b5b7580628397c4d on main.


Replace MSDN DevLabs with Visual Studio Marketplace

Summary
It does not look like MSDN DevLabs still exists.
Fixes #Issue_Number (if available)

Actually I just noticed that there is a conflict here now and this was already fixed on a different PR. Closing.


ldap: add test for STARTTLS extended operation

Related PR in suricata main repo: https://github.com/OISF/suricata/pull/12119

Merged in #2142, thanks!


Use the full expanded path of passed Gemfile during eval_gemfile

fixes #4584

So if we're accidentally trying to support eval_gemfile we probably should restore @gemfile in an ensure?

Ah, as in there are things in the class that count on @gemfile being a non-absolute path?

No I mean after the nested gemfile is eval'd we're back in the original gemfile.

Ah, gotcha. Added that to the PR. Good call.

Added an integration spec covering the @gemfile restoration code change.

Yay! 👍
@homu r+

:pushpin: Commit b1d5c7d has been approved by segiddins

:zap: Test exempted - status


possible parser error if user-defined op or func starts with an internal operator name

v1.16.0
❯ zq -z 'func headfunc(): ( 1 ) headfunc()'
zq: could not invoke zq with a single argument because:
 - a file could not be found with the name "func headfunc(): ( 1..."
 - the argument could not be compiled as a valid Zed query:
   error parsing Zed at line 1, column 28:
   func headfunc(): ( 1 ) headfunc()
                          === ^ ===

❯ zq -z 'func _headfunc(): ( 1 ) _headfunc()'
1

❯ echo '{}' | zq -z 'op headop(): ( pass ) headop()' -
zq: error parsing Zed at line 1, column 27:
op headop(): ( pass ) headop()
                      === ^ ===

❯ echo '{}' | zq -z 'op _headop(): ( pass ) _headop()' -
{}

It seems the parser isn't grabbing the entire name of the user-defined op as one thing.

Verified in Zed commit f497079.
Repeating the user's original program, it now parses and produces the expected result regardless of its name.
$ zq -version
Version: v1.16.0-6-gf4970799

$ zq -z 'func headfunc(): ( 1 ) headfunc()'
1

Thanks @mattnibs!


Fix typo in CSSUtils.js

Description
seperated -> separated
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@eltociear i've merged your changes into https://github.com/brackets-cont/brackets


Enable backward compatibility in vault recovery for evm chains for undefined chain parameter in logs

Closed by merging PR: https://github.com/getsafle/safle-vault/pull/270


ISPN-7866 Remove metadata param from CacheEntry.commit()

https://issues.jboss.org/browse/ISPN-7866
Metadata should be simply updated using setMetadata() on the CacheEntry in context, instead of passing the instance down.

Looks good to me


Use channel radii in fm only, not dimensionless

Dimensionless channel radii may work for some energy ranges and fail spectacularly for others

On second thought, dimensionless is probably superior


Bugs backport from master to stable/aruba

What this PR does / why we need it:
Since the release of Aruba version, we have found some new bugs that have been fixed in the master branch. We believe that these bugs should be merged into the stable/aruba branch so that users can better use the OpenSDS Aruba version. These bugs includes:

Fix volume re-use in replication check.
Fix some replication error.
Fix some dashboard error.
Update READEME.md to show aruba release version.
Update aruba poc plan document.

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Coverage decreased (-0.1%) to 43.778% when pulling 187b21877d3bf9fb5e6b0f0fcb789c2bdd507b28 on wisererik:stable/aruba into 8e4865fa4377e95957b81ea953c3b268255e8b95 on opensds:stable/aruba.


"object not found" error in object.Change#Files() when To is a submodule

Discovered after updating to the latest version of gopkg.in/src-d/go-git.v4
I use object#DiffTree() and step through the changes, unconditionally calling change.Files() for each. When I come across the addition of a submodule, I get the aforementioned error, when before I would not.
Does it make more sense for File() to return nil instead for these cases? Presumably there's a similar issue with the From side as well.

Thanks for reporting this issue.
I have been able to reproduce the problem and I can confirm it also happens in the From side as well.
The cause of the problem is that change.Files() assumes that change.To and change.From are files, but as you pointed out, this is not true in some cases; they can also refer to:

A FileMode.Submodule.
A FileMode.Symlink.
In theory, to a FileMode.Directory, but our difftree algorithm does not issue changes for directories.

This means not all the hashes in the change.To and change.From will reference blobs (or even file contents) in the storage.  For symlinks we should return the content of the symlink, not the file it is linking to.

Does it make more sense for File() to return nil instead for these cases?

Yes, It totally makes sense.  The current behaviour (returning a "not found error") is wrong.
We are going to fix this, but I don't know when. In any case, in the meanwhile, we will happily accept PRs.


Adjust Email Delivery Time for New Engagement Publications

Issue #: https://github.com/bcgov/met-public/issues/2205
Description of changes:
Adjust Email Delivery Time for New Engagement Publications to be PT time zone instead of UTC
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #2267 (4bdb1f2) into main (354fc46) will increase coverage by 0.00%.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##             main    #2267   +/-   ##
=======================================
  Coverage   68.47%   68.48%
=======================================
  Files         472      472
  Lines       15602    15603    +1
  Branches     1191     1191
=======================================
+ Hits        10684    10685    +1
  Misses       4712     4712
  Partials      206      206

Flag
Coverage Δ

metapi
76.48% <50.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

met-api/src/met_api/models/email_queue.py
79.16% <50.00%> (+0.90%)
:arrow_up:


Rogue Dispelling Attack DC fix not working

My loremaster gained Dispelling Attack seems to have a CL of 1 (with Spell Focus Abjuration) when this option is checked.  When the option is unchecked, my L10 character has a CL of 10, which is not including Spell Focus, and I assume what this option is supposed to fix?

What classes do you have?
On Wed, Sep 11, 2024, 15:44 Talik Eichinger @.***>
wrote:

My loremaster gained Dispelling Attack seems to have a CL of 1 (with Spell
Focus Abjuration) when this option is checked. When the option is
unchecked, my L10 character has a CL of 10, which is not including Spell
Focus, and I assume what this option is supposed to fix?
—
Reply to this email directly, view it on GitHub
https://github.com/Vek17/TabletopTweaks-Base/issues/738, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWSQPH567FPWDXVTCVRZRLZWCTSLAVCNFSM6AAAAABOBYNNZOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGUZDANZTGAYTAMI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Sword Saint 7, Scaled Fist 1, Vivi 1, Loremaster 1.
I also had this happen with my MC, who at the time I believe was Seeker/Dual Cursed Oracle 6, Scaled Fist/Quartermaster 1, Paladin 1, Vivi 1, Loremaster 1

Ah, TTT dc changes make the check scale with rogue (or rogue like things
like vivisectionist) level not character level.
On Wed, Sep 11, 2024, 16:06 Talik Eichinger @.***>
wrote:

Sword Saint 7, Scaled Fist 1, Vivi 1, Loremaster 1.
I also had this happen with my MC, who at the time I believe was
Seeker/Dual Cursed Oracle 6, Scaled Fist/Quartermaster 1, Paladin 1, Vivi
1, Loremaster 1
—
Reply to this email directly, view it on GitHub
https://github.com/Vek17/TabletopTweaks-Base/issues/738#issuecomment-2344701132,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWSQPFKYHW5EYXTCRUQW43ZWCWD5AVCNFSM6AAAAABOBYNNZOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBUG4YDCMJTGI
.
You are receiving this because you commented.Message ID:
@.***>

Ah. Might want to update the description for that.
It doesn't really make sense for the skill when gained by a Loremaster level, though, since Loremaster is all about being able to get abilities without the base class.  That would sort of be like taking a wizard spell on a cleric, and having it calculate the caster level when casting based on non-existent wizard levels.
Maybe in the case of a Loremaster, it should just use your caster level for whatever class you chose for LM?

Or maybe just break the DC change and ignoring debuff change into two separate checkboxes.


Determine guidelines for template inclusion

How do we determine whether a template should be included in this repo?
I don't really want to end up with a huge pile of templates to maintain, where there's an incentive for library authors to add templates in order to make their package more discoverable.  In other words, ideally the boilerplate code should be stuff that people will want to modify, rather than just delete.  A template should consist of boilerplate which is useful for many projects.

Of all the times I've created a new haskell project using stack, I don't think I've ever wanted to reach for a template other than simple or new-template, even in the cases where I planned on using a library that a template existed for. I'd rather work from a blank slate and add exactly what I need than initialize a template project that has a lot of cruft I'm going to delete immediately. I suspect I'm not alone in this.
I share your concern that as time goes on this repository is growing into a massive pile of mostly-unused templates that are more trouble and time to maintain than it's worth.
Granted, it can be a nice way to get up and running with a library quickly, but as you mention there needs to be somewhere to draw the line.
To be honest, I wouldn't mind seeing this repository shrink or even go away in favor of something similar to rust's cargo new which has two templates to choose from: library or binary application.

@narrative I'm in favor of what narrative is saying, but I'd be happier if it came with the inclusion of the ability to point at a sub-path in an arbitrary git repo so that people don't have to make other git repos for a template that's relevant to a particular project. Ideally projects like yesod et al. could just have a sub-directory named stack-templates/ and users could point at one located therein when starting a new project.

Yeah, I also rarely use anything but the simple template.
It'd be nice to be able to collect stats so that we know what, but that's even more complexity!  Such a feedback mechanism could be quite useful in general, though.
I think the real power tool we want is something that can systemically refactor cabal / stack / hs files.  Then you could init a project with a barebones template, and say something like stack instantiate hspec to get an hspec test-suite.  This would be much better than anticipating the needs of the project upfront and picking a template.

Reading this discussion, by now, I'm convinced that only having a few very simple, bare templates has huge benefits. I was working on #52, but now I'm not even sure, I still want it as a template.
(Somewhat off-topic:) But what I would love to see is this: a place for example projects with a very lax inclusion policy. Where people can actually add examples for how to combine several libraries. E.g. how to combine servant and heist; or scotty and persistent; etc.. This could just be a collection of links to github repos, of course. I thought about having something like this inside the haskell-servant github organization, but I don't want this to be servant-specific. Does something like this exist already?

So, ignore me if this is crazy talk, but what about allowing libraries to include their own stack templates? That way the library maintainer is the maintainer of the templates as well. You could perhaps search for a stackTemplates/ directory inside of each project that is already installed and run it from there. It does add some overhead for searching, but it could be cached whenever a project is installed. I don't know if there's any infrastructure in place for this, though.

@lethjakman That's a cool idea!  I'd like to have a general mechanism for projects to provide development-tool oriented files.  A few examples:

Package specific hspec rules
Specification of refactorings needed in order to update to a new library version
This example, templates included with packages

Returning to this idea, I really like @lethjakman 's idea.  We could even allow hackage packages that existed entirely for the sake of providing templates.
I am returning to this topic due to the idea of having stack templates for standalone scripts - https://github.com/commercialhaskell/stack/issues/2677

@lethjakman I have fleshed out a concrete proposal based on your idea: https://github.com/commercialhaskell/stack/issues/2681

It would be nice if the templates were scriptable. Then one could start out with a base template, then apply template modifications advised by packages and as last step apply user defined modifications. I also like this to apply not just with stack new but also when stack detects that you have included a new package in your cabal/hpack file. As for scripting language / build tool .. i have no idea what would work here.

I am going to close this issue given (a) the passage of time since the last contribution to the discussion and (b) in the interim,  the repository has announced that it is not accepting new templates.


undefined symbol: gtk_stack_sidebar_get_type

./main: symbol lookup error: ./main: undefined symbol: gtk_stack_sidebar_get_type
After build with the command go build main.go and create the executable, I transfer it to another computer and throw that error at me.

Did you check the gtk version on that computer?
gtk_stack_sidebar_get_type seems to have been added with gtk 3.16, maybe you have an earlier version?

Versión 3.22.25-0ubuntu0.1
El 03/03/2018 09:43, "Oliver Kahrmann"<EMAIL_ADDRESS>escribió:

Did you check the gtk version on that computer?
gtk_stack_sidebar_get_type seems to have been added with gtk 3.16, maybe
you have an earlier version?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/gotk3/gotk3/issues/247#issuecomment-370148424, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJ4TDwla0j14Bw-nledX-Ky1LFLhdRstks5tap3mgaJpZM4SW4tQ
.

@jeancarlos1111  have you now this bug with you actual software versions?

There was no reaction now. However, the error message appears to be that the target computer does not have the same GTK version installed. The execution file is built against certain versions of the libs, and it will run with those.


Update README to reflect new cloud project

On installing, it now says "Jupyter Drive wants access..." not "coLaboratory wants access...".  README should be updated to reflect this.

assigning to @Carreau because I don't know how to make such nice screen shots.

Done in #53


Check mark on add students csv after success

maybe not necessary now because it navigates to instrument selection?


nimble-progress-bar Component

😯 Problem to Solve
Need to create a new Nimble component to display progress. This was requested by the following teams but could also be useful in other places

the Transportation BU (screenshot below; contact Jonathan Meyer or Deborah Bryant for more info)
the Outlier Detection app (trying to replicate some UIs in O+ desktop Portal; contact Andrew Dove)

💁 Proposed Solution

FAST component: https://explore.fast.design/components/fast-progress
Visual Design: not requested yet

Requirements/features

determinate vs indeterminate
different fill colors to reflect different statuses

📋 Tasks

[ ] nimble-progress-bar spec
[ ] nimble-progress-bar custom element
[ ] nimble-progress-bar unit tests
[ ] nimble-progress-bar Storybook tests
[ ] nimble-progress-bar Storybook docs
[ ] nimble-progress-bar Angular wrapper
[ ] Add to Angular example app
[ ] Update Component Status table in README

Example use case from a BTS PR that @atmgrifter00 brought to light.
Some commentary:

we probably don't want our progress bar to be orange
we should discuss whether showing the progress percentage as text is useful or not. If we show it, I don't think it should have as many digits of precision as this gif
if it's possible to give generic guidance about showing / hiding / reserving space for the progress bar before the operation has started, that would be nice to do. To me it's weird to show 0% complete for an operation that hasn't even been initiated yet

Example use case in an SLE data spaces HLD. They only need indeterminate progress so I've asked for clarification why the existing spinner component is insufficient.


For managed identity authentication, replace --username with --client-id, --object-id and --resource-id

Related command
az login --identity
Is your feature request related to a problem? Please describe.
As mentioned in https://github.com/AzureAD/microsoft-authentication-library-for-python/pull/480#discussion_r1143912420, Azure CLI does not surface an "identity ID type" concept, therefore the usage pattern is based on trial-and-error:
https://github.com/Azure/azure-cli/blob/235c3554b7d79d33544c70dee12d66154abe74a9/src/azure-cli-core/azure/cli/core/_profile.py#L229-L253
Reusing --username for 3 types of IDs is inefficient and can be confusing to command readers (https://github.com/Azure/azure-cli/pull/29198#discussion_r1645196423).
Describe the solution you'd like
Replace --username with --client-id, --object-id and --resource-id for managed identity authentication.
Describe alternatives you've considered

Additional context
--service-principal may require similar changes.

Thank you for opening this issue, we will look into it.

Azure PowerShell cmdlet Connect-AzAccount only supports client ID and Resource ID. Object ID is not supported: https://learn.microsoft.com/en-us/powershell/module/az.accounts/connect-azaccount?view=azps-12.1.0#-accountid


Default Tunings

As Requested,
Please put the preset titles as well as the notes in the same sub file to make adjustments a bit easier.
Me and Sergio designed and allocated  those presets, so my fault not John's , however the C drone is low and the trompette often C3 too but the G trompette is higher, dunno why.
Ideally the goto tuning ie no 1 should be  the G Gg G one, it's the most versatile for beginners , while in G/C tuning  C Gg C is ore "traditional" it's restricted to only being ab le to play in C, where the all G one lets you play in G or C without having to tune.
designating the tunings in the same sequence they are as you look down it's Trompette, Chanter Low, Chanter Hi, Drone ie C Gg C
just easier to visualise that way..
So keep the same 4 just alter to this perhaps, so the two unison tunings are first in each ??
1;  G Gg G
2; C Gg C
3; D Dd D
4; G Dd G

I'm pushing this past v1.0 for now.

Are you saying what I have as the presets aren't the correct presets that you and Sergio designed?  If so, could you (either here or in a branch/pull-request let me know what they should be and the order you'd like them suggested in?
Changing the tuning sequence would be a nontrivial change, as there's several menu screens, menu sequences, and displays that use this order.  There's also the MIDI channels themselves... I think these should all match.  I'm down for changing the order, but I'd want to change more than just the presets at the same time.  I sorta like having the reverse of what you propose: Drone, Chanter hi, Chanter low, Trompette.  On the display itself the drone is at the "top" from your perspective looking down at it so this would line up with the layout of a gurdy you're holding versus looking at from the third-person.  Plus, the high chanter is the one pegged to the note being displayed (is that what it should be?), and I think the chanter that corresponds with the displayed note should be listed first just on principle.

Happy with current preset choices at ver0991,if anyone needs something more complex then the advanced tuning options along with transpose are fine....but let me think on it, and I'll also discuss it with Sergio.

Finally got around to this one.  See the above commit, v1.1.6.  This builds fine, but I'm packing it in with another change before I call it v1.2 and merge it back into the major testing branch.
Each PRESET# needs to have a PRESET#_NAME that goes with it.  Max size is up to you to follow, but I noted it in the default_tunings.h comments for reference.
Also flip-flopped choice 1 and 2 per your suggestion.
I'm going to convert this issue to a discussion now that the main request is completed.  I want to keep it around if/when I revisit changing the string display order all-around.


v8 : file attribute getValue() on null

I created a select attribute for files. When editing the attribute of a file. An error occurs. After this I have created a clean install to check if this is a bug. The problem also happens with the default file attributes (like duration). The value of attribute are visible when the properties of the files are opened again.

add file to file manager (jpeg)
select file
via dropdown select properties
Edit attribute value

{"error":{"type":"Whoops\Exception\ErrorException","message":"Call to a member function getValue() on null","file":"/htdocs/sites/testing/concrete8clean/concrete/controllers/Dialog/File/Properties.php","line":76,"trace":[{"file":"/htdocs/sites/testing/concrete8clean/concrete/controllers/Dialog/File/Properties.php","line":76,"function":null,"class":null,"args":[]}]},"errors":["Call to a member function getValue() on null"]}

Thanks; this has already been fixed: https://github.com/concrete5/concrete5/issues/3980


Stylus support is broken

After I updated Volar to v1.0, completion for Stylus in Vue SFC became broken (Similar to #1027).
It seems that Volar 1.0 requires a new plugin (like "@volar/vue-language-plugin-pug") for Stylus.
Would you kindly make it?

We have never support Stylus intellisense, Vetur support it a bit, I guess you disabled Vetur so loss Stylus intellisense.
Support Stylus by migrate Vetur Stylus supports code to https://github.com/johnsoncodehk/volar-plugins is possible, but I have no plan to do for now, and PR is welcome.

In #29, you said "supported in 0.21.18."
And I did enjoyed functional Stylus support before (not using Vetur, but Volar of version < 1.0).
I thought you made it. No?
Anyway, I still hope you do the favor. Because,

You suggested a reasonable and universal way to support lang like Stylus. I think that would be ideal.
I don't know if I can be capable of making a good one. If it is a considerble trouble for you, who seems knows well about how to do, it would be far more trouble for me...
Even if I managed to do that, and I published my plugin, it would be not easy for people to find it.
I am busy working. Meanwhile, the built-in emmet extension of VS Code partly helps. So I'd rather tolerate it for now.

Perhaps I remember wrong. It was in .style file that Stylus intellisense worked.

You can open a feature request in https://github.com/johnsoncodehk/volar-plugins.


Fix unit tests testSlowConnection and testBadSetup failed in TestRPC

Description of PR
Fix unit tests testSlowConnection and testBadSetup failed in TestRPC.
When we invoke testSlowConnection or testBadSetup individually.  we will get below exception result:
java.lang.ClassCastException: org.apache.hadoop.ipc.protobuf.TestProtos$EmptyRequestProto cannot be cast to com.google.protobuf.Message

	at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:247)
	at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:132)
	at com.sun.proxy.$Proxy21.ping(Unknown Source)
	at org.apache.hadoop.ipc.TestRPC.testSlowConnection(TestRPC.java:1055)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299)
	at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.lang.Thread.run(Thread.java:750)

How to re-produce ?
We run testSlowConnection or testBadSetup individually.

@Hexiaoqiao @zhangshuyan0 @haiyang1987 Hi, sir. could you please help me review this minor modification when you have free time? Thanks a lot.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
6m 37s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 41s

trunk passed

+1 :green_heart:
compile
8m 40s

trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2

+1 :green_heart:
compile
8m  3s

trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

+1 :green_heart:
checkstyle
0m 37s

trunk passed

+1 :green_heart:
mvnsite
0m 55s

trunk passed

+1 :green_heart:
javadoc
0m 44s

trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2

+1 :green_heart:
javadoc
0m 30s

trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

+1 :green_heart:
spotbugs
1m 28s

trunk passed

+1 :green_heart:
shadedclient
21m 19s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 30s

the patch passed

+1 :green_heart:
compile
8m 25s

the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2

+1 :green_heart:
javac
8m 25s

the patch passed

+1 :green_heart:
compile
7m 56s

the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

+1 :green_heart:
javac
7m 56s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 37s

the patch passed

+1 :green_heart:
mvnsite
0m 50s

the patch passed

+1 :green_heart:
javadoc
0m 36s

the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2

+1 :green_heart:
javadoc
0m 34s

the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

+1 :green_heart:
spotbugs
1m 33s

the patch passed

+1 :green_heart:
shadedclient
21m 11s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
16m 40s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 35s

The patch does not generate ASF License warnings.

141m 25s

Subsystem
Report/Notes

Docker
ClientAPI=1.44 ServerAPI=1.44 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6912/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/6912

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux bfec020e558c 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / f99c8aa531fafcb30401aa96009c4523cc1fbe48

Default Java
Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6912/1/testReport/

Max. process+thread count
1284 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6912/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

How are they passing in our CI https://ci-hadoop.apache.org/view/Hadoop/job/hadoop-qbt-trunk-java8-linux-x86_64/1628/testReport/org.apache.hadoop.ipc/TestRPC/testSlowConnection/
https://ci-hadoop.apache.org/view/Hadoop/job/hadoop-qbt-trunk-java8-linux-x86_64/1628/testReport/org.apache.hadoop.ipc/TestRPC/testBadSetup/

@ayushtkn Sir, because they were executed after another tests in the same Class.  At that time, the RpcEngine map have been initalized, that is ProtobufRpcEngine2 was already in map.

Makes sense, Change LGTM. Can you create a JIRA in HDFS & prefix the jira id in the PR title.

OK，Sir, I will change it.

Makes sense, Change LGTM. Can you create a JIRA in HDFS & prefix the jira id in the PR title.

Fixed.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 19s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 10s

trunk passed

+1 :green_heart:
compile
8m 59s

trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2

+1 :green_heart:
compile
8m  0s

trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

+1 :green_heart:
checkstyle
0m 40s

trunk passed

+1 :green_heart:
mvnsite
0m 56s

trunk passed

+1 :green_heart:
javadoc
0m 42s

trunk passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2

+1 :green_heart:
javadoc
0m 30s

trunk passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

+1 :green_heart:
spotbugs
1m 24s

trunk passed

+1 :green_heart:
shadedclient
20m 53s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 28s

the patch passed

+1 :green_heart:
compile
8m 19s

the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2

+1 :green_heart:
javac
8m 19s

the patch passed

+1 :green_heart:
compile
8m  0s

the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

+1 :green_heart:
javac
8m  0s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 35s

the patch passed

+1 :green_heart:
mvnsite
0m 51s

the patch passed

+1 :green_heart:
javadoc
0m 37s

the patch passed with JDK Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2

+1 :green_heart:
javadoc
0m 31s

the patch passed with JDK Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

+1 :green_heart:
spotbugs
1m 30s

the patch passed

+1 :green_heart:
shadedclient
21m  0s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
16m 39s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 36s

The patch does not generate ASF License warnings.

134m  0s

Subsystem
Report/Notes

Docker
ClientAPI=1.44 ServerAPI=1.44 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6912/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/6912

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux e91a2f4654a1 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 5cef1101f68b14d7db80cb593370804ca132485f

Default Java
Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.23+9-post-Ubuntu-1ubuntu120.04.2 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_412-8u412-ga-1~20.04.1-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6912/2/testReport/

Max. process+thread count
3152 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6912/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


helm template is unable upgrade deployment apiVersion to apps/v1

Output of helm version:
Client: &version.Version{SemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"}
Output of kubectl version:
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:50Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.):  Openstack private cloud
Using helm template I've been creating releases no problem for a long time with my deployment hard-coded to apiVersion of extensions/v1beta1.
I updated my template to change it to apps/v1 in preparation for kube 1.16.0 later this year.
I use helm upgrade --install when I create releases.
The deployment still ends up having extension/v1beta1
helm template produces the output with apps/v1
after helm -upgrade --install   (with or without helm delete --purge beforehand) the helm get manifest shows apps/v1 for the deployment.
however when you look at the deployment it remains apiVersion of extenstions/v1beta1
Any other changes in my values file or in the template itself works fine.
I have an annotation that creates a uuid which forces pods to roll no matter what for every upgrade even if no changes to the manifest.  However the deployment value apiVersion remains at extensions/v1beta1 no matter what.
I even dumped the existing deployment yaml, edited the apiVersion to apps/v1 and applied it using kubectl apply -f.  this was successfully applied but when I get the deployment yaml again, the version remains extenstions/v1beta1
I suppose this last bit might prove it not to be a helm issue but rather a kubernetes....

Just ran into this issue today...
I'm trying to update all workloads to the most recent apiVersion as a prep to upgrade the cluster to k8s 1.16.
I've updated my charts to reflect the new apiVersion, but a helm upgrade --install updates all other fields from the Deployment object, except the apiVersion.
One option is to delete the helm release entirely and reinstall it, but this would hightly undesirable, most likely not acceptable, in a Production environment.

Yes, can confirm this bug. Steps to reproduce

Have a v1.15.x kubernetes cluster
Have Helm v2.14.3
Run these commands

$ helm create chart
$ # change apiVersion in deployment template to extensions/v1beta1
$ vi dummy/templates/deployment.yaml
$ helm upgrade --install dummy chart
$ # check apiVersion of deployment cluster and it will be extensions/v1beta1
$ kubectl get deploy dummy-chart -o yaml | grep apiVersion
$ # Now change apiVersion of deployment to apps/v1
$ vi dummy/templates/deployment.yaml
$ helm upgrade --install dummy chart
$ # check apiVersion of deployment in cluster and it will still be extensions/v1beta1
$ kubectl get deploy dummy-chart -o yaml | grep apiVersion

Off the top of my head, I'm pretty sure this has to do with Kubernetes and version updates. Kubernetes will not upgrade the apiVersion of an object even if you provide it with a newer apiVersion. From Kubernetes' point of view, upgrading the apiVersion is a breaking change, which means you must delete and recreate the resource to upgrade over to a newer apiVersion.
In other words, this is something out of Helm's control, and your only course of action in this case is to helm delete and re-install if you want to use the newer apiVersion.
If someone else finds a path forward where we can upgrade apiVersions server-side without destructive behaviour, PRs/suggestions are more than welcome to address this issue.

Marking this as question/support because it's not a bug, but an intended "feature" of Kubernetes. :)

@bacongobbler that's true. I still would like to know if there are ways to upgrade without downtime - with or without changes in helm code, may be helm could be used to help with the upgrade process and then this can be documented or written as a blog I guess

Thank you all for clarifying.
I'm interested to know is there are any command line switches to helm that will force the delete and recreation of the objects.
Is helm delete my only option at this point?

You could try performing a kubectl delete on the deployment then helm upgrade. Still destructive, but at least it's just the deployment object.

I am still not able to force the deployment to apps/v1 even after deleting with --purge.
The pods come up with apps/v1 but the deployment still shows extensions/v1beta1.
I am using secrets for helm to store its config, I verified there were none related to my deployment after deleting --purge my deployment.
I hard coded the deployment.yaml (via template) to apps/v1 and after releasing the pods are fine and show apps/v1 but the deployment still shows extenstions/v1beta1  how can this be, there is no mention of extensions/v1beta1 in my resource yaml's.  Also the replicaset is extensions/v1beta1 but it has an "ownerReference" that shows apiVersion: apps/v1.
What am I missing to delete to make the new deployment 100% apps/v1?

Also, confirming, this does not appear to be a helm issue.
The underlying k8s api seems to ignore or wrongly show the Deployment apiVersion all by itself.
To reproduce, issue the following under a bash terminal:
echo '
apiVersion: apps/v1
kind: Deployment
metadata:
  name: testing
spec:
  selector:
    matchLabels:
      app.kubernetes.io/instance: testing
      app.kubernetes.io/name: testing
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/instance: testing
        app.kubernetes.io/name: testing
    spec:
      containers:
      - image: nginx
        name: testing
        resources:
          limits:
            cpu: 1
            memory: 256Mi
          requests:
            cpu: 30m
            memory: 32Mi
' | kubectl apply -f -

kubectl get deploy testing -oyaml | grep apiVersion

I was about to open an issue at https://github.com/kubernetes/kubernetes, but they already closed a similar issue with the same problem.
https://github.com/kubernetes/kubernetes/issues/62283
kubectl get uses server-preferred order, which will prefer the extensions API group for backward compatibility, until extensions is removed. That is to say, kubectl get deployment uses extenions/v1beta1 endpoint by default.

To get deployments under apps API group, you can use kubectl get deployment.apps, which returns you apps/v1 deployments.
Note that the API version used to create deployments does not affect what API version you get from kubectl. The differences between API versions are things like default values and field names. Because API versions are round-trippable, you can safely get the same deployment object with different API version endpoints.
Closing because it's not a bug.

Safe to say, the k8s API is showing extensions/v1beta1 as default giving API clients a chance to migrate without breaking compatibility.
The apiVersion returned to kubectl does not necessarily reflect the apiVersion used to create the object and you can view the actual apiVersion of the object using kubectl get deployments.apps.

I'm closing this as its intended behavior and kube related more than helm.

Is there a workaround that I can use to upgrade everything I currently have in helm without using helm --purge first? I understand that this is expected behavior from kubernetes, but I really think this should be handled more gracefully.

Not that we've discovered, no. There's a discussion in https://github.com/helm/helm/issues/7219#issuecomment-565509416 if you'd like to follow that.

have the same issue it does not make sense to have downtime because of internal k8s / helm issues.

Hi
I have the same issue, my current release is with apiVersion: extensions/v1beta1 ,
and I want to upgrade to apiVersion: apps:/v1,
I want to do it without downtime, is it possible?
Thanks

@achisolomon @ofiryy You will find details on the issue and how to fix it in the following docs:
Helm 3: https://helm.sh/docs/topics/kubernetes_apis/
Helm 2: https://github.com/helm/helm/blob/dev-v2/docs/kubernetes_apis.md

FYI the steps outlined in https://github.com/helm/helm/issues/7219#issuecomment-567256858 is a work around for this for future people running up against this.


Fix issue where text on the context menu is white

Summary

Fix issue #220
Change font colour for the context menu

Screenshots
Before:

After:

Codecov Report

Merging #267 (6d8b05c) into master (7b9c48f) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##             master     #267   +/-   ##
=========================================
  Coverage     48.54%   48.54%
  Complexity      382      382
=========================================
  Files            89       89
  Lines          1786     1786
  Branches        219      219
=========================================
  Hits            867      867
  Misses          821      821
  Partials         98       98

Impacted Files
Coverage Δ

src/main/java/seedu/address/ui/TaskCard.java
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


TypeError: create_dataset() missing 1 required positional argument: 'test_path'

!python main.py --config config/dlhlp/asr_dlhlp.yaml

I think that test_path is an argument defined by yourself since I cannot find it in the original code.
The original code already has the functionality of testing the trained ASR model.
You may checkout decode_example.yaml or another config from another repository dlhlp_test.yaml.