dask run after a few hours, only 1 machine get jobs

Hi,
I am distributing tasks using dask distributed on 3 machines (m1, m2, m3). Every machine is running multiple dask-worker processes, and there is 1 scheduler is running on m2. I encounter the following problem:

Initially workers on all 3 machines can get jobs (every machine is fully loaded). After a few hours, only worker machine m1 are getting jobs. No jobs distributed to workers on other 2 machines (m2, m3), I don’t know why, it might related to problem 3) below. here is the snapshot for scheduler, I can see all 3 worker machines are connected to scheduler

The task being distributed to the dask-workers is doing computation that normally take 10-20 mins to get back results, I run multiple tasks like this together.
Even on machine m1 that can get jobs, I see exceptions in the log like this:

Traceback (most recent call last):
  File "/home/zyin/dev/ivm/models/ModelWorkShop.py", line 1018, in Website
    sec = Security(
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/dask/base.py", line 97, in compute
    (result,) = compute(self, traverse=False, **kwargs)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/dask/base.py", line 204, in compute
    results = get(dsk, keys, **kwargs)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed/client.py", line 1764, in get
    results = self.gather(packed)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed/client.py", line 1263, in gather
    direct=direct)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed/client.py", line 489, in sync
    return sync(self.loop, func, *args, **kwargs)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed/utils.py", line 234, in sync
    six.reraise(*error[0])
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed/utils.py", line 223, in f
    result[0] = yield make_coro()
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run
    value = future.result()
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/gen.py", line 1063, in run
    yielded = self.gen.throw(*exc_info)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed/client.py", line 1156, in _gather
    traceback)
  File "<string>", line 2, in reraise
ValueError: Could not find dependent HyperparameterOptimizeDistributed-6c55aa47-7595-4dfb-92d0-c0feea545f99.  Check worker logs

I got some error logs from dask-worker on machine m1 (the one dask-scheduler can still distribute jobs on):
distributed.worker - ERROR - Worker stream died during communication: tcp://<IP_ADDRESS>:27664
Traceback (most recent call last):
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed-1.18.0+48.g5bbc9a2-py2.7.egg/distributed/worker.py", line 1648, in gather_dep
    who=self.address)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run
    value = future.result()
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/gen.py", line 1063, in run
    yielded = self.gen.throw(*exc_info)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed-1.18.0+48.g5bbc9a2-py2.7.egg/distributed/core.py", line 503, in send_recv_from_rpc
    comm = yield self.pool.connect(self.addr)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run
    value = future.result()
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/gen.py", line 1063, in run
    yielded = self.gen.throw(*exc_info)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed-1.18.0+48.g5bbc9a2-py2.7.egg/distributed/core.py", line 607, in connect
    connection_args=self.connection_args)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run
    value = future.result()
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
    raise_exc_info(self._exc_info)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/tornado/gen.py", line 1063, in run
    yielded = self.gen.throw(*exc_info)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed-1.18.0+48.g5bbc9a2-py2.7.egg/distributed/comm/core.py", line 194, in connect
    _raise(error)
  File "/home/zyin/.conda/envs/conda/lib/python2.7/site-packages/distributed-1.18.0+48.g5bbc9a2-py2.7.egg/distributed/comm/core.py", line 177, in _raise
    raise IOError(msg)
IOError: Timed out trying to connect to 'tcp://<IP_ADDRESS>:27664' after 3.0 s: connect() didn't finish in time

scheduler:
distributed.scheduler - INFO - Receive client connection: 5ba3b6ea-8ea1-11e7-9721-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 33162008-8ea3-11e7-b81d-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: f8d6282e-8ec1-11e7-84a8-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: b9b257d0-8ecb-11e7-82f9-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:38352: Could not find dependent HyperparameterOptimizeDistributed-2bf50198-4a96-4663-808e-733a94afd32d.  Check worker logs
distributed.scheduler - INFO - Receive client connection: 7cba0680-8ee8-11e7-b81d-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: e5c8083e-8ee8-11e7-82f9-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: ce484a6a-8ee9-11e7-84a8-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:41106: Could not find dependent HyperparameterOptimizeDistributed-6635cc9c-c66f-485e-8a80-a6b35cd17b81.  Check worker logs
distributed.scheduler - INFO - Receive client connection: f6f4ac2e-8ef8-11e7-b81d-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 822a23f4-8efa-11e7-9721-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:34880: Could not find dependent HyperparameterOptimizeDistributed-2fa06303-1110-4b4b-9ba0-626112bd1ffa.  Check worker logs
distributed.scheduler - INFO - Receive client connection: a45a63d2-8f0c-11e7-b81d-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 6ab16a52-8f18-11e7-84a8-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 941b365a-8f1a-11e7-b81d-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:35008: Could not find dependent HyperparameterOptimizeDistributed-8dd613e5-9e9f-4821-b848-688b7f819742.  Check worker logs
distributed.scheduler - INFO - Receive client connection: d592607e-8f1d-11e7-82f9-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: f33d51e4-8f20-11e7-82f9-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 9b4db9fc-8f24-11e7-82f9-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: d2c9f288-8f2e-11e7-9721-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: b1a022a4-8f37-11e7-b81d-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 9b9d359a-8f3d-11e7-b81d-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:41106: Could not find dependent HyperparameterOptimizeDistributed-addd06b1-d7c1-4ea5-9cb1-e7ccb09b606b.  Check worker logs
distributed.scheduler - INFO - Receive client connection: d049e11a-8f49-11e7-9721-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: c95b0e36-8f4b-11e7-b81d-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:35008: Could not find dependent HyperparameterOptimizeDistributed-c8d83c81-4517-4587-a1e7-154a4034ab2c.  Check worker logs
distributed.scheduler - INFO - Receive client connection: 9beb10f2-8f66-11e7-82f9-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 5af330aa-8f68-11e7-9721-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:38352: Could not find dependent HyperparameterOptimizeDistributed-3a776062-bcde-427a-8fc1-8e1e6365abf0.  Check worker logs
distributed.scheduler - INFO - Receive client connection: e9cde4fc-8f7f-11e7-84a8-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 3e08b5d0-8fb5-11e7-82f9-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:41106: Could not find dependent HyperparameterOptimizeDistributed-6bf0a782-a908-4552-b8ec-434dd299449e.  Check worker logs
distributed.scheduler - INFO - Receive client connection: 53f62810-8fb9-11e7-9721-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: a906a608-8fc9-11e7-b81d-0002c9c07e82
distributed.scheduler - INFO - Receive client connection: 9aafbc06-8fe3-11e7-84a8-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:35008: Could not find dependent HyperparameterOptimizeDistributed-1e4fe533-df3d-49f0-905f-7a06cacf9d65.  Check worker logs
distributed.scheduler - INFO - Receive client connection: dcd404dc-8ff4-11e7-82f9-0002c9c07e82
distributed.scheduler - ERROR - error from worker tcp://<IP_ADDRESS>:38352: Could not find dependent HyperparameterOptimizeDistributed-6c55aa47-7595-4dfb-92d0-c0feea545f99.  Check worker logs
distributed.scheduler - INFO - Receive client connection: 82f866aa-900e-11e7-9721-0002c9c07e82

The way I started all dask-worker is:
/home/zyin/.conda/envs/conda/bin/python /home/zyin/.conda/envs/conda/bin/dask-worker --tls-ca-file files/ca_cert.pem --tls-cert files/fullchain.pem --tls-key files/privkey.pem --nthreads 1 --nprocs 1 dask.appraisal.ai:10000

the command used for starting dask-scheduler is:
/home/zyin/.conda/envs/conda/bin/python /home/zyin/.conda/envs/conda/bin/dask-scheduler --tls-ca-file files/ca_cert.pem --tls-cert files/fullchain.pem --tls-key files/privkey.pem --port 10000 --bokeh-port 10001 --http-port 10002

Hi,
I also noticed in machine m1, this machine has 32 cores and we start 32 dask workers with nthreads=1 and nprocs=1 and the load average mysteriously ends up being > 32 with some dask workers exhibiting abnormally high cpu usage i.e. > 100%

What versions of dask and distributed are you using?
The --nthreads parameter really just limits dask from running multiple tasks at once.  If your tasks use multiple threads then they'll use lots of CPU per worker.  Dask worker processes are just normal Python processes, they aren't limited in any way.

Have you checked out the status page?  Did anything seem odd when you started to have only one worker active?
I don't suppose you're able to provide a reproducible example that is easy to reproduce and still exhibits the behavior that you've seen?

The code is running xgboost, with nthread=2, so it should be like 200 cpu usage, when I restart all the workers and connect to scheduler, every worker with load is using 200 cpu, which is expected. But after a few hours, some dask-worker process is using 500% ~ 600% per dask-worker, as snapshot shows.
The job distributing problem might be because of dask version mismatch, the dask version:
m1:
dask
*  0.15.0                   py27_0  defaults
distributed
*  1.17.1                   py27_0  defaults
m2:
dask
*  0.15.0                   py27_0  defaults
distributed
*  1.17.1                   py27_0  defaults
m3:
dask
*  0.15.1                   py27_0  defaults
distributed
*  1.18.0                   py27_0  defaults
Here is the snapshot for status page

