Different results from paper

HI, I'm running this command to train the same dataset provided in your repository but I'm not able to replicate same results cited in the paper. I'm using encoder resnet50 and decoder default pspnet, but the learning process seems not improving IoU even after 20 epochs, which is still stack below 0.4 in train and 0.2 in test and is far from 0.6 score reported in the paper.
python run.py train --data.path preprocessing/ --scheduler.target=poly --optimizer.encoder-lr=1e-4 --optimizer.decoder-lr=1e-3 --optimizer.lr=1e-3 --data.mask-body-ratio=0.0 --data.in-channels=2 --data.weighted-sampling --loss.target=tversky --model.encoder=resnet50
     08 22:06] floods.training         : INFO     - Run started                                                   [266/648]
     08 22:06] floods.training         : INFO     - Experiment ID: 2023-11-08-22-06                               [265/648]

[2023-11-08 22:06] floods.training         : INFO     - Output folder: outputs/2023-11-08-22-06
[2023-11-08 22:06] floods.training         : INFO     - Models folder: outputs/2023-11-08-22-06/models
[2023-11-08 22:06] floods.training         : INFO     - Logs folder:   outputs/2023-11-08-22-06/logs
[2023-11-08 22:06] floods.training         : INFO     - Configuration: outputs/2023-11-08-22-06/config.yaml
[2023-11-08 22:06] floods.training         : INFO     - Using seed: 1337
08 22:06] floods.training         : INFO     - Loading datasets...                                           [259/648]
08 22:06] floods.prepare          : INFO     - Train transforms: Compose([                                   [258/648]
RandomSizedCrop(always_apply=False, p=0.8, min_max_height=(256, 512), height=512, width=512, w2h_ratio=1.0, interpolation=1),
Flip(always_apply=False, p=0.5),
RandomRotate90(always_apply=False, p=0.5),
ElasticTransform(always_apply=False, p=0.5, alpha=1, sigma=50, alpha_affine=50, interpolation=1, border_mode=4, value=None, m
ask_value=None, approximate=False, same_dxdy=False),
GridDistortion(always_apply=False, p=0.5, num_steps=5, distort_limit=(-0.3, 0.3), interpolation=1, border_mode=4, value=None,
mask_value=None, normalized=False),
], p=1.0, bbox_params=None, keypoint_params=None, additional_targets={}, is_check_shapes=True)Compose([
OneOf([
GaussianBlur(always_apply=False, p=0.5, blur_limit=(3, 13), sigma_limit=(0, 0)),
MultiplicativeNoise(always_apply=False, p=0.5, multiplier=(0.7, 1.3), per_channel=True, elementwise=True),
], p=0.6),
], p=1.0, bbox_params=None, keypoint_params=None, additional_targets={}, is_check_shapes=True)Compose([
], p=1.0, bbox_params=None, keypoint_params=None, additional_targets={}, is_check_shapes=True)
[2023-11-08 22:06] floods.prepare          : INFO     - Eval. transforms: Compose([
ClipNormalize(always_apply=False, p=1.0, mean=(0.049329374, 0.011776519), std=(0.0391287043, 0.0103687926), max_pixel_value=1
.0, clip_min=-30.0, clip_max=30.0),
ToTensorV2(always_apply=True, p=1.0, transpose_mask=False),
], p=1.0, bbox_params=None, keypoint_params=None, additional_targets={}, is_check_shapes=True)
[2023-11-08 22:06] floods.training         : INFO     - Full sets - train set: 6181 samples, validation set: 559 samples
[2023-11-08 22:06] floods.prepare          : INFO     - Found an existing array of sample weights
[2023-11-08 22:06] floods.training         : INFO     - Preparing model...
[2023-11-08 22:06] floods.prepare          : INFO     - Returning intermediate features: False
[2023-11-08 22:06] floods.training         : INFO     - Visualize: True, num. batches for visualization: 8
[2023-11-08 22:06] floods.trainer.base     : INFO     - [Epoch  0]
Epoch 0   - train:   0%|                                        | 0/1545 [00:00<?, ?batch/s, loss=--]/root/anaconda3/envs/torch
/lib/python3.8/site-packages/torch/nn/modules/conv.py:456: UserWarning: Applied workaround for CuDNN issue, install nvrtc.so (T
riggered internally at /opt/conda/conda-bld/pytorch_1695392020195/work/aten/src/ATen/native/cudnn/Conv_v8.cpp:80.)
return F.conv2d(input, weight, bias, self.stride,
Epoch 0   - train: 100%|| 1545/1545 [42:42<00:00,  1.66s/batch, loss=0.6215]
[2023-11-08 22:49] floods.trainer.base     : INFO     - train/iou: 0.3486
Epoch 0   - val: 100%|| 70/70 [02:18<00:00,  1.97s/batch, loss=0.3641]
[2023-11-08 22:51] floods.trainer.base     : INFO     - val/f1: 0.3629, val/iou: 0.2216, val/precision: 0.3172, val/recall: 0.4
239, val/class_iou: 0.2216, val/class_f1: 0.3629
[2023-11-08 22:52] floods.trainer.callbacks: INFO     - [Epoch  0] Checkpoint saved: outputs/2023-11-08-22-06/models/model-00_l
oss-0.62_iou-0.22.pth
[2023-11-08 22:52] floods.trainer.base     : INFO     - [Epoch  1]
Epoch 1   - train: 100%|| 1545/1545 [56:50<00:00,  2.21s/batch, loss=0.3676]
[2023-11-08 23:48] floods.trainer.base     : INFO     - train/iou: 0.3754
Epoch 1   - val: 100%|| 70/70 [00:58<00:00,  1.20batch/s, loss=0.4147]
[2023-11-08 23:49] floods.trainer.base     : INFO     - val/f1: 0.3433, val/iou: 0.2072, val/precision: 0.3358, val/recall: 0.3
511, val/class_iou: 0.2072, val/class_f1: 0.3433
[2023-11-08 23:49] floods.trainer.callbacks: INFO     - [Epoch  1] Early stopping patience increased to: 1/25
[2023-11-08 23:49] floods.trainer.callbacks: INFO     - [Epoch  1] Checkpoint saved: outputs/2023-11-08-22-06/models/model-01_l
oss-0.37_iou-0.21.pth
[2023-11-08 23:49] floods.trainer.base     : INFO     - [Epoch  2]
Epoch 2   - train: 100%|| 1545/1545 [44:25<00:00,  1.73s/batch, loss=0.3085]
[2023-11-09 00:34] floods.trainer.base     : INFO     - train/iou: 0.3809
Epoch 2   - val: 100%|| 70/70 [00:40<00:00,  1.71batch/s, loss=0.3751]
[2023-11-09 00:35] floods.trainer.base     : INFO     - val/f1: 0.3669, val/iou: 0.2247, val/precision: 0.3050, val/recall: 0.4
603, val/class_iou: 0.2247, val/class_f1: 0.3669
[2023-11-09 00:35] floods.trainer.callbacks: INFO     - [Epoch  2] Checkpoint saved: outputs/2023-11-08-22-06/models/model-02_l
oss-0.31_iou-0.22.pth
[2023-11-09 00:35] floods.trainer.base     : INFO     - [Epoch  3]
Epoch 3   - train: 100%|| 1545/1545 [39:03<00:00,  1.52s/batch, loss=0.1254]
[2023-11-09 01:14] floods.trainer.base     : INFO     - train/iou: 0.3838
Epoch 3   - val: 100%|| 70/70 [00:45<00:00,  1.55batch/s, loss=0.3296]
[2023-11-09 01:14] floods.trainer.base     : INFO     - val/f1: 0.3741, val/iou: 0.2301, val/precision: 0.2948, val/recall: 0.5
117, val/class_iou: 0.2301, val/class_f1: 0.3741
[2023-11-09 01:14] floods.trainer.callbacks: INFO     - [Epoch  3] Checkpoint saved: outputs/2023-11-08-22-06/models/model-03_l
oss-0.13_iou-0.23.pth
[2023-11-09 01:14] floods.trainer.base     : INFO     - [Epoch  4]
Epoch 4   - train: 100%|| 1545/1545 [37:03<00:00,  1.44s/batch, loss=0.1508]
[2023-11-09 01:51] floods.trainer.base     : INFO     - train/iou: 0.3762
Epoch 4   - val: 100%|| 70/70 [00:34<00:00,  2.00batch/s, loss=0.3494]
[2023-11-09 01:52] floods.trainer.base     : INFO     - val/f1: 0.3793, val/iou: 0.2340, val/precision: 0.3142, val/recall: 0.4
784, val/class_iou: 0.2340, val/class_f1: 0.3793
[2023-11-09 01:52] floods.trainer.callbacks: INFO     - [Epoch  4] Checkpoint saved: outputs/2023-11-08-22-06/models/model-04_l
oss-0.15_iou-0.23.pth
[2023-11-09 01:52] floods.trainer.base     : INFO     - [Epoch  5]
Epoch 5   - train: 100%|| 1545/1545 [36:07<00:00,  1.40s/batch, loss=0.1026]
[2023-11-09 02:28] floods.trainer.base     : INFO     - train/iou: 0.3872
Epoch 5   - val: 100%|| 70/70 [00:52<00:00,  1.34batch/s, loss=0.3265]
[2023-11-09 02:29] floods.trainer.base     : INFO     - val/f1: 0.3757, val/iou: 0.2313, val/precision: 0.3201, val/recall: 0.4
547, val/class_iou: 0.2313, val/class_f1: 0.3757
[2023-11-09 02:29] floods.trainer.callbacks: INFO     - [Epoch  5] Early stopping patience increased to: 1/25
[2023-11-09 02:29] floods.trainer.callbacks: INFO     - [Epoch  5] No checkpoint saved
[2023-11-09 02:29] floods.trainer.base     : INFO     - [Epoch  6]
Epoch 6   - train: 100%|| 1545/1545 [35:36<00:00,  1.38s/batch, loss=0.4175]
[2023-11-09 03:05] floods.trainer.base     : INFO     - train/iou: 0.3982
Epoch 6   - val: 100%|| 70/70 [00:32<00:00,  2.15batch/s, loss=0.3370]
[2023-11-09 03:05] floods.trainer.base     : INFO     - val/f1: 0.3900, val/iou: 0.2423, val/precision: 0.3238, val/recall: 0.4
904, val/class_iou: 0.2423, val/class_f1: 0.3900
[2023-11-09 03:05] floods.trainer.callbacks: INFO     - [Epoch  6] Checkpoint saved: outputs/2023-11-08-22-06/models/model-06_l
oss-0.42_iou-0.24.pth
[2023-11-09 03:05] floods.trainer.base     : INFO     - [Epoch  7]
Epoch 7   - train: 100%|| 1545/1545 [35:40<00:00,  1.39s/batch, loss=0.0647]
[2023-11-09 03:41] floods.trainer.base     : INFO     - train/iou: 0.4065
Epoch 7   - val: 100%|| 70/70 [00:43<00:00,  1.62batch/s, loss=0.3275]
[2023-11-09 03:42] floods.trainer.base     : INFO     - val/f1: 0.3743, val/iou: 0.2303, val/precision: 0.3162, val/recall: 0.4
586, val/class_iou: 0.2303, val/class_f1: 0.3743
[2023-11-09 03:42] floods.trainer.callbacks: INFO     - [Epoch  7] Early stopping patience increased to: 1/25
[2023-11-09 03:42] floods.trainer.callbacks: INFO     - [Epoch  7] No checkpoint saved
[2023-11-09 03:42] floods.trainer.base     : INFO     - [Epoch  8]
Epoch 8   - train: 100%|| 1545/1545 [36:11<00:00,  1.41s/batch, loss=0.2009]
[2023-11-09 04:18] floods.trainer.base     : INFO     - train/iou: 0.3958
Epoch 8   - val: 100%|_____| 70/70 [00:34<00:00,  2.02batch/s, loss=0.3475]
[2023-11-09 04:19] floods.trainer.base     : INFO     - val/f1: 0.3891, val/iou: 0.2415, val/precision: 0.3554, val/recall: 0.4
298, val/class_iou: 0.2415, val/class_f1: 0.3891
[2023-11-09 04:19] floods.trainer.callbacks: INFO     - [Epoch  8] Early stopping patience increased to: 2/25
[2023-11-09 04:19] floods.trainer.callbacks: INFO     - [Epoch  8] No checkpoint saved
[2023-11-09 04:19] floods.trainer.base     : INFO     - [Epoch  9]
Epoch 9   - train: 100%|| 1545/1545 [35:56<00:00,  1.40s/batch, loss=0.1640]
[2023-11-09 04:55] floods.trainer.base     : INFO     - train/iou: 0.3963
Epoch 9   - val: 100%|| 70/70 [00:36<00:00,  1.91batch/s, loss=0.4421]
[2023-11-09 04:55] floods.trainer.base     : INFO     - val/f1: 0.3628, val/iou: 0.2216, val/precision: 0.3357, val/recall: 0.3
947, val/class_iou: 0.2216, val/class_f1: 0.3628
[2023-11-09 04:55] floods.trainer.callbacks: INFO     - [Epoch  9] Early stopping patience increased to: 3/25
[2023-11-09 04:55] floods.trainer.callbacks: INFO     - [Epoch  9] No checkpoint saved
[2023-11-09 04:55] floods.trainer.base     : INFO     - [Epoch 10]
Epoch 10  - train: 100%|| 1545/1545 [35:57<00:00,  1.40s/batch, loss=0.3653]
[2023-11-09 05:31] floods.trainer.base     : INFO     - train/iou: 0.3876
Epoch 10  - val: 100%|| 70/70 [00:34<00:00,  2.03batch/s, loss=0.8312]
[2023-11-09 05:32] floods.trainer.base     : INFO     - val/f1: 0.3029, val/iou: 0.1785, val/precision: 0.3336, val/recall: 0.2
773, val/class_iou: 0.1785, val/class_f1: 0.3029
[2023-11-09 05:32] floods.trainer.callbacks: INFO     - [Epoch 10] Early stopping patience increased to: 4/25
[2023-11-09 05:32] floods.trainer.callbacks: INFO     - [Epoch 10] No checkpoint saved
[2023-11-09 05:32] floods.trainer.base     : INFO     - [Epoch 11]
Epoch 11  - train: 100%|| 1545/1545 [35:35<00:00,  1.38s/batch, loss=0.1300]
[2023-11-09 06:07] floods.trainer.base     : INFO     - train/iou: 0.3983
Epoch 11  - val: 100%|| 70/70 [00:40<00:00,  1.73batch/s, loss=0.5205]
[2023-11-09 06:08] floods.trainer.base     : INFO     - val/f1: 0.3787, val/iou: 0.2336, val/precision: 0.3345, val/recall: 0.4
363, val/class_iou: 0.2336, val/class_f1: 0.3787
[2023-11-09 06:08] floods.trainer.callbacks: INFO     - [Epoch 11] Early stopping patience increased to: 5/25
[2023-11-09 06:08] floods.trainer.callbacks: INFO     - [Epoch 11] No checkpoint saved
[2023-11-09 06:08] floods.trainer.base     : INFO     - [Epoch 12]
Epoch 12  - train: 100%|| 1545/1545 [35:45<00:00,  1.39s/batch, loss=0.1798]
[2023-11-09 06:44] floods.trainer.base     : INFO     - train/iou: 0.3968
Epoch 12  - val: 100%|| 70/70 [00:32<00:00,  2.13batch/s, loss=0.6031]
[2023-11-09 06:44] floods.trainer.base     : INFO     - val/f1: 0.3537, val/iou: 0.2148, val/precision: 0.3924, val/recall: 0.3
219, val/class_iou: 0.2148, val/class_f1: 0.3537
[2023-11-09 06:44] floods.trainer.callbacks: INFO     - [Epoch 12] Early stopping patience increased to: 6/25
[2023-11-09 06:44] floods.trainer.callbacks: INFO     - [Epoch 12] No checkpoint saved
[2023-11-09 06:44] floods.trainer.base     : INFO     - [Epoch 13]
Epoch 13  - train: 100%|| 1545/1545 [35:33<00:00,  1.38s/batch, loss=0.3209]                 [123/648]
[2023-11-09 07:20] floods.trainer.base     : INFO     - train/iou: 0.3617
Epoch 13  - val: 100%|| 70/70 [00:32<00:00,  2.13batch/s, loss=0.4442]
[2023-11-09 07:20] floods.trainer.base     : INFO     - val/f1: 0.3666, val/iou: 0.2244, val/precision: 0.4198, val/recall: 0.3
253, val/class_iou: 0.2244, val/class_f1: 0.3666
[2023-11-09 07:20] floods.trainer.callbacks: INFO     - [Epoch 13] Early stopping patience increased to: 7/25
[2023-11-09 07:20] floods.trainer.callbacks: INFO     - [Epoch 13] No checkpoint saved
[2023-11-09 07:21] floods.trainer.base     : INFO     - [Epoch 14]
Epoch 14  - train: 100%|| 1545/1545 [35:51<00:00,  1.39s/batch, loss=0.0421]
[2023-11-09 07:56] floods.trainer.base     : INFO     - train/iou: 0.3806
Epoch 14  - val: 100%|| 70/70 [00:31<00:00,  2.19batch/s, loss=0.5249]
[2023-11-09 07:57] floods.trainer.base     : INFO     - val/f1: 0.3868, val/iou: 0.2398, val/precision: 0.3947, val/recall: 0.3
792, val/class_iou: 0.2398, val/class_f1: 0.3868
[2023-11-09 07:57] floods.trainer.callbacks: INFO     - [Epoch 14] Early stopping patience increased to: 8/25
[2023-11-09 07:57] floods.trainer.callbacks: INFO     - [Epoch 14] No checkpoint saved
[2023-11-09 07:57] floods.trainer.base     : INFO     - [Epoch 15]
Epoch 15  - train: 100%|| 1545/1545 [35:42<00:00,  1.39s/batch, loss=0.3494]
[2023-11-09 08:33] floods.trainer.base     : INFO     - train/iou: 0.3696
Epoch 15  - val: 100%|| 70/70 [00:40<00:00,  1.74batch/s, loss=0.5384]
[2023-11-09 08:33] floods.trainer.base     : INFO     - val/f1: 0.3603, val/iou: 0.2197, val/precision: 0.3488, val/recall: 0.3
726, val/class_iou: 0.2197, val/class_f1: 0.3603
[2023-11-09 08:33] floods.trainer.callbacks: INFO     - [Epoch 15] Early stopping patience increased to: 9/25
[2023-11-09 08:33] floods.trainer.callbacks: INFO     - [Epoch 15] No checkpoint saved
[2023-11-09 08:33] floods.trainer.base     : INFO     - [Epoch 16]
Epoch 16  - train: 100%|| 1545/1545 [35:20<00:00,  1.37s/batch, loss=0.1894]
[2023-11-09 09:09] floods.trainer.base     : INFO     - train/iou: 0.3755
Epoch 16  - val: 100%|| 70/70 [00:33<00:00,  2.08batch/s, loss=0.5183]
[2023-11-09 09:09] floods.trainer.base     : INFO     - val/f1: 0.3650, val/iou: 0.2233, val/precision: 0.3838, val/recall: 0.3
480, val/class_iou: 0.2233, val/class_f1: 0.3650
[2023-11-09 09:09] floods.trainer.callbacks: INFO     - [Epoch 16] Early stopping patience increased to: 10/25
[2023-11-09 09:09] floods.trainer.callbacks: INFO     - [Epoch 16] No checkpoint saved
[2023-11-09 09:09] floods.trainer.base     : INFO     - [Epoch 17]
Epoch 17  - train: 100%|| 1545/1545 [35:37<00:00,  1.38s/batch, loss=0.2187]
[2023-11-09 09:45] floods.trainer.base     : INFO     - train/iou: 0.3761
Epoch 17  - val: 100%|| 70/70 [00:32<00:00,  2.15batch/s, loss=0.4508]
[2023-11-09 09:45] floods.trainer.base     : INFO     - val/f1: 0.3846, val/iou: 0.2381, val/precision: 0.3961, val/recall: 0.3
737, val/class_iou: 0.2381, val/class_f1: 0.3846
[2023-11-09 09:45] floods.trainer.callbacks: INFO     - [Epoch 17] Early stopping patience increased to: 11/25
[2023-11-09 09:45] floods.trainer.callbacks: INFO     - [Epoch 17] No checkpoint saved
[2023-11-09 09:45] floods.trainer.base     : INFO     - [Epoch 18]
Epoch 18  - train: 100%|| 1545/1545 [35:14<00:00,  1.37s/batch, loss=0.7247]
[2023-11-09 10:21] floods.trainer.base     : INFO     - train/iou: 0.3833
Epoch 18  - val: 100%|| 70/70 [00:35<00:00,  1.95batch/s, loss=0.5297]
[2023-11-09 10:21] floods.trainer.base     : INFO     - val/f1: 0.2582, val/iou: 0.1482, val/precision: 0.4622, val/recall: 0.1
791, val/class_iou: 0.1482, val/class_f1: 0.2582
[2023-11-09 10:21] floods.trainer.callbacks: INFO     - [Epoch 18] Early stopping patience increased to: 12/25
[2023-11-09 10:21] floods.trainer.callbacks: INFO     - [Epoch 18] No checkpoint saved
[2023-11-09 10:21] floods.trainer.base     : INFO     - [Epoch 19]
Epoch 19  - train: 100%|| 1545/1545 [35:36<00:00,  1.38s/batch, loss=0.2034]
[2023-11-09 10:57] floods.trainer.base     : INFO     - train/iou: 0.3750
Epoch 19  - val: 100%|_______________________________| 70/70 [00:37<00:00,  1.84batch/s, loss=0.4709]
[2023-11-09 10:58] floods.trainer.base     : INFO     - val/f1: 0.3656, val/iou: 0.2237, val/precision: 0.3960, val/recall: 0.3
396, val/class_iou: 0.2237, val/class_f1: 0.3656
[2023-11-09 10:58] floods.trainer.callbacks: INFO     - [Epoch 19] Early stopping patience increased to: 13/25
[2023-11-09 10:58] floods.trainer.callbacks: INFO     - [Epoch 19] No checkpoint saved
[2023-11-09 10:58] floods.trainer.base     : INFO     - [Epoch 20]

Hi again @makovez, I honestly don't have a valid explanation, other than it probably also depends on the specific run and seed. It is true that is very unstable (due to all the limitations mentioned in the previous post), but it should come close to the 0.6. I'll check the hyperparameters and configuration as soon as I can, in the meantime try other combinations, unfortunately I don't have much else...

Thanks for your answer.
Is that normal that the learning curve is not decreasing but is unstable and has up and downs? Did u notice the same from your experiments?

As far as I remember, the learning curve had a downwards trend, not the most stable training, but it did learn, so there might be something else going on.

This is what I get in test dataset results

(mmflood) [root@geo111 mmflood-main]# python run.py train --data.path=/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/datas  --scheduler.target=poly --optimizer.encoder-lr=1e-4 --optimizer.decoder-lr=1e-3 --optimizer.lr=1e-3 --data.mask-body-ratio=0.0 --data.in-channels=2 --data.weighted-sampling --loss.target=tversky --model.encoder=resnet50
[2023-11-30 16:35] floods.training         : INFO     - Run started
[2023-11-30 16:35] floods.training         : INFO     - Experiment ID: 2023-11-30-16-35
[2023-11-30 16:35] floods.training         : INFO     - Output folder: outputs/2023-11-30-16-35
[2023-11-30 16:35] floods.training         : INFO     - Models folder: outputs/2023-11-30-16-35/models
[2023-11-30 16:35] floods.training         : INFO     - Logs folder:   outputs/2023-11-30-16-35/logs
[2023-11-30 16:35] floods.training         : INFO     - Configuration: outputs/2023-11-30-16-35/config.yaml
[2023-11-30 16:35] floods.training         : INFO     - Using seed: 1337
[2023-11-30 16:35] floods.training         : INFO     - Loading datasets...
[2023-11-30 16:35] floods.prepare          : INFO     - Train transforms: Compose([
LongestMaxSize(always_apply=True, p=1, max_size=512, interpolation=1),
PadIfNeeded(always_apply=True, p=1.0, min_height=512, min_width=512, pad_height_divisor=None, pad_width_divisor=None, border_mode=4, value=None, mask_value=None),
RandomSizedCrop(always_apply=False, p=0.8, min_max_height=(256, 512), height=512, width=512, w2h_ratio=1.0, interpolation=1),
Flip(always_apply=False, p=0.5),
RandomRotate90(always_apply=False, p=0.5),
ElasticTransform(always_apply=False, p=0.5, alpha=1, sigma=50, alpha_affine=50, interpolation=1, border_mode=4, value=None, mask_value=None, approximate=False, same_dxdy=False),
GridDistortion(always_apply=False, p=0.5, num_steps=5, distort_limit=(-0.3, 0.3), interpolation=1, border_mode=4, value=None, mask_value=None, normalized=False),
], p=1.0, bbox_params=None, keypoint_params=None, additional_targets={}, is_check_shapes=True)Compose([
OneOf([
GaussianBlur(always_apply=False, p=0.5, blur_limit=(3, 13), sigma_limit=(0, 0)),
MultiplicativeNoise(always_apply=False, p=0.5, multiplier=(0.7, 1.3), per_channel=True, elementwise=True),
], p=0.6),
], p=1.0, bbox_params=None, keypoint_params=None, additional_targets={}, is_check_shapes=True)Compose([
], p=1.0, bbox_params=None, keypoint_params=None, additional_targets={}, is_check_shapes=True)
[2023-11-30 16:35] floods.prepare          : INFO     - Eval. transforms: Compose([
ClipNormalize(always_apply=False, p=1.0, mean=(0.049329374, 0.011776519), std=(0.0391287043, 0.0103687926), max_pixel_value=1.0, clip_min=-30.0, clip_max=30.0),
ToTensorV2(always_apply=True, p=1.0, transpose_mask=False),
], p=1.0, bbox_params=None, keypoint_params=None, additional_targets={}, is_check_shapes=True)
[2023-11-30 16:35] floods.training         : INFO     - Full sets - train set: 1390 samples, validation set: 235 samples
[2023-11-30 16:35] floods.prepare          : INFO     - Found an existing array of sample weights
[2023-11-30 16:35] floods.training         : INFO     - Preparing model...
[2023-11-30 16:35] floods.prepare          : INFO     - Returning intermediate features: False
[2023-11-30 16:35] floods.training         : INFO     - Visualize: True, num. batches for visualization: 8
[2023-11-30 16:35] floods.trainer.base     : INFO     - [Epoch  0]
Epoch 0   - train:   0%|▍                                                                                | 1/347 [00:02<16:40,  2.89s/batch, loss=0.9232][W python_anomaly_mode.cpp:104] Warning: Error detected in PowBackward0. Traceback of forward call that caused the error:
File "run.py", line 41, in
cli()
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/clidantic/core.py", line 58, in call
return self.entrypoint(max_content_width=content_width)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/clidantic/core.py", line 28, in wrapper
return callback(instance)
File "run.py", line 30, in train
training.train(config=config)
File "/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/floods/training.py", line 146, in train
trainer.fit(train_dataloader=train_loader, val_dataloader=valid_loader, max_epochs=config.trainer.max_epochs)
File "/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/floods/trainer/base.py", line 260, in fit
t_losses, t_times = self.train_epoch(epoch=self.current_epoch, train_dataloader=train_dataloader)
File "/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/floods/trainer/base.py", line 183, in train_epoch
loss, data = self.train_batch(batch=batch)
File "/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/floods/trainer/flood.py", line 50, in train_batch
loss = self.criterion(out, y.long())
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/floods/losses/init.py", line 115, in forward
return (1 - index.mean())**self.gamma
(function _print_stack)
Epoch 0   - train:   0%|▍                                                                                | 1/347 [00:06<35:12,  6.10s/batch, loss=0.9232]
Traceback (most recent call last):
File "run.py", line 41, in
cli()
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/clidantic/core.py", line 58, in call
return self.entrypoint(max_content_width=content_width)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/clidantic/core.py", line 28, in wrapper
return callback(instance)
File "run.py", line 30, in train
training.train(config=config)
File "/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/floods/training.py", line 146, in train
trainer.fit(train_dataloader=train_loader, val_dataloader=valid_loader, max_epochs=config.trainer.max_epochs)
File "/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/floods/trainer/base.py", line 260, in fit
t_losses, t_times = self.train_epoch(epoch=self.current_epoch, train_dataloader=train_dataloader)
File "/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/floods/trainer/base.py", line 185, in train_epoch
self.accelerator.backward(loss)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/accelerate/accelerator.py", line 406, in backward
self.scaler.scale(loss).backward(**kwargs)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/torch/_tensor.py", line 255, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
File "/root/miniconda3/envs/mmflood/lib/python3.8/site-packages/torch/autograd/init.py", line 147, in backward
Variable._execution_engine.run_backward(
RuntimeError: Function 'PowBackward0' returned nan values in its 0th output.
为什么会出现nan值啊， 启动命令是python run.py train --data.path=/mnt/tempdata/jupyter-workspace/jupyter-zhongq/geo-ai/segment-projs/mmflood-main/datas  --scheduler.target=poly --optimizer.encoder-lr=1e-4 --optimizer.decoder-lr=1e-3 --optimizer.lr=1e-3 --data.mask-body-ratio=0.0 --data.in-channels=2 --data.weighted-sampling --loss.target=tversky --model.encoder=resnet50
由于尺寸不匹配train_transforms_base的transforms中新增了
alb.LongestMaxSize(max_size=image_size, always_apply=True), # new
alb.PadIfNeeded(min_height=image_size, min_width=image_size, always_apply=True), # new


[Bug] Crash on death

MC: 1.10.2
Forge: 2185
Mod: Harvest-Festival-1.10.2-0.5.18
Crash Log

Should be fixed in 0.5.19


Font list: inconsistent entries across menu and body

The list (and names) of fonts shown in sidebar menu and body text on this page https://learn.microsoft.com/en-us/typography/font-list/ do not match up. Some are apparently merged for belonging the same family, but for others I can't find a good reason. Anyway, here is the complete list of inconsistencies as what I see now:

menu
body

Abadi MT Condensed
Abadi MT

Aharoni
Aharoni Bold

Aptos

Arial Nova

DengXian

Georgia Pro

Gill Sans Nova

Ink Free

Leelawadee UI

Microsoft JhengHei UI

Microsoft YaHei UI

MingLiU-ExtB

MingLiU_HKSCS

MingLiU_HKSCS-ExtB

Neue Haas Grotesk Text Pro

PMingLiU

PMingLiU-ExtB

Sanskrit Text

Segoe MDL2 Assets

Segoe UI Emoji

Segoe UI Historic

SimSun-ExtB

NSimSun

UD Digi Kyokasho

Verdana Pro

Yu Gothic

Yu Mincho

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: ab667f80-7df3-bafa-0877-51e7af198d44
Version Independent ID: cfd7b5d4-d79a-36d2-049e-a5d6fff1c270
Content: Font library - Typography
Content Source: typographydocs/font-list/index.md
Service: typography
GitHub Login: @alib-ms
Microsoft Alias: alib

I fixed

Ahroni happen to ship only in the Bold weight. Therefore, the title is Ahroni Bold.

@747 it would also be interesting to list the head title of the corresponding page and not just the header in the body content as there are inconsistencies there also. (Abadi MT is still “Abadi MT Condensed font family - Typography | Microsoft Learn,” for instance.)


tls-fingerprint: test sticky buffer variant

Add another rule and filter to test the sticky buffer variant
of a tls fingerprint match. Also shows that the 2 are more or
less equivalent.

Merged.


Memory leak problem

There has a memory leak problem in MonthFragment.class
I add this code in it.
    @Override
    public void onDestroyView() {
        super.onDestroyView();
        if (mAdapter != null)
            MarkedDates.getInstance().deleteObserver(mAdapter);
        monthData = null;
        unbindDrawables(mFragmentView);
    }

private void unbindDrawables(View view) {
    if (view.getBackground() != null) {
        view.getBackground().setCallback(null);
    }
    if (view instanceof ViewGroup && !(view instanceof AdapterView)) {
        for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
            unbindDrawables(((ViewGroup) view).getChildAt(i));
        }
        ((ViewGroup) view).removeAllViews();
    }
}

Hi there, thanks for raising this issue.
Could you please create a pull request for it? I believe you modified more than above code snippet. To make sure everything is correct at least I need to know what's the proper value of mAdapter and mFragmentView.
My guess is mAdapter is the CalendarAdapter which used by MonthFragment. But still, I need your confirm on that.
And, once I modified MonthFragment I also need to modify MonthExpFragment, which is added from another pull request.
Thanks again.
--
Bob.

it because you use Observer to update CalendarAdapter.
in CalendarAdapter.class
public CalendarAdapter(Context context, int resource, ArrayList data) {         super(context, resource);         this.data = data;         MarkedDates.getInstance().addObserver(this);     }
but you forget to delete this observer.


Replace diverges at initial iteration on trivial design

OpenROAD Version: v2.0-1750-gce49eb6f2
Description
A simple inverter def layout fails to place with RePlace.
Reproducible
packaged.tar.gz
Logs
OpenROAD v2.0-1750-gce49eb6f2
This program is licensed under the BSD-3 license. See the LICENSE file for details.
Components of this program may be licensed under more restrictive licenses which must be honored.
[INFO ODB-0222] Reading LEF file: ./tmp/merged_unpadded.lef
[WARNING ODB-0220] WARNING (LEFPARS-2036): SOURCE statement is obsolete in version 5.6 and later.
The LEF parser will ignore this statement.
To avoid this warning in the future, remove this statement from the LEF file with version 5.6 or later. See file ./tmp/merged_unpadded.lef at line 794.

[INFO ODB-0223]     Created 13 technology layers
[INFO ODB-0224]     Created 25 technology vias
[INFO ODB-0225]     Created 441 library cells
[INFO ODB-0226] Finished LEF file:  ./tmp/merged_unpadded.lef
[INFO ODB-0127] Reading DEF file: ./in.def
[INFO ODB-0128] Design: inverter
[INFO ODB-0130]     Created 4 pins.
[INFO ODB-0131]     Created 32 components and 116 component-terminals.
[INFO ODB-0132]     Created 2 special nets and 114 connections.
[INFO ODB-0133]     Created 2 nets and 2 connections.
[INFO ODB-0134] Finished DEF file: ./in.def
-verbose_level 1 -density 0.75 -overflow 0.9 -init_density_penalty 0.0001 -initial_place_max_iter 20 -bin_grid_count 64
[INFO GPL-0002] DBU: 1000
[INFO GPL-0003] SiteSize: 460 2720
[INFO GPL-0004] CoreAreaLxLy: 5520 10880
[INFO GPL-0005] CoreAreaUxUy: 28520 43520
[INFO GPL-0006] NumInstances: 32
[INFO GPL-0007] NumPlaceInstances: 1
[INFO GPL-0008] NumFixedInstances: 31
[INFO GPL-0009] NumDummyInstances: 0
[INFO GPL-0010] NumNets: 2
[INFO GPL-0011] NumPins: 4
[INFO GPL-0012] DieAreaLxLy: 0 0
[INFO GPL-0013] DieAreaUxUy: 34165 54885
[INFO GPL-0014] CoreAreaLxLy: 5520 10880
[INFO GPL-0015] CoreAreaUxUy: 28520 43520
[INFO GPL-0016] CoreArea: 750720000
[INFO GPL-0017] NonPlaceInstsArea: 98844800
[INFO GPL-0018] PlaceInstsArea: 3753600
[INFO GPL-0019] Util(%): 0.58
[INFO GPL-0020] StdInstsArea: 3753600
[INFO GPL-0021] MacroInstsArea: 0
[InitialPlace]  Iter: 1 CG Error: 0.00000008 HPWL: 93755
[InitialPlace]  Iter: 2 CG Error: 0.00000008 HPWL: 92385
[InitialPlace]  Iter: 3 CG Error: 0.00000008 HPWL: 92385
[InitialPlace]  Iter: 4 CG Error: 0.00000008 HPWL: 92385
[InitialPlace]  Iter: 5 CG Error: 0.00000008 HPWL: 92385
[INFO GPL-0031] FillerInit: NumGCells: 130
[INFO GPL-0032] FillerInit: NumGNets: 2
[INFO GPL-0033] FillerInit: NumGPins: 4
[INFO GPL-0023] TargetDensity: 0.75
[INFO GPL-0024] AveragePlaceInstArea: 3753600
[INFO GPL-0025] IdealBinArea: 5004800
[INFO GPL-0026] IdealBinCnt: 150
[INFO GPL-0027] TotalBinArea: 750720000
[INFO GPL-0028] BinCnt: 64 64
[INFO GPL-0029] BinSize: 360 510
[INFO GPL-0030] NumBins: 4096
[ERROR GPL-0304] RePlAce diverged at initial iteration. Re-run with a smaller init_density_penalty value.
Error: replace.tcl, 83 GPL-0304

For the record I'm going to state we've started utilizing a random OpenDB-based placer for tiny designs, so you don't need to rush this. Take your time

This issue has been fixed and the testcase is added to the simple07-08 regression unit testcases (link)[https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/src/gpl/test/simple07.def]


Edge scenario with then without counterblockd

I'm running the current develop branches (counterpartyd_build and counterpartyd). I've done a bunch of reinstalls today si I'm not 100% sure what happened but I  think I had counterpartyd installed --with-counterblockd and then - in course of trying out those fixes from today - I wiped counterpartyd_build (master) and re-installed stand-alone counterpartyd from develop.
Now counterpartyd-testnet can't start. It looks like the previous counterblockd may be causing some troubles here, although I can't tell for sure.
Restarting counterpartyd didn't help. This process always remains and when kill-edit automatically comes back. I did not reboot the machine since I upgraded todevelop`. It may be that it's running from before.
root       774     1  0 Jan02 ?        00:00:02 runsvdir -P /etc/service log: ........................................\
...............[INFO] Running v9.49.3 of counterpartyd.?[0m [INFO] Connecting to backend.?[0m [INFO]\
 Acquiring lock.?[0m [INFO] Connecting to database.?[0m [INFO] Connecting to block explorer.?[0m \
[INFO] Resuming parsing.?[0m ......\

and
root     27492     1  0 12:17 ?        00:00:00 runsvdir -P /etc/service log: failure runsv counterpartyd-\
testnet: fatal: unable to lock supervise/lock: temporary failure runsv mongod: fatal: unable to lock \
supervise/lock: temporary failure runsv counterpartyd: fatal: unable to lock supervise/lock: temporary \
failure runsv counterpartyd-testnet: fatal: unable to lock supervise/lock: temporary failure runsv \
mongod: fatal: unable to lock supervise/lock: temporary failure \

I rebooted and now counterpartyd can start. Is there a way to remove leftovers of previous --with-counterblockd without rebooting the OS?

I don't think so...

you could try stopping counterblockd and counterblockd-testnet (and mongodb) before you blow everything away ;)

closing. reopen if still an issue


Singleton state management

I wasn't happy with the way we were passing around state by setting public variables on the various helper packages. It was awkward and easy to get wrong due to the way Ginkgo handles the spec discovery stage.
This change makes use of a singleton to pass state across the entire test suite.

/run cluster-test-suites

/run cluster-test-suites

Ok, now that I've actually fixed the CAPV kubeconfig 😅
/run cluster-test-suites


Web browser and pip?

before I dig into this and mqtt in general I am wondering if this will do what I need.
I’m looking for the tv to be turned on, the web browser brought up full screen to a given url and then place an hdmi source in the pip in the bottom right. Can this software do that?

imo lg tv (at least webos 1 & 2) doesn't support pip


Registry-Sweeper ECS Enchancements (Post Multi-Tenancy)

💡 Description

All changes will be in MCP. This was being tracked under #31

Create everything described below in MCP in order to kick off a Lambda Function to manage registry-sweeper tasks.

Prod Registry Sweepers ECS cluster
Create a task execution role (like am-ecs-task-execution) and another assume role for ECS (am-ecs-assume-role). The task definition roles will have all the permissions to interact with services required by the ecs task. The assume role will have permission to run the actual task-definition.
New lambda function and a lambda role with following permissions :

lambda execution rights, sns publish, cloudwatch logs
dynamodb read access
run ecs tasks, stop ecs tasks
publish to sns topic pds-provenance-alarm
query, scan and get items from dynamodb tables starting with pds-registry-sweepers*
ecs task role that can create/read/write to dynamodb any table starting with pds-registry-sweepers-*

Add ability for your SSO role to pass the new lambda role to lambda and create dynamodb tables

Susan created all of this under DSIO # 4341 in JPL AWS, so she can provide more details.

The above lambda function will be triggered using an EventBridge schedule that runs hourly.
We will also need to re-create all the CloudWatch Alarms / Monitoring in MCP using Terraform.

This ticket is about preventing registry-sweeper tasks to start before the previous tasks are done.


bsnes uses wrong domain name for NWA tool

When connecting, the NWA tool calls CARTROM, however in the bsnes core it instead uses
case SNES_MEMORY_CARTRIDGE_ROM:
return "CARTRIDGE_ROM";
Returning an error along the lines of:
2022/09/28 02:59:04.809280 detect: read {address:(FxPakPro $40ffb0 LoROM),size:$50}
2022/09/28 02:59:04.809497 detect: ignoring non-fatal error: emunwa: expecting binary reply but got ascii:
[map[error:command_error reason:The specified domain does not exists]]
It apparently works fine on the snes9x core. Not sure how you want to handle this, either request users use the snes9x core or make the NWA tool more flexible in what it calls?

Sorry for the late reply. What is your Bizhawk version? my bsnes core was not showing these name for domains x)

Bizhawk 2.8

Should be fixed in https://github.com/Skarsnik/Bizhawk-nwa-tool/releases/tag/beta3


UNIQUE constraint needs clarification

Table 2 currently has both tpudt_name and tpudt_id as UNIQUE. I don't think that can work.
It could work if they were jointly UNIQUE, something like:
CREATE TABLE gpkg_2D_gridded_tile_ancillary (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    tpudt_name TEXT NOT NULL,
    tpudt_id INTEGER NOT NULL,
    min REAL,
    max REAL,
    mean REAL,
    std_dev REAL,
    CONSTRAINT fk_g2dgtat_name FOREIGN KEY (tpudt_name) REFERENCES gpkg_contents(table_name),
    UNIQUE (tpudt_name, tpudt_id)
)

Suggest updating Table 2 to show this slightly differently (perhaps remove the unique column and just adding it as a text requirement).

https://github.com/opengeospatial/geopackage-elevation/blob/master/spec/1_tiled_gridded_elevation_data.adoc#tile-ancillary

In today's SWG we agreed to add a footnote.


Clicking taskbar on focused window doesn't minimize window

Found this bug while making e2e tests.

https://bugs.webkit.org/show_bug.cgi?id=22261

Fixed this for taskbar. Seems to be harder to fix for the other 2 Safari focus issues.


next: openssh build fails with missing openssl

This issue tracks an upstream bug in upstream/master which breaks OpenSSH due to missing openssl.
Email sent to upstream:
Date: Wed, 20 Sep 2017 11:51:42 +0100
Subject: OpenSSH build error against master
From: Christian Stewart<EMAIL_ADDRESS>To: Buildroot Mailing List<EMAIL_ADDRESS>
Hi all,

Once again running under Gentoo:

configure: error: No crypto library found!
Try --with-libssl-prefix=PATH
 or --with-libgcrypt-prefix=PATH
 or --with-libmbedtls-prefix=PATH
 or --with-wincng on Windows

This is for libssh2-1.8.0 on upstream/master commit 85f11d.

I have libssl 1.0.2l on my machine.

Best,
Christian

FIxed


String.Remove(0, 0) returns empty string

Expected
"Hello World".Remove(0, 0) returning "Hello World"
Actual
"Hello World".Remove(0, 0) returning ""
Steps To Reproduce
http://live.bridge.net/#83a008e47570da901f14cd63f4c5b7ae
public class App
{
    [Ready]
    public static void Main()
    {
        Window.Alert("Hello World".Remove(0, 0));
    }
}

Thanks for reporting this issue. There must be a logic error in the following js function:
https://github.com/bridgedotnet/Bridge/blob/master/Bridge/Resources/String.js#L384

Shouldn't be !count, because that would result in true when count is 0.

Looks like there are several other issues within that function. I'll try and fix and sneak into the 1.14 release.

This issue has been fixed and will be included in the 1.14 release.
Also related to #1453.


DBZ-5282 Debezium is not working with apicurio and custom truststores

Update to latest version of apicurio
Force apicurio docker image to 2.3.1 temporarily

@jeremy-l-ford Applied, thanks a lot.


What I studied today

Read the JavaScript tutorial

destructuring assignment
arrow function expression
template literals

Read the React tutorial

input state management
Dealing with arrays

Create a To-Do List App with basic functionality
Let's continue developing along with studying React.

Good job!


java.lang.NoClassDefFoundError: org.mockito.internal.util.MockCreationValidator

Explanation:
Swapping out Google's dexmaker with LinkedIn's dexmaker, I am getting the following error. From what I can tell, the LinkedIn version of the dexmaker is so much larger that it causes the Android Test APK to become Multidex.
I have tried the following: https://stackoverflow.com/questions/30081386/how-to-put-specific-classes-into-main-dex-file and https://stackoverflow.com/questions/34310259/trying-to-test-an-android-module-in-multidex-app-com-android-test-runner-multid.
Any way to avoid this?
Error:
D/AndroidRuntime( 2960): Shutting down VM
    E/AndroidRuntime( 2970): FATAL EXCEPTION: main
    E/AndroidRuntime( 2970): Process: <>, PID: 2970
    E/AndroidRuntime( 2970): java.lang.NoClassDefFoundError: org.mockito.internal.util.MockCreationValidator
    E/AndroidRuntime( 2970): 	at org.mockito.internal.creation.MockSettingsImpl.validatedSettings(MockSettingsImpl.java:166)
    E/AndroidRuntime( 2970): 	at org.mockito.internal.creation.MockSettingsImpl.confirm(MockSettingsImpl.java:162)
    E/AndroidRuntime( 2970): 	at org.mockito.internal.MockitoCore.mock(MockitoCore.java:62)
    E/AndroidRuntime( 2970): 	at org.mockito.Mockito.mock(Mockito.java:1637)
    E/AndroidRuntime( 2970): 	at org.mockito.Mockito.mock(Mockito.java:1550)
    ...
    E/AndroidRuntime( 2970): 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
    ...
    E/AndroidRuntime( 2970): 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
    ...
    E/AndroidRuntime( 2970): 	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
    E/AndroidRuntime( 2970): 	at android.support.test.runner.MonitoringInstrumentation.callApplicationOnCreate(MonitoringInstrumentation.java:323)
    E/AndroidRuntime( 2970): 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4344)
    E/AndroidRuntime( 2970): 	at android.app.ActivityThread.access$1500(ActivityThread.java:135)
    E/AndroidRuntime( 2970): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    E/AndroidRuntime( 2970): 	at android.os.Handler.dispatchMessage(Handler.java:102)
    E/AndroidRuntime( 2970): 	at android.os.Looper.loop(Looper.java:136)
    E/AndroidRuntime( 2970): 	at android.app.ActivityThread.main(ActivityThread.java:5017)
    E/AndroidRuntime( 2970): 	at java.lang.reflect.Method.invokeNative(Native Method)
    E/AndroidRuntime( 2970): 	at java.lang.reflect.Method.invoke(Method.java:515)
    E/AndroidRuntime( 2970): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    E/AndroidRuntime( 2970): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    E/AndroidRuntime( 2970): 	at dalvik.system.NativeStart.main(Native Method)

The number of methods in the actual dexmaker project hasn't changed...from what I can tell, this is due to upgrading to a newer version of Mockito, which depends transitively on bytebuddy.
I did some investigation and opened this issue on the mockito repo:
https://github.com/mockito/mockito/issues/1112
If they can reduce their method count, we can also update dexmaker to pull in the newer version of Mockito.

Hi.
@jaredsburrows, DexMaker has its own MockMaker, so I think that you can exclude Byte Buddy from your test apk.
dependencies {
    androidTestCompile('com.linkedin.dexmaker:dexmaker-mockito:x.y.z') {
        exclude group: 'net.bytebuddy'
    }
}

http://www.methodscount.com/?lib=com.linkedin.dexmaker%3Adexmaker-mockito%3A%2B
Thanks. Makes sense to me!

Please let me know if that solution works for you, I'm very interested to find out.

@drewhannay I just wanted to confirm that it works by excluding net.bytebuddy.
@tmurakami Thank you. That works! Does this mean I cannot mock final when using Mockito 2?

@jaredsburrows, you can still use Mockito 2 with Byte Buddy to mock final classes for local unit testing.
dependencies {

    // For local unit tests (on your develop machine)
    testCompile 'org.mockito:mockito-inline:x.y.z'

    // For instrumented unit tests (on Android emulators and devices)
    androidTestCompile('com.linkedin.dexmaker:dexmaker-mockito:x.y.z') {
        exclude group: 'net.bytebuddy'
    }

}

If you are using Kotlin and would like to mock final classes on Android emulators and devices, please refer to https://github.com/mockito/mockito/issues/1082#issuecomment-301646307.

I use Mockito 2 just fine in unit tests(testCompile), but if we exclude net.bytebuddy from dexmaker-mockito, how can you mock final? Isn't net.bytebuddy for code generation? Why does Mockito 2 include as a transitive dependency?

@jaredsburrows,
dependencies {

    // For local unit tests (on your develop machine)
    testCompile 'org.mockito:mockito-inline:2.8.9'

    // For instrumented unit tests (on Android emulators and devices)
    androidTestCompile('com.linkedin.dexmaker:dexmaker-mockito:2.2.0') {
        exclude group: 'net.bytebuddy'
    }

}

Running ./gradlew androidDependencies with the above code will get the following result.
$ ./gradlew androidDependencies
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to /home/tmura/android-sdk-linux/ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

The ConfigurableReport.setDestination(Object) method has been deprecated and is scheduled to be removed in Gradle 4.0. Please use the method ConfigurableReport.setDestination(File) instead.
:app:androidDependencies
debug
No dependencies

debugAndroidTest
\--- com.linkedin.dexmaker:dexmaker-mockito:2.2.0@jar
     +--- com.linkedin.dexmaker:dexmaker:2.2.0@jar
     |    \--- com.jakewharton.android.repackaged:dalvik-dx:7.1.0_r7@jar
     |         \--- com.jakewharton.android.repackaged:libcore-dex:7.1.0_r7@jar
     \--- org.mockito:mockito-core:2.2.29@jar
          \--- org.objenesis:objenesis:2.4@jar

debugUnitTest
\--- org.mockito:mockito-inline:2.8.9@jar
     \--- org.mockito:mockito-core:2.8.9@jar
          +--- net.bytebuddy:byte-buddy:1.6.14@jar
          +--- net.bytebuddy:byte-buddy-agent:1.6.14@jar
          \--- org.objenesis:objenesis:2.5@jar

release
No dependencies

releaseUnitTest
\--- org.mockito:mockito-inline:2.8.9@jar
     \--- org.mockito:mockito-core:2.8.9@jar
          +--- net.bytebuddy:byte-buddy:1.6.14@jar
          +--- net.bytebuddy:byte-buddy-agent:1.6.14@jar
          \--- org.objenesis:objenesis:2.5@jar

BUILD SUCCESSFUL in 7s
1 actionable task: 1 executed, 0 avoided (0%)

Byte Buddy is used for MockMaker of Mockito, so it is required for local unit testing.
However, since DexMaker has its own MockMaker which does not rely on Byte Buddy, it can be excluded from dependencies scoped as androidTestCompile.
FYI, Mockito does not support mock final on Android.
https://static.javadoc.io/org.mockito/mockito-core/2.8.9/org/mockito/Mockito.html#0.1
Be aware that you cannot use the inline mock maker on Android due to limitations in the Android VM.

Great explantation! Thanks again!

Byte Buddy is used for MockMaker of Mockito, so it is required for local unit testing.
However, since DexMaker has its own MockMaker which does not rely on Byte Buddy, it can be excluded from dependencies scoped as androidTestCompile.
FYI, Mockito does not support mock final on Android.


Provide admins with logs of everything that is happening in an event

Is your feature request related to a problem? Please describe. 👨🏫
Admins should be able to see what is going on in an event.
Describe the solution you'd like 📝
A separate admin page showing all operations (create, update, and delete users, companies, news items, program entries) as they happen. Ability to filter operations by type and free text.
Describe alternatives you've considered 🕵♂
An alternative would be only to show some operations. Yet another would be to show all views.
Additional context
On the original list of basic features for event administrators.

I would like to work on this issue.


Do not open some of the music from YouTube, just skips to the next track until he finds a working one

Do not open some of the music from YouTube, just skips to the next track until he finds a working one

Fixed in  48878ab and version v1.1


why is superagent not A+ compliant?

it seems like there are some libraries that add .then() to superagent's request, but I was just wondering the reasoning behind why it hasn't been included directly in the library

Because this library doesn't use promises for the API.

It is clear that you are very keen on not having anything to do with Promises, seeing as you locked a previous conversation over a pull request, and answered this one in a very blunt and uninformative fashion.
At 4000+ stars, you certainly do have the luxury of not caring at all what other members of the community think, and I appreciate that. But perhaps showing a bit more humility and providing an explanation (justification?) as to this derision against promises would be a grander goal? Like it or not, Promises are a very prevalent part of JS...

@davis have a look at promisingagent

+1 for supporting Promises


fix to be BLUFI_TYPE_DATA_SUBTYPE_SOFTAP_CHANNEL. (IDFGH-996)

BLUFI_TYPE_DATA_SUBTYPE_SOFTAP_MAX_CONN_NUM is duplicate.
I think that BLUFI_TYPE_DATA_SUBTYPE_SOFTAP_CHANNEL is correct in this case.
Because info->softap_channel is set.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@KAMEDAkyosuke Thanks for the contribution and sorry for the slow turnaround. We will look into this PR. Thanks.

Hi, thank you for your contribution. Sorry for reply so late. We have confirmed this issue. Thank you very much for your PR. This PR currently conflicts with the existing IDF file. Can you help resolve this conflict? We will merge your PR. Alternatively, with your consent, we can also merge your solution internally.  Looking forward to your reply.

@GYC-Espressif Hi. I resolved conflict.

@GYC-Espressif @jack0c fixed?
https://github.com/espressif/esp-idf/commit/46c53ab8c8b4e1cc94157ff543081ce0ed4b76bc#diff-722f9fc9bb43a0ba41de9525be09ac92

Thanks for contribution and sorry for late reply, changes have been merged with https://github.com/espressif/esp-idf/commit/46c53ab8c8b4e1cc94157ff543081ce0ed4b76bc#diff-722f9fc9bb43a0ba41de9525be09ac92. Thanks.


rouille 3.6.0 broke wasm-bindgen

By moving assets behind a feature gate that might not be active, rouille 3.6.0 seems to have broken wasm-bindgen-cli:
error[E0425]: cannot find function `match_assets` in crate `rouille`
Error:   --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/wasm-bindgen-cli-0.2.83/src/bin/wasm-bindgen-test-runner/server.rs:98:33
   |
98 |         let response = rouille::match_assets(request, dir);
   |                                 ^^^^^^^^^^^^ not found in `rouille`

error[E0425]: cannot find function `match_assets` in crate `rouille`
Error:    --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/wasm-bindgen-cli-0.2.83/src/bin/wasm-bindgen-test-runner/server.rs:118:41
    |
118 |                 let response = rouille::match_assets(&new_request, dir);
    |                                         ^^^^^^^^^^^^ not found in `rouille`

Thanks for the report @CryZe, I just checked and the assets feature is definitely enabled by default:
https://github.com/tomaka/rouille/blob/5d989c8df2a19a4113583a32bbfae23cd201f5e9/Cargo.toml#L14
It seems wasm-bindgen-cli is specifying default-features = false for some reason but I acknowledge the breakage and will push a hotfix momentarily.


fix: multi editor bottom cut off

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Ref #39348
Before:

After:

LGTM 👍
Checked on Gitpod with and without SHOW_UPCOMING_CHANGES set to true in .env file. Issue no longer appears.

This issue only appears in the multiple file editor though.

This issue only appears in the multiple file editor though.

You are correct, but when changes could potentially impact the current editor it never hurts to test. Just to make sure we don't break production. 🙂


Support Handshake TLD's

This solves a problem with people who use apache and are using a TLD on the handshake protocol.  This change won't break anything for existing ICANN users, but will allow handshake users to use apache.
If you aren't aware of handshake there have been some significant milestones lately that show the growth of handshake such as opera adding support, namecheap buying namebase.io and now selling handshake SLD's on namecheap.com.
Edit: After reading RFC it appears my change brings apache up to RFC standards rather than breaking them as I thought.

One aspect of host name syntax is hereby changed: the
restriction on the first character is relaxed to allow either a
letter or a digit.  Host software MUST support this more liberal
syntax.

There is some background in rejected RFC 1123 errata that talks about the ambiguity/intent of the special rules for TLD: https://www.rfc-editor.org/errata/eid1353 that cl
Can you show an example FQDN the server is meant to accept? Is there any ambiguity with an IP address representation possible?

Lets say example.3d.
As for the IP question, I suppose it would be possible, but I don't think anyone would do it. A popular TLD available for handshake names is .1, which I guess someone could own the SLD 1.1 and end up making something like <IP_ADDRESS>. While that might technically be valid, It would be pretty ridiculous and I'm sure that person wouldn't expect it to work as a domain.

I'd like to add that browsers already accept this as a valid domain name. Some examples:

resolved as
value
desc

3d
domain ✅
3d
alnum bare tld

example.3d
domain ✅
example.3d
alnum subdomain on alnum tld

3
nothing
N/A
numeric bare tld

example.3
nothing
N/A
alnum subdomain on numeric tld

3.3d
domain ✅
3.3d
numeric subdomain on alnum tld

3.3
IPv4
<IP_ADDRESS>
numeric subdomain on numeric tld (which can be an IP)

This can be verified easily by typing in (for ex) http://example.3d in the address bar and seeing the first result:

I haven't dug into chromium's source to confirm it in code though.

@covener Does this PR need more work or something?

@royfielding any thought on this? strict_hostname_check() is called only from fix_hostname() which has this comment:
https://github.com/apache/httpd/blob/trunk/server/vhost.c#L801
So i think the hole being punched here (to allow TLD beginning with a number) isn't risky.

CI failure is related to the change t/apache/http_strict.t
# SENDING:
# GET http://0x7f.1/ HTTP/1.0\r\n\r\n
# expecting 400, got 200
not ok 133

Seems It was added with the initial big batch of Host headers tests for HTTPProtocolOptions.

@covener this would be "someone else's code" ( see https://github.com/apache/httpd/commit/f726113d3346126b972776296131d5b1026ce807 ) but there is nothing sacred about TLDs these days. My guess is that ICANN changed those rules anyway and this patch would be fine, but I haven't tested it.

I've compiled and tested my commit and can confirm that it does work as intended in terms of a TLD beginning with a number being able to be configured.


Failed to activate the project-viewer package

[Enter steps to reproduce:]

Install and reinstall project-viewer often
Allways same error.

Atom: 1.23.3 x64
Electron: 1.6.15
OS: Ubuntu 17.10
Thrown From: project-viewer package 1.3.0
Stack Trace
Failed to activate the project-viewer package
At watch /home/michl/.atom ENOSPC

Error: watch /home/michl/.atom ENOSPC
    at exports._errnoException (util.js:1022:11)
    at FSWatcher.start (fs.js:1316:19)
    at Object.fs.watch (fs.js:1341:11)
    at _directoryWatch (/packages/project-viewer/src/database.js:498:16)
    at /packages/project-viewer/src/database.js:446:3)
    at /packages/project-viewer/src/main.js:41:12)
    at Package.module.exports.Package.activateNow (/opt/atom/resources/app/src/package.js:255:25)
    at /opt/atom/resources/app/src/package.js:227:38
    at Package.module.exports.Package.measure (/opt/atom/resources/app/src/package.js:99:21)
    at /opt/atom/resources/app/src/package.js:220:32
    at Package.module.exports.Package.activate (/opt/atom/resources/app/src/package.js:217:40)
    at PackageManager.activatePackage (/opt/atom/resources/app/src/package-manager.js:695:42)
    at config.transactAsync (/opt/atom/resources/app/src/package-manager.js:670:36)
    at Config.module.exports.Config.transactAsync (/opt/atom/resources/app/src/config.js:367:24)
    at PackageManager.activatePackages (/opt/atom/resources/app/src/package-manager.js:668:23)
    at PackageManager.activate (/opt/atom/resources/app/src/package-manager.js:647:50)
    at /opt/atom/resources/app/src/atom-environment.js:865:36

Commands

Non-Core Packages
ansible-snippets 0.2.0
atom-beautify 0.30.9
atom-ide-ui 0.9.1
autocomplete-ansible 0.1.15
busy-signal 1.4.3
editorconfig 2.2.2
file-icons 2.1.17
go-plus 5.8.2
intentions 1.1.5
linter 2.2.0
linter-ui-default 1.6.10
minimap 4.29.7
open-in-browser 0.5.2
platformio-ide-terminal 2.8.0
project-manager 3.3.5
project-viewer 1.3.0

hey @kraeml! please refer to #182 about this. Thank you 👍

There is enough space on the divece. Projektviewer not running.


Protected data

How do you set an API key here? I have all my data protected with a key so only those with it can access the logs.
Thanks.

Never mind, just found #15.


fix: get unused and not new address

this is to be preferred as otherwise we have gaps between unused addresses

bors r+

bors retry

bors retry

bors retry

bors retry

bors retry


PipelinesApiClient.ListPageable() throws when no pipelines are returned

When fetching pipelines from a Databricks workspace that doesn't contain any pipelines, PipelinesApiClient.ListPageable() throws ArgumentNullException because the Pipelines property in PipelinesList is null.
// PipelinesApiClient.cs

public global::Azure.AsyncPageable<Pipeline> ListPageable(int pageSize = 25, CancellationToken cancellationToken = default)
{
    return new AsyncPageable<Pipeline>(
        async (string pageToken) =>
        {
            var response = await List(pageSize, pageToken, cancellationToken).ConfigureAwait(false);
            // =====> response.Pipelines is null when no pipelines are returned <=====
            return (response.Pipelines.ToList(), response.HasMore, response.NextPageToken);
        }
    );
}

This can also be a source of surprise when using PipelinesApiClient.List(), since the property IEnumerable<Pipeline> Pipelines in the returned PipelinesList is null rather than an empty sequence.
I think ListPageable() should definitely not throw when there are no pipelines, and I also think most people would expect List() to return an empty sequence in PipelinesList rather than null.

I've looked at the source code and compared the combination of PipelinesApiClient and PipelinesList to JobsApiClient and JobList. This issue is not present with jobs, i.e. fetching an empty list of jobs works as expected.
To me, a consistent solution would be to initialize PipelinesList.Pipelines as an empty list, same as in JobList.
Would you be open to a community contribution/PR? 🙂


Also add files to SysWOW64 directory.

One of my customers encountered this particular problem for a Windows 2016 Server Core VM image in Azure which was also a domain controller, which still generated an error in the c$\WindowsAzure\Logs\Plugins\Microsoft.Azure.Security.AzureDiskEncryption\<IP_ADDRESS>\BitlockerExtension.log file as follows:
2018-02-27T19:20:02.2424602Z  [Info]:   BitlockerPrep::RunCommand C:\Windows\System32\BdeHdCfg.exe -target default -quiet
2018-02-27T19:20:02.2715878Z  [Fatal]:  BitlockerExtension::OnEnable hit exception The system cannot find the file specified, inner exception , stack trace:    at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
They then added the 4 files to the following path on the VM: C:\Windows\SysWOW64, after which encryption worked without issues. Magic!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: aed5ca44-9a26-aa5c-089b-73e2d3a626a6
Version Independent ID: 067a251b-df8b-75bb-d351-4f2b475e55de
Content
Content Source
Service: security

@autocloudarc Thanks for the feedback! We are following up with the team on this and will get back to you.

@autocloudarc I discussed this with the product team and this is definitely not an expected scenario and something the product team would like to investigate with you. If you can still reproduce the issue (without copying the files to SysWow64) can you open a support ticket via http://aka.ms/azsupt . If you do not have access to a support plan, please reach out to<EMAIL_ADDRESS>with the following information and we can help get it opened.

@autocloudarc I am closing the issue for not, please reach out with the above information and we can help look into this further.

Thanks @amanarneja . I'll add this to my backlog.


Support for region selecting polygons

I had to map a few hundred houses and I thought I can do this by pressing 3, clicking around the outline of the building, pressing enter, clicking besides the building to deselect, and repeat. Then later, I wanted to bulk-select all the polygons I had so created and assign feature type "House", move them to account for the imagery offset, and make the corners rectangular. Only then I found no way to select all the polygons other than by Shift-Clicking them individually (due to being a bit clumsy, I once lost my meticulously prepared selection of hundreds of houses when accidentally clicking somewhere -- touchpad -- but that's another story).
It would be nice if I could have selected the polygons with a region selection. Similar to the Shift-dragging out a region which, however, only selects all points (which I could not work with).

Did you try to use the Lasso (Hold Shift and the mouse button) and move around all the newly created buildings?

Did you try to use the Lasso (Hold Shift and the mouse button) and move around all the newly created buildings?

Yes, that's is what I meant by "Shit-dragging out a region". This selects the nodes, not the polygons. I can neither set a feature type nor can I orthogonalize the corners that way.

Yes, that's is what I meant by "Shit-dragging out a region". This selects the nodes, not the polygons. I can neither set a feature type nor can I orthogonalize the corners that way.

As a workaround, you can select the parent ways of those nodes using the shortcut added in #8264. This shortcut will be available in the next release, or you can use the latest development mirror.

I don't think that's a workaround; I find that a great solution. In my opinion this issue can be closed.

Yep, we should have a better solution for this. Line and area selection with the lasso tool is #7375.


Don't pass through "to" and "location" attributes from  to

Note
There is a small breaking change:
// No longer works
const sharedLinkProps = { to: "/path" }

h(Link, sharedLinkProps) // sharedLinkProps.to is deleted here
h(Link, sharedLinkProps)
h(Link, sharedLinkProps)

I thought we had already done this once haha. 👍


Add logfilegen_compiler option

Hello, Peter
Please find some small changes which will permit to set logfilegen_compiler variable and use it inside 03-logfilegen.sh script.
Default value is gcc and when we set it to the clang it will be used as a compiler.
Also, because GitHub Actions workflow_dispatch inputs is limited to 10, this variable can be set directly in the workflow file as for now.
There also a workaround and we may set it via GitHub vars context - Using the vars context to access configuration variable values.

Thank you!


Ucore fs enhance

Various new interface including unlink link rename move etc

Note: there're still problem in the drop workflow

Thanks! Monin!


Unable to install plugins using Twilio CLI in Nodejs

Issue Summary
Twilio CLI throwing an error stating local certiifcate in not found. I even installed certificate , still same error occurs.
Code Snippet
twilio plugins:install @twilio-labs/plugin-serverless
paste code here
Exception/Log
error An unexpected error occurred: "https://registry.yarnpkg.com/@twilio-labs%2Fplugin-serverless: unable to get local issuer certificate".
Installing plugin @twilio-labs/plugin-serverless... !
Error: yarn add @twilio-labs/plugin-serverless@latest --non-interactive
--mutex=file:C:\Users\ARPANSINGH.twilio-cli\yarn.lock
--preferred-cache-folder=C:\Users\ARPANSINGH.twilio-cli\yarn --check-files exited with code 1

Sorry to bounce you around various projects, but I believe this is going to have something to do with the Twilio CLI itself, not the serverless plugin.
Could you raise this with https://github.com/twilio/twilio-cli.
Also, with certificate errors like this the issue may be in your network. Are you behind a corporate firewall or VPN when you try to install the plugin?

@Arpanks29
Can you set the following environment variable prior to running the command to install the plugin?
set NODE_OPTIONS=--use-openssl-ca
This tells the Twilio CLI to use your operating systems certs instead of the default NodeJS certs.

Tried doing this, still same issue.
On Tue, 27 Oct 2020, 4:06 am Adam<EMAIL_ADDRESS>wrote:

@Arpanks29 https://github.com/Arpanks29
Can you set the following environment variable prior to running the
command to install the plugin?
set NODE_OPTIONS=--use-openssl-ca
This tells the Twilio CLI to use your operating systems certs instead of
the default NodeJS certs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/twilio-labs/plugin-serverless/issues/41#issuecomment-716861538,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJRCYA7CU7RLFGGT6654BPLSMX2X3ANCNFSM4S2WEJ2A
.

This is being dealt with directly by @adamchasetaylor (and I still think it's an issue somewhere in the main CLI rather than this plugin), so I'm going to close this for now.

Just following up on this. The problem is inside the OClif Plugins Plugin that we are using (for example Salesforce has the same issue).
@childish-sambino from our Twilio CLI team opened an issue with them that you can follow here: https://github.com/oclif/plugin-plugins/issues/189
In the meantime a work around should be to delete the yarn.lock file inside the .twilio-cli directory inside your home directory. So in your case: C:\Users\ARPANSINGH\.twilio-cli\yarn.lock and try again.

I have deleted manually yarn.lock.lock when I tried the again the command twilio plugins:install @twilio-labs/plugin-serverless again yarn.lock.lock recreated. tried it 3x no luck.
issue facing see below
Installing plugin @twilio-labs/plugin-serverless... failed
Error: yarn add @twilio-labs/plugin-serverless@latest --non-interactive --mutex=file:C:\Users\user.twilio-cli\yarn.lock
--preferred-cache-folder=C:\Users\user.twilio-cli\yarn --check-files exited with code 1

1

Hi @MgHtinLynn, are you finding this an issue too? Have you tried the workarounds mentioned above?

hi @philnash
I tried that way but didn't work till now.

@MgHtinLynn as this is an old issue that you are commenting on, could I ask you to please fully describe what you are doing and the error that you are getting? Thank you.

Hi @philnash
Thanks for your information and support.
Currently, I'm trying to integrate for non-native CRM to Twilio Flex
According to docs, I need to create new plugin with react.
So i tried to install twilio-cli v2 with node - v14
I'm trying to install
twilio plugins:install @twilio-labs/plugin-flex
but getting this error
Installing plugin @twilio-labs/plugin-flex... failed
    Error: yarn add @twilio-labs/plugin-flex@latest --non-interactive --mutex=file:/Users/htinlynn/.twilio-cli/yarn.lock
    --preferred-cache-folder=/Users/htinlynn/.twilio-cli/yarn --check-files exited with code 1

My Environment

Node - v14.17.6
npm - 8.4.1
yarn - 2.4.3

Do you have any idea or any solutions to fix it.

Hey @MgHtinLynn, thanks for the extra information. It turns out that this is not the right repo to report this issue to.
This repo is for the Twilio Serverless toolkit and Serverless plugin, but you are trying to install the Flex plugin. You can find the flex plugin as part of the monorepo here: https://github.com/twilio/flex-plugin-builder. I recommend you open a new issue there with as much information about what is going on.


Make Material's Input, Fab, and Joy's SvgIcon color prop extendable

[x] I have followed (at least) the PR section of the contributing guide.

almost made a similar PR!

Thank you!


Deploy Clojure Demo

Install whatever is necessary on CentOS box
Deploy Clojure demo to CentOS box
Test

Got this working.


[Sessions] Block hash store does not update correctly

Objective
Fix  session mismatch errors occurring when RelayRequests are processed at some specific block heights.
Have a flawless relaying process at any time in a session or a rolled-over session and at any RelayRequest volume.
Origin Document
Resulting RelayResponse

Sequencer's logs

Goals

Ensure that no unwanted session mismatch error is occurring during RelayRequest verification that may be caused by GetSession being called at sensitive points in time.
Ensure deterministic GetSession queries.

Deliverables

[ ] A single PR addressing the fact that GetSession may not have access to the  stored blockHash used in sessionId construction.

Non-goals / Non-deliverables

Implement a new solution for getting past block hashes.
Change the Pocket protocol to address the issue.

General deliverables

[ ] Comments: Add/update TODOs and comments alongside the source code so it is easier to follow.
[ ] Testing: Add new tests (unit and/or E2E) to the test suite.

Creator: @red-0ne
Co-Owners: @Olshansk

It seems that Tendermint is broadcasting new blocks to the off-chain actors (through websocket) and to Cosmos at the same time.
Making the off-chain actors aware of the latest block height N while Cosmos is currently processing block height N.
This results in having the session querier trying to hydrate Sessions for blocks that does not have their hash stored yet  (blockHeight == ctx.BlockHeight()).
ctx.BlockHeight() being the block that is currently being processed by Cosmos.

It seems that Tendermint is broadcasting new blocks to the off-chain actors (through websocket) and to Cosmos at the same time.

Is this not expected behaviour?

Making the off-chain actors aware of the latest block height N while Cosmos is currently processing block height N.

I looked at the list of events and found this:

This results in having the session querier trying to hydrate Sessions for blocks that does not have their hash stored yet (blockHeight == ctx.BlockHeight()).

Maybe it's as simple as simply storing the hash on EndBlocker instead of BeginBlocker?

@Olshansk,

Is this not expected behaviour?

I assumed that when the off-chain actors receive a committed block, Cosmos (not Tendermint) would have already processed and committed it on its side. Which seems not to be the case.

I looked at the list of events and found this:

Yes these are the Tendermint events, which are sent to off-chain actors via websocket but they are also sent to Cosmos for indexing (apparently this is done concurrently)

Maybe it's as simple as simply storing the hash on EndBlocker instead of BeginBlocker?

Tried it, it yields the same results.

The crafted log below shows us what's happening. It outputs on the sequencer when an off-chain actor queries Cosmos (in this case for session)
The code below is part of the keeper.GetSession callstack.
height is the height that the off-chain actor is aware of and used in its QueryGetSessionRequest
ctx.BlockHeight() is the current (not the last committed) block being processed by Cosmos

Sequencer output

Cosmos is made aware of block 12.
Off-chain actor is requesting session info (in 3 occurrences):

Off-chain actor is already aware of block 12 (from Tendermint) and is requesting it.
Cosmos' ctx.BlockHeight() is still 12 currently processing it and GetBlockHash(ctx, 12) returns the empty byte slice.
Finished hydrating session ID: f03f1a3..., Cosmos replied with f03f1a3... as sessionID for block 12, which is constructed out of the empty byte slice since it doesn't have block 12 hash yet. (BeginBlocker() has not triggered yet)

Cosmos is now aware of block 13, it gets and stores the hash of block 12.
Off-chain actors re-request the session info for block 12 (The RelayMiner is doing verification)

The currently processed block is 13 (ctx.BlockHeight == 13).
Finished hydrating session ID: 54f747, Cosmos is now replying with the reight sessionID for block 12.

The blow diagrams shows the assumption of how off-chain and on-chain actors get notified in-parallel about a committed block.
graph TB
  TM[Tendermint]
  COS[Cosmos 'SessionKeeper']
  OFF[Off-chain actor]

  TM -. BroadcastBlock: N .-> COS
  TM -. BroadcastBlock: N .-> OFF

  OFF <-- GetSession: N --> COS
  COS -- StorePrevHash: N-1 --> COS

Some notes regarding context:

We should use the terms CometBFT, not Tendermint.

There is confusing terminology here between "made aware", "indexing", etc...

CometBFT is a consensus engine
CosmoSDK is a framework communicating w/ CometBFT using ABCI
There are only two states: CommitedBlock, ProposedBlock

When EndBlocker is called, the block is committed. When BeginBlocker is called, it is being proposed.

Asks:
4. I'm still confused w.r.t what you're suggesting as next steps? To me it just seems like an off-by-one error on a wrong handler being called.
5. In the logs, there are some assumptions (e.g. session generate using nil slice), but I'd ask to update the logs so that's not an assumption.

Fair enough

I still think CosmosSDK (just like the off-chain actors) is being notified by CometBFT about Committed blocks. And the fact that this is happening in parallel is what seems to be causing the issue. This can be seen in the logs by comparing the latest block that the off-chain actor is sending and the block height returned by ctx.BlockHeight().

Yes, in the sense that when EndBlocker is called the block is then committed, so it doesn't change that much to the problem.

I haven't elaborated about the solution here, Will do in a separate comment so we can evaluate its viability.

Will comeback with more logs :+1:

Added more logs and put the hash storing procedure in the EndBlock method. This is the result

In these logs we see:

When ctx.BlockHeight() == 8, hash of block 7 is stored.

Off-chain requesting hash of block 8:

Hash of block 8 is not stored yet, as it will be on block 9.
Nonetheless the off-chain actor knows about it (it even knows the hash from CometBFT, although it does not show-up here).
The hash returned is empty.
hydrateSessionID uses that empty slice to build sessionId 3a5ba9... for SessionStartBlockHeight: 8.

Block 9 is being built and stores block 8 hash.

Off-chain requesting hash of block 8 again (for session verification):

Now, the correct hash of block 8 is returned.
The hydrated session is constructed with the right block hash and returns a different sessionId b1449b... for SessionStartBlockHeight: 8.

I will challenge our assumption that the block hash we get from ctx.BlockHeader.LastBlockId.Hash corresponds to ctx.BlockHeight() - 1

Happy ending and assumption broken.
ctx.BlockHeader.LastBlockId.Hash is actually the hash of the block height returned by ctx.BlockHeight() and not ctx.BlockHeight() - 1.
Will open a PR fixing the session mismatch issue and adjusting comments. I'll also make sure ctx.BlockHeight() is used appropriately over the codebase.

@red-0ne Left a few notes on #368. Let's prioritize figuring it out and merging it in.


Convert 'sealed' sub-object to 'data object'

Just in case anyone is interested in why this is a good thing: https://kotlinlang.org/docs/whatsnew1720.html#improved-string-representations-for-singletons-and-sealed-class-hierarchies-with-data-objects


Units support

ROSS has only some small support for units implemented with the check_units decorator.
This decorator will verify each argument name and convert to units declared in the units.py module and then it will return the converted values to the function.
The returned values are of the same type as the original argument (float or int), and are not of the pint.Quantity type. This is because after converting with pint.Quantity we only pass the magnitude attribute.
Ideally we would have pint.Quantity objects passed and everything would have a magnitude/unit attached to it, so when creating a material the user could run things like:
import ross as rs

Q = rs.units.Q
steel = rs.Material(name='steel', rho=7810, E=Q(3e7, 'psi'), G_s=Q(1e7, 'psi'))

print(steel.E)
206842721646.701 N / m2
print(steel.E.to('lbf/inch**2'))
30000000.0 lbf / in2
print(steel.rho.to('lb/ft**3'))
487.56237209968947 lb / ft3

I have tried to implement this approach here https://github.com/raphaeltimbo/ross-1/tree/improve-pint but I had some problems.

Working with arrays and units in our case is not trivial. Take, for example, the disk mass matrix:

M = np.array([[m, 0,  0,  0],
              [0, m,  0,  0],
              [0, 0, Id,  0],
              [0, 0,  0, Id]]

Here m has units kg and Id kg*m**2, so it is not possible to assemble a Quantity array in this case.
So we will have to use the Quantity magnitude to construct the array:
m = m.magnitude
Id = Id.magnitude
M = np.array([[m, 0,  0,  0],
              [0, m,  0,  0],
              [0, 0, Id,  0],
              [0, 0,  0, Id]]

The problem with this is that we kind of defeat the purpose of having Quantity objects passed to these functions if we have to fall back to using their magnitude all the time.
2. Other modules depending on ROSS main modules would have to adapt to expect Quantity objects. For example, the following test for the sthocastic module fails with this code:
def test_st_shaft_element(rand_shaft):
    elm = list(iter(rand_shaft))
    assert [sh.L for sh in elm] == [1.0, 1.1]
    assert [sh.idl for sh in elm] == [0.01, 0.02]
    assert [sh.odl for sh in elm] == [0.1, 0.2]
    assert [sh.idr for sh in elm] == [0.01, 0.02]
    assert [sh.odr for sh in elm] == [0.1, 0.2]
    assert [sh.material.E for sh in elm] == [209000000000.0,<PHONE_NUMBER>00.0]

Result:
Expected :[1.0, 1.1]
Actual   :[<Quantity 1. m>, <Quantity 1.1 m>]

Using Quantity everywhere will also add some extra computing time.
So, considering that, I think it is not worth for our package to have pint 'fully' implemented.
We could keep working with the unit conversion in the input and we could also add some utility functions to help the user converting the final results and also plotting with the desired units.
Internally, however, we would keep working with normal arrays/floats.
I will start to implement something and will send updates here for some feedback.

The way I see it, It's ok to have units conversion for inputs and outputs only.
The input units are automatically converted to the SI, and ROSS runs this way. Finally, when post-processing results, the user chooses the units to be displayed at graphs.


✨ Gate Extensions and better QASM parser

Description
This PR updates the internal QFR library and brings along support for many new (two-qubit) gates. Until #235 is in, the mapper in QMAP can't really take advantage of that, but it's good to be prepared for that. Some breaking changes in the QFR required changes here to make the project compile again.
The Clifford Tableau simulation algorithm now also supports iSWAP, DCX, and ECR gates.
Finally, the internal QASM parser has been improved by quite a bit; adding support for all new gates and direct parsing for natively supported gates without requiring definitions. The version specifier (OPENQASM 2.0) is now optional and the parser supports all standard quantum gates and controlled versions without requiring the qelib1.inc include.
Checklist:

[x] The pull request only contains commits that are related to it.
[x] I have added appropriate tests and documentation.
[ ] I have made sure that all CI jobs on GitHub pass.
[x] The pull request introduces no new warnings and follows the project's style guidelines.

Failures here are fixed by https://github.com/cda-tum/qfr/pull/284.


Enable smart substitution for widgets

Widget properties that require an object like structure were failing when a user had multiple bindings in that property. This was because we would templatise the final output which would make the final output a string with escaped characters.
This change will enable smart substitution evaluation we use in JSON inputs like API post body to correctly evaluate properties configured with multiple bindings or binding + string combinations
Before

After

Fixes #4688
Test coverage results :test_tube:
:green_circle: Total coverage has increased
// Code coverage diff between base branch:release and head branch: fix/smart-substitution-widgets

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
total
51.59 (0.01)
32.62 (0.03)
29.76 (0)
52.11 (0.02)

:green_circle:
app/client/src/entities/Widget/utils.ts
96.88 (0)
85.29 (1.42)
100 (0)
96.77 (0)

:green_circle:
app/client/src/widgets/DropdownWidget.tsx
45.45 (1.01)
0 (0)
41.67 (0)
47.06 (1.06)

:green_circle:
app/client/src/widgets/FilepickerWidget.tsx
36.26 (0.7)
0 (0)
14.81 (0)
35.56 (0.73)

:green_circle:
app/client/src/widgets/MapWidget.tsx
47.62 (0.85)
9.09 (0)
23.53 (0)
48.33 (0.87)

:green_circle:
app/client/src/widgets/RadioGroupWidget.tsx
82.14 (0.66)
0 (0)
62.5 (0)
84.62 (0.62)

:green_circle:
app/client/src/widgets/ListWidget/ListPropertyPaneConfig.ts
45.45 (5.45)
0 (0)
0 (0)
45.45 (5.45)

:green_circle:
app/client/src/widgets/TableWidget/TablePropertyPaneConfig.ts
36.11 (0.9)
13.73 (0)
50 (0)
38.24 (0.93)

@hetunandu I am getting error on binding two API mentioned in the screenshot.
[
{{Api1.data.data}},
{{Api2.data.data}}
]


Add EventHub and EventHub Access Policy features

Add support for additional features to the existing Eventhub Namespace module:

[ ] EventHub
[ ] EventHub Authorization Rule

https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/eventhub_authorization_rule


ChefSpec matchers for LWRP

I am working on upgrading wrapper cookbooks that used outdated python cookbook but I cannot find ChefSpec matcher for python_package LWRP.
The previous cookbook had ChefSpec matchers for LWRP. For example, it provided install_python_pip for python_pip LWRP. The matchers were defined in the following code.
https://github.com/poise/python/blob/master/libraries/matchers.rb
Is poise-python cookbook lacking the same type of matchers or am I missing something?

::magic:: ✨
It's handled deep inside my Poise helper library, it automatically creates matchers for all actions as well as the rarely used runner accessors.

It will be really nice if the magical matchers are documented somewhere.

Not sure what there is to document other than "matchers exist"? They all follow the entirely standardized format, and really ChefSpec shouldn't have required them to be defined like that in the first place but it's tricky to avoid it.

I found this just doing monkey testing, but you can do <action>_<resource>(<parameter>) and works fine.
For example, install_python_package('whatever')

Yes, that is the pattern all matchers always use :-)


Is it necessary to create a proxy.html file at the iframe's domain?

Is it necessary to create a proxy.html file at the iframe's domain? It seems like it should be possible to have the iframe itself act as the proxy. I understand why a proxy.html is needed on the parent frame's domain (you can't post cross domain up to a parent frame, so you post to a child frame with the parent's domain that relays the message), but the parent can post cross domain into its child frames.

I believe it's not necessary as almost all of the newer browsers support window.postMessage, which is the transport layer that porthole uses. It's mostly for supporting legacy browsers. One of things that porthole handles pretty well is the transfer argument, which is not supported by all browsers. Porthole converts the transport JSON object to string and then parses it back to JSON which is what makes this library great.
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#Browser_compatibility