PyTorch Lightning 1.4.1 crashes during training

🐛 Bug
When I start training on 2 opus using pytorch-lightning 1.4.1 the training crashes after a few epochs. Note that this happens only on 1.4.1
If I run my code using pytorch-lightning 1.4.0 everything works fine.
There are multiple versions of the same error with different versions. For brevity I'm attaching just one trace.
Here's the error trace:
Global seed set to 20
Using native 16bit precision.
GPU available: True, used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
Files already downloaded and verified
Files already downloaded and verified
Global seed set to 20
Global seed set to 20
initializing ddp: GLOBAL_RANK: 0, MEMBER: 1/2
Using native 16bit precision.
Global seed set to 20
initializing ddp: GLOBAL_RANK: 1, MEMBER: 2/2
----------------------------------------------------------------------------------------------------
distributed_backend=nccl
All DDP processes registered. Starting ddp with 2 processes
----------------------------------------------------------------------------------------------------

LOCAL_RANK: 1 - CUDA_VISIBLE_DEVICES: [0,1]
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0,1]

  | Name     | Type             | Params
----------------------------------------------
0 | resnet18 | ResNet           | 11.2 M
1 | loss     | CrossEntropyLoss | 0
----------------------------------------------
11.2 M    Trainable params
0         Non-trainable params
11.2 M    Total params
44.881    Total estimated model params size (MB)
Global seed set to 20
Global seed set to 20
/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/trainer/data_loading.py:322: UserWarning: The number of training samples (44) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.
  rank_zero_warn(
Epoch 4:  47%|█████████████████████                        | 23/49 [00:02<00:02,  9.20it/s, loss=2.51, v_num=17, val_loss=3.260, val_acc=0.239, train_loss=2.760, train_acc=0.296]terminate called after throwing an instance of 'c10::CUDAError'
  what():  CUDA error: initialization error
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Exception raised from insert_events at /pytorch/c10/cuda/CUDACachingAllocator.cpp:1089 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x42 (0x7ff9a6d3fa22 in /home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/torch/lib/libc10.so)
frame #1: <unknown function> + 0x10e9e (0x7ff9a6fa0e9e in /home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/torch/lib/libc10_cuda.so)
frame #2: c10::cuda::CUDACachingAllocator::raw_delete(void*) + 0x1a7 (0x7ff9a6fa2147 in /home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/torch/lib/libc10_cuda.so)
frame #3: c10::TensorImpl::release_resources() + 0x54 (0x7ff9a6d295a4 in /home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/torch/lib/libc10.so)
frame #4: <unknown function> + 0xa2822a (0x7ffa4bb4722a in /home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/torch/lib/libtorch_python.so)
frame #5: python() [0x4efd28]
frame #6: python() [0x5fb977]
frame #7: python() [0x5ab432]
<omitting python frames>
frame #9: python() [0x4f34b2]
frame #10: python() [0x5a6eaa]
frame #25: python() [0x50b868]
frame #30: python() [0x59be64]
frame #31: python() [0x5a6f17]
frame #42: python() [0x59c16d]
frame #43: python() [0x5a6f17]
frame #49: python() [0x5a7031]
frame #50: python() [0x69e536]
frame #52: python() [0x5c3cb0]
frame #60: python() [0x5038a2]

Traceback (most recent call last):
  File "resnet18cifar.py", line 177, in <module>
    trainer.fit(model)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 553, in fit
    self._run(model)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 918, in _run
    self._dispatch()
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 986, in _dispatch
    self.accelerator.start_training(self)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/accelerators/accelerator.py", line 92, in start_training
    self.training_type_plugin.start_training(trainer)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 161, in start_training
    self._results = trainer.run_stage()
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 996, in run_stage
    return self._run_train()
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1058, in _run_train
    self.training_type_plugin.reconciliate_processes(traceback.format_exc())
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/plugins/training_type/ddp.py", line 453, in reconciliate_processes
    raise DeadlockDetectedException(f"DeadLock detected from rank: {self.global_rank} \n {trace}")
pytorch_lightning.utilities.exceptions.DeadlockDetectedException: DeadLock detected from rank: 0
 Traceback (most recent call last):
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 1045, in _run_train
    self.fit_loop.run()
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 111, in run
    self.advance(*args, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/fit_loop.py", line 200, in advance
    epoch_output = self.epoch_loop.run(train_dataloader)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 111, in run
    self.advance(*args, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/epoch/training_epoch_loop.py", line 130, in advance
    batch_output = self.batch_loop.run(batch, self.iteration_count, self._dataloader_idx)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/batch/training_batch_loop.py", line 101, in run
    super().run(batch, batch_idx, dataloader_idx)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/base.py", line 111, in run
    self.advance(*args, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/batch/training_batch_loop.py", line 148, in advance
    result = self._run_optimization(batch_idx, split_batch, opt_idx, optimizer)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/batch/training_batch_loop.py", line 202, in _run_optimization
    self._optimizer_step(optimizer, opt_idx, batch_idx, closure)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/batch/training_batch_loop.py", line 396, in _optimizer_step
    model_ref.optimizer_step(
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/core/lightning.py", line 1593, in optimizer_step
    optimizer.step(closure=optimizer_closure)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/core/optimizer.py", line 209, in step
    self.__optimizer_step(*args, closure=closure, profiler_name=profiler_name, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/core/optimizer.py", line 129, in __optimizer_step
    trainer.accelerator.optimizer_step(optimizer, self._optimizer_idx, lambda_closure=closure, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/accelerators/accelerator.py", line 292, in optimizer_step
    make_optimizer_step = self.precision_plugin.pre_optimizer_step(
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/plugins/precision/native_amp.py", line 59, in pre_optimizer_step
    result = lambda_closure()
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/batch/training_batch_loop.py", line 236, in _training_step_and_backward_closure
    result = self.training_step_and_backward(split_batch, batch_idx, opt_idx, optimizer, hiddens)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/batch/training_batch_loop.py", line 547, in training_step_and_backward
    self.backward(result, optimizer, opt_idx)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/loops/batch/training_batch_loop.py", line 588, in backward
    result.closure_loss = self.trainer.accelerator.backward(result.closure_loss, optimizer, *args, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/accelerators/accelerator.py", line 276, in backward
    self.precision_plugin.backward(self.lightning_module, closure_loss, *args, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/plugins/precision/precision_plugin.py", line 78, in backward
    model.backward(closure_loss, optimizer, *args, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/pytorch_lightning/core/lightning.py", line 1465, in backward
    loss.backward(*args, **kwargs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/torch/_tensor.py", line 255, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/torch/autograd/__init__.py", line 147, in backward
    Variable._execution_engine.run_backward(
  File "/home/bitwiz/codeden/pruning/env/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
    _error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 11444) is killed by signal: Aborted.

To Reproduce
Here's my code.
It's a simple code which trains resnet18 on cifar using 2 gpus with DDP.
Expected behavior
It's supposed to train for 100 epochs and
Environment
* CUDA:
	- GPU:
		- RTX A5000
		- RTX A5000
	- available:         True
	- version:           11.1
* Packages:
	- numpy:             1.21.1
	- pyTorch_debug:     False
	- pyTorch_version:   1.9.0+cu111
	- pytorch-lightning: 1.4.1
	- tqdm:              4.62.0
* System:
	- OS:                Linux
	- architecture:
		- 64bit
		- ELF
	- processor:         x86_64
	- python:            3.8.10
	- version:           #27~20.04.1-Ubuntu SMP Tue Jul 13 17:41:23 UTC 2021

Additional context
The error happens irrespective of whether I use DP or DDP

This issue happened to me, I thought it was related to how the dataloaders are handled, and I decided to postponed using multi-GPU on my project, so I didn't investigate it further.

I have the same issue.

Maybe it is connected with this?
https://github.com/pytorch/pytorch/issues/8976

@InCogNiTo124
The code works well with PL 1.4.0. I think it's not a pytorch's bug.

yeah it runs successfully for a few epochs. For me it never crossed 10 epochs. Which is what is weird.

@stonelazy I think this is the issue of PL
In my case, the Training phase has no problem and when the test phase starts, the error occurs.

Same thing happened to me for multi-gpu ddp with multi-workers. Downgrading to 1.4.0 resolved the problem.

Same thing happened to me when using multi-gpu ddp with multi-workers after I upgrade my PL to v1.4.2. But sadly even though I downgrading to 1.4.0, this bug still exits. :(

This problem could be caused by self.log in using DDP training.
I faced with similar case, but I have seemed to solve it by changing the code like below.
self.log("my-log-name", value)
↓
self.log("my-log-name", value,  rank_zero_only=True)
rank_zero_only  feature has been added by this PR: https://github.com/PyTorchLightning/pytorch-lightning/pull/7966
my env is below
* CUDA:
        - GPU:
                - Tesla V100-SXM2-16GB
                - Tesla V100-SXM2-16GB
                - Tesla V100-SXM2-16GB
                - Tesla V100-SXM2-16GB
        - available:         True
        - version:           10.2
* Packages:
        - numpy:             1.19.5
        - pyTorch_debug:     False
        - pyTorch_version:   1.7.1
        - pytorch-lightning: 1.4.2
        - tqdm:              4.56.0
* System:
        - OS:                Linux
        - architecture:
                - 64bit
                -
        - processor:         x86_64
        - python:            3.8.6
        - version:           #64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020

Is this related to https://github.com/PyTorchLightning/pytorch-lightning/issues/4471?

I'm not sure, but considering their stack-traces, it seems to have some relationship.
In fact, rank_zero_only=True works for some people as well as me.
I don't know whether this is the essential solution or not.

@tchaton we might want to bump the priority on this

This problem could be caused by self.log in using DDP training.
When all the processes call this method, synchronization induces a deadlock, I think.
I faced with similar case, but I have seemed to solve it by changing the code like below.
self.log("my-log-name", value)
↓
self.log("my-log-name", value, rank_zero_only=True)
rank_zero_only feature has been added by this PR: #7966
my env is below
* CUDA:
        - GPU:
                - Tesla V100-SXM2-16GB
                - Tesla V100-SXM2-16GB
                - Tesla V100-SXM2-16GB
                - Tesla V100-SXM2-16GB
        - available:         True
        - version:           10.2
* Packages:
        - numpy:             1.19.5
        - pyTorch_debug:     False
        - pyTorch_version:   1.7.1
        - pytorch-lightning: 1.4.2
        - tqdm:              4.56.0
* System:
        - OS:                Linux
        - architecture:
                - 64bit
                -
        - processor:         x86_64
        - python:            3.8.6
        - version:           #64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020

I was trying the solution proposed here.
I noticed that the training was much longer without encountering any problem, but in the end I still got a system crash two times (system literally freezed).
This may be related to why some one is facing the issue even in TPUs #https://github.com/PyTorchLightning/pytorch-lightning/discussions/9197#discussion-3545692

I think rank_zero_only=True might not be the solution. It is introduced in release 1.4.0, and I tested with 1.4.4, 1.4.1, 1.4.0, 1.3.8. I am getting the same error.
I am following all instructions as per documentation, so not sure where its going wrong. I have my skeleton code in this discussion #9197 if anybody finds any obvious coding mistakes, let me know.
PS:  The same code gives no error with single GPU with PL 1.4.4

Hey everyone,
I can confirm I could reproduce the error and I will start investigating. Thanks for your patience and we apologise for the inconvenience.
Best,
T.C

Here's the minimal reproduction code:
import torch
from torch.utils.data import DataLoader, Dataset

import pytorch_lightning as pl
from pytorch_lightning import LightningModule

class RandomDataset(Dataset):
    def __init__(self, size, length):
        self.len = length
        self.data = torch.randn(length, size)

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return self.len

class BoringModel(LightningModule):
    def __init__(self):
        super().__init__()
        self.layer = torch.nn.Linear(32, 2)

    def forward(self, x):
        return self.layer(x)

    def training_step(self, batch, batch_idx):
        loss = self(batch).sum()
        self.log('train_loss', loss, on_epoch=True)
        return {"loss": loss}

    def configure_optimizers(self):
        return torch.optim.SGD(self.layer.parameters(), lr=0.1)

    def train_dataloader(self):
        return DataLoader(RandomDataset(32, 64), batch_size=2, num_workers=1)

if __name__ == '__main__':
    model = BoringModel()
    trainer = pl.Trainer(
        gpus=2,
        accelerator='ddp',
        max_epochs=100,
        checkpoint_callback=False,
    )
    trainer.fit(model)

$ CUDA_LAUNCH_BLOCKING=1 python bug.py
...
terminate called after throwing an instance of 'c10::CUDAError'
  what():  CUDA error: initialization error
Exception raised from insert_events at /pytorch/c10/cuda/CUDACachingAllocator.cpp:1089 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x42 (0x7f726617fa22 in /home/carlos/venv/lib/python3.8/site-packages/torch/lib/libc10.so)
frame #1: <unknown function> + 0x10e9e (0x7f72663e0e9e in /home/carlos/venv/lib/python3.8/site-packages/torch/lib/libc10_cuda.so)
frame #2: c10::cuda::CUDACachingAllocator::raw_delete(void*) + 0x1a7 (0x7f72663e2147 in /home/carlos/venv/lib/python3.8/site-packages/torch/lib/libc10_cuda.so)
frame #3: c10::TensorImpl::release_resources() + 0x54 (0x7f72661695a4 in /home/carlos/venv/lib/python3.8/site-packages/torch/lib/libc10.so)
frame #4: <unknown function> + 0xa2822a (0x7f730af8722a in /home/carlos/venv/lib/python3.8/site-packages/torch/lib/libtorch_python.so)
frame #5: /home/carlos/venv/bin/python() [0x4ef828]
frame #6: /home/carlos/venv/bin/python() [0x5fb497]
frame #7: PyTraceBack_Here + 0x6db (0x54242b in /home/carlos/venv/bin/python)
frame #8: _PyEval_EvalFrameDefault + 0x3aec (0x56d32c in /home/carlos/venv/bin/python)
frame #9: /home/carlos/venv/bin/python() [0x50a23e]
frame #10: _PyEval_EvalFrameDefault + 0x5757 (0x56ef97 in /home/carlos/venv/bin/python)
frame #11: _PyFunction_Vectorcall + 0x1b6 (0x5f5e56 in /home/carlos/venv/bin/python)
frame #12: _PyEval_EvalFrameDefault + 0x5757 (0x56ef97 in /home/carlos/venv/bin/python)
frame #13: _PyEval_EvalCodeWithName + 0x26a (0x56822a in /home/carlos/venv/bin/python)
frame #14: _PyFunction_Vectorcall + 0x393 (0x5f6033 in /home/carlos/venv/bin/python)
frame #15: _PyObject_FastCallDict + 0x48 (0x5f5808 in /home/carlos/venv/bin/python)
frame #16: _PyObject_Call_Prepend + 0x61 (0x5f5a21 in /home/carlos/venv/bin/python)
frame #17: /home/carlos/venv/bin/python() [0x59b60b]
frame #18: _PyObject_MakeTpCall + 0x296 (0x5f3446 in /home/carlos/venv/bin/python)
frame #19: _PyEval_EvalFrameDefault + 0x598a (0x56f1ca in /home/carlos/venv/bin/python)
frame #20: _PyFunction_Vectorcall + 0x1b6 (0x5f5e56 in /home/carlos/venv/bin/python)
frame #21: _PyEval_EvalFrameDefault + 0x71e (0x569f5e in /home/carlos/venv/bin/python)
frame #22: _PyEval_EvalCodeWithName + 0x26a (0x56822a in /home/carlos/venv/bin/python)
frame #23: _PyFunction_Vectorcall + 0x393 (0x5f6033 in /home/carlos/venv/bin/python)
frame #24: _PyEval_EvalFrameDefault + 0x71e (0x569f5e in /home/carlos/venv/bin/python)
frame #25: _PyFunction_Vectorcall + 0x1b6 (0x5f5e56 in /home/carlos/venv/bin/python)
frame #26: _PyEval_EvalFrameDefault + 0x5757 (0x56ef97 in /home/carlos/venv/bin/python)
frame #27: _PyFunction_Vectorcall + 0x1b6 (0x5f5e56 in /home/carlos/venv/bin/python)
frame #28: /home/carlos/venv/bin/python() [0x50a33c]
frame #29: PyObject_Call + 0x1f7 (0x5f2b87 in /home/carlos/venv/bin/python)
frame #30: _PyEval_EvalFrameDefault + 0x1f70 (0x56b7b0 in /home/carlos/venv/bin/python)
frame #31: _PyFunction_Vectorcall + 0x1b6 (0x5f5e56 in /home/carlos/venv/bin/python)
frame #32: _PyEval_EvalFrameDefault + 0x8f6 (0x56a136 in /home/carlos/venv/bin/python)
frame #33: _PyFunction_Vectorcall + 0x1b6 (0x5f5e56 in /home/carlos/venv/bin/python)
frame #34: _PyEval_EvalFrameDefault + 0x8f6 (0x56a136 in /home/carlos/venv/bin/python)
frame #35: _PyFunction_Vectorcall + 0x1b6 (0x5f5e56 in /home/carlos/venv/bin/python)
frame #36: /home/carlos/venv/bin/python() [0x50a33c]
frame #37: PyObject_Call + 0x1f7 (0x5f2b87 in /home/carlos/venv/bin/python)
frame #38: /home/carlos/venv/bin/python() [0x654fbc]
frame #39: /home/carlos/venv/bin/python() [0x674aa8]
frame #40: <unknown function> + 0x9609 (0x7f730d495609 in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #41: clone + 0x43 (0x7f730d5d1293 in /lib/x86_64-linux-gnu/libc.so.6)

Traceback (most recent call last):
  File "/home/carlos/venv/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 990, in _try_get_data
    data = self._data_queue.get(timeout=timeout)
  File "/usr/lib/python3.8/multiprocessing/queues.py", line 107, in get
    if not self._poll(timeout):
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 257, in poll
    return self._poll(timeout)
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 424, in _poll
    r = wait([self], timeout)
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 931, in wait
    ready = selector.select(timeout)
  File "/usr/lib/python3.8/selectors.py", line 415, in select
    fd_event_list = self._selector.poll(timeout)
  File "/home/carlos/venv/lib/python3.8/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
    _error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 3397436) is killed by signal: Aborted.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/carlos/pytorch-lightning/kk.py", line 49, in <module>
    trainer.fit(model)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 547, in fit
    self._call_and_handle_interrupt(self._fit_impl, model, train_dataloaders, val_dataloaders, datamodule)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 502, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 577, in _fit_impl
    self._run(model)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 1001, in _run
    self._dispatch()
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 1072, in _dispatch
    self.accelerator.start_training(self)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/accelerators/accelerator.py", line 91, in start_training
    self.training_type_plugin.start_training(trainer)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 170, in start_training
    self._results = trainer.run_stage()
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 1082, in run_stage
    return self._run_train()
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 1123, in _run_train
    self.fit_loop.run()
  File "/home/carlos/pytorch-lightning/pytorch_lightning/loops/base.py", line 111, in run
    self.advance(*args, **kwargs)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/loops/fit_loop.py", line 206, in advance
    epoch_output = self.epoch_loop.run(data_fetcher)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/loops/base.py", line 106, in run
    self.on_run_start(*args, **kwargs)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/loops/epoch/training_epoch_loop.py", line 107, in on_run_start
    self.dataloader_iter = _prepare_dataloader_iter(dataloader_iter, self.batch_idx + 1)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/loops/utilities.py", line 169, in _prepare_dataloader_iter
    dataloader_iter = enumerate(data_fetcher, batch_idx)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/utilities/fetching.py", line 200, in __iter__
    self.prefetching(self.prefetch_batches)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/utilities/fetching.py", line 256, in prefetching
    self._fetch_next_batch()
  File "/home/carlos/pytorch-lightning/pytorch_lightning/utilities/fetching.py", line 298, in _fetch_next_batch
    batch = next(self.dataloader_iter)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/supporters.py", line 569, in __next__
    return self.request_next_batch(self.loader_iters)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/supporters.py", line 597, in request_next_batch
    return apply_to_collection(loader_iters, Iterator, next_fn)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/utilities/apply_func.py", line 93, in apply_to_collection
    return function(data, *args, **kwargs)
  File "/home/carlos/pytorch-lightning/pytorch_lightning/trainer/supporters.py", line 584, in next_fn
    batch = next(iterator)
  File "/home/carlos/venv/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 521, in __next__
    data = self._next_data()
  File "/home/carlos/venv/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1186, in _next_data
    idx, data = self._get_data()
  File "/home/carlos/venv/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1152, in _get_data
    success, data = self._try_get_data()
  File "/home/carlos/venv/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1003, in _try_get_data
    raise RuntimeError('DataLoader worker (pid(s) {}) exited unexpectedly'.format(pids_str)) from e
RuntimeError: DataLoader worker (pid(s) 3397436) exited unexpectedly

Running on master with the deadlock detection removed.
The issue relates to the logged metric on-epoch computation and num_workers>0

Can’t wait to see what was the annoying problem! 😂😭

Can’t wait to see what was the annoying problem!

copy vs deepcopy, somehow

Hey @InCogNiTo124,
Mistery to me. But my guess is that PyTorch is doing quite a lot of work on deepcopy compared to copy: https://github.com/pytorch/pytorch/blob/83e28a7d281c91a6d1a12b86bd5fb212dd424a85/torch/_tensor.py#L80
And copy might not as strict as deepcopy.
Best,
T.C

Works well with PL >= 1.4.5 !! Thanks!!

This fix that was introduced in PL 1.4.5 crashes my DDP trainings completely, so that it doesn't run any training step. However, I also experienced the original bug reported in the 1.4.x versions.
deepcopy_bug.txt
  File "/home/meeso/miniconda3/envs/calvin/lib/python3.8/site-packages/torch/_tensor.py", line 55, in __deepcopy__
    raise RuntimeError("Only Tensors created explicitly by the user "
RuntimeError: Only Tensors created explicitly by the user (graph leaves) support the deepcopy protocol at the moment

Related to this issue - is there already an integration test for DDP, or would it be possible to add one?
At the moment I'm using version 1.3.8 where I don't experience this issue, and it seems like it has been present for several releases (which would indicate that either there's a test missing, or the test that failed to detect the issue).

which would indicate that either there's a test missing, or the test failed to detect the issue

We have DDP tests! However, testing this is not so easy as it requires num_workers>0 to be set, which slows the test a lot and can hang with pytest.

So I have found why PL 1.4.5 breaks my training with the error " Only Tensors created explicitly by the user (graph leaves) support the deepcopy" @tchaton @carmocca .  I was returning a dictionary for training_step, where I had some pytorch distributions in a dictionary I was returning to do some plotting in a callback. Since these distributions are non-leaf nodes, the newly introduced deepcopy fails https://github.com/PyTorchLightning/pytorch-lightning/pull/9239/files#diff-eba04421e2e60c9d7b55f56ca57c9a319a4e3de38e3eb96c931324ecacbb73e0
Basically, I had something like this
def training_step(self, batch, batch_idx):
x, y, z = batch
out, mean, std = self.encoder(x)
loss = self.loss(out, x)
encoders_dict = {"one": Independent(Normal(mean, std)), 1)}
return {"loss": loss, "encoders_dict": encoders_dict}
Returning only the loss tensor works as a workaround.

@mees in that case, the encoders_dict should be getting detached automatically. Did you try adding the .detach() yourself?
encoders_dict = {"one": Independent(Normal(mean, std)), 1).detach()}
return {"loss": loss, "encoders_dict": encoders_dict}

meets the same error with the same Traceback of @mees in pytorch-lightning 1.4.8, but this time only with
return {"loss": loss}

so the problem might not because of encoders_dict?

@popfido I can check it if you share a repro script, but this should be fixed in master.

@popfido I can check it if you share a repro script, but this should be fixed in master.

Hi @carmocca,
This scene happends when I call pl.LightningModule.log in its training step and leave a Metric to record like log.('xxx', MetricEntity). But call it in log.('xxx', MetricEntity.compute())` works.


add fix for using is null

Adds a fix and tests for a bug in handling is null in both cql2 text and cql2 json.

thanks @bitner
I'll make a new release with this fix today


feat: also enable for .json files

or maybe an entry in the settings that allows for any arbitrary list of extensions?

that was fast, thank you kindly 🙏


preview for project directories

would be nice to just see the directory you are jumping in to, perhaps with ls by default, with an option to set a different default, like tree

out of scoping tree for now, ls is fine for the moment, tree can come later


EditIcon and AddIcon Not Visible

Steps to reproduce
Link to live example: (required)
Steps:
1.Import EditIcon and AddIcon from @mui/icons-material.
2.Use these icons within Fab components in a React functional component.
3.Set the color of the icons using inline styles or the sx prop
import React, { useState } from "react";
import EditIcon from '@mui/icons-material/Edit';
import AddIcon from '@mui/icons-material/Add';
import Fab from '@mui/material/Fab';
function Content() {
const [items, setItems] = useState("");
const [todo, setTodo] = useState([]);
function handleChange(event) {
    const value = event.target.value;
    setItems(value);
}

function addItems() {
    setTodo((prev) => ([...prev, items]));
    setItems("");
}

function del(id){
    setTodo((prev) => prev.filter((_,index) => {
        return id !== index;
    }));
}

return (

            <input
                type="text"
                placeholder="Write Your Task Here"
                onChange={handleChange}
                value={items}
            />
            <Fab onClick={addItems} color="secondary" aria-label="add">
                <AddIcon style={{ color: 'green' }} />
            </Fab>
            <Fab color="secondary" aria-label="edit">
                <EditIcon style={{ color: 'red' }} />
            </Fab>
            {todo.map((listItem, index) =>

 del(index)}>
                    {listItem}

            )}

);

}
export default Content;

Current behavior
The icons are not visible on the screen.
Expected behavior
The EditIcon and AddIcon should be visible with the specified colors (red for EditIcon and green for AddIcon).
Context
I’m encountering an issue where the EditIcon and AddIcon from Material-UI are not visible in my React application. Despite setting the color and ensuring proper imports, the icons do not appear on the screen.

  Output from `npx @mui/envinfo` goes here.

System:
    OS: Windows 11 10.0.22631
  Binaries:
    Node: 20.11.0 - C:\Program Files\nodejs\node.EXE
    npm: 10.2.4 - C:\Program Files\nodejs\npm.CMD
    pnpm: Not Found
  Browsers:
    Chrome: Not Found
    Edge: Chromium (127.0.2651.74)
  npmPackages:
    @emotion/react: ^11.13.0 => 11.13.0
    @emotion/styled: ^11.13.0 => 11.13.0
    @mui/core-downloads-tracker:  5.16.6
    @mui/icons-material: ^5.16.6 => 5.16.6
    @mui/material: ^5.16.6 => 5.16.6
    @mui/private-theming:  5.16.6
    @mui/styled-engine:  5.16.6
    @mui/styled-engine-sc: ^6.0.0-alpha.18 => 6.0.0-alpha.18
    @mui/system:  5.16.6
    @mui/types:  7.2.15
    @mui/utils:  5.16.6
    @types/react:  18.3.3
    react: ^18.3.1 => 18.3.1
    react-dom: ^18.3.1 => 18.3.1
    styled-components: ^6.1.12 => 6.1.12
    typescript:  5.5.4

 Browser : Google Chrome

Search keywords: "Material-UI icons not visible" "EditIcon not rendering" "AddIcon not showing up" "Material-UI Fab icon issue" "React icons not displaying" "MUI icons color not applying" "Material-UI icon styles not working" "React component icons missing" "Material-UI icon color issue" "MUI EditIcon visibility problem"

Did you inspect the icon element in dev tools and see what is happening? Could you provide a minimal reproduction? It helps us troubleshoot. A live example would be perfect. This StackBlitz sandbox template may be a good starting point.

@ZeeshanTamboli I wanted to follow up on the issue I reported regarding the Material-UI icons not being visible. I have resolved the problem, and it is now working fine in a sandbox environment. Thank you for your assistance!
Additionally, could you please review the PR I submitted? It's titled "[docs][material-ui][TextField] Remove redux-form mentions from TextField documentation #43152".


[CHK-1110]: Test trigger

List of Changes

just a few updates on the readme to test the CR pipeline trigger

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Try to align this branch to the develop to see if the tests still fails


How to expose this publicly?

If I delete config.authentication = proc do ... end part from the initializer, I'm getting NoMethodError from authentication.rb:7 (Configuration.instance.authentication.call(auth, request)). It seems like authentication is obligatory, while I want this to be exposed publicly. I just want to make sure whether it's a bug, or I'm doing something wrong. Thanks.
[rails] 2016-06-08 15:58:00 - NoMethodError - undefined method `call' for nil:NilClass:
[rails]         /home/nowaker/projekty/virtkick/starter/.rvm/gems/ruby-2.2.2/gems/cabbage_doc-0.0.2/lib/cabbage_doc/authentication.rb:7:in `block in new'
[rails]         /home/nowaker/projekty/virtkick/starter/.rvm/gems/ruby-2.2.2/gems/cabbage_doc-0.0.2/lib/cabbage_doc/authentication.rb:5:in `tap'
[rails]         /home/nowaker/projekty/virtkick/starter/.rvm/gems/ruby-2.2.2/gems/cabbage_doc-0.0.2/lib/cabbage_doc/authentication.rb:5:in `new'
[rails]         /home/nowaker/projekty/virtkick/starter/.rvm/gems/ruby-2.2.2/gems/cabbage_doc-0.0.2/lib/cabbage_doc/web_helper.rb:22:in `auth'
[rails]         /home/nowaker/projekty/virtkick/starter/.rvm/gems/ruby-2.2.2/gems/cabbage_doc-0.0.2/web/views/authentication.haml:1:in `block in singleton class'
[rails]         /home/nowaker/projekty/virtkick/starter/.rvm/gems/ruby-2.2.2/gems/cabbage_doc-0.0.2/web/views/authentication.haml:-9:in `instance_eval'
[rails]         /home/nowaker/projekty/virtkick/starter/.rvm/gems/ruby-2.2.2/gems/cabbage_doc-0.0.2/web/views/authentication.haml:-9:in `singleton class'
[rails]         /home/nowaker/projekty/virtkick/starter/.rvm/gems/ruby-2.2.2/gems/cabbage_doc-0.0.2/web/views/authentication.haml:-11:in `__tilt_34979100'

It seems I totally misunderstood what config.authentication is.


Refactoring GitHub actions

Codecov Report

Merging #10 (6160b88) into main (3e92f75) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #10   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           31        31
=========================================
  Hits            31        31

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 3e92f75...6160b88. Read the comment docs.


Remove: 7S2P.Effie.CN version 3.5.3

403 Access Denied
Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

URL: https://download.effie.co/effie/effie_setup_3.5.3.exe
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 872)


Why custom directive not reflecting changes in its code immediately

I am writing a simple custom directive in Laravel. Whenever I make some changes in the code of custom directive, its not reflected in the view until I

Comment the directive in view.
Reload the page
Uncomment the directive
Reload the page to finally get the changes

Custom directive code in global.php
Blade::extend(function($value, $compiler)
{
	$pattern = $compiler->createMatcher('molvi');
	return preg_replace($pattern, '$1<?php echo ucwords($2); ?>', $value);
});

Directive call in view
@molvi('haji') //this will output 'Haji' due to ucwords($2)

//the ucwords() is replaced with strtolower()
@molvi('haji') //this will still output 'Haji'

I am converting the words to uppercase. When lets say I want to use strtolower() instead of ucwords(), I have to repeat above steps to get changes reflected.
UPDATE
I have tried to clear the cache with various methods as described in this thread but still no success.

The problem is that the compiled views are cached and you can't disable that. You can however clear the files. Either manually by deleting everything in storage/framework/views or by running the command php artisan view:clear

@lukasgeiter thanks for your reply. I have got your point. As far as php artisan view:clear is concerned, there is no such command. Running this command gives this error.
  [InvalidArgumentException]
  Command "view:clear" is not defined.
  Did you mean one of these?
      cache:clear
      auth:clear-reminders
      view:publish

The view has only this command
view
   view:publish                 Publish a package's views to the application

The command is relatively new, you probably need to update the framework.

Ok right. I am using laravel 4.2.1. This command is in laravel 5.0/5.1......right...?

Yes it is only available in 5.1. You can write your own command though.
Here's the source of the one from 5.1: ViewClearCommand

Thanks for your help @lukasgeiter  . The StackOverFlow usually proves not to be helpful in more serious questions. Again thanks.


minimumButtonWidth

HI!
I wonder if you could implement an option to set a minimum button width? If I understand it all correctly, then minimum width is hard coded 74pt. I found a line #134 in the pod file swipeActionView.swift, where I can adjust it and it works fine. But after update of the pod, if jumps back. It would be convenient to have it controlled by the app code.
let maximum = options.maximumButtonWidth ?? (size.width - 30) / CGFloat(actions.count)         let minimum = options.minimumButtonWidth ?? min(maximum, 50)         minimumButtonWidth = buttons.reduce(minimum, { initial, next in max(initial, next.preferredWidth(maximum: maximum)) })
Thank you for consideration! No priority, just an input for enchantment!

The default is 74 if no minimumButtonWidth is set in the options.
let minimum = **options.minimumButtonWidth** ?? min(maximum, **74**)


Support for Arcade Paradise

Game name: Arcade Paradise
 C:\Users\Username\AppData\LocalLow\Nosebleed Interactive\Arcade Paradise

Game package name: WiredProductions.ArcadeParadise_hxzk6evwjr6sy
 https://drive.google.com/file/d/19t4m-krMKJNQ--75xrC0ASvomSx3_RnB/view?usp=drive_link

This has now been released: https://github.com/Z1ni/XGP-save-extractor/releases.
Please test it and report back if it works.

Hi,
works like a charm.
Thank you!


Move out user and clean dependencies

Q
A

Is bugfix?
✔

New feature?
✔

Breaks BC?
✔

Fixed issues
#275

Finished and merged. Thank you!


Holding Control key + Left click return wrong ButtonIndex

Godot version
v3.3.2.stable.mono.official
System information
Mac BugSir + OpenGL ES 3.0 Renderer: NVIDIA GeForce GT 650M OpenGL Engine
Issue description
Holding control key + left click , the InputEventMouseButton.ButtonIndex is 2 it should be 1 since it's left click
Steps to reproduce
public override void _UnhandledInput(InputEvent e)
{
bool isMouseInput = e is InputEventMouseButton;
if (isMouseInput)
{
var mouseInput = e as InputEventMouseButton;
//hold control key + left click , it should be 1 but it gives 2
GD.Print(mouseInput.ButtonIndex);
}
}

Minimal reproduction project
No response

Control-Click on this page in your browser, and you'll get the context menu.
Control-click is the equivalent of Right click on macOS.

Control-click on this page in your browser, and you'll get the context menu.
Control-click is the equivalent of Right-click on macOS.

I have tested it on windows as well, does windows have similar behavior?!

I have tested it on windows as well, does windows have similar behavior?!

No, this is macOS-only behavior that was added to accomodate for some mice having only one button.

My bad since I was running the Engine through Virtual Machine it was still registered as Right click, tested on a Windows PC , it works fine.


"Plopșoru" is listed in the drop-down menu

Description:
"Plopșoru" is listed in the drop-down menu alongside its corresponding county, according to the law
Precondition:
The website is up an running.

Step 1
Type "Plopșoru" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Plopșoru, GORJ".


Rewrite blocking reply code using semaphores

When a reaction consumes a blocking molecule, four things could happen:

The blocking call times out before the reaction replies. The reply() call will then return false. (This functionality is currently broken: it will on an occasion return true, due to a rare race condition, as explained below.)
The reaction replies to the blocking molecule with a value. This is the normal situation.
The reaction replies to the blocking molecule more than once. The first reply is accepted, all subsequent replies are ignored, but the error is noted when the reaction body is finished with its computations.
The reaction does not reply at all. This is an error situation, which is noted when the reaction body is finished with its computations.

When errors occur in (3) and (4), these errors can apply to more than one molecule.
In this case, the error message will list all molecules to which (3) or (4) applies.
Suppose there is one or more molecules with errors (e.g. several that were not replied to, and several others that were twice replied to).
It's too late to send any errors to molecules that already got replies because their reactions have been already unblocked and continue executing concurrently.
However, if there are some reactions that are still blocked and waiting for a reply, we send the error message to those reactions.
This message will describe all the errors of (3) or (4) for all molecules to which these apply.
The blocking reply code needed to be rewritten using a cleaner approach with semaphores.

Eliminate synchronized in favor of explicit semaphores.
Represent the state of the reply process as a 5-value case class:

waiting for reply
reply received normally, have a reply value of type R
reply timed out, emitting reaction gives up
reaction finished without sending a reply: error is reported as String (exception is thrown)
reaction sent a reply twice: error will be reported to other molecules to which the reaction failed to reply

Eliminate the race condition where the reply times out exactly at the moment the replying reaction is about to reply, and the emitting reaction assigns the timeout status only to be overwritten by the reply value.

Current coverage is 97.10% (diff: 96.07%)

Merging #55 into master will increase coverage by 0.22%

@@             master        #55   diff @@
==========================================
  Files            12         12
  Lines           544        552     +8
  Methods         480        488     +8
  Messages          0          0
  Branches         64         64
==========================================
+ Hits            527        536     +9
+ Misses           17         16     -1
  Partials          0          0

Powered by Codecov. Last update 03e2f48...a61bddc

I suspect a deadlock due to code in ReactionSite.scala line 297... This is triggered by the test where a reaction performs a reply 20 times. Need to investigate.


WIP: Jordan/121 block tests

add block hash to page block
use subscription for current block data

going to start fresh because this PR is causing problems


Any way to make the STV generation more 'git friendly'?

Currently, the way the STV code in studio works, even minor changes to the STV ends up generating significant diffs in the file from the previous version.  Looks like it's mostly Ref= and ID= numbers changing with each minor change in the file.
I'll be honest, I have very little idea of the actual way the XML is built for this, or what those ID and REF values are for, when there are also unique Sym= properties for each widget, but I wonder if there's a way they can be more 'preserved' from version to version.

I think of it more like a binary blob; meaning diffs are mostly meaningless on it. I think that even if we "stabilized" the numbers and ID's it would still be very difficult to tell what a change did without firing up studio.

it is a pretty defined XML structure in there.  if you look at the diff from the most recent change, it WOULD be pretty clear what your change is.  The problem is that all the ID's after your change are incremented by 3 (reflecting the 3 widgets you added), so they all diff out those lines as a removal and a replacement.  Without the ID changes, it would be a very clean diff.
I'm guessing the ID's and REF's are used to speed up navigating through the UI widgets, as it'd be faster dealing with integers than REF'ing to unique text based Symbols - but if the integers used are simply used as indexes from the beginning of the file, I wonder if they need to be IN the file at all, or if they could be generated on loading of the STV.

You could more than likely remove the refs stuff and replace them with
symbols...and put some other indicator in the STV to know that it's using
this new format....and that part I don't like about making a new STV format
that's not backwards compatible.  Then when it's loaded...you could
dynamically make them all ref numbers again (they point to actual array
locations after loading, IIRC).
I think the ref changes only occur when you remove something....because
then those numbers need to be contiguous to map to the array elements
(although in theory, I'm not sure why they would need to be contiguous, you
could just make an array with nulls for the removed items...but then it
would just grow over time).
On Tue, Jul 11, 2017 at 7:13 AM, Christopher Piper<EMAIL_ADDRESS>
wrote:

it is a pretty defined XML structure in there. if you look at the diff
from the most recent change, it WOULD be pretty clear what your change is.
The problem is that all the ID's after your change are incremented by 3
(reflecting the 3 widgets you added), so they all diff out those lines as a
removal and a replacement. Without the ID changes, it would be a very clean
diff.
I'm guessing the ID's and REF's are used to speed up navigating through
the UI widgets, as it'd be faster dealing with integers than REF'ing to
unique text based Symbols - but if the integers used are simply used as
indexes from the beginning of the file, I wonder if they need to be IN the
file at all, or if they could be generated on loading of the STV.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/337#issuecomment-314456770, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANEIDLk5URz4FElIh3TeZfRLqlA5EcBaks5sM4LLgaJpZM4OUHx3
.

--
Jeffrey Kardatzke
<EMAIL_ADDRESS>Google, Inc.

I'm not sure the backwards compatible would be a problem going forward, since we don't seem to be using the old stv update mechanism that would even lead to the STV updating without actually grabbing a new sagetv build.  If we WERE to move the SageTV7.xml into the plugin system, instead of the distro, it might be different, but at that point, the plugin system could enforce minimum sagetv versions.
I obviously need to dig in further into how the ID's are even used (I haven't even glanced at that part of the code before), but if this change is possible, I do think it will help out quite a bit at maintaining the UI in a group environment like this.
Just scheming in my head blind, but I'm guessing we'd be able to manage these Ref->ID links by creating a new option RefSym that stores the symbol of the widget the reference is pointing to.  This way, the loader would be able to use the old ref->id system if encountered, or the SymRef->Ref if encountered, so old STV's would still work, but future saves from studio would use the new method of linking, and simply not generate the Ref->ID options anymore.

Yeah, that sounds right. :)  Personally, I just use the UID Diff tool in
the Studio whenever reviewing changes...doing the review in GitHub for
anything more than couple line trivial change is hard to get any context
right for.
On Tue, Jul 11, 2017 at 11:36 AM, Christopher Piper <
<EMAIL_ADDRESS>wrote:

I'm not sure the backwards compatible would be a problem going forward,
since we don't seem to be using the old stv update mechanism that would
even lead to the STV updating without actually grabbing a new sagetv build.
If we WERE to move the SageTV7.xml into the plugin system, instead of the
distro, it might be different, but at that point, the plugin system could
enforce minimum sagetv versions.
I obviously need to dig in further into how the ID's are even used (I
haven't even glanced at that part of the code before), but if this change
is possible, I do think it will help out quite a bit at maintaining the UI
in a group environment like this.
Just scheming in my head blind, but I'm guessing we'd be able to manage
these Ref->ID links by creating a new option RefSym that stores the symbol
of the widget the reference is pointing to. This way, the loader would be
able to use the old ref->id system if encountered, or the SymRef->Ref if
encountered, so old STV's would still work, but future saves from studio
would use the new method of linking, and simply not generate the Ref->ID
options anymore.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/337#issuecomment-314534217, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANEIDIRYhYdNCCSJ-nZtHq9sYFyvL9XFks5sM8DJgaJpZM4OUHx3
.

--
Jeffrey Kardatzke
<EMAIL_ADDRESS>Google, Inc.

@CraziFuzzy Knowing what the change is might be helpful. I just meant that reading the straight XML file is the most difficult way to understand what a change is actually doing partly because of all of the references that can be involved.

Perhaps making the core STV more modular may help.  I am thinking about building out a new V9 core STV prior to taking on gemstone 2 and have been thinking that it should be split out and some areas dynamically loaded...for example, the base config on a new UI could be an external XML that is only loaded on a new install or on demand.  Then other UI replacements would just load that module as well.  Early thinking stages while on vacation so more to come on this in the coming moths...I may start a new issue to track this thought process too.

Currently, the time it takes to change between STV's is pretty long if you are thinking of actually having different sections/stv's loading.  Also, I believe there may be some state issues, since STV's contain variables as well.
Personally, I think the current system 'works', it's just bloated in implementation at this point.  A dynamic menu system to start with, as well as some standardized hooks to be easily replaced may be all it needs to form the basis of a new STV you are looking for, while still providing a clean way for a custom experience to be built via stvi plugins.

If you save the STVs in the binary format, then they load really fast.
There was a modular format we created, but it introduced too many other
issues relating to the studio and plugins, so we abandoned it.
Jeff Kardatzke
Sent from my Android
On Jul 23, 2017 8:02 AM, "Christopher Piper"<EMAIL_ADDRESS>wrote:

Currently, the time it takes to change between STV's is pretty long if you
are thinking of actually having different sections/stv's loading. Also, I
believe there may be some state issues, since STV's contain variables as
well.
Personally, I think the current system 'works', it's just bloated in
implementation at this point. A dynamic menu system to start with, as well
as some standardized hooks to be easily replaced may be all it needs to
form the basis of a new STV you are looking for, while still providing a
clean way for a custom experience to be built via stvi plugins.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/337#issuecomment-317231487, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANEIDBnS6WFPmttwrstUY-MWDaPv4nFbks5sQuHpgaJpZM4OUHx3
.

I will need to start digging through the code as i am not certain what you are referring to about the STV in binary format (can you point me to the java code for this), however I agree the STV switching is fairly quick as I have been working with that process on the Gemstone 2 release I am working on. However heap usage is quite high just to switch to use a core function and then switch back (perhaps it recovers that heap usage but I have not tested enough to know).  I was thinking last night that modular could cause complications with the plugin system so that make sense.  I think the core configuration could still be external without issue as it is seldom needed after first use and likely not much value in writing plugins for it from a UI perspective.

It's the .STV file format, if you just save with that extension using the
Studio, then it uses it. It was the original format, but we converted to
the XML format at users requests....but it still supports loading/saving in
the binary format as well.
Jeff Kardatzke
Sent from my Android
On Jul 23, 2017 4:13 PM, "Ken Birch"<EMAIL_ADDRESS>wrote:

I will need to start digging through the code as i am not certain what you
are referring to about the STV in binary format (can you point me to the
java code for this), however I agree the STV switching is fairly quick as I
have been working with that process on the Gemstone 2 release I am working
on. However heap usage is quite high just to switch to use a core function
and then switch back (perhaps it recovers that heap usage but I have not
tested enough to know). I was thinking last night that modular could cause
complications with the plugin system so that make sense. I think the core
configuration could still be external without issue as it is seldom needed
after first use and likely not much value in writing plugins for it from a
UI perspective.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/337#issuecomment-317255997, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANEIDF8rHvbB3TOMDVUNY1FnCTcbN8JYks5sQ1UbgaJpZM4OUHx3
.

I will test it out...if it loads faster then perhaps we just need to provide both formats with each release.
Ken

It also caches the last loaded STV, so you should only experience slowdown
when switching STVs or the first time the process loads it.
Jeff Kardatzke
Sent from my Android
On Jul 23, 2017 4:21 PM, "Ken Birch"<EMAIL_ADDRESS>wrote:
I will test it out...if it loads faster then perhaps we just need to
provide both formats with each release.
Ken
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/sagetv/issues/337#issuecomment-317256440, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ANEIDEYsxWBOtLx_tJ4oxYsHQDw1FWitks5sQ1bPgaJpZM4OUHx3
.


Create a REST API to generate passwords on other sites with their own front end/ rules.  This could be accomplished using a node server.

Problem: A clear and concise description of what the problem is. Ex. The page resets on submit[...]
Solution: A clear and concise description of what you want to happen.
Implementation: If you're handling the issue yourself, summarize how you plan to go about it.
Additional context
Add any other context or screenshots about the feature request here.

It would be great if other sites could use this password generator according to their own rules by making an AJAX or fetch request.  I would make a node server to handle POST requests.


Support for static syntax without object instance methods

This PR allows static functions to continue working when overriding reserved keys such as setIn with custom data in the objects.
Previously custom data would be dropped. Now custom data would override instance functions. Neither are good, which is why this PR is including all steps to migrate existing users to the new syntax.
Backward compatibility is maintained, but users using the old syntax would get this kind of warning
DEPRECATED: Using x.asObject(...) will be deprecated. Please use Immutable.asObject(x, ...) instead.

@suchipi Thanks, just applied all requested changes and added more test units.

@rtfeldman Note; The migration to the new syntax is optional. I can easily drop the console.warn warnings from this PR if you prefer to keep supporting both syntax going forward.

After a lot of thought, I don't think outright migrating to this syntax is the right move. I think it would be better to make this opt-in, for example:
var Immutable = require("seamless-immutable").static;

Making this give you a new version of Immutable that doesn't override methods seems like the best way to go. It preserves backwards compatibility and would be easy to opt into.
What do you think?

@rtfeldman I have dropped the deprecation warning from this pull request such that it is now mostly only #130 bugfix and test units for it, and not a migration scenario.
This PR still includes [https://github.com/rtfeldman/seamless-immutable/pull/160/commits/2ca121b942c98638531c8df6fca5d5b85bdfbfad](this breaking change). However in my views, losing data or losing access to the method are both undesirable bugs, and this is the key to allow the user to easily switch to a static syntax that doesn't have the bug if needs be. Thus in my humble opinion merging this would be an improvement.
I gave a good hour at exploring the idea of require("seamless-immutable").static; to address #170. This seems like a good idea at first, however this appeared non-trivial to me, as Immutable(), makeImmutableArray(), makeImmutableObject() and such are called generously from within the library. It appears pretty easy to miss a case and introduce bugs, or re-pollute the object.
Although I do understand that it is great to support previous syntax, I am generally a fan of keeping things simple to ease maintainability and avoid bugs. It seems like there is no argument in favor of the previous syntax beside that it's currently in use, the static syntax appears superior on all fronts.

tl;dr; I suggest we only merge bugfixes, and choose between migrating or not migrating on a separate PR.

@rtfeldman I may have found a simple compromise that is similar to what you are suggesting. I pushed another commit for this
https://github.com/saivann/seamless-immutable/tree/collision#static-or-instance-syntax
var Immutable = require("seamless-immutable");
Immutable.config({
    use_instance_methods: false
});

@saivann would the config be opt-in or opt-out?

@MoeSattler, the config only defines if seamless-immutable should add sub-methods to all objects it creates. This is opt-in. In summary, in this PR:

Seamless-immutable continues to support the same syntaxes it already supports

Immutable.setIn(obj, 'key', data)

obj.setIn('key', data)

In case of collision, user data now has priority over seamless-immutable methods:

Previously:
var obj = Immutable({setIn: 'data'})
obj.setIn; // function, the assigned data is lost

Now:
var obj = Immutable({setIn: 'data'})
obj.setIn; // 'data', the seamless-immutable method is lost

User can opt-in to attach seamless-immutable methods to objects

var Immutable = require("seamless-immutable");
Immutable.config({
    use_instance_methods: false
});

var obj = Immutable({})
obj.setIn; // undefined, the object is clean

To remain completely backwards compatible ("bugwards compatible"), the second item in your summary would need to be reverted to the old behavior; for users who need a workaround for data loss, I think the static methods should be recommended instead (or a config key could be added to prioritize user data instead of methods).
Even though prioritizing user data over instance methods is a nicer API in an ideal world... maintaining backwards compatibility and avoiding a major version bump are important from a package maintainer's perspective, too.

@suchipi Although I can easily make this conditional to the use_instance_methods config if I am asked for it, I think this is actually a bad idea that I'd like to discourage, because it makes it harder for users to have bug-free library by default. Users using the static syntax would still be affected unless they also set use_instance_methods, which I think we can safely assume most users won't.
And perhaps obvious, but it seems unnecessary to me that we keep backward compatibility with a bug. There is no perfect backward compatible solution for the existing syntax. But we can however make sure the library is bug-free for new users, while also having a solution at hands for any existing users who may be affected this bug. This is what I am recommending in this PR.

Actually, I am changing my mind on this ^ . There are security implications with allowing users to run an instance method, while at the same time allowing arbitrary override those methods. I'll update the PR and try to come up with something better.

OK latest attempt:

Seamless-immutable continues to support the same syntaxes it already supports

Immutable.setIn(obj, 'key', data)

obj.setIn('key', data)

In case of collision, user data is lost, no matter what syntax (no change with current spec):

var obj = Immutable({setIn: 'data'})
obj.setIn; // function, the assigned data is lost

User can opt-in to stop attaching seamless-immutable methods to objects

var Immutable = require("seamless-immutable").init({
    use_static: true
});

var obj = Immutable({})
obj.setIn; // undefined, the object is clean

This is pretty in line to what @rtfeldman asked (sorry for all the extra loops before getting there!).
I still think it'd be great to migrate to one syntax in the future, but can be for later.

@saivann This is great! 😍 Thank you so much!
My only request would be to simplify it to just:
var Immutable = require("seamless-immutable").static;

I don't anticipate adding more configuration options later, so having an init function feels like overkill.
Sound good?

@rtfeldman Just added a commit for this, thanks! Looking forward to use seamless-immutable 6.4.0 :)

Love this! Thanks so much!

@saivann Thanks! I'm going to pair this with #177 and release as 7.0.0

Released as 7.0.0.

Thanks so much for this.  I was developing some reporting in our application which uses data that is not frequently accessed and only then did I realise this was happening to some of my objects which have since been serialized into the db.
... well can't reverse time but so glad you've already got a solution for it!


Status not changing to pending

Hi, #234 is a open issue but still the PR status is coming as Success instead of Pending. (when dependency is not resolved). Could you please check If something is missing ?. I tried with both open  pull request and issues. In Both the cases. the  Pr status is not coming as Pending.

I don't think Depends on is a keyboard anymore. Can you please check and propose a possible solution ?. It would be great.

My bad, I commented instead of giving in PR description. It is working perfectly fine.  Thanks for the wonderful project. Could you please tell a little bit about the probot-metadata ?. Because I am working on POC and I  have a use case for storing data in probot-metadata. I can see that you are not storing data in Metadata anymore though.

Could you please tell a little bit about the probot-metadata ?

The bot used to allow declaring dependencies in comments and I needed a way to store issue numbers, and that's why I used probot-metadata.
Later, I decided to stick only to PR description (see #11 for details) which made probot-metadata unnecessary (since I can just apply a regular expression to the PR description to get the list of dependencies).
Thanks for using Dep


Add Korean translation

Codecov Report

Merging #80 (1a04bdd) into main (a68bc2f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #80   +/-   ##
=======================================
  Coverage   31.13%   31.13%
=======================================
  Files          26       26
  Lines         167      167
  Branches       23       23
=======================================
  Hits           52       52
  Misses        115      115

Impacted Files
Coverage Δ

src/languages/index.ts
100.00% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[osg] Change OPENGL_PROFILE to GL2

Describe the pull request

What does your PR fix?
Fixes #25705, change OPENGL_PROFILE to GL2 to keep this option is same with source. The upstream default value is GL2.
The related source codes in [SOURCE_PATH]/CMakeLists.txt

# Map the OPENGL_PROFILE to OSG_GL*_AVAILABLE settings
SET(OPENGL_PROFILE "GL2" CACHE STRING "OpenGL Profile to use, choose from GL1, GL2, GL3, GLES1, GLES2, GLES3")

IF ((OPENGL_PROFILE STREQUAL "GL1") OR (OPENGL_PROFILE STREQUAL "GL2"))
    OPTION(OSG_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library." ON )
ELSE()
    OPTION(OSG_GL1_AVAILABLE "Set to OFF to disable use of OpenGL 1.x functions library." OFF )
ENDIF()

IF ((OPENGL_PROFILE STREQUAL "GL2"))
    OPTION(OSG_GL2_AVAILABLE "Set to OFF to disable use of OpenGL 2.x functions library." ON )
ELSE()
    OPTION(OSG_GL2_AVAILABLE "Set to OFF to disable use of OpenGL 2.x functions library." OFF )
ENDIF()

IF ((OPENGL_PROFILE STREQUAL "GL3") OR (OPENGL_PROFILE STREQUAL "GLCORE"))
    OPTION(OSG_GL3_AVAILABLE "Set to OFF to disable use of OpenGL 3.x functions library." ON )
    if(APPLE)
        add_definitions(-DGL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED)
    endif()
ELSE()
    OPTION(OSG_GL3_AVAILABLE "Set to OFF to disable use of OpenGL 3.x functions library." OFF )
ENDIF()

IF ((OPENGL_PROFILE STREQUAL "GLES1"))
    OPTION(OSG_GLES1_AVAILABLE "Set to OFF to disable use of OpenGL ES 1.x functions library." ON )
ELSE()
    OPTION(OSG_GLES1_AVAILABLE "Set to OFF to disable use of OpenGL ES 1.x functions library." OFF )
ENDIF()

IF ((OPENGL_PROFILE STREQUAL "GLES2"))
    OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." ON )
ELSEIF ((OPENGL_PROFILE STREQUAL "GLES3"))
    OPTION(OSG_GLES3_AVAILABLE "Set to OFF to disable use of OpenGL ES 3.x functions library." ON )
ELSEIF ((OPENGL_PROFILE STREQUAL "GLES2+GLES3"))
    OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." ON )
    OPTION(OSG_GLES3_AVAILABLE "Set to OFF to disable use of OpenGL ES 3.x functions library." ON )
ELSE()
    OPTION(OSG_GLES2_AVAILABLE "Set to OFF to disable use of OpenGL ES 2.x functions library." OFF )
    OPTION(OSG_GLES3_AVAILABLE "Set to OFF to disable use of OpenGL ES 3.x functions library." OFF )
ENDIF()

Pinging @jasonbeverage so that he makes relevant changes in osgEarth build system.

You must also update the usage file.

If you want to merge this as is for now I think it would be fine.  osgEarth would require a special triplet to be made if you wanted to use osgEarth specifying the OPENGL_PROFILE=GL3 setting.  OpenSceneGraph doesn't do a good job of working out of the box in OpenGL 3 mode and really requires you to bring your own shaders so the examples don't work.

@LilyWangLL please undraft this PR.


CondaLock should output some warning when fails to acquire lock. Currently need to wait 60 minutes before get exception

One of our users seemed to have a incorrect file lock.
There was no indication of a problem,
Output was "Bootstrapping conda environment" and then it would hang.
eventually user left it running for 60 minutes so finally received exception
https://github.com/Netflix/metaflow/blob/1c97086fa42671ca9f3c2dc55119dd73134804f5/metaflow/plugins/conda/conda.py#L223
could some warning be output (even just first time of exception) with the lock file name, so one knows where the problem is...

addressed in #1505


Null safety

Should be ready to go :)

There is an issue with the build.
Supposedly this is due to the gradle version number.
It is suggested to increase the version to
classpath "com.android.tools.build:gradle:7.1.3"
In the file build.gradle

Looks more like a nullability error to me
https://github.com/Teifun2/nextcloud-cookbook-flutter/actions/runs/3807469951/jobs/6485346462#step:6:20
Although the attribute in question is not nullable and it builds fine on my machine :thinking:
On the latest version of flutter_notifications the field is nullable ...
I'll upgrade it to 13.0.0 later :)

Ok looks like I accidentally changed the local cache of my dependencies and flutter clean only pruned the build cache so the deps wouldn't be fetched again.
flutter bup clean did the job and I added a null-check in that place. As I already upgraded the deps though It's also included now.

Wow that was fast! Thanks!


[6.0] Allow @isolated(any) mismatches in witness matching.

I'm not really convinced that this shouldn't be done by introducing a new kind of constraint rather than hacking in what are essentially conversions as "bind" constraints, but this is the most direct path for now
Explanation: Witness matching was not allowing a function that took an @isolated(any) parameter to witness a requirement that took a non-@isolated(any) parameter.  This caused a source break with a project that added a protocol for different TaskGroup types.
Scope: Fixes a source compatibility issue.  Should have no impact outside of witness matching or if @isolated(any) isn't involved.
Issue: rdar://125394096
Original PR: #72641
Risk: Low
Testing: Just regression testing
Reviewer: @xedin approved the original PR

@swift-ci Please test

Blocked on #72679.

@swift-ci please test

@swift-ci Please test

@swift-ci please test Linux platform


📚 Fix Invalid Link in Readme.md for For documentation-related contributions

Description
The link for contributing to CopilotKit's contributions in the README.md file currently points to the code contributions guide.
Steps to Reproduce
Visit the CopilotKit project README.md on GitHub.
Click the link for contributions,
Error 404
Expected  Behavior
The contributions link should lead you to a guide specifically for contributing to CopilotKit's documentation.
Possible Solution
Simply update the link in the README to point to the correct documentation contributions guide:

I'd like to work on this

hi @TejasNarkhede
first of all the link of these redirect are not correct as they led to 404 page not found

second we can try to reshape table of content with the details for easy guidance as we need them it's like 3 segment, first table of content leadinf to second brief link for various things like collaboration or discord server etc and then third the actual position of those things

Thanks for pointing that out, @ZEviod ZEviod. It's possible that the links were working when I created the issue, but were broken due to subsequent changes to the project.
I have updated the issue

Your welcome,
yah i also agree with you!!

Description
The link for contributing to CopilotKit's contributions in the README.md file currently points to the code contributions guide.
Steps to Reproduce
Visit the CopilotKit project README.md on GitHub. Click the link for contributions, Error 404
Expected Behavior
The contributions link should lead you to a guide specifically for contributing to CopilotKit's documentation.
Possible Solution
Simply update the link in the README to point to the correct documentation contributions guide:

I'd like to work on this

hi @TejasNarkhede first of all the link of these redirect are not correct as they led to 404 page not found
second we can try to reshape table of content with the details for easy guidance as we need them it's like 3 segment, first table of content leadinf to second brief link for various things like collaboration or discord server etc and then third the actual position of those things

i would like to work on this issue for DevFest AI.

Assign me #692

I'd love to tackle this issue. Assignment request, please.

/assign

/assign

Hi @NathanTarbert, I'm unable to assign contributors to this issue. I would appreciate it if you could take a look into this.
Thank you for your time and assistance.
to anyone.

/assign

Thank you for reporting this @FaheemOnHub.
It is fixed!


Updated design spec doc links to point to detailed design spec doc

Signed-off-by: eeshaanSA<EMAIL_ADDRESS>Notes for Reviewers
This PR fixes #
Signed commits

[x] Yes, I signed my commits.

🚀 Preview for commit d376a77c0a3b914d4b0814f51ca0c4acc7559eb1 at: https://63ac4551bb2b567e17b2e4d8--meshery-docs-preview.netlify.app

Thanks for this, @eeshaanSA. I pulled your commit into a new PR here - https://github.com/meshery/meshery/pull/6811


Scope of CMake component targets is not global (IDFGH-11470)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.0.1 but I also see the cause of this in main
Operating System used.
Windows
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
PowerShell
What is the expected behavior?
I can include idf.cmake from a different CMakeLists.txt then the one where I call idf_build_process.
What is the actual behavior?
Currently if I do this, it starts complaining that the component targets can't be found (e.g. __idf_apptrace and others) when idf_build_process tries to set properties on these targets.
Steps to reproduce.

Create a project with the following structure:

mcu

CMakeLists.txt: include idf.cmake from here

product

CMakeLists.txt: call idf_build_process from here

CMakeLists.txt: do an add_subdirectory for both mcu and product here

Try to configure the project using CMake
See the logs of the failed configure action, which will contain a lot of messages similar to:CMake Error at C:/path/to/esp_idf/tools/cmake/component.cmake:5 (get_property):
  get_property could not find TARGET ___idf_app_trace.  Perhaps it has not
  yet been created.
Call Stack (most recent call first):
  C:/path/to/esp_idf/tools/cmake/build.cmake:537 (__component_get_property)
  product/CMakeLists.txt:9 (idf_build_process)

Build or installation Logs.
No response
More Information.
The problem seems to be the call to add_library in component.cmake (inside the __component_add function).
This adds an IMPORTED target but it is not marked as GLOBAL so it will not be available outside the scope of this subdirectory."
I don't think this is intentional and for me adding GLOBAL here does seem to fix it.
Related links:

Post I made on the CMake Discourse
Post on esp32.com where I also mentioned this problem

Thanks for the suggestion!
I'll check and see if there is any reason why we cannot change this.


Correct typo (it run -> it runs)

it run -> it runs (41 line)
(/src/utils/Async.js)

I think the correct tense here is pluperfect, as in had run (would have run...).
Thanks for contributing!


onScroll Callback Memory Leak

Using the onScroll callback within the config, as described in Malihu's documentation, results in a memory leak. The full scope is retained. This is true even with no code in the onScroll callback.
To be fair, there is no reference to these callbacks within the ng-scrollbars documentation.

Missed that one of the updateScrollbar options was to destroy it. Destroying the scrollbar when the scope is destroyed releases all memory.
$scope.$on('$destroy',function(){ 	$scope.updateScrollbar('destroy'); });

Thanks @GeoffMooreMedia for the ticket and also for the helpful comment! I'm sure that'll help other folks that come across that issue.
Also nice to see another DC local :), it's a small world

Further proof that trying to trace memory leaks turns your brain to mush. Apparently destroyed my ability to fully read the documentation.


Bug: Key Error in accountRegister mutation

What are you trying to achieve?
Using mutation accountRegister
Steps to reproduce the problem
Use mutation to register an account without providing channel field.
mutation accountRegister {
  accountRegister(input: {
    firstName: "myName",
    lastName: "myLastName",
    email: "testEmail@example.co,",
    password: "testPassword",
    languageCode: EN,
  }) {
    errors {
      field
      message
      code
    }
  }
}

Received error
{
  "errors": [
    {
      "message": "Internal Server Error",
      "locations": [
        {
          "line": 18,
          "column": 3
        }
      ],
      "path": [
        "accountRegister"
      ],
      "extensions": {
        "exception": {
          "code": "KeyError"
        }
      }
    }
  ],
  "data": {
    "accountRegister": null
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 0,
      "maximumAvailable": 50000
    }
  }
}

Edit / Idea:
Maybe It's also worth to mention in documentation for accountRegister mutation that redirectUrl field is required when Require email confirmation link is enabled?
set in /dashboard/site-settings

What did you expect to happen?
A descriptive error message that will point me to the root cause of an issue
Logs
No response
Environment
Saleor version: 3.18.2, cloud

Hi @KarolJagodzinski,
I get a proper error when the channel is missing on v3.18.2:

Could you confirm that the error still exists? What is your channel configuration? Could you also send a stack trace from the console?
Regarding the requirement of redirectUrl you are right, we'll update the field description to make it clear"

Hi @IKarbowiak , still have the issue using cloud version (now its dashboard v3.19.0 core v3.19.0)
The request was made via /graphql/ endpoint.
response of channels query
{
  "data": {
    "channels": [
      {
        "id": "Q2hhbm5lbDoz",
        "isActive": true,
        "name": "Channel UK",
        "slug": "channel-uk",
        "currencyCode": "GBP",
        "defaultCountry": {
          "code": "GB",
          "country": "United Kingdom",
          "__typename": "CountryDisplay"
        },
        "stockSettings": {
          "allocationStrategy": "PRIORITIZE_SORTING_ORDER",
          "__typename": "StockSettings"
        },
        "__typename": "Channel",
        "hasOrders": false,
        "warehouses": [],
        "orderSettings": {
          "markAsPaidStrategy": "PAYMENT_FLOW",
          "deleteExpiredOrdersAfter": 60,
          "allowUnpaidOrders": false,
          "__typename": "OrderSettings"
        },
        "paymentSettings": {
          "defaultTransactionFlowStrategy": "CHARGE",
          "__typename": "PaymentSettings"
        }
      },
      {
        "id": "Q2hhbm5lbDoy",
        "isActive": true,
        "name": "Channel US",
        "slug": "channel-us",
        "currencyCode": "USD",
        "defaultCountry": {
          "code": "US",
          "country": "United States of America",
          "__typename": "CountryDisplay"
        },
        "stockSettings": {
          "allocationStrategy": "PRIORITIZE_SORTING_ORDER",
          "__typename": "StockSettings"
        },
        "__typename": "Channel",
        "hasOrders": false,
        "warehouses": [],
        "orderSettings": {
          "markAsPaidStrategy": "PAYMENT_FLOW",
          "deleteExpiredOrdersAfter": 60,
          "allowUnpaidOrders": false,
          "__typename": "OrderSettings"
        },
        "paymentSettings": {
          "defaultTransactionFlowStrategy": "CHARGE",
          "__typename": "PaymentSettings"
        }
      }
    ]
  }
}


[Bug]  rawpixel_workflow should call the new script raw_pixel.py

Bug Description

The rawpixel_workflow calls the old provider script RawPixel.py it should instead call raw_pixel.py, now that it has been rewritten
Old script RawPixel should be removed .
Expected behavior

The workflow calls new provider scripts raw_pixel.py

For some reason I thought this was already done.  Apparently not.


Content State Selector

https://deploy-preview-50--iiif-canvas-panel.netlify.app/docs/applications/content-state-selector
This is a standalone widget but is almost certainly the same tool as https://github.com/digirati-co-uk/iiif-manifest-editor/issues/5#issuecomment-979083556
Browse IIIF world... open manifest... find canvas... draw box on canvas
=> content state is captured.
The drawing surface is canvas panel.

We use this to demonstrate how in a CMS you'd select a target for making a captioned image or similar.

https://tomcrane.github.io/scratch/contentstate/cs.html
This just needs #158


questions about C++ API

Now I get the cross-compiled xxx_aarch64.so, but how can I use this lib in android? I can hardly find the C++ API.
I want to write a android app using the cross-compiled xxx_aarch64.so, can you give some examples ?
If I do not use rpc.

NNVM compilation results in xxx.so, xxx.params & xxx.graph.
this ref has a sample c++ native example to deploy above compiled model.
You could follow below steps to have android app with out RPC:
1 : tvm_runtime.so should be cross compiled for your target.
2 : Use above c++ reference implementation in android native linking tvm_runtime.so which can be invoked from android application via JNI.
Siva

@sgxu
    with open("deploy_param.params", "wb") as fo:
        fo.write(nnvm.compiler.save_param_dict(params))

close this issue as the question has been answered


New tracklists are not synced correctly

Hi,
it seems that in some cases, tracklist information is not updated for existing albums, or at least with a delay of several days, e.g.

https://vgmdb.info/album/101897?format=json
https://vgmdb.info/album/99691?format=json
https://vgmdb.info/album/100315?format=json

In all of the examples above, the disc section only contains japanese names and is missing tracklists in other languages from its respective vgmdb.net counterpart.

Ah good catch! I think my celery worker wasn't working the entire time, and so background refreshes weren't working. I fixed that and confirmed that those links now show both languages in the tracklist.
Thank you so much!


Animated WebP

Add support for loading and saving animated WebP files

Just ran across this issue too, only the first frame of the webp is rendered.

This would greatly increase performance on our site.

This would greatly increase performance on our site.

Out of curiosity, what is the complication with this? Is this just a matter of making sure webp are also converted using Wand? Or is Wand also not supporting animated webp as well? 🤔

@hpoul there's no technical complication as far as I'm aware. Should be possible to do with Pillow using the append_images parameter on output: https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html#saving-sequences

I would appreciate animated WebP files as well. Animated GIF support is not great, as ImageMagick needs a lot of cache resources even for smaller files, that we often cannot influence.

For me installing Wand like for animated gifs made animated webp also work. And I have put the settings as such:
WAGTAILIMAGES_FORMAT_CONVERSIONS = {
    "gif": "webp",
    "webp": "webp",
}

in order to have all gifs converted to webp because resized animated gifs were so huge in size


changing output font size with the slider crashes Godot and now no project will open unless you delete editor settings. Mac OS X

Godot version:
Godot 3.0.6 for Mac OS X.
OS/device including version:
Mac OS X 10.11.6 (15G20015)
El Capitan
Issue description:
I moved the slider to change the Output font size,
expecting it to simply change the font size,
but it changed to a really big negative number,
and then Godot started lagging (i.e. the spinning colour wheel).
I didn't waste time to force quit it.
But now it won't open any Godot project,
not even a brand new one.
I had to delete editor_settings-3.tres
But even after doing that, Godot crashes if you try to scan your user name's folder in Mac OS X.
Making a new folder or scanning an encr
ypted volume works, though.
Steps to reproduce:
Editor Settings > Run > Output > Font Size:
move the slider and you'll see big numbers - or + for font size
Once you open the Output window, Godot freezes (i.e. spinning rainbow wheel).
You can either force quit, or wait for Godot to quit by itself.
Then when you re-open Godot and try to open any project, even a brand new one, Godot quits.
Godot won't open any project until you delete Godot settings by typing this in Terminal:
rm ~/Library/Application\ Support/Godot/editor_settings-3.tres
(Thanks to Calinou and john_cephalopoda for telling me how to delete this file)
No recent projects will appear.
Scanning your user name's folder in Mac OS X will freeze Godot.
Making a new folder for a new project or scanning an encrypted volume works, though.
Note: Typing font sizes worked normally.
Minimal reproduction project:
The happens on a new project.

Setting font size too high do cause slowdown with tons of mv > 4096 condition errors and eventually crash.
In master branch "slider" behaviour is fixed and value won't change too fast, but it's still uncapped and can be set to any value (including negatives).

Godot won't open any project until you delete Godot settings by typing this in Terminal:
rm ~/Library/Application\ Support/Godot/editor_settings-3.tres

You do not need to delete whole settings file, simply open it in the text editor and change invalid value manually, line is named same way as in editor settings run/output/font_size

@toger5 i suppose a higher limit needs to be used?

I can confirm this in https://github.com/godotengine/godot/commit/17d92c2b0995e82f5291c5a1e097e7b607151d31. If anyone has crashed the editor this way, it can be fixed by removing this line from editor-settings-3.tres then restarting the editor:
run/output/font_size = -74


FSATrace with path argument

Given that fsatrace is a binary, any reason for not just requiring it to be on the $PATH?

State is bad and PATH is state ;-)
Not really, I made some adjustments to fsatrace and it should now be possible to just invoke it from PATH. It was assuming the full path to the executable was used to invoke it, now it will try to figure it out.

Awesome, that seems quite a bit easier to get going with.


Broken styles in db-mainnavigation

Starting from version 0.29.0, the  styles seems to be broken

❌ v0.29.0 (Broken)
https://db-ui.github.io/elements/version/v0.29.0/?path=/docs/02-navigation-main-navigation-intro--docs
✅ v0.28.0 (Broken)
https://db-ui.github.io/elements/version/v0.28.0/?path=/story/02-navigation-main-navigation-intro--page

we need to reevaluate this topic after we've migrated out header styles by newer changes anyhow:
https://github.com/db-ui/elements/issues/2709


Black selection popup when adding a photo to a pin

To replicate:

Place pin
Click on photo icon

Looks like the tapping of "choose photo" or "take photo" that appears in the black popup isn't registering. Looking into it

@alixvoor Does this enable photo taking/selection?


Add quiet tags to curl and wget

This is a feature request to add --quiet to wget and --silent on curl at this point in the code to cause them to not output download statistics.
When using this plugin the output from curl shows up as red in a packer build (because the output is from stderr).
Example:

This isn't a functional problem but it would be less confusing for users that are looking for red text meaning error in CI job logs.  .

this is available in v3.2.12, you might wanna give it a try and report back


Question: Do we want to describe more advanced/non-basic git commands?

Examples would be: git revert, git reset, git tag, git cherry-pick, git submodule or git stash. If yes, which ones do you propose?

IMO schedule for somewhere in the future


Tech Debt: Finish Converting Forms to Formik

Convert the rest of the frontend forms from redux-form to formik and remove redux-form from our package.json dependencies.

To Bill: datepicker the entry period in creating a show does not allow me to select ranges, closes after you select start date. Firefox v58.0.1


feat(FX-3667):  Applying rounding when converting a value from cm to in

The type of this PR is: Feature

This PR resolves FX-3667
Context
If the user specifies the same custom size values for Force and Eigen, they will be converted to inches differently. In turn, this can add problems when working with saved search alerts
Force

width: 100 - 199 cm -> 39.37 - 78.35 in
height: 200 - 299 cm -> 78.74 - 117.72 in

Eigen

width: 100 - 199 cm -> 39.37007874015748 - 78.34645669291338 in
height: 200 - 299 cm -> 78.74015748031496 -<PHONE_NUMBER>3307086 in

Acceptance Criteria

Values from cm to in should be converted equally to Force and to Eigen

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Applying rounding when converting a value from cm to in - dimatretyak

This PR contains the following changes:

Dev changes (Applying rounding when converting a value from cm to in - dimatretyak)

  Generated by :no_entry_sign: dangerJS against 429ad6e28a5bce2b2997fe6fb0898a113a3006d8

Updated logic on Force: artsy/force#9096


Update web map in Map Tools example

The web map in the Map Tools example should be updated with a map that better highlights the app and web mapping best practices. The first item is a major issue; the others are minor.

Major issue -- The Boston Marathon layer has random "null" polygons that should be removed and labels that conflict with the basemap (remove labels or change basemap).
The layer also should be symbolized using one of the numeric attributes and it's name changed to something like "Boston Marathon Registrations."
A second layer should be added to the map so that users can better see how the layer toggle tool works.
The published layer should have field aliases. The table shows database-style field names with underscores and abbreviations.

it'd be pretty trivial to swap in an entirely different webmap.  can you suggest an alternate?
i'd also recommend including a View it live link in the README.

@oevans thanks we'll fix the map today.


SB-1301 Surefire tests cannot be run in a single module anymore - after migration to Junit5

@ptirador : FYI.


Unexpected result with s-string including UNNEST

What happened?
I was just being lazy and thought I'd try out a potentially more ergonomic way of writing some example data when I encountered the following unexpected output.
PRQL input
from s"SELECT UNNEST([0.1, 0.2, 0.3, 1, 2, 4])"

SQL output
WITH table_0 AS (
  SELECT
    UNNEST([0.1, 0.2, 0.3, 1, 2, 4])
)
SELECT
  *
FROM
  table_0

-- Generated by PRQL compiler version:0.11.3 (https://prql-lang.org)

Expected SQL output
WITH table_0 AS (
  SELECT
    UNNEST([0.1, 0.2, 0.3, 1, 2, 4])
)
SELECT
  *
FROM
  table_0

-- Generated by PRQL compiler version:0.11.3 (https://prql-lang.org)

MVCE confirmation

[X] Minimal example
[X] New issue

Anything else?
The SQL looks fine but the Query Results are surprising:

unnest(main.list_value(0.1, 0.2, 0.3, 1, 2, 4))
1
2
3
10
20
40

Compare this with the results from shell.duckdb.org:
duckdb> from unnest([0.1, 0.2, 0.3, 1, 2, 3]);
┌─────────────────────────────────────────┐
│ main.list_value(0.1, 0.2, 0.3, 1, 2, 3) │
╞═════════════════════════════════════════╡
│                                     0.1 │
│                                     0.2 │
│                                     0.3 │
│                                     1.0 │
│                                     2.0 │
│                                     3.0 │
└─────────────────────────────────────────┘

Looks like something in the web/js bindings because even the following produces the same results:
PRQL
from [{a=0.1}, {a=1}]

SQL
WITH table_0 AS (
  SELECT
    0.1 AS a
  UNION
  ALL
  SELECT
    1 AS a
)
SELECT
  a
FROM
  table_0

-- Generated by PRQL compiler version:0.11.3 (https://prql-lang.org)

Query Results
[
  {"a": 1},
  {"a": 10}
]

Yes, agree this seems like a JS bindings issue...


windows target complie error

when i was complie windows target always the same error:
D:/haxelib/openfl/3,3,2/openfl/display3D/textures/Texture.hx:123: characters 2-38 : Invalid null expression: null.id
code line is :
GL.bindTexture (GL.TEXTURE_2D, null);
i change code to:
GL.bindTexture (GL.TEXTURE_2D, cast null);
there's no error
i find windows 10 have this error
windows 7 not have this error

What Haxe version are you on (haxe -version)?

sorry,i use a wrong version of haxe
thanks


google's getPlacePredictions doesn't cope with options as illustrated in the props doc

In the documentation, you suggest
const options = {
  location: new google.maps.LatLng(-34, 151),
  radius: 2000,
  types: ['address']
}

<PlacesAutocomplete
  inputProps={inputProps}
  options={options}
/>

but this leads getPlacePredictions to return INVALID_REQUEST as documentation shows that the call should have an prod field and an options prop.
This was working before but I guess google's api is more strict now. I was able to overcome the problem by now defining
const options = {
  options: {
    location: new google.maps.LatLng(-34, 151),
    radius: 2000,
    types: ['address']
  }
}

but I guess PlacesAutocomplete.js#L67 might just need to be options: this.props.options

@diligiant Thank you for reporting! Would you mind checking your google.maps.version?

3.29.14

I'm using the exact same version in the demo. The options props seem to be working fine there, would you mind double checking the keys of options?

I did before! Which example are you talking about? (in https://kenny-hibino.github.io/react-places-autocomplete/ options is {})

I just added options locally and could not reproduce the error.

ok, diving in… ;(

You can try this snippet to test
const autocompleteService = new google.maps.places.AutocompleteService()
const response = autocompleteService.getPlacePredictions({
  input: 'San Francisco',
  location: new google.maps.LatLng(-34, 151),
  radius: 2000,
  types: ['address']
})

Try this in your console 👍

so…
your example works just fine (btw, is address valid? I don't see it in AutocompletionRequest)
It works too if I replace address by geocode or (cities). But if I replace it by both of them, it doesn't anymore (it used to).
What's really weird is that I did then modify the jsfiddle here and it works 🤔
The pain is that the google API isn't debug-friendly with its minifying…

Okay, I'll keep this issue open for now, in case someone else encounter the same problem. In the meantime, please use the options that work for you 👍

I'm gonna go to the bottom of this…

Nevermind, it seems that Google fixed a lenient API…

@diligiant Thank you for taking a look at this 👍


QR Code matching

The first character of an address of a decoded QR code is matched against AaDd, which makes it uncompatible with bridgechain addresses. These checks could be removed imho as the validity of a scanned address is checked against the current network in later steps anyway.

Thanks for opening this issue! A maintainer will review this in the next few days and explicitly select labels so you know what's going on.
If no reviewer appears after a week, a reminder will be sent out.

This issue has been closed. If you wish to re-open it please provide additional information.

Wrong repo.