I solved the mystery that CPU boosts to 600%, it basically is the xgboost I used, version is mismatched, and they changed parameter nthread to n_jobs, and the new n_jobs if not specify, means will take over all the possible cores.
I will keep it running, right now, all machines has the same dask/distributed version, see if the problem still exists, if not, I will close this bug

An update to the above posted by Yin. The dask-worker dying behavior has been fixed by pinning the versions. However the CPU usage being abnormally high is still extant. Even with starting just one dask-worker with --nthreads=1 --nprocs=1 and passing xgboost n_jobs =1 and nthread =1 we see very high usage (2000+) for a dask worker.
Another peculiarity we observed was that this only happens when the number of dask clients that are queueing jobs to schedulers is > 1.
Attached to the dask-worker and printed out info threads. Trace below, it shows a large number of dask-worker threads:
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7f8b1a4b6700 (LWP 17052) "dask-worker" 0x00007f8b21ac29d3 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84
  2    Thread 0x7f8b19cb5700 (LWP 17054) "dask-worker" 0x00007f8b224a551d in read () at ../sysdeps/unix/syscall-template.S:84
  3    Thread 0x7f8b19474700 (LWP 17055) "dask-worker" 0x00007f8b21ab670d in poll () at ../sysdeps/unix/syscall-template.S:84
  4    Thread 0x7f8b18c33700 (LWP 17056) "dask-worker" 0x00007f8b224a4827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7f8b10000de0) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  5    Thread 0x7f8b0bfff700 (LWP 17112) "dask-worker" 0x00007f8b224a4827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7f8b04cc13f0) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  6    Thread 0x7f8af17e2700 (LWP 17147) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  7    Thread 0x7f8af1fe3700 (LWP 17148) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  8    Thread 0x7f8af27e4700 (LWP 17149) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  9    Thread 0x7f8af2fe5700 (LWP 17150) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  10   Thread 0x7f8b03fff700 (LWP 17151) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  11   Thread 0x7f8b037fe700 (LWP 17152) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  12   Thread 0x7f8afeffd700 (LWP 17153) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  13   Thread 0x7f8afe7fc700 (LWP 17154) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  14   Thread 0x7f8afbcdc700 (LWP 17155) "dask-worker" 0x00007f8afc116641 in double xgboost::tree::CalcGain<xgboost::tree::TrainParam, double>(xgboost::tree::TrainParam const&, double, double) ()
   from /home/zyin/.conda/envs/conda_pined/lib/python2.7/site-packages/xgboost-0.6-py2.7.egg/xgboost/libxgboost.so
  15   Thread 0x7f8afb45b700 (LWP 17229) "dask-worker" 0x00007f8b224a4827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7f8a84000b30) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  16   Thread 0x7f8afa625700 (LWP 17262) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  17   Thread 0x7f8af9e24700 (LWP 17263) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  18   Thread 0x7f8af9623700 (LWP 17264) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  19   Thread 0x7f8af8e22700 (LWP 17265) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  20   Thread 0x7f8af3fff700 (LWP 17266) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  21   Thread 0x7f8af37fe700 (LWP 17267) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  22   Thread 0x7f8a9f05e700 (LWP 17268) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  23   Thread 0x7f8a9e85d700 (LWP 17269) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  24   Thread 0x7f8a9e05c700 (LWP 17270) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  25   Thread 0x7f8a9d85b700 (LWP 17271) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  26   Thread 0x7f8a9d05a700 (LWP 17272) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  27   Thread 0x7f8a9c859700 (LWP 17273) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  28   Thread 0x7f8a9c058700 (LWP 17274) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  29   Thread 0x7f8a9b857700 (LWP 17275) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  30   Thread 0x7f8a9b056700 (LWP 17276) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  31   Thread 0x7f8a9a855700 (LWP 17277) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  32   Thread 0x7f8a9a054700 (LWP 17278) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  33   Thread 0x7f8a99853700 (LWP 17279) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  34   Thread 0x7f8a99052700 (LWP 17280) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  35   Thread 0x7f8a98851700 (LWP 17281) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  36   Thread 0x7f8a98050700 (LWP 17282) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  37   Thread 0x7f8a9784f700 (LWP 17283) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  38   Thread 0x7f8a9704e700 (LWP 17284) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  39   Thread 0x7f8a9684d700 (LWP 17285) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  40   Thread 0x7f8a9604c700 (LWP 17286) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  41   Thread 0x7f8a9584b700 (LWP 17287) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  42   Thread 0x7f8a9504a700 (LWP 17288) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  43   Thread 0x7f8a94849700 (LWP 17289) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  44   Thread 0x7f8a94048700 (LWP 17290) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  45   Thread 0x7f8a93847700 (LWP 17291) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  46   Thread 0x7f8a93046700 (LWP 17292) "dask-worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185

We fixed the problem, those cpu usage is not caused by dask, it's our bad, scikit learn using openblas, so this environment variable need be set as 1:
export OPENBLAS_NUM_THREADS=1

This was tracked down to not setting:
OMP_NUM_THREADS=1
and MKL_NUM_THREADS=1
@yzard will close this out soon.


Update examples

Update appgateway.location to appgateway.basePath
Update extensions path to match our docs.strata.io conventions
Update allowUnauthenticated regex
The intent of this policy is to allow resources such as favicon.ico to be
proxied without authentication required. However, the previous regex also
matched resources such as 'resource.jpg.txt'.
The updated regex will ensure that the extensions are at the end of the
resource path.

@troytop When you get the chance to review this. Else I can work with @patrick-strata tomorrow on reviewing this.


BaseRenderTexture.render is not a function

I'm trying to create a "background" for a game, and was thinking of using a BaseRenderTexture on which to render some Sprites as tiles.
Following the documentation I get the following error in the browser console:
    Uncaught TypeError: baseRenderTexture.render is not a function

The documentation I'm referring to is: http://pixijs.download/release/docs/PIXI.BaseRenderTexture.html
I have also added a JSFiddle with the barebones needed to test this behaviour:
https://jsfiddle.net/adrian_c/5omq0bdy/

pixi.js version: 4.7.1
Browser: Chrome 70
Device: Desktop

It was in v3. Docs are wrong, wanna make PR to fix that? :)

Oh, docs in v5 (next branch) are also wrong.

PR welcome!


Merge dApp request from both of interface into one interface

Recheck:

Connect with SubWallet: Show only one popup
Connect with another site: Normal

Version test : http://<IP_ADDRESS>:8900/s/He6pZaiGasSjE6c
Validation passed

Version test: http://<IP_ADDRESS>:8900/s/He6pZaiGasSjE6c
Please check the issue:

[ ] Sometimes, Show 2 connections pops up when connecting

Then appove/cancel/block then close both these popup

Expect: Show only 1 popup connect

Version test: http://<IP_ADDRESS>:8900/s/CPNXkrBLWd58NKx
Please check issue:

[ ] Still show popup connect EVM account although user connected on Both account type

Version test : http://<IP_ADDRESS>:8900/s/YdWWkgC3RJHaaBP
Validation passed in case :

Update version
Check case cancel/block then connect again
Check case connect with Ledger account ( EVM, Substrate)

Version test: http://<IP_ADDRESS>:8900/s/YdWWkgC3RJHaaBP

[ ] Not displaying error notifications when connecting to a dapp in cases where the dapp has been previously blocked


Setup Azure Storage with Terraform

https://tools.hmcts.net/jira/browse/RPE-439
This sets up single container for all the scans.
Jenkinsfile_parametrized used to play around in sandbox environment.
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

Let's try and write a functional test that checks the container is provisioned.


Container option

This adds the container option known from core boostrap js plugins.
Usage
$(selector).datetimepicker({
    container: nativeDOMElement  || jQueryObject || jQuerySelector
});

The new option tells the plugin to create the picker in the specified container instead of  body, allowing for e.g. pickers that scroll with a relatively positioned container. container defaults to 'body', maintaining backwards compatibility.
Additionally this PR includes a minor fix where the picker was placed slightly off when pickerPosition: bottom-left or pickerPosition: top-left was specified.

This doesn't see to go anywhere, right? @smalot
Closing the PR


Expansion panel: Events not fired when running in AOT

Bug, feature request, or proposal:
BUG
What is the expected behavior?
Be able to subscribe to mat-expansion-panel events (for example (closed)="...") in AOT
What is the current behavior?
With a simple mat-expansion-panel:
HTML
<mat-expansion-panel (closed)="onClosed()">
  <mat-expansion-panel-header>
    <mat-panel-title>
      Personal data
    </mat-panel-title>
    <mat-panel-description>
      Type your name and age
    </mat-panel-description>
  </mat-expansion-panel-header>

  Something
</mat-expansion-panel>

TS
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  onClosed() {
    console.log('Expansion panel closed!');
  }
}

Running:

ng serve and opening/closing the expansion panel displays the console.log
ng serve --aot and opening/closing the expansion panel DOES NOT displays the console.log

What are the steps to reproduce?
No plunkr or stackblitz as it's AOT related...
I've made a really simple repro available on github: https://github.com/maxime1992/repro-expansion-panel-bug-AOT
(I've also made clear commits in order show how I did my setup)
Run one instance with ng serve, the other with ng serve --aot and watch your console after opening/closing the panel.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular CLI: 1.5.0
Node: 8.6.0
OS: linux x64
Angular: 5.0.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cdk: 5.0.0-rc0
@angular/cli: 1.5.0
@angular/material: 5.0.0-rc0
@angular-devkit/build-optimizer: 0.0.32
@angular-devkit/core: 0.0.20
@angular-devkit/schematics: 0.0.35
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.0
@schematics/angular: 0.1.2
typescript: 2.4.2
webpack: 3.8.1

Is there anything else we should know?
Just thank you for all your good work :smile:

Fixed on master via https://github.com/angular/material2/pull/7309

Also, meanwhile, this workarround https://github.com/angular/material2/issues/7172#issuecomment-332582894

Excellent, thx guys :)


"Missing server-side mod/plugin" Cannot access models

Cpm version 1.20- 0.6.17b
Forge version 47.3.0
Friend is having issue where she cannot select her models - "Missing server-side mod/plugin, this feature is disabled!" error appears
Cannot see certain models either despite all safety settings turned off, some models appear while one (mine) does not
CPM is both installed on server and client, same exact version

Latest.log below
message.txt

Issue was solved by creating a entirely new instance with all mods


getting error #need help#

after deplyoing this workbook, I am getting below error.
"project-reorder: Failed to resolve attribute as a column entity: policyScopeName_s..."

Hello @pgmars
I am unable to reproduce this problem. Can you provide more details like the template name, environment etc. I am not sure which of the templates gave this error


Hashtag autosuggestion for existing (or popular) hashtags

T.12226036
Similar to mentions but allow custom value
Also some ability to allow to use other symbols for some custom actions/autosuggestions is needed

@romanlesnikov
Some corrections for dark theme is needed:


slurm executor not printing logs on fail

Snakemake version
8.13
Describe the bug
I'm using the slurm executor plugin to have Snakemake submit jobs to cluster on my behalf. In addition to this, I'm also using the fs plugin to handle copying and retrieving files from the high-speed scratch directory we are guided to use on our HPC. The profile looks like this:
__use_yte__: true
executor: slurm
default-resources:
  slurm_account: xxxxxx
  slurm_partition: regular
  mem_mb: attempt * 2000
  runtime: 10
jobs: 4
latency-wait: 60
retries: 1
default-storage-provider: fs
local-storage-prefix: /home2/xxxxxx
shared-fs-usage:
  - persistence
  - software-deployment
  - sources
  - source-cache

And submitting to the cluster on the login node:
snakemake --snakefile workflow.smk --cores 10 --workflow-profile profile/

The workflow will create the DAG and copy files as expected, however the jobs tend to fail with STDERR logs like (account name anonymized):
Error in rule genome_faidx:
    message: SLURM-job '1607095' failed, SLURM status is: 'FAILED'. For further error details see the cluster/cloud log and the log files of the involved rule(s).
    jobid: 10
    input: Genome/genome.fasta.gz (retrieve from storage)
    output: Genome/genome.fasta.gz.fai (send to storage), Genome/genome.fasta.gz.gzi (send to storage)
    log: Genome/genome.fasta.gz.faidx.log (send to storage), /fs/XXXXXX/workdir/XXXXX/harpy/.snakemake/slurm_logs/rule_genome_faidx/1607095.log (check log file(s) for error details)
    shell:

        if [ "True" = "True" ]; then
            samtools faidx --gzi-idx /home2/XXXXX/fs/Genome/genome.fasta.gz.gzi --fai-idx /home2/XXXXXX/fs/Genome/genome.fasta.gz.fai /home2/XXXXX/fs/Genome/genome.fasta.gz 2> /home2/XXXXX/fs/Genome/genome.fasta.gz.faidx.log
        else
            samtools faidx --fai-idx /home2/XXXXX/fs/Genome/genome.fasta.gz.fai /home2/XXXXX/fs/Genome/genome.fasta.gz 2> /home2/XXXXX/fs/Genome/genome.fasta.gz.faidx.log
        fi

        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)
    external_jobid: 1607095

However, the SLURM log that would reveal troubleshooting information, .snakemake/slurm_logs/rule_genome_faidx/1607095.log is not present and only gets written after successful completion of a job.  This has been consistent for several workflows and different rules.

I am unable to reproduce this error. Can you check the node status in case of failing jobs, please? sacct -o nodelist,state will indicate one or more nodes of failed jobs. scontrol show node <some node of a failed job> | grep State gives the state.

Here's another such log:
Error in rule qc_fastp:
    message: SLURM-job '1618942' failed, SLURM status is: 'FAILED'. For further error details see the cluster/cloud log and the log files of the involved rule(s).
    jobid: 1
    input: /fs/cbsunt246/workdir/pdimens/harpy/test/fastq/sample1.F.fq.gz (retrieve from storage), /fs/cbsunt246/workdir/pdimens/harpy/test/fastq/sample1.R.fq.gz (retrieve from storage)
    output: QC/sample1.R1.fq.gz (send to storage), QC/sample1.R2.fq.gz (send to storage), QC/reports/data/fastp/sample1.fastp.json (send to storage)
    log: QC/reports/sample1.html (send to storage), QC/logs/fastp/sample1.log (send to storage), /fs/cbsunt246/workdir/pdimens/harpy/.snakemake/slurm_logs/rule_qc_fastp/sample1/1618942.log (check log file(s) for error details)
    conda-env: /fs/cbsunt246/workdir/pdimens/harpy/.snakemake/conda/3868729ed4cdf57e23c7b2c2632ebf5c_
    shell:

        fastp --trim_poly_g --cut_right --length_required 30 --max_len1 150 --detect_adapter_for_pe  --thread 4 -i /home2/pd348/fs/fs/cbsunt246/workdir/pdimens/harpy/test/fastq/sample1.F.fq.gz -I /home2/pd348/fs/fs/cbsunt246/workdir/pdimens/harpy/test/fastq/sample1.R.fq.gz -o /home2/pd348/fs/QC/sample1.R1.fq.gz -O /home2/pd348/fs/QC/sample1.R2.fq.gz -h /home2/pd348/fs/QC/reports/sample1.html -j /home2/pd348/fs/QC/reports/data/fastp/sample1.fastp.json -R "sample1 QC Report" 2> /home2/pd348/fs/QC/logs/fastp/sample1.log

        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)
    external_jobid: 1618942

Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: .snakemake/log/2024-06-13T152236.344429.snakemake.log
WorkflowError:
At least one job did not complete successfully.

> tree .snakemake/slurm_logs/
.snakemake/slurm_logs/
└── rule_qc_fastp
    ├── sample1
    └── sample2

Meanwhile, the configured NAS directory from the SLURM profile has this structure and the files never copied over:
> tree /home2/pd348                                                                                24-06-13 @ 15:23
/home2/pd348
└── fs

My idea was that failing nodes will not be able to feed back log information. Now, by NAS you mean NFS? Regardless, it should be written - eventually. What puzzles me is the distinction between failed and completed jobs: If such an error occurs, it is most likely a cluster error, which occurs always.
Can you confirm (with a minimal example, which always fails), that without the fs-plugin (you can just out comment the respective lines in your profile), the joblog is written?

Sure, I can try that. Just to be clear, the config will look like this?
executor: slurm
default-resources:
  slurm_account: nt246_0001
  slurm_partition: short
  mem_mb: attempt * 2000
  runtime: 10
jobs: 4
latency-wait: 60
retries: 0
#default-storage-provider: fs
#remote-job-local-storage-prefix: /home2/pd348
#local-storage-prefix: /home2/pd348
#shared-fs-usage:
#  - persistence
#  - software-deployment
#  - sources
#  - source-cache

I can confirm no logs were written:
.snakemake/slurm_logs
└── rule_qc_fastp
    ├── sample1
    └── sample2

Ok. Now, in theory - not withstanding any undiscovered side effect - Snakemake has no influence on the writing of SLURM logs. All it does is redirecting into a certain path, like any user can do with #SBATCH -o/--output. When logfiles are not written out, it is usually indicative of some sort of cluster or file system failure.
When I asked you to check, I wanted to make sure that there is no side effect (although the SLURM logs are not affected by the fs plugin). The SLURM plugin itself does not tinker with SLURM logfiles beyond giving them a path and name.
Now, I am out of ideas. But it's late for me ... Tomorrow is another day.
BTW the Snakemake log is far more informative about Snakemake errors than the SLURM log.

Perhaps this question will be helpful:
The slurm executor plugin, does it perform the copying and pasting from the node the scheduler designates for a job or on the login node before the job begins on the assigned node? If it's the latter, then it seems like everything should work, where the process would be:
snakemake(login) => copy to local-prefix (login) => run job (assigned node) => copy to original directory (login)
However, if (like me) your data is on a local storage disk that is not visible to all compute nodes, this process would likely fail:
snakemake(login) => copy to local-prefix (assigned node) => run job (assigned node) => copy to original dir (assigned node)
Given that's my setup, I want to make sure if that's at all a consideration for the behavior I'm observing?

The SLURM output never gets written locally. It is buffered for stdout and stderr and written out. There is no relation to the actual job in- or output, which you can stage in or out. Just run tail -f <logfile> to observe a job producing constant output to observe my statement.
Snakemake essentially submits itself. Hence, the SLURM batch part of your job is the output you will see for exactly one Snakemake job (except in the group job case, where it is more). This is what you should observe for completed jobs, too.
What happens if you run sbatch error.sh with error.sh being
#!/bin/bash
#SBATCH -A <your account>
#SBATCH -p regular
#SBATCH -o .snakemake/slurm_logs/test/fail1/my_error.log

mkdir -p .snakemake/slurm_logs/test/fail1/my_error.log
srun cho "cho is no command, it should be 'echo'"

?

Thanks for continuing this thread. I've had to shift to other tasks for the time being but hope to return to this later this week or next week to continue figuring out what's going on.
The slurm log directory should be in .snakemake/slurm, as I understand it, which does exist

you can use scontrol job show 1607095 to veiw the state of job 1607095, if the path to stdout and stderr exists, then it may be caused by inconsistance of SLURM params.

On a sidenote, just that it is not forgotten: The plugin code will let you know in line 88 (as of version 0.6.1 - a later version might show this in different lines) that the logdir is always created.
 Note, that a very slow filesystem might lead to inconsistencies: If the login node creates that directory, but the information is unknown on a compute node, the job might fail silently.  An alternative explanation might be a missing mount point.


Change "Mac OS X" to "macOS"

Thank you!

whoops you made the pr to gh-pages not master. I keep merging these >.<
I'll cherry-pick it into master [:

Done.

Shouldn't this have been merged into gh-pages? It's a patch to the website,
not the app...
On Fri, Jan 13, 2017 at 11:52 AM Blaine Schmeisser<EMAIL_ADDRESS>wrote:

Done.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tinytacoteam/zazu/pull/158#issuecomment-272486859,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAC24tm96PMNob0RhTD05Yx9vGRt3JyMks5rR6vEgaJpZM4LiaVc
.

Nope gh-pages is auto-generated from master in the docs folder. This allows a single pull request to introduce a feature, update the changelog and update the docs without coordination.


AttributeError: 'NoneType' object has no attribute 'get'  one cause reson

hello:
from the issues,i find some peole both has the question,like
AttributeError: 'NoneType' object has no attribute 'get'.
in my case no yarn ,i find may be like this:
when the container die(kill by nm),the ppid is not the same to cluster_info which return reserve methon.
so through cluster_info some container  is not exit, can't get the state.

like the log
15.8 GB of 14.7 GB virtual memory used. Killing container.
fix it through

yarn.nodemanager.vmem-check-enabled
false
Whether virtual memory limits will be enforced for containers

so how   TFONSpark  to make sure get the newest ppid when  the dynamlly container happened?
a

At the moment, TensorFlow clusters (without TFoS) are statically configured, i.e. each node must know the host:ports of all other nodes (i.e. cluster_info) at startup time.  This is why we have a reserve step, and why we disable Spark dynamic allocation via: --conf spark.dynamicAllocation.enabled=false to ensure that one executor == one TF node.
So if a Spark executor fails for any reason, the TF cluster is essentially broken.  Note that this is no different than if you had manually set up the TF cluster (w/o TFoS) on several machines and one of the TF nodes dies.  That said, TF would attempt recover IF you were able to restart the TF node on the failed host on the same port.  Unfortunately, Spark/YARN does not attempt to restart a failed executor on the same host (and it's difficult to re-reserve the same port even if we could), so the only recovery at the moment is to restart the job from the last saved TF checkpoint.


Page Path slash doesn't show in night mode

On https://uwcs.co.uk/about/irc-guide/

lib/templates/lib/tags/breadcrumbs.html is where this is, you'll probably want to change line 4 to detect if night mode is set and change the has-background-light-scheme class accordingly :)


[wolverine] Integrate openai into my editor

Just goofing around. Going to work with @biobootloader to see if we can get this merged & extend with wolverine.
I didn't have time to integrate VSCode's node runtime with a keychain. Do NOT add your keys to a json that lives raw on your filesystem. Unless you have a limit, and you don't care about potentially losing 20 bucks.

If you want to develop, open up vscode in the extension's directory and hit F5
Demo
https://user-images.githubusercontent.com/10282244/233265760-05af619e-a536-47e9-a061-142261a4167d.mp4
Please don't share on twitter dot com bird app site yet, I'm making a goofy video

https://user-images.githubusercontent.com/10282244/233284504-798258ed-922b-4bc2-b75c-f271ba56615b.mp4
probably overkill for this repo, but computers should probably embed the whole world before doing things, including voice

Incredible!
Let me get to some of the older PRs before tackling this beast 🔥

yeah big guy i'm gonna actually toy around with this and make it not hot garbage
only attend once it's not in draft :) shared it early for someone else who asked for it

I was programming something else and was getting a little annoyed about how it didn't have any context. So I made it do what I want!

Now if I cast "directed heal" on this selected text, it'll have the references to all visible text. However; it won't include the actual internals of the function. It'll be replaced with ... instead.
Also; here's the new prompt.
const constructPrompt = async (text: string, filepath: string): Promise<string> => {
	const defaultPrompt = `
ADDITIONAL CONTEXT:
filepath: ${filepath}
INSTRUCTIONS:
- The text under 'CODE' has come straight from my text editor.
- Your entire output MUST be valid code.
- You may communicate back, but they MUST be in comments
- The code sent to you might have some instructions under comments. Follow the instructions. Only attend to instructions contained between [[SELECTED]] & [[/SELECTED]]
- The code between [[SELECTED]] [[/SELECTED]] is code that I need you to replace. So when you start responding, only respond with code that could replace it
- MAKE SURE YOU ONLY WRITE CODE BETWEEN [[SELECTED]] AND [[/SELECTED]]. The rest of it doesnt need to be replace
- The rest of the code is provided as context. Sometimes, I'll collapse my code for you, and hide the details under '...'. Follow the style of the rest of the provided code.
- DO NOT WRITE THE ENTIRE CODE FILE. ONLY REPLACE WHAT IS NECESSARY IN SELECTED
- Prefer functional programming principles.
CODE:
${text}
NEW CODE TO REPLACE WHAT IS BETWEEN [[SELECTED]] and [/SELECTED]:
`;
	const configuredPrompt = await workspace.getConfiguration().get('wolverine.prompt');
	if (configuredPrompt) {
		return configuredPrompt + text;
	}
	return defaultPrompt;
};

cc @biobootloader
FYI I've been using this on my own dev
I'm keeping this branch updated with whatever my patches are as I figure out what works for me vs what doesn't
The code is an awful mess, I plan to encapsulate all of the state transitions.


Update instances of rekor createsecret image

Add explicit name for rekor createsecret image
Replace the new image name and path within the repository

Related issue: #1192

Summary

Release Note

Documentation

Closing as fixed in #1221 1221


Added option that allows to specify path

Description of the pull request
This PR Adds support for specifying a custom path in the options.

Any update on this?

@robcas3: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@robcas3: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Done.

Codecov Report

Merging #223 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #223   +/-   ##
=======================================
  Coverage   89.79%   89.79%
=======================================
  Files          39       39
  Lines        3497     3499    +2
=======================================
+ Hits         3140     3142    +2
  Misses        357      357

Impacted Files
Coverage Δ

Sources/PusherClientOptions.swift
100.00% <100.00%> (ø)

Sources/PusherSwift.swift
70.00% <100.00%> (+0.50%)
:arrow_up:

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 063497e...422727d. Read the comment docs.

Any update on this?

updates?

@rcasula Can I ask what use case are you looking to address with this change?

We use a custom install of PusherServer under a custom path, behind a proxy.
We simply want to use the same domain for websockets and other HTTP traffic and we don't need to use http tunneling.
Also this is originally implemented by the javascript library.
For reference, this modification was merged also in the php library:
https://github.com/pusher/pusher-http-php/pull/227

@rcasula Apologies for the large delay in replying to you. If you update this PR merging the latest version of master from our upstream branch to resolve the merge conflicts with Package.swift then I will merge this PR ASAP

@rcasula Apologies for the large delay in replying to you. If you update this PR merging the latest version of master from our upstream branch to resolve the merge conflicts with Package.swift then I will merge this PR ASAP

@danielrbrowne Done.

@danielrbrowne Done.


Update projects framework version

The version of the current net framework 4.6.1 was announced on 2015 year. It's an outdated framework. I suggest updating to the version 4.7.2 or 4.8. Maybe even consider netcore3.1?

Is there any major advantage in compiling against a newer version of the .NET Framework? The application runs with the latest Framework version >= 4.6.1 that is installed on the system anyway.

Honestly I still like to use 4.6.1 unless I need something specific from netcore 3.1.
However I'd love to see the support for .netcore 3.1. I think based on our testing few days ago it currently does not work with .net 3.1 (even 3.0)

However I'd love to see the support for .netcore 3.1. I think based on our testing few days ago it currently does not work with .net 3.1 (even 3.0)

There is a difference between runtime framework and projects that ConfuserEx can process.


Cannot use value object as criteria in specification.

Information
Version: 6.1.0
Using: .Net 6, EF Core 6.0.6
Description
When creating a specification with a value object (provided below), a receive the following error:
System.InvalidOperationException : No backing field could be found for property 'Address.PlaceEntityId' and the property does not have a getter.

When performing an equivalent call in on the raw queryable, such as:
var result = await applicationDbContext.Set<PlaceEntity>().AnyAsync(place => place.Address == address);

There is no exception thrown and the code runs as expected. I would expect code run through the equivalent specification to do the same. I understand that the exception is asking for there to be a provided field, but again, raw queryable handles this without the exception and I may want to reuse this value object elsewhere with other entities.
ValueObject.cs
public abstract class ValueObject
{
    protected static bool EqualOperator(ValueObject left, ValueObject right)
    {
        if (ReferenceEquals(left, null) ^ ReferenceEquals(right, null))
        {
            return false;
        }

        return ReferenceEquals(left, right) || left.Equals(right);
    }

    protected static bool NotEqualOperator(ValueObject left, ValueObject right)
    {
        return !EqualOperator(left, right);
    }

    protected abstract IEnumerable<object?> GetEqualityComponents();

    public static bool operator ==(ValueObject left, ValueObject right)
    {
        return EqualOperator(left, right);
    }

    public static bool operator !=(ValueObject left, ValueObject right)
    {
        return NotEqualOperator(left, right);
    }

    public override bool Equals(object obj)
    {
        if (obj == null || obj.GetType() != GetType())
        {
            return false;
        }

        var other = (ValueObject)obj;

        return this.GetEqualityComponents().SequenceEqual(other.GetEqualityComponents());
    }

    public override int GetHashCode()
    {
        return GetEqualityComponents()
            .Select(x => x != null ? x.GetHashCode() : 0)
            .Aggregate((x, y) => x ^ y);
    }
}

Address.cs
public class Address : ValueObject
{
    public string? Street { get; private set; }
    public string? City { get; private set; }
    public string? State { get; private set; }
    public string? Country { get; private set; }
    public string? ZipCode { get; private set; }
    public string? Other { get; private set; }

    public Address()
    {
    }

    public Address(string street, string city, string state, string country, string zipCode, string? other)
    {
        Street = street;
        City = city;
        State = state;
        Country = country;
        ZipCode = zipCode;
        Other = other;
    }

    protected override IEnumerable<object?> GetEqualityComponents()
    {
        yield return Street;
        yield return City;
        yield return State;
        yield return Country;
        yield return ZipCode;
        yield return Other;
    }
}

PlaceSpecification.cs
public class PlaceSpecification : Specification<PlaceEntity>
{
    public PlaceSpecification(Address address)
    {
        Query.Where(place => place.Address == address);
    }
}

PlaceEntity and Address are linked as follows:
        builder.Entity<PlaceEntity>(entity =>
        {
            entity.OwnsOne(place => place.Address);
        });

Workaround
Breaking down the criteria to compare each property of the value object works, but is redundant as this work is already handled as part of ValueObject and Address.
PlaceSpecification.cs
public class PlaceSpecification : Specification<PlaceEntity>
{
    public PlaceSpecification(Address address)
    {
        Query.Where(place =>
            place.Address.Street == address.Street &&
                place.Address.City == address.City &&
                place.Address.State == address.State &&
                place.Address.Country == address.Country &&
                place.Address.ZipCode == address.ZipCode &&
                place.Address.Other == address.Other
        );
    }
}

Hi @rsoulard-cadenza,
Thank you for your detailed explanation. I really do appreciate it when the issues are elaborated on in this manner.
Unfortunately, the issue is not related to this library. You will get the same exception even when working directly with DbContext. To convince you, I created a sample application using your code https://github.com/fiseni/SpecVoIssue.
There are two endpoints. You will get the same exception in both cases.

/places/ef       - It uses EF directly
/places/spec   - It uses a specification

Actually, this is expected behavior. EntityFramework Core doesn't have support for value objects. We, the community, are using Owned Entities just as a workaround. But, we should be aware that in fact it's just a workaround, and there are issues with that approach. The Owned Entities were designed with a different aim, to implement the concept of the aggregates. That said, EF considers them as entities; and even though you have not defined an FK property, the EF will generate that internally. If you debug the code and examine the ChangeTracker, you would be surprised to see a PlaceId field for the Address object. Aside from the issue you're facing, you also should be aware of the following:
// Here you might expect that once saved, both place1 and place2 will have the same address.
// But, if you do this, you'll get either an exception or place2's address will be deleted.
// That's the case since Address has a PlaceId FK assigned, and can be related to a single entity. Hence the name Owned entities.

place1.Address = place2.Address

Luckily, in EF Core 7 we will get native support for value objects. Here is the announcement.

Hello @fiseni !
I appreciate the thorough and polite response. When I had tested the dbContext side of things, I did so in an intermediate window. Altering my code to do what you did in your example does prove that you are in fact correct, it will fail.
...but for reasons that don't warrant an answer here it DOES work in an intermediate window. (See screenshot). For now, I will close this ticket.
Again thank you for the response.


Make ICCP removal optional

Hello, I was curious in which cases one would decide whether to keep or remove the ICCP?

https://www.benq.com/en-us/knowledge-center/knowledge/icc-profile-basics.html


Fixed a basic UI regression due to a recent godep update

In one of the latest docker UI updates, the flags structure expects to
have a ShortUsage function. Without that any UI event that triggers an
short usage panics.
Signed-off-by: Madhu Venugopal<EMAIL_ADDRESS>

LGTM


Fellowship custom data submission rules

Adding as a placeholder, probably multiple issues here.
We need to be able to submit based on if:

there is a % change in a price
and/or it has been a certain timeframe (e.g. 1 min)

Now the split part.  We want to be able to run this process for just one (or a handful of) datapoints.  So you would have say 2 data points running and submitting them every 10 seconds or under on a custom chain.  Then you also need to make sure that you're pulling the API at least that frequently too.

This has been added as part of the telliot access submitter,
I think it is best to close for now and can open more specific issues for any further changes


instance check: region for cloud service and storage account must be the same

Before running an instance in an already existing cloud service we have to check if the region the cloud service runs in is the same as the region the storage account exists in

Working on this Issue

done


A Bug about running substrate 2.0.0-alpha4

My Substrate version is 2.0.0-alpha.4,  the commitID is  653c89f.
The project link is https://github.com/Lawliet-Chan/bhd-chain/tree/alpha4
I build the code by
cd bin/node/cli && cargo build --release
Running the chain by
 ./target/release/bhd-chain --dev
But it shows me:
2020-03-28 16:19:23 Running in --dev mode, RPC CORS has been disabled.
2020-03-28 16:19:23 BHD Node
2020-03-28 16:19:23   version 2.0.0-alpha.4-1f3a33b-x86_64-macos
2020-03-28 16:19:23   by Parity Technologies<EMAIL_ADDRESS>2017-2020
2020-03-28 16:19:23 Chain specification: Development
2020-03-28 16:19:23 Node name: penitent-bee-7869
2020-03-28 16:19:23 Roles: AUTHORITY
2020-03-28 16:19:23 Initializing Genesis block/state (state: 0x6b81…0e77, header-hash: 0x2460…ef92)
2020-03-28 16:19:23 Loading GRANDPA authority set from genesis on what appears to be first startup.
2020-03-28 16:19:23 Loaded block-time = BabeConfiguration { slot_duration: 3000, epoch_length: 200, c: (1, 4), genesis_authorities: [(Public(d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d (5GrwvaEF...)), 1)], randomness: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], secondary_slots: true } milliseconds from genesis on first-launch
2020-03-28 16:19:23 Creating empty BABE epoch changes on what appears to be first startup.
2020-03-28 16:19:23 Highest known block at #0
2020-03-28 16:19:23 Using default protocol ID "sup" because none is configured in the chain specs
2020-03-28 16:19:23 Local node identity is: QmRMTzuWmvxXvWAHLjbuZmur6GK2tb6mmtjDejtCHnJrzV
2020-03-28 16:19:23 Starting BABE Authorship worker
2020-03-28 16:19:23 Prometheus server started at <IP_ADDRESS>:9615
2020-03-28 16:19:24 Starting consensus session on top of parent 0x246047ead3c6a7ddd0afaea674414d41f9f4e5204679f655f8af9fac773aef92
2020-03-28 16:19:24 Prepared block for proposing at 1 [hash: 0xaf41914295ff047d2fe4aa0d3b4f799eb59b0326bcd72544b37954da7c21929a; parent_hash: 0x2460…ef92; extrinsics (1): [0xb39b…d3b8]]
2020-03-28 16:19:24 Pre-sealed block for proposal at 1. Hash now 0x402568077d53560219b6898d672dcc4e64bfb95c3ca94b7e200ca47f3ba50bbe, previously 0xaf41914295ff047d2fe4aa0d3b4f799eb59b0326bcd72544b37954da7c21929a.
2020-03-28 16:19:24 New epoch 0 launching at block 0x4025…0bbe (block slot 528461188 >= start slot 528461188).
2020-03-28 16:19:24 Next epoch starts at slot 528461388
2020-03-28 16:19:24 Imported #1 (0x4025…0bbe)

====================

Version: 2.0.0-alpha.4-1f3a33b-x86_64-macos

   0: backtrace::backtrace::trace
   1: backtrace::capture::Backtrace::new
   2: sp_panic_handler::set::{{closure}}
   3: std::panicking::rust_panic_with_hook
   4: rust_begin_unwind
   5: core::panicking::panic_fmt
   6: core::result::unwrap_failed
   7: hyper_rustls::connector::HttpsConnector<hyper::client::connect::http::HttpConnector>::new
   8: sc_offchain::api::http::http
   9: <futures_util::stream::stream::for_each::ForEach<St,Fut,F> as core::future::future::Future>::poll
  10: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
  11: <std::future::GenFuture<T> as core::future::future::Future>::poll
  12: tokio::task::core::Core<T>::poll
  13: std::panicking::try::do_call
  14: __rust_maybe_catch_panic
  15: tokio::task::harness::Harness<T,S>::poll
  16: tokio::runtime::thread_pool::worker::GenerationGuard::run_task
  17: tokio::runtime::thread_pool::worker::GenerationGuard::run
  18: std::thread::local::LocalKey<T>::with
  19: tokio::runtime::thread_pool::worker::Worker::run
  20: tokio::task::core::Core<T>::poll
  21: std::panicking::try::do_call
  22: __rust_maybe_catch_panic
  23: tokio::task::harness::Harness<T,S>::poll
  24: tokio::runtime::blocking::pool::Inner::run
  25: tokio::runtime::context::enter
  26: std::sys_common::backtrace::__rust_begin_short_backtrace
  27: std::panicking::try::do_call
  28: __rust_maybe_catch_panic
  29: core::ops::function::FnOnce::call_once{{vtable.shim}}
  30: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
  31: std::sys::unix::thread::Thread::new::thread_start
  32: <unknown>
  33: <unknown>

Thread 'main-tokio-' panicked at 'cannot access native cert store: Custom { kind: Other, error: Error { code: -25300, message: "The specified item could not be found in the keychain." } }', /Users/ChenXinRan/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-rustls-0.20.0/src/connector.rs:46

This is a bug. Please report it at:

	https://github.com/paritytech/substrate/issues/new

Once it imports the block , it panics.
After that, I followed the official tutorial to start An Alice's node and Bob's node.
BUT it shows the same error.
How can I fix it?

My host is macOS-10.11.6

This is the macOS BUG.

@Lawliet-Chan how did you fix it, I have the same problem

@Lawliet-Chan how did you fix it, I have the same problem

What's your macOSX version number? Mine is that the macOSX is too old
I just upgrade my macOSX up to 15.5 to fix it.

What's the bug? I have the same issue.
Compile runs perfectly on 10.14. If it's incompatible surely it's with one thing not the entire operating system.
So many mac users, especially professional users like myself aren't on the bleeding edge of OSx updates. For compatibility reasons it really doesn't make sense for us to upgrade to the latest Catalina or Big Sur etc if it breaks existing environments.

@Lawliet-Chan I am on latest, 10.15.6, and I'm getting the same error


duplicate notification with your example

when I run your example https://github.com/hiennguyen92/flutter_callkit_incoming/tree/master/example
without change anything it will give me another notification after decline the previous one
https://user-images.githubusercontent.com/46813666/161380921-bf39585e-2b7f-4e98-bee7-d0002c4694bd.mp4

@EmelianShkira I am not able to reproduce this issue. can you tell me android version you are using or phone brand....?

I'm using xiaomi POCO X3 PRO (M2102J20SG) with MIUI 12.5.9 with android 11
update: in release mode the problem is solved but another issue come..notification come without ringing until I enable incoming notification ringtone in my device settings for this app ..just in release mode this problem happend not in debugging

@EmelianShkira It seems this issue is caused by MIUI Xiaomi
https://github.com/MaikuB/flutter_local_notifications/issues/852#issuecomment-827995444

This problem may be related to Xiaomi MIUI launcher

no also I install the app on other devices like Samsung j7 also same problem no ringtone until i enable it manually from settings
the value of key 'ringtonePath' : 'system_ringtone_default'

I can't reproduce the issue.  Please be sure not to be in silent mode.  What Samsung settings do you use?

i mean actual settings of app from my device settings.. no I'm not in silent mode

I tested on samsung device, however, can't reproduce it. Can you recored the whole setting process?

@hiennguyen92
the problem of sound was solved by set false to (shrinkResources & minifyEnabled & useProguard)
but the duplicate notification still exist with all kind of devices !!

Change {
"type" : 1}

Ok. I will check it

I tested on samsung device, however, can't reproduce it. Can you recored the whole setting process?

I also faced same issue , but not with popup for accepting call , its when restarting the device its automatically routes to the page where I placed the code inside the callkit , and even i clode that page it comes when restarts

@hiennguyen92, I thought version 1.0.2 would fix this, but there is still a duplicate of the incoming call notification

Ok. I will check it

@hiennguyen92  checkAndNavigationCallingPage(); is running many times 3 to 4 times and thus resulting in screen duplication, pushing same screen 3 to four times  please help with this

Ok. I will check it

@hiennguyen92 checkAndNavigationCallingPage(); is running many times 3 to 4 times and thus resulting in screen duplication, pushing same screen 3 to four times please help with this

@suhail600 this duplication is not there because of that unless you are calling your showCallKitIncoming in that checkAndNavigationCallingPage(). It happens only when you pick the call up in the first 2 seconds. But if u give I t let's say 4-5 seconds before accepting the call, it would not cause that duplication.

Ok. I will check it

@hiennguyen92  As far as I have tested, the duplication happens only when you pick the call up in the first 2 seconds. But if u give it let's say 4-5 seconds before accepting the call, it would not cause that duplication. Can you please suggest a workaround?
Thanks

It occurs on Samsung Galaxy S22 Ultra too but only when the app is running in the  foreground.
A temporary fix is to check if the active call is duplicated, ignore the subsequent calls of checkAndShowCallingPage()

I don't think that would work because it happens only in android and I don't think it is because of the code I wrote

its been one year ,may be its due to an error in the firebase messaging package, I am not sure @hiennguyen92 can check this

I think this issue may come from FCM (I checked their log). to ensure the notification is only shown once. I think you should check before calling showcallkit.something similar to:
onBackground(message){
if(message.messageId){
//show here
}
}
Same with onMessage


Ginger Roots - Roots with Mustache

I mentioned this briefly on #209, but I thought I should try to spread the word around, see if anybody's interested in this direction.
Roots is a great theme, and it immediately felt good to use. It introduced some very neat changes to the way things are done with Wordpress, most of which I had similar thoughts about.
However, regardless of how amazing any theme is, and how organized the php code might be, when it comes to the presentation layer itself - the templates that get displayed to the user, I always felt PHP is just too messy. Mixing presentation and logic was always a little annoying (escaping characters inside echo etc). So when I bumped into {{Mustache}} a few months ago, I really wished there was a wordpress theme using Mustache. Then when I figured out there isn't any, I decided I should try to build one myself. Or adapt an existing theme.
The end result is Ginger Roots - a roots fork with Mustache support. All templates can be edited using a .mustache file. Would be great if this is adopted and becomes part of Roots, but I realise not everyone would immediately jump on the idea. I would appreciate any feedback or suggestions regardless. It is still very fresh and probably has lots of bugs, but at least it's at a point where all base .php templates were converted and have a .mustache counterpart.
Cheers
Yoav
p.s. just a quick thank-you to creators of Roots and to the fantastic help I got from @bobthecow on the Mustache.php project.

I think it's awesome that you did this. Few quick thoughts:
Why Rootache instead of Rootstache? :)
I completely agree that the lack of separation between presentation and logic in WordPress (default, other themes, and Roots) is its biggest flaw so I'm all for any attempt to fix that. And I'm also a big fan of Mustache since I firmly believe that the only sure fire way to keep logic out of templates is to use a logic-less templating language.
Although I'm wondering if it's too much of a radical departure. Using something like Twig (http://twig.sensiolabs.org/) for templates might be a better idea.
Regardless, Roots would work with Mustache but the main problem with this implementation is mostly the structure. This was already a problem in Roots but it's exacerbated by introducing a templates folder. Mustache.php, MustacheLoader.php, and Rootache.php don't belong in the root folder along with all the other php files. There should be a "lib" dir for these. In fact, all the existing PHP "templates" which are now basically context files, should be in their own separate directory. Maybe this could be called "views" or "contexts".
Roots is well organized and decently documented but we all know it doesn't have the best OOP practices :) which limits how we can actually structure all these files. So I don't expect you to re-write Roots but finding a better structure for implementing Mustache would go a long way towards adoption.
But like I said, this is awesome and I think it's only going to lead to good things.

Thanks @swalkinshaw . Wordlress seems like a very interesting find indeed. Requiring ruby and completely departing from the wordpress structure does seem a little too far to me too. haml is also interesting, and perhaps it can also be added to the mix later on. Didn't quite occur to me before. I'd rather feel more solid about having simple mustached-html-templates within the theme first, and then think about other extensions.
As far as the Wordless routing specifically, it doesn't seem to use any of the existing wordpress template hierarchy. Perhaps it's a benefit, because the wordpress hierarchy can be confusing and requires getting used-to. But that being said, it is quite flexible and re-inventing it sounds a little risky to me.
Going back to your point about moving the standard .php files from the root folder, I'd say that whilst I like this idea, leaving them there is a reasonable price to pay. You get the benefit of instant familiarity for people already using wordpress. The Mustache templates in Ginger-Roots stick to the same structure too, with each .mustache file providing template for its .php counterpart.

I actually agree about the dreaded "middle-ground" for templating languages. Haml actually fits into this category too since you can execute any code you want in it. My only concern with moving to Mustache is that it's a huge change for Roots and a lot of WordPress users/developers aren't exactly used to things like logic-less templates.
I like that each PHP file has a Mustache counterpart which is one of the reason why I think it would be good to have parallel folders for them so that they're match up even more so. I'll put some more thought into this since I haven't really considered a solution beyond what Wordless does.

just to clarify my comment about "adding haml to the mix". I thought about having a haml+mustache hybrid-templates. Providing extra brevity without any logic. i.e. the template will get rendered by mustache first, then haml, or vice versa. (haven't used haml before, so not sure how feasible this is though). In any case, it feels too early to consider this right now.
Would love to get more ideas from you and others. I do realise Ginger Roots suggests a rather big shift, adding in Mustache templates. I hope it's a positive shift however.

That's definitely possible. Just need to render Mustache first since it's basically text agnostic (http://ozmm.org/posts/haml___mustache.html). Of course then we'd be adding two levels of additional rendering which has performance impacts but people should be caching WP anyway...

Few more thoughts:
ob_start();
wp_head();
$context->wp_head = ob_get_clean();

This pattern is used a lot. It would be good to abstract it out into a function although it might be messy with PHP since we shouldn't require PHP 5.3 yet with WordPress (don't have true anonymous functions).
I don't think $context should be a global variable that's just an instance of Rootache. Might as well just use Rootache as a singleton or access it with static methods if it's only being instantiated once.
Check out this Rails 3 gem for using Mustache: https://github.com/goodmike/mustache_rails3
Basically, a ruby "view" file is equivalent to a php template file. Each PHP file would be a class that inherits from Rootache (or Mustache::Roots if we're being really literal).
Just some more ideas I had.

Thanks again @swalkinshaw. All very good comments.
Re ob_start()... stuff - would be VERY happy to find a nicer way. I also felt it's ugly and repetitive (non-DRY?), but at the same time, doing things like get_buffer('function_name', 'argument1', 'argument2') and using call_user_func isn't much cleaner. PHP 5.2 support was also a consideration. I wish I didn't have to use output buffering at all, but some functions just don't have the get_ method at all and always echo stuff out... lots of wordpress is built around echoing (things like get_template_part, get_header, get_footer and many others).
As far as the global access to Rootache. Another good observation. This evolved gradually, but perhaps is not yet fully evolved. I started with each php file instantiating its own Rootache context. But then came across things like wp_list_comments('type=comment&callback=roots_comments');. This function gets a string with a callback function for each comment. I wanted to make the callback function add stuff to the existing context. That's where the global context started. As far as making Rootache a singleton - perhaps, but I don't see the big risk with leaving it as is. There's nothing wrong with instantiating your 'own' Rootache if you want. It might be slower or less memory efficient, but perhaps some cases would require a completely independent context, unaffected by the (currently) global one... Since wordpress isn't very object oriented and uses lots of globals and functions, I didn't particularly want to make Rootache a class/object instance either. However, since Mustache.php uses classes, it was just easier to sub-class it. Hope I explained this clearly.

@swalkinshaw I've added you as a contributor. (Hope that's the right way to allow you to push code/changes? still quite new to github...)

@gingerlime it is, thanks!
I should have known WordPress wouldn't let us have nice things. I'm just glad you've put some thought into these issues as you came across them. Obviously you know the problems better than I do. I'm not sure when I'll have time to work on this but it's gotten me interested.

@gingerlime not sure if you've seen this, but it linked in the rebuild issue: https://github.com/newsapps/wordpress-mtv
Tutorial: http://blog.apps.chicagotribune.com/2011/10/19/turning-wordpress-into-a-framework-with-mtv/
Wiki: https://github.com/newsapps/wordpress-mtv/wiki
Some interesting ideas there with some parallels to your fork.

Well someone else found that but I'm always reading and clicking links :)
I agree that some of their implementation is awkward and kind of insane the lengths they go to to bypass WordPress. but Interesting nonetheless.


hello there

Hello!
I really love the Replicate PuLID portrait generator what I am trying now. could you recommend some tutorial to find out how to use the settings to fine tune the output? like how I can mix 2 images, how I can maximise the code.
thanks!

Hi!Thats the first video what I saw yesterday,after this i started to work with your pulid. :)  anyway it is in hungarian language what is my language too.
Yes, i try with huggingface and replicate also. But  i will be glad if there will be a tutorial for details.
Keep going!Have a great day!
Tisztelettel,
Vadon Zsolt
VadonDesign grafikai stúdió
http://www.vadondesign.hu
06202645537
@.***
On Wednesday, May 8, 2024, 5:26 PM, Yanze Wu @.***> wrote:
We have found a tutorial of PuLID in youtube https://www.youtube.com/watch?v=5vdFCsC7MLg, but it is not in English. We looking forward for more tutorials of PuLID, currently you can check the huggingface demo, where we provide some tips for using it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Hello.
I really try to generate an image WITHOUT HAT. I tried negative prompt also. but I always gets HAT for the generated image.
What am I doing wrong?


How to set Auth?

Is there a way to set the auth on this?
I've been trying to figure out how to set it, but cannot get it working.
Example: V2 with community string "public".
Thanks!

You can add a community check at the beginning of the handler.
async def handler(req: snmp_agent.SNMPRequest) -> snmp_agent.SNMPResponse:
    if req.community != "public":
        raise Exception

    vbs = ...


Correct Issuing Process Bugs

added a wait to issuing process on the webhook as sometimes the response was coming through to the agent as accepted before the DB had updated.
modified the issue logic to always grab the attributes from the AcaPy agent.
removed logic from the front-end of the public site that would cause the frontend to not always grab the user's id.

The wait function at lines 47-51 in identity-controller/src/app/admin/issues/issue.controller.ts should be replaced by importing the wait utility function in  identity-controller/src/core/utility.ts to avoid code duplication.

@esune done


Improve version comparison in --feeling-safe check

Simple string comparion will fail for versions like 1.4.0.dev1595+ga35d7140.d20240806 vs 1.38 - the former is clearly older, but the comparison will yield false-ish result.
packaging.version.Version should provide smarter and correct comparison for these corner cases.
Pull Request Checklist

[x] implement the feature
[x] extend the test coverage

/packit test


No option to hide listview or dropdown (without clearing selection)

Dear makers of this widget,
Thank you for your efforts, the widget is almost perfect for my intended usage.
However I am missing an option to close the dropdown on listview. In my scenario it is rather user unfriendly that after selecting some options the list cannot close.
Is there any way to circumvent this? Perhaps showing options only after entering a search for instance.
I am looking forward to any suggestions.

Hello,
Can you please attach screenshots, so I can better understand your use case? Both the browser UI and the widget settings in the modeler.

My wish is to only show the options once click on the search bar. And to also be able to close the options again once you press an icon or click outside of the searchbar.

The dropdown is also not an option, because the depiction of selected items above the searchbar does not match my wish to display them elsewhere on the page.

You can achieve the result I believe you're looking for using the following:

Update your local widget to version 1.4.2
Change the Option Text Type to 'Custom'

A new container will appear on the Mendix page for you to drop content into
Add a layout grid with 3 columns for your image, text, and remove button

On the remove button, add a class "remove-btn"
On one of your application styles add the following. This will make the remove button only display on rows that are already selected

-.srs-option .remove-btn{
        display: none;
}

.srs-option.selected .remove-btn{
        display: block;
}

run the project and you should see something like this


Issues with Running Evaluation Run.py

I was running the code for just evaluation after downloading the datasets and checkpoints required. However, I am not able to run the evaluation python script. Does anyone have the same problem too? and do you have any solution to this?
To Reproduce the error:
python3 run.py --task "itr_cuhk" --evaluate --dist "f4" --output_dir "output/ft_cuhk/test" --checkpoint "output/ft_cuhk/checkpoint_best.pth"
I am wondering if there is a version error in this issue, i am using PyYAML: 6.0.1, PyTorch: 2.2.1, ruamel.yaml: 0.18.6
ruamel.yaml.clib : 0.2.8
Error
NNODES,  1
NPROC_PER_NODE,  4
MASTER_ADDR,  <IP_ADDRESS>
MASTER_PORT,  3000
NODE_RANK,  0
/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launch.py:183: FutureWarning: The module torch.distributed.launch is deprecated
and will be removed in future. Use torchrun.
Note that --use-env is set by default in torchrun.
If your script expects --local-rank argument to be set, please
change it to read from os.environ['LOCAL_RANK'] instead. See
https://pytorch.org/docs/stable/distributed.html#launch-utility for
further instructions
warnings.warn(
[2024-03-25 15:15:00,947] torch.distributed.run: [WARNING]
[2024-03-25 15:15:00,947] torch.distributed.run: [WARNING] *****************************************
[2024-03-25 15:15:00,947] torch.distributed.run: [WARNING] Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
[2024-03-25 15:15:00,947] torch.distributed.run: [WARNING] *****************************************
Traceback (most recent call last):
File "Retrieval.py", line 296, in
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/ruamel/yaml/main.py", line 1085, in load
error_deprecation('load', 'load', arg=_error_dep_arg, comment=_error_dep_comment)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/ruamel/yaml/main.py", line 1037, in error_deprecation
raise AttributeError(s)
AttributeError:
"load()" has been removed, use
yaml = YAML(typ='rt')
yaml.load(...)
and register any classes that you use, or check the tag attribute on the loaded data,
instead of file "Retrieval.py", line 296
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)

Traceback (most recent call last):
File "Retrieval.py", line 296, in
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/ruamel/yaml/main.py", line 1085, in load
error_deprecation('load', 'load', arg=_error_dep_arg, comment=_error_dep_comment)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/ruamel/yaml/main.py", line 1037, in error_deprecation
raise AttributeError(s)
AttributeError:
"load()" has been removed, use
yaml = YAML(typ='rt')
yaml.load(...)
and register any classes that you use, or check the tag attribute on the loaded data,
instead of file "Retrieval.py", line 296
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)

Traceback (most recent call last):
File "Retrieval.py", line 296, in
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/ruamel/yaml/main.py", line 1085, in load
error_deprecation('load', 'load', arg=_error_dep_arg, comment=_error_dep_comment)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/ruamel/yaml/main.py", line 1037, in error_deprecation
raise AttributeError(s)
AttributeError:
"load()" has been removed, use
yaml = YAML(typ='rt')
yaml.load(...)
and register any classes that you use, or check the tag attribute on the loaded data,
instead of file "Retrieval.py", line 296
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)

Traceback (most recent call last):
File "Retrieval.py", line 296, in
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/ruamel/yaml/main.py", line 1085, in load
error_deprecation('load', 'load', arg=_error_dep_arg, comment=_error_dep_comment)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/ruamel/yaml/main.py", line 1037, in error_deprecation
raise AttributeError(s)
AttributeError:
"load()" has been removed, use
yaml = YAML(typ='rt')
yaml.load(...)
and register any classes that you use, or check the tag attribute on the loaded data,
instead of file "Retrieval.py", line 296
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)

[2024-03-25 15:15:11,033] torch.distributed.elastic.multiprocessing.api: [ERROR] failed (exitcode: 1) local_rank: 0 (pid: 142176) of binary: /home/default/miniconda3/envs/aptm/bin/python3
Traceback (most recent call last):
File "/home/default/miniconda3/envs/aptm/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/default/miniconda3/envs/aptm/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launch.py", line 198, in
main()
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launch.py", line 194, in main
launch(args)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launch.py", line 179, in launch
run(args)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/run.py", line 803, in run
elastic_launch(
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 135, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 268, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
Retrieval.py FAILED
Failures:
[1]:
time      : 2024-03-25_15:15:11
host      : default-Pulse-15-B13VFK
rank      : 1 (local_rank: 1)
exitcode  : 1 (pid: 142177)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
[2]:
time      : 2024-03-25_15:15:11
host      : default-Pulse-15-B13VFK
rank      : 2 (local_rank: 2)
exitcode  : 1 (pid: 142178)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
[3]:
time      : 2024-03-25_15:15:11
host      : default-Pulse-15-B13VFK
rank      : 3 (local_rank: 3)
exitcode  : 1 (pid: 142179)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
Root Cause (first observed failure):
[0]:
time      : 2024-03-25_15:15:11
host      : default-Pulse-15-B13VFK
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 142176)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html

This issue is caused by version changes, and the following two lines of code：
import ruamel.yaml as yaml
config = yaml.load(open(args.config, 'r'), Loader=yaml.Loader)
can be replaced with:
from ruamel.yaml import YAML
yaml = YAML(typ='safe')
config = yaml.load(open(args.config, 'r'))

Hello @Shuyu-XJTU ! Thank you for your advice on changing the lines of code due to version changes.
I am still experiencing some problems similar to the previous time where the retrieval.py has failed. I suspect this is due to the torch.distributed.launch being deprecated?  But I am not entirely sure of how I will need to modify this to rectify the problem... Could you further advise me on what I should do ?
The following shows the failure received from the python script.
NNODES,  1
NPROC_PER_NODE,  4
MASTER_ADDR,  <IP_ADDRESS>
MASTER_PORT,  3000
NODE_RANK,  0
/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launch.py:183: FutureWarning: The module torch.distributed.launch is deprecated
and will be removed in future. Use torchrun.
Note that --use-env is set by default in torchrun.
If your script expects --local-rank argument to be set, please
change it to read from os.environ['LOCAL_RANK'] instead. See
https://pytorch.org/docs/stable/distributed.html#launch-utility for
further instructions
warnings.warn(
[2024-04-01 10:10:58,498] torch.distributed.run: [WARNING]
[2024-04-01 10:10:58,498] torch.distributed.run: [WARNING] *****************************************
[2024-04-01 10:10:58,498] torch.distributed.run: [WARNING] Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
[2024-04-01 10:10:58,498] torch.distributed.run: [WARNING] *****************************************
Traceback (most recent call last):
File "Retrieval.py", line 303, in
main(args, config)
File "Retrieval.py", line 36, in main
utils.init_distributed_mode(args)
File "/home/default/Desktop/eric/APTM/utils/init.py", line 264, in init_distributed_mode
torch.cuda.set_device(args.gpu)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/cuda/init.py", line 408, in set_device
torch._C._cuda_setDevice(device)
RuntimeError: CUDA error: invalid device ordinal
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
| distributed init (rank 0): env://
Traceback (most recent call last):
File "Retrieval.py", line 303, in
main(args, config)
File "Retrieval.py", line 36, in main
utils.init_distributed_mode(args)
File "/home/default/Desktop/eric/APTM/utils/init.py", line 264, in init_distributed_mode
torch.cuda.set_device(args.gpu)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/cuda/init.py", line 408, in set_device
torch._C._cuda_setDevice(device)
RuntimeError: CUDA error: invalid device ordinal
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
Traceback (most recent call last):
File "Retrieval.py", line 303, in
main(args, config)
File "Retrieval.py", line 36, in main
utils.init_distributed_mode(args)
File "/home/default/Desktop/eric/APTM/utils/init.py", line 264, in init_distributed_mode
torch.cuda.set_device(args.gpu)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/cuda/init.py", line 408, in set_device
torch._C._cuda_setDevice(device)
RuntimeError: CUDA error: invalid device ordinal
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
[2024-04-01 10:11:08,564] torch.distributed.elastic.multiprocessing.api: [WARNING] Sending process 17993 closing signal SIGTERM
[2024-04-01 10:11:08,781] torch.distributed.elastic.multiprocessing.api: [ERROR] failed (exitcode: 1) local_rank: 1 (pid: 17994) of binary: /home/default/miniconda3/envs/aptm/bin/python3
Traceback (most recent call last):
File "/home/default/miniconda3/envs/aptm/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/default/miniconda3/envs/aptm/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launch.py", line 198, in
main()
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launch.py", line 194, in main
launch(args)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launch.py", line 179, in launch
run(args)
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/run.py", line 803, in run
elastic_launch(
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 135, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/home/default/miniconda3/envs/aptm/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 268, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
Retrieval.py FAILED
Failures:
[1]:
time      : 2024-04-01_10:11:08
host      : default-Pulse-15-B13VFK
rank      : 2 (local_rank: 2)
exitcode  : 1 (pid: 17995)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
[2]:
time      : 2024-04-01_10:11:08
host      : default-Pulse-15-B13VFK
rank      : 3 (local_rank: 3)
exitcode  : 1 (pid: 17996)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
Root Cause (first observed failure):
[0]:
time      : 2024-04-01_10:11:08
host      : default-Pulse-15-B13VFK
rank      : 1 (local_rank: 1)
exitcode  : 1 (pid: 17994)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html

Sorry, maybe you can try to replace 'torch.distributed.launch' with 'torch.distributed.run'.