Gradient and loss are shown as Nan(Atari game)

Describe the bug
When I run the main.py, the grad and loss printed by the terminal are both Nan. I noticed that here seems to be a similar question, but there is no clear answer (I cannot open the Log file).
To Reproduce
I run pytest tests first and found no problems as follows:
============================= test session starts ==============================
platform linux -- Python 3.7.9, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
rootdir: /home/tq/2_code/dreamer
collected 18 items

tests/dreamer/test_main.py .                                             [  5%]
tests/dreamer/models/test_action.py ....                                 [ 27%]
tests/dreamer/models/test_agent.py ...                                   [ 44%]
tests/dreamer/models/test_dense.py ..                                    [ 55%]
tests/dreamer/models/test_distribution.py .                              [ 61%]
tests/dreamer/models/test_observation.py .....                           [ 88%]
tests/dreamer/models/test_rnns.py ..                                     [100%]

=============================== warnings summary ===============================
../../anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541
  /home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
    _np_qint8 = np.dtype([("qint8", np.int8, 1)])

../../anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542
  /home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
    _np_quint8 = np.dtype([("quint8", np.uint8, 1)])

../../anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543
  /home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
    _np_qint16 = np.dtype([("qint16", np.int16, 1)])

../../anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544
  /home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
    _np_quint16 = np.dtype([("quint16", np.uint16, 1)])

../../anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545
  /home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
    _np_qint32 = np.dtype([("qint32", np.int32, 1)])

../../anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550
  /home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
    np_resource = np.dtype([("resource", np.ubyte, 1)])

../../anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/past/builtins/misc.py:45
  /home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/past/builtins/misc.py:45: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    from imp import reload

-- Docs: https://docs.pytest.org/en/stable/warnings.html
======================== 18 passed, 7 warnings in 4.75s ========================

But when I run python3 main.py, the result is as follows:
/home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
/home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
/home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
/home/tq/anaconda3/envs/py3_torch_1/lib/python3.7/site-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  np_resource = np.dtype([("resource", np.ubyte, 1)])
run 0 already exists.
run 1 already exists.
run 2 already exists.
run 3 already exists.
Using run id = 4
2020-12-08 21:40:34.528947  | dreamer_pong_4 Runner  master CPU affinity: [0, 1, 2, 3].
2020-12-08 21:40:34.529074  | dreamer_pong_4 Runner  master Torch threads: 4.
using seed 7705
2020-12-08 21:40:36.323988  | dreamer_pong_4 Sampler decorrelating envs, max steps: 0
2020-12-08 21:40:36.324458  | dreamer_pong_4 Serial Sampler initialized.
2020-12-08 21:40:36.324551  | dreamer_pong_4 Running 5000000 iterations of minibatch RL.
2020-12-08 21:40:36.325991  | dreamer_pong_4 Optimizing over 1000 iterations.
0% [##############################] 100% | ETA: 00:00:00
Total time elapsed: 00:00:04
2020-12-08 21:40:40.829984  | dreamer_pong_4 itr #999 saving snapshot...
2020-12-08 21:40:40.852852  | dreamer_pong_4 itr #999 saved
2020-12-08 21:40:40.868678  | -----------------------------  -----------
2020-12-08 21:40:40.869799  | Diagnostics/NewCompletedTrajs     2
2020-12-08 21:40:40.869839  | Diagnostics/StepsInTrajWindow  1000
2020-12-08 21:40:40.869859  | Diagnostics/Iteration           999
2020-12-08 21:40:40.869876  | Diagnostics/CumTime (s)           4.53176
2020-12-08 21:40:40.869890  | Diagnostics/CumSteps           1000
2020-12-08 21:40:40.869904  | Diagnostics/CumCompletedTrajs     2
2020-12-08 21:40:40.869917  | Diagnostics/CumUpdates            0
2020-12-08 21:40:40.869930  | Diagnostics/StepsPerSecond      220.665
2020-12-08 21:40:40.869944  | Diagnostics/UpdatesPerSecond      0
2020-12-08 21:40:40.869957  | Diagnostics/ReplayRatio           0
2020-12-08 21:40:40.869971  | Diagnostics/CumReplayRatio        0
2020-12-08 21:40:40.869984  | Length/Average                  500
2020-12-08 21:40:40.869997  | Length/Std                        0
2020-12-08 21:40:40.870011  | Length/Median                   500
2020-12-08 21:40:40.870024  | Length/Min                      500
2020-12-08 21:40:40.870037  | Length/Max                      500
2020-12-08 21:40:40.870051  | Return/Average                   -5.5
2020-12-08 21:40:40.870064  | Return/Std                        0.5
2020-12-08 21:40:40.870077  | Return/Median                    -5.5
2020-12-08 21:40:40.870091  | Return/Min                       -6
2020-12-08 21:40:40.870104  | Return/Max                       -5
2020-12-08 21:40:40.870117  | NonzeroRewards/Average            5.5
2020-12-08 21:40:40.870130  | NonzeroRewards/Std                0.5
2020-12-08 21:40:40.870144  | NonzeroRewards/Median             5.5
2020-12-08 21:40:40.870157  | NonzeroRewards/Min                5
2020-12-08 21:40:40.870171  | NonzeroRewards/Max                6
2020-12-08 21:40:40.870184  | DiscountedReturn/Average         -0.380603
2020-12-08 21:40:40.870198  | DiscountedReturn/Std              0.163669
2020-12-08 21:40:40.870211  | DiscountedReturn/Median          -0.380603
2020-12-08 21:40:40.870225  | DiscountedReturn/Min             -0.544272
2020-12-08 21:40:40.870238  | DiscountedReturn/Max             -0.216933
2020-12-08 21:40:40.870251  | GameScore/Average                -5.5
2020-12-08 21:40:40.870272  | GameScore/Std                     0.5
2020-12-08 21:40:40.870287  | GameScore/Median                 -5.5
2020-12-08 21:40:40.870300  | GameScore/Min                    -6
2020-12-08 21:40:40.870314  | GameScore/Max                    -5
2020-12-08 21:40:40.870327  | loss/Average                    nan
2020-12-08 21:40:40.870340  | loss/Std                        nan
2020-12-08 21:40:40.870354  | loss/Median                     nan
2020-12-08 21:40:40.870367  | loss/Min                        nan
2020-12-08 21:40:40.870380  | loss/Max                        nan
2020-12-08 21:40:40.870394  | grad_norm_model/Average         nan
2020-12-08 21:40:40.870407  | grad_norm_model/Std             nan
2020-12-08 21:40:40.870421  | grad_norm_model/Median          nan
2020-12-08 21:40:40.870434  | grad_norm_model/Min             nan
2020-12-08 21:40:40.870447  | grad_norm_model/Max             nan
2020-12-08 21:40:40.870461  | grad_norm_actor/Average         nan
2020-12-08 21:40:40.870474  | grad_norm_actor/Std             nan
2020-12-08 21:40:40.870488  | grad_norm_actor/Median          nan
2020-12-08 21:40:40.870501  | grad_norm_actor/Min             nan
2020-12-08 21:40:40.870514  | grad_norm_actor/Max             nan
2020-12-08 21:40:40.870533  | grad_norm_value/Average         nan
2020-12-08 21:40:40.870548  | grad_norm_value/Std             nan
2020-12-08 21:40:40.870562  | grad_norm_value/Median          nan
2020-12-08 21:40:40.870575  | grad_norm_value/Min             nan
2020-12-08 21:40:40.870588  | grad_norm_value/Max             nan
2020-12-08 21:40:40.870601  | model_loss/Average              nan
2020-12-08 21:40:40.870615  | model_loss/Std                  nan
2020-12-08 21:40:40.870628  | model_loss/Median               nan
2020-12-08 21:40:40.870642  | model_loss/Min                  nan
2020-12-08 21:40:40.870655  | model_loss/Max                  nan
2020-12-08 21:40:40.870669  | actor_loss/Average              nan
2020-12-08 21:40:40.870682  | actor_loss/Std                  nan
2020-12-08 21:40:40.870695  | actor_loss/Median               nan
2020-12-08 21:40:40.870709  | actor_loss/Min                  nan
2020-12-08 21:40:40.870723  | actor_loss/Max                  nan
2020-12-08 21:40:40.870736  | value_loss/Average              nan
2020-12-08 21:40:40.870749  | value_loss/Std                  nan
2020-12-08 21:40:40.870763  | value_loss/Median               nan
2020-12-08 21:40:40.870776  | value_loss/Min                  nan
2020-12-08 21:40:40.870789  | value_loss/Max                  nan
2020-12-08 21:40:40.870803  | prior_entropy/Average           nan
2020-12-08 21:40:40.870816  | prior_entropy/Std               nan
2020-12-08 21:40:40.870830  | prior_entropy/Median            nan
2020-12-08 21:40:40.870843  | prior_entropy/Min               nan
2020-12-08 21:40:40.870856  | prior_entropy/Max               nan
2020-12-08 21:40:40.870869  | post_entropy/Average            nan
2020-12-08 21:40:40.870883  | post_entropy/Std                nan
2020-12-08 21:40:40.870896  | post_entropy/Median             nan
2020-12-08 21:40:40.870910  | post_entropy/Min                nan
2020-12-08 21:40:40.870923  | post_entropy/Max                nan
2020-12-08 21:40:40.870936  | divergence/Average              nan
2020-12-08 21:40:40.870950  | divergence/Std                  nan
2020-12-08 21:40:40.870963  | divergence/Median               nan
2020-12-08 21:40:40.870976  | divergence/Min                  nan
2020-12-08 21:40:40.870989  | divergence/Max                  nan
2020-12-08 21:40:40.871003  | reward_loss/Average             nan
2020-12-08 21:40:40.871016  | reward_loss/Std                 nan
2020-12-08 21:40:40.871029  | reward_loss/Median              nan
2020-12-08 21:40:40.871043  | reward_loss/Min                 nan
2020-12-08 21:40:40.871056  | reward_loss/Max                 nan
2020-12-08 21:40:40.871069  | image_loss/Average              nan
2020-12-08 21:40:40.871082  | image_loss/Std                  nan
2020-12-08 21:40:40.871096  | image_loss/Median               nan
2020-12-08 21:40:40.871109  | image_loss/Min                  nan
2020-12-08 21:40:40.871122  | image_loss/Max                  nan
2020-12-08 21:40:40.871136  | pcont_loss/Average              nan
2020-12-08 21:40:40.871149  | pcont_loss/Std                  nan
2020-12-08 21:40:40.871162  | pcont_loss/Median               nan
2020-12-08 21:40:40.871175  | pcont_loss/Min                  nan
2020-12-08 21:40:40.871189  | pcont_loss/Max                  nan
2020-12-08 21:40:40.871202  | -----------------------------  -----------
2020-12-08 21:40:40.871387  | dreamer_pong_4 itr #999 Optimizing over 1000 iterations.
0% [##############################] 100% | ETA: 00:00:00
Total time elapsed: 00:00:04
2020-12-08 21:40:45.441675  | dreamer_pong_4 itr #1999 saving snapshot...
2020-12-08 21:40:45.470369  | dreamer_pong_4 itr #1999 saved
2020-12-08 21:40:45.479243  | -----------------------------  -----------
2020-12-08 21:40:45.479561  | Diagnostics/NewCompletedTrajs     2
2020-12-08 21:40:45.479634  | Diagnostics/StepsInTrajWindow  2000
2020-12-08 21:40:45.479701  | Diagnostics/Iteration          1999
2020-12-08 21:40:45.479765  | Diagnostics/CumTime (s)           9.14452
2020-12-08 21:40:45.479829  | Diagnostics/CumSteps           2000
2020-12-08 21:40:45.479892  | Diagnostics/CumCompletedTrajs     4
2020-12-08 21:40:45.479960  | Diagnostics/CumUpdates            0
2020-12-08 21:40:45.480024  | Diagnostics/StepsPerSecond      216.79
2020-12-08 21:40:45.480087  | Diagnostics/UpdatesPerSecond      0
2020-12-08 21:40:45.480150  | Diagnostics/ReplayRatio           0
2020-12-08 21:40:45.480213  | Diagnostics/CumReplayRatio        0
2020-12-08 21:40:45.480276  | Length/Average                  500
2020-12-08 21:40:45.480339  | Length/Std                        0
2020-12-08 21:40:45.480402  | Length/Median                   500
2020-12-08 21:40:45.480465  | Length/Min                      500
2020-12-08 21:40:45.480527  | Length/Max                      500
2020-12-08 21:40:45.480590  | Return/Average                   -5.75
2020-12-08 21:40:45.480652  | Return/Std                        0.433013
2020-12-08 21:40:45.480715  | Return/Median                    -6
2020-12-08 21:40:45.480778  | Return/Min                       -6
2020-12-08 21:40:45.480841  | Return/Max                       -5
2020-12-08 21:40:45.480903  | NonzeroRewards/Average            5.75
2020-12-08 21:40:45.480966  | NonzeroRewards/Std                0.433013
2020-12-08 21:40:45.481047  | NonzeroRewards/Median             6
2020-12-08 21:40:45.481110  | NonzeroRewards/Min                5
2020-12-08 21:40:45.481172  | NonzeroRewards/Max                6
2020-12-08 21:40:45.481234  | DiscountedReturn/Average         -0.48546
2020-12-08 21:40:45.481296  | DiscountedReturn/Std              0.157067
2020-12-08 21:40:45.481358  | DiscountedReturn/Median          -0.555435
2020-12-08 21:40:45.481421  | DiscountedReturn/Min             -0.614036
2020-12-08 21:40:45.481483  | DiscountedReturn/Max             -0.216933
2020-12-08 21:40:45.481545  | GameScore/Average                -5.75
2020-12-08 21:40:45.481607  | GameScore/Std                     0.433013
2020-12-08 21:40:45.481669  | GameScore/Median                 -6
2020-12-08 21:40:45.481731  | GameScore/Min                    -6
2020-12-08 21:40:45.481793  | GameScore/Max                    -5
2020-12-08 21:40:45.481855  | loss/Average                    nan
2020-12-08 21:40:45.481986  | loss/Std                        nan
2020-12-08 21:40:45.482050  | loss/Median                     nan
2020-12-08 21:40:45.482112  | loss/Min                        nan
2020-12-08 21:40:45.482174  | loss/Max                        nan
2020-12-08 21:40:45.482236  | grad_norm_model/Average         nan
2020-12-08 21:40:45.482306  | grad_norm_model/Std             nan
2020-12-08 21:40:45.482368  | grad_norm_model/Median          nan
2020-12-08 21:40:45.482431  | grad_norm_model/Min             nan
2020-12-08 21:40:45.482493  | grad_norm_model/Max             nan
2020-12-08 21:40:45.482556  | grad_norm_actor/Average         nan
2020-12-08 21:40:45.482618  | grad_norm_actor/Std             nan
2020-12-08 21:40:45.482680  | grad_norm_actor/Median          nan
2020-12-08 21:40:45.482742  | grad_norm_actor/Min             nan
2020-12-08 21:40:45.482804  | grad_norm_actor/Max             nan
2020-12-08 21:40:45.482867  | grad_norm_value/Average         nan
2020-12-08 21:40:45.482929  | grad_norm_value/Std             nan
2020-12-08 21:40:45.482991  | grad_norm_value/Median          nan
2020-12-08 21:40:45.483054  | grad_norm_value/Min             nan
2020-12-08 21:40:45.483116  | grad_norm_value/Max             nan
2020-12-08 21:40:45.483178  | model_loss/Average              nan
2020-12-08 21:40:45.483241  | model_loss/Std                  nan
2020-12-08 21:40:45.483303  | model_loss/Median               nan
2020-12-08 21:40:45.483365  | model_loss/Min                  nan
2020-12-08 21:40:45.483427  | model_loss/Max                  nan
2020-12-08 21:40:45.483490  | actor_loss/Average              nan
2020-12-08 21:40:45.483569  | actor_loss/Std                  nan
2020-12-08 21:40:45.483633  | actor_loss/Median               nan
2020-12-08 21:40:45.483695  | actor_loss/Min                  nan
2020-12-08 21:40:45.483758  | actor_loss/Max                  nan
2020-12-08 21:40:45.483821  | value_loss/Average              nan
2020-12-08 21:40:45.483887  | value_loss/Std                  nan
2020-12-08 21:40:45.484033  | value_loss/Median               nan
2020-12-08 21:40:45.484099  | value_loss/Min                  nan
2020-12-08 21:40:45.484162  | value_loss/Max                  nan
2020-12-08 21:40:45.484225  | prior_entropy/Average           nan
2020-12-08 21:40:45.484288  | prior_entropy/Std               nan
2020-12-08 21:40:45.484351  | prior_entropy/Median            nan
2020-12-08 21:40:45.484487  | prior_entropy/Min               nan
2020-12-08 21:40:45.484551  | prior_entropy/Max               nan
2020-12-08 21:40:45.484614  | post_entropy/Average            nan
2020-12-08 21:40:45.484677  | post_entropy/Std                nan
2020-12-08 21:40:45.484740  | post_entropy/Median             nan
2020-12-08 21:40:45.484803  | post_entropy/Min                nan
2020-12-08 21:40:45.484865  | post_entropy/Max                nan
2020-12-08 21:40:45.484928  | divergence/Average              nan
2020-12-08 21:40:45.484991  | divergence/Std                  nan
2020-12-08 21:40:45.485053  | divergence/Median               nan
2020-12-08 21:40:45.485116  | divergence/Min                  nan
2020-12-08 21:40:45.485179  | divergence/Max                  nan
2020-12-08 21:40:45.485242  | reward_loss/Average             nan
2020-12-08 21:40:45.485305  | reward_loss/Std                 nan
2020-12-08 21:40:45.485368  | reward_loss/Median              nan
2020-12-08 21:40:45.485431  | reward_loss/Min                 nan
2020-12-08 21:40:45.485494  | reward_loss/Max                 nan
2020-12-08 21:40:45.485556  | image_loss/Average              nan
2020-12-08 21:40:45.485619  | image_loss/Std                  nan
2020-12-08 21:40:45.485682  | image_loss/Median               nan
2020-12-08 21:40:45.485745  | image_loss/Min                  nan
2020-12-08 21:40:45.485808  | image_loss/Max                  nan
2020-12-08 21:40:45.485871  | pcont_loss/Average              nan
2020-12-08 21:40:45.485934  | pcont_loss/Std                  nan
2020-12-08 21:40:45.486012  | pcont_loss/Median               nan
2020-12-08 21:40:45.486084  | pcont_loss/Min                  nan
2020-12-08 21:40:45.486147  | pcont_loss/Max                  nan
2020-12-08 21:40:45.486210  | -----------------------------  -----------
2020-12-08 21:40:45.486394  | dreamer_pong_4 itr #1999 Optimizing over 1000 iterations.
0% [##############################] 100% | ETA: 00:00:00
Total time elapsed: 00:00:04
2020-12-08 21:40:49.996258  | dreamer_pong_4 itr #2999 saving snapshot...
2020-12-08 21:40:50.101570  | dreamer_pong_4 itr #2999 saved
2020-12-08 21:40:50.112942  | -----------------------------  -----------
2020-12-08 21:40:50.113748  | Diagnostics/NewCompletedTrajs     2
2020-12-08 21:40:50.114253  | Diagnostics/StepsInTrajWindow  3000
2020-12-08 21:40:50.114965  | Diagnostics/Iteration          2999
2020-12-08 21:40:50.115052  | Diagnostics/CumTime (s)          13.7764
2020-12-08 21:40:50.115133  | Diagnostics/CumSteps           3000
2020-12-08 21:40:50.115199  | Diagnostics/CumCompletedTrajs     6
2020-12-08 21:40:50.115263  | Diagnostics/CumUpdates            0
2020-12-08 21:40:50.115327  | Diagnostics/StepsPerSecond      215.894
2020-12-08 21:40:50.115391  | Diagnostics/UpdatesPerSecond      0
2020-12-08 21:40:50.115504  | Diagnostics/ReplayRatio           0
2020-12-08 21:40:50.115569  | Diagnostics/CumReplayRatio        0
2020-12-08 21:40:50.115633  | Length/Average                  500
2020-12-08 21:40:50.115696  | Length/Std                        0
2020-12-08 21:40:50.115760  | Length/Median                   500
2020-12-08 21:40:50.115822  | Length/Min                      500
2020-12-08 21:40:50.115886  | Length/Max                      500
2020-12-08 21:40:50.116015  | Return/Average                   -5.33333
2020-12-08 21:40:50.116079  | Return/Std                        1.10554
2020-12-08 21:40:50.116142  | Return/Median                    -6
2020-12-08 21:40:50.116205  | Return/Min                       -6
2020-12-08 21:40:50.116268  | Return/Max                       -3
2020-12-08 21:40:50.116330  | NonzeroRewards/Average            5.33333
2020-12-08 21:40:50.116393  | NonzeroRewards/Std                1.10554
2020-12-08 21:40:50.116462  | NonzeroRewards/Median             6
2020-12-08 21:40:50.116526  | NonzeroRewards/Min                3
2020-12-08 21:40:50.116590  | NonzeroRewards/Max                6
2020-12-08 21:40:50.118740  | DiscountedReturn/Average         -0.481913
2020-12-08 21:40:50.119389  | DiscountedReturn/Std              0.155374
2020-12-08 21:40:50.119484  | DiscountedReturn/Median          -0.555435
2020-12-08 21:40:50.119553  | DiscountedReturn/Min             -0.626503
2020-12-08 21:40:50.119618  | DiscountedReturn/Max             -0.216933
2020-12-08 21:40:50.119681  | GameScore/Average                -5.33333
2020-12-08 21:40:50.119744  | GameScore/Std                     1.10554
2020-12-08 21:40:50.119808  | GameScore/Median                 -6
2020-12-08 21:40:50.119871  | GameScore/Min                    -6
2020-12-08 21:40:50.119935  | GameScore/Max                    -3
2020-12-08 21:40:50.120008  | loss/Average                    nan
2020-12-08 21:40:50.120074  | loss/Std                        nan
2020-12-08 21:40:50.120137  | loss/Median                     nan
2020-12-08 21:40:50.120201  | loss/Min                        nan
2020-12-08 21:40:50.120264  | loss/Max                        nan
2020-12-08 21:40:50.120327  | grad_norm_model/Average         nan
2020-12-08 21:40:50.120390  | grad_norm_model/Std             nan
2020-12-08 21:40:50.120453  | grad_norm_model/Median          nan
2020-12-08 21:40:50.120516  | grad_norm_model/Min             nan
2020-12-08 21:40:50.120579  | grad_norm_model/Max             nan
2020-12-08 21:40:50.120643  | grad_norm_actor/Average         nan
2020-12-08 21:40:50.120706  | grad_norm_actor/Std             nan
2020-12-08 21:40:50.120769  | grad_norm_actor/Median          nan
2020-12-08 21:40:50.120832  | grad_norm_actor/Min             nan
2020-12-08 21:40:50.120962  | grad_norm_actor/Max             nan
2020-12-08 21:40:50.121026  | grad_norm_value/Average         nan
2020-12-08 21:40:50.121089  | grad_norm_value/Std             nan
2020-12-08 21:40:50.121152  | grad_norm_value/Median          nan
2020-12-08 21:40:50.121215  | grad_norm_value/Min             nan
2020-12-08 21:40:50.121278  | grad_norm_value/Max             nan
2020-12-08 21:40:50.121341  | model_loss/Average              nan
2020-12-08 21:40:50.121405  | model_loss/Std                  nan
2020-12-08 21:40:50.121469  | model_loss/Median               nan
2020-12-08 21:40:50.121532  | model_loss/Min                  nan
2020-12-08 21:40:50.121595  | model_loss/Max                  nan
2020-12-08 21:40:50.121659  | actor_loss/Average              nan
2020-12-08 21:40:50.121721  | actor_loss/Std                  nan
2020-12-08 21:40:50.121785  | actor_loss/Median               nan
2020-12-08 21:40:50.121847  | actor_loss/Min                  nan
2020-12-08 21:40:50.121910  | actor_loss/Max                  nan
2020-12-08 21:40:50.121973  | value_loss/Average              nan
2020-12-08 21:40:50.122036  | value_loss/Std                  nan
2020-12-08 21:40:50.122099  | value_loss/Median               nan
2020-12-08 21:40:50.122162  | value_loss/Min                  nan
2020-12-08 21:40:50.122225  | value_loss/Max                  nan
2020-12-08 21:40:50.122295  | prior_entropy/Average           nan
2020-12-08 21:40:50.122359  | prior_entropy/Std               nan
2020-12-08 21:40:50.122422  | prior_entropy/Median            nan
2020-12-08 21:40:50.122495  | prior_entropy/Min               nan
2020-12-08 21:40:50.122559  | prior_entropy/Max               nan
2020-12-08 21:40:50.122621  | post_entropy/Average            nan
2020-12-08 21:40:50.122684  | post_entropy/Std                nan
2020-12-08 21:40:50.122747  | post_entropy/Median             nan
2020-12-08 21:40:50.122810  | post_entropy/Min                nan
2020-12-08 21:40:50.125242  | post_entropy/Max                nan
2020-12-08 21:40:50.125794  | divergence/Average              nan
2020-12-08 21:40:50.126293  | divergence/Std                  nan
2020-12-08 21:40:50.126885  | divergence/Median               nan
2020-12-08 21:40:50.129519  | divergence/Min                  nan
2020-12-08 21:40:50.129971  | divergence/Max                  nan
2020-12-08 21:40:50.131475  | reward_loss/Average             nan
2020-12-08 21:40:50.132900  | reward_loss/Std                 nan
2020-12-08 21:40:50.133001  | reward_loss/Median              nan
2020-12-08 21:40:50.133803  | reward_loss/Min                 nan
2020-12-08 21:40:50.134231  | reward_loss/Max                 nan
2020-12-08 21:40:50.134686  | image_loss/Average              nan
2020-12-08 21:40:50.135153  | image_loss/Std                  nan
2020-12-08 21:40:50.136847  | image_loss/Median               nan
2020-12-08 21:40:50.136925  | image_loss/Min                  nan
2020-12-08 21:40:50.136992  | image_loss/Max                  nan
2020-12-08 21:40:50.137056  | pcont_loss/Average              nan
2020-12-08 21:40:50.137120  | pcont_loss/Std                  nan
2020-12-08 21:40:50.137183  | pcont_loss/Median               nan
2020-12-08 21:40:50.137247  | pcont_loss/Min                  nan
2020-12-08 21:40:50.137310  | pcont_loss/Max                  nan
2020-12-08 21:40:50.137373  | -----------------------------  -----------
2020-12-08 21:40:50.137565  | dreamer_pong_4 itr #2999 Optimizing over 1000 iterations.

Is this result normal?
Expected behavior
Hope you can explain this.
Desktop:

OS: Ubuntu 16.04
Version Torch 1.2.0

Hi this is normal. It will be nan for the first 5000 steps because it is only sampling. If you continue to let it run, it will start training and show you results.

Seeing that the tests work, I assume that this will work if you try my comment above. I'll close this issue now, but if you run into any other problems, feel free to raise another issue or message on slack!


vulkan devices are not available(7900xtx)

only run with cpu,with the latest gpu driver

I'm presuming you've tried the drop down list.
Not sure what to add other than its working for me - I've Windows 11, latest AMD adrenaline drivers for the 7900xtx and running shark_sd_20230410_670.exe

🤔that is wired

did you use the drop down to select the model and the correct device?

did you use the drop down to select the model and the correct device?

i only can choose the CPU divide, the dashboard didn't give the 7900xtx vulkan choice

are you building your own or using the release? CLI? download latest release and try again...

still not working:( i've tried the latest release and use the --clear_all command

Can you please check the version of AMD Adrenaline driver? Is it 23.5.x ? Also what is the output of vulkaninfo ?


NTRs: (positive/negative) regulation of "(tubulin) deacetylase activity"

Experiments shown in PMID:19457097 demonstrate that tau increases tubulin acetylation.
Figure 5 on its own shows that tau inhibits the deacetylase activity of HDAC6, providing evidence for the following new GO term:
"negative regulation of 'GO:0019213 deacetylase activity'"
Figures 2-4 ("GO:1904428 negative regulation of tubulin deacetylation") and Figure 5 (NTR: "negative regulation of 'GO:0019213 deacetylase activity'"), collectively provide evidence for the following new term:
"negative regulation of 'GO:0042903 tubulin deacetylase activity'"
New terms:
GO:0019213 deacetylase activity

New1: regulation of 'GO:0019213 deacetylase activity'
New2: negative regulation of 'GO:0019213 deacetylase activity'
New3: positive regulation of 'GO:0019213 deacetylase activity'
GO:0042903 tubulin deacetylase activity

New4: regulation of 'GO:0042903 tubulin deacetylase activity'
New5: negative regulation of 'GO:0042903 tubulin deacetylase activity'
New6: positive regulation of 'GO:0042903 tubulin deacetylase activity'

Definitions: Any process that modulates/stops or reduces/activates or increases the rate of (tubulin) deacetylase activity.
Refs: PMID:19457097, GOC:aruk, GOC:bc
cc:
@RLovering
@paolaroncaglia

[ ] add New1: regulation of 'GO:0019213 deacetylase activity'

[ ] add New2: negative regulation of 'GO:0019213 deacetylase activity'

[ ] add relation - make GO:0090045 'positive regulation of deacetylase activity' a child term of New1: regulation of 'GO:0019213 deacetylase activity'

[ ]  add the '(positive/negative) regulation of tubulin deacetylase activity' terms, as discussed and agreed during today's Ontology Developers' Call.


Error after request callback

HI,
I've an error about step of login Callback :
ContextErrorException in OpauthExtension.php line 50:
Notice: Undefined index: opauth

in OpauthExtension.php line 50
at ErrorHandler->handleError('8', 'Undefined index: opauth', '/home/ubuntu/workspace/vendor/icehero/silex-opauth/src/SilexOpauth/OpauthExtension.php', '50', array('Opauth' => object(Opauth))) in OpauthExtension.php line 50
at OpauthExtension->loginCallback() in OpauthExtension.php line 33
at OpauthExtension->SilexOpauth{closure}()
at call_user_func_array(object(Closure), array()) in HttpKernel.php line 145
at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 66
at HttpKernel->handle(object(Request), '1', true) in Application.php line 543
at Application->handle(object(Request)) in Application.php line 520
at Application->run() in index_dev.php line 22

missing something ?

Line 50 of OpauthExtension, I not receive 'code' in POST but in GET

Could you paste part of you configuration that's relevant?

Yes, I have add for config :
// Configure opauth
$app['opauth'] = array(
  'login' => '/auth/login', // Generates a path /auth/login/{strategy}
  'callback' => '/auth/callback',
  'config' => array(
    'security_salt' => 'd41d8cd98f00b204e9800998ecf8427e',
    'Strategy' => array(
        'GitHub' => array(
           'app_id' => '718b6dd54c8d1d3ad',
           'app_secret' => '27884021f5257c13373e14301c54c8ed'
         ),
    )
  )
);

// Enable extension
$app->register(new OpauthExtension($app));

// Listen for events
$app->on(OpauthExtension::EVENT_ERROR, function($e) {
    $this->log->error('Auth error: ' . $e['message'], ['response' => $e->getSubject()]);
    $e->setArgument('result', $this->redirect('/'));
});

$app->on(OpauthExtension::EVENT_SUCCESS, function($e) {
    $response = $e->getSubject();

    /*
       find/create a user, oauth response is in $response and it's already validated!
       store the user in the session
    */

    $e->setArgument('result', $this->redirect('/'));
});

From my template :
<a href="https://github.com/login/oauth/authorize?client_id=718b6dd54c8d1d3ad&redirect_uri=xxx&scope=user:email&state=" class="service github" target="_top">

First of all, please reset your GitHub application's client_id & client_secret as soon as possible. You posted sensitive data here.
As documented here https://github.com/opauth/github, you need to change app_id and app_secret into client_id & client_secret. Scope needs to be added after that.
Your login URL is /auth/login/github (the one that you need to click in the frontend) and the callback URL (that needs to be configured in the GitHub Dashboard) is /auth/login/github/oauth2callback or leave empty.
I've tested this last night and it seem to work

Don't worry, it's a wrong data.
I've changed config and I supposed that /auth/login/ is changed by/auth/login/{strategy}
$app['opauth'] = array(
  'login' => '/auth/login/',
  'callback' => '/auth/login/{strategy}/oauth2callback',

It's ok but I'm redirected to /auth/login/github/oauth2callback?code=xxx but this page is not found. Your project don't support this url for Providing a callback
What is missing?

Keep those two keys login & callback as in the first example. Set the App's callback from the GitHub dashboard to empty and see what happens.

Github said Url can't be blank and Callback Url can't be blank, when I add Homepage URL from dashboard of github only, github add the same url of Homepage URL to Authorization callback URL.
I've tested and not work with that.

Just leave the callback url the same as the domain.
I've tested on http://localhost:8000 with the example script from the example folder with only 3 lines changed. https://github.com/icehero/silex-opauth/blob/master/example/example.php#L18-L20
        'GitHub' => array( // Is available at /auth/login/github
           'client_id' => 'YOUR_CLIENT_ID',
           'client_secret' => 'YOU_CLIENT_SECRET'

And in the GitHub Application dashboard under Homepage URL and Authorization callback URL I have both to http://locahost:8000. This should work.
Also make sure you installed https://github.com/opauth/github

Just leave the callback url the same as the domain.
I've tested on http://localhost:8000 with the example script from the example folder with only 3 lines changed. https://github.com/icehero/silex-opauth/blob/master/example/example.php#L18-L20
        'GitHub' => array( // Is available at /auth/login/github
           'client_id' => 'YOUR_CLIENT_ID',
           'client_secret' => 'YOU_CLIENT_SECRET'

And in the GitHub Application dashboard under Homepage URL and Authorization callback URL I have both to http://locahost:8000. This should work.
Also make sure you installed https://github.com/opauth/github

Sorry, It don't work
My composer is ok :
"icehero/silex-opauth":"dev-master",
"opauth/github": "*"

If I use /auth/login/github for authentication from github It don't work because the url /auth/login/github not exist
If I use https://github.com/login/oauth/authorize?client_id=xxx&redirect_uri=xxx&scope=user:email&state= for authentication from github It don't work because I am redirected to /?code=xxx

What do you use like url to login in front ?

I login with /auth/login/github and that url should exist. You shouldn't hit the URL that you have pasted under 2 directly. Just paste http://yourlocalapp:port/auth/login/github and if your config is ok you should be redirected to GitHub.
I know this might be getting annoying, but start in another folder and try to reproduce the steps in my last comment. I'm doing my best here to help you.
I've run the script with php -S localhost:8000 example/example.php.

I've :
$app['opauth'] = array(
  'login' => '/auth/login/',
  'callback' => '/auth/login/{strategy}/oauth2callback',

What is your config opauth login and callback in silex?

Keep callback as /auth/callback there. I said only 3 lines need to be edited.

Ok url /auth/login/github exist now and work.
After login /auth/login/github, I'm redirected to :
/?error=redirect_uri_mismatch&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.&error_uri=https%3A%2F%2Fdeveloper.github.com%2Fv3%2Foauth%2F%23redirect-uri-mismatch

Ok, that's great! Next you have to edit Application's config from the Dashboard. Focus on this part.
You either have the Authorization callback URL to http://localhost:8000 or http://localhost:8000/auth/login/github/oauth2callback. They both worked when I tested.
I'm not really sure, but you can try changing the Homepage URL to you development URL if the above doesn't work.

My url callback https://xxx.io/auth/login/github/oauth2callback work because when I go to https://xxx.io/auth/login/github/oauth2callback I'm redirected to https://xxx.io/auth/callback
Now, when I add in Callback url from dashboard https://xxx.io/auth/login/github/oauth2callback, I'm redirected to https://xxx.io/auth/callback with an error receive in the listen event $app->on(OpauthExtension::EVENT_ERROR...:
Error :
array(2) {
  ["error"]=>
  array(3) {
    ["code"]=>
    string(20) "oauth2callback_error"
    ["raw"]=>
    array(3) {
      ["error"]=>
      string(21) "redirect_uri_mismatch"
      ["error_description"]=>
      string(77) "The redirect_uri MUST match the registered callback URL for this application."
      ["error_uri"]=>
      string(60) "https://developer.github.com/v3/oauth/#redirect-uri-mismatch"
    }
    ["provider"]=>
    string(6) "GitHub"
  }
  ["timestamp"]=>
  string(25) "2015-02-10T13:56:38+00:00"
}

Any news on this?

I'm sorry, it not work. I will use an other oauth for silex.
Thank you very much for your help and your patient :) :+1:

If you found a better and simpler solution, please say. Someone could stumble upon this issue and it could help him in the future.


fix usedxauth add rest call

Ok, I'm going to take a step back. I think I like the force get post etc.  I need some time to test what you have (and that I've already merged) before I screw that up.


ArduCAM Mini 2 MP Not sending photo

Hi, I'm working on a project where I need to take some photos, Im using ArduCAM mini 2 mp and I'm following this tutorial: https://www.youtube.com/watch?v=hybQpjwJ4aA the issue is that when I use the app and click on capture I dont recieve the photo. The monitor says " ArduCAM Start! END",  " SPI interface OK. END" and " OV2640 detected. END", when I click it says " CAM start single shoot. END" but doesnt send the picture. I see the arduino and the TX light neither blink (I supose it has to). Please help, I'm working on my degree's project.

@angeac
Don't worry and I will try my best to help you.
Please attach me your hardware setup and I will help you check it in detail

Using Arduino Uno adn ArduCAM-Mini-2MP, all the 8 pins are conected correctly.
This is what im geting. Im using the example named "ArduCAM_Mini_2MP_OV2640_functions"

Code.txt

// ArduCAM Mini demo (C)2017 Lee
// Web: http://www.ArduCAM.com
// This program is a demo of how to use most of the functions
// of the library with ArduCAM Mini camera, and can run on any Arduino platform.
// This demo was made for ArduCAM_Mini_5MP_Plus.
// It needs to be used in combination with PC software.
// It can test OV2640 functions
// This program requires the ArduCAM V4.0.0 (or later) library and ArduCAM_Mini_5MP_Plus
// and use Arduino IDE 1.6.8 compiler or above
#include <Wire.h>
#include <ArduCAM.h>
#include <SPI.h>
#include "memorysaver.h"
//This demo can only work on OV2640_MINI_2MP platform.
#if !(defined OV2640_MINI_2MP)
#error Please select the hardware platform and camera module in the ../libraries/ArduCAM/memorysaver.h file
#endif
#define BMPIMAGEOFFSET 66
const char bmp_header[BMPIMAGEOFFSET] PROGMEM =
{
0x42, 0x4D, 0x36, 0x58, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x28, 0x00,
0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x03, 0x00,
0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0xC4, 0x0E, 0x00, 0x00, 0xC4, 0x0E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x1F, 0x00,
0x00, 0x00
};
// set pin 7 as the slave select for the digital pot:
const int CS = 7;
bool is_header = false;
int mode = 0;
uint8_t start_capture = 0;
#if defined (OV2640_MINI_2MP)
ArduCAM myCAM( OV2640, CS );
#else
ArduCAM myCAM( OV5642, CS );
#endif
uint8_t read_fifo_burst(ArduCAM myCAM);
void setup() {
// put your setup code here, to run once:
uint8_t vid, pid;
uint8_t temp;
#if defined(SAM3X8E)
Wire1.begin();
Serial.begin(115200);
#else
Wire.begin();
Serial.begin(921600);
#endif
Serial.println(F("ACK CMD ArduCAM Start! END"));
// set the CS as an output:
pinMode(CS, OUTPUT);
digitalWrite(CS, HIGH);
// initialize SPI:
SPI.begin();
//Reset the CPLD
myCAM.write_reg(0x07, 0x80);
delay(100);
myCAM.write_reg(0x07, 0x00);
delay(100);
while(1){
//Check if the ArduCAM SPI bus is OK
myCAM.write_reg(ARDUCHIP_TEST1, 0x55);
temp = myCAM.read_reg(ARDUCHIP_TEST1);
if (temp != 0x55){
Serial.println(F("ACK CMD SPI interface Error! END"));
delay(1000);continue;
}else{
Serial.println(F("ACK CMD SPI interface OK. END"));break;
}
}
#if defined (OV2640_MINI_2MP)
while(1){
//Check if the camera module type is OV2640
myCAM.wrSensorReg8_8(0xff, 0x01);
myCAM.rdSensorReg8_8(OV2640_CHIPID_HIGH, &vid);
myCAM.rdSensorReg8_8(OV2640_CHIPID_LOW, &pid);
if ((vid != 0x26 ) && (( pid != 0x41 ) || ( pid != 0x42 ))){
Serial.println(F("ACK CMD Can't find OV2640 module! END"));
delay(1000);continue;
}
else{
Serial.println(F("ACK CMD OV2640 detected. END"));break;
}
}
#else
while(1){
//Check if the camera module type is OV5642
myCAM.wrSensorReg16_8(0xff, 0x01);
myCAM.rdSensorReg16_8(OV5642_CHIPID_HIGH, &vid);
myCAM.rdSensorReg16_8(OV5642_CHIPID_LOW, &pid);
if((vid != 0x56) || (pid != 0x42)){
Serial.println(F("ACK CMD Can't find OV5642 module! END"));
delay(1000);continue;
}
else{
Serial.println(F("ACK CMD OV5642 detected. END"));break;
}
}
#endif
//Change to JPEG capture mode and initialize the OV5642 module
myCAM.set_format(JPEG);
myCAM.InitCAM();
#if defined (OV2640_MINI_2MP)
myCAM.OV2640_set_JPEG_size(OV2640_320x240);
#else
myCAM.write_reg(ARDUCHIP_TIM, VSYNC_LEVEL_MASK);   //VSYNC is active HIGH
myCAM.OV5642_set_JPEG_size(OV5642_320x240);
#endif
delay(1000);
myCAM.clear_fifo_flag();
#if !(defined (OV2640_MINI_2MP))
myCAM.write_reg(ARDUCHIP_FRAMES,0x00);
#endif
}
void loop() {
.
.
.

@UCTRONICS

@angeac
The hardware connection is right.
Please try this demo https://github.com/ArduCAM/Arduino/blob/master/ArduCAM/examples/mini/ArduCAM_Mini_Video_Streaming/ArduCAM_Mini_Video_Streaming.ino

Hello, I'm also encountering the same issue with the Mini_5MP_Plus model and an Arduino Uno. I have plugged all cables accordingly and tried all the different examples for that specific model with both versions of the host app (v1 and v2).
If I try the examples without the host (so with the Arduino Serial util), each command is always acknowledged the same, followed by broken symbols (see screenshot attached).

Is there anything I can do to solve that issue @UCTRONICS?
Did you managed to make it work since your last comment @angeac?
By the way, I first tried to work with an Arduino Mega board (Elegoo 2560 R3) but received an SPI error at setup time.

@Bokoblin
Yes, because the code print the image data with char type. You can open the code and change the Serial.write to Serial.println(), Then you can print it with special type such as hex or DEC.

@Bokoblin
Yes, because the code print the image data with char type. You can open the code and change the Serial.write to Serial.println(), Then you can print it with special type such as hex or DEC.

Okay, thanks, I'll try that for the serial output part.
However, it won't solve the two aforementioned issues (serial input and no picture in host app)

@UCTRONICS
I just tried and your solution indeed removes the weird characters and shows scarcely only some groups of A and F hexa chars.
Concerning speaking with the camera, I don't know how your sample is supposed to do it properly.
It has a switch case on some hexa values but when I enter the target value in the serial console, it never reaches the target block in the switch case.
For example, typing 0x40 doesn't let me enter the case block with the line Serial.println(F("ACK CMD Set to Auto END"));, instead I obtain:
ACK CMD CAM start single shoot. END
ACK CMD CAM start single shoot. END
ACK CMD CAM Capture Done. END

@Bokoblin
Let's move on the first question. Do you want to use our Host V2 to preview image and save image to local disk?
If so, you don't need to change anything and just use the videostreaming demo we provide. Just
open the Host V2 and choose the right baud rate and click the open and capture to get one frame image.
You don't need to open the serial monitor, due to the image data will be send to the host V2 with char type. So  if you open the serial monitor, you will just see the broken symbols, which in fact is the image data.

@UCTRONICS Yeah, I understand that: without touching any of the code and by selecting the proper port and baud value, I see no preview image in the host app, but its log says otherwise ("ArduCam Single, cam start single shoot", exactly like OP October 3rd image)

@Bokoblin
Your project sounds great. Don't worry and I will help you solve your problems.
It seems the Host V2 does not receive the data from the sensor. Please ensure
The port is not occupied by another application.  If the port is occupied by another application,
It will not work normally.
Our Host V2 support save image and preview image.  Which demo are you using? I will help you test it.

@UCTRONICS I don't have a direct access to my computer right now, I'll double check the port occupancy, but through previous tests I could see that if it was occupied (by the serial console for example), the host app would not succeed the "open" operation.
I have tried both : ArduCAM_Mini_2MP_Plus_functions
and ArduCAM_Mini_2MP_Plus_VideoStreaming
demos

@UCTRONICS I have retried. Port does not seem occupied by any other program.
I get the following image on host app by clicking on open then capture.
Weirdly this time there is no printing concerning SPI interface and camera model.
BTW, the serial console was not opened at any moment.

I also send you a screenshot of COM ports from device manager with the used port (com4) advanced settings (they are in French but if you open the same way the settings on your PC, the settings will correspond).
I see there that the baud rate is set to 9600, but as long as it is correct in the arduino file I'm not sure, that causes any issue. Available rates in device manager, go up to 128000 there anyway, so it can't be changed to match arduino file values I imagine.

@Bokoblin
Hello,
Have you tested the camera on official Arduino UNO board?
If your board does not support 921600 baud rate, you can try change the baud rate to 115200 in the code and try again.
I advise you test the camera on official UNO platform firstly to ensure the hardware is normal.

@UCTRONICS On the official Arduino Uno, 921600 indeed worked. So that was the unofficial board not supporting this baud rate indeed. Thanks.
Now, concerning the example code, I don't understand how the file "ArduCAM_Mini_2MP_Plus_functions" should work. Precisely how to select the choices in the switch statement. When using the arduino serial console, like I said before, whatever the input I enter in the console, the result is always the same :
ACK CMD CAM start single shoot. END
ACK CMD CAM Capture Done. END

@Bokoblin
In fact, this demo will receive different commands to run different functions.
You can get the command from the below code
f (Serial.available())
{
temp = Serial.read();
switch (temp)
{
case 0:
myCAM.OV2640_set_JPEG_size(OV2640_160x120);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_160x120 END"));
temp = 0xff;
break;
case 1:
myCAM.OV2640_set_JPEG_size(OV2640_176x144);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_176x144 END"));
temp = 0xff;
break;
case 2:
myCAM.OV2640_set_JPEG_size(OV2640_320x240);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_320x240 END"));
temp = 0xff;
break;
case 3:
myCAM.OV2640_set_JPEG_size(OV2640_352x288);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_352x288 END"));
temp = 0xff;
break;
case 4:
myCAM.OV2640_set_JPEG_size(OV2640_640x480);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_640x480 END"));
temp = 0xff;
break;
case 5:
myCAM.OV2640_set_JPEG_size(OV2640_800x600);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_800x600 END"));
temp = 0xff;
break;
case 6:
myCAM.OV2640_set_JPEG_size(OV2640_1024x768);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_1024x768 END"));
temp = 0xff;
break;
case 7:
myCAM.OV2640_set_JPEG_size(OV2640_1280x1024);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_1280x1024 END"));
temp = 0xff;
break;
case 8:
myCAM.OV2640_set_JPEG_size(OV2640_1600x1200);delay(1000);
Serial.println(F("ACK CMD switch to OV2640_1600x1200 END"));
temp = 0xff;
break;
case 0x10:
mode = 1;
temp = 0xff;
start_capture = 1;
Serial.println(F("ACK CMD CAM start single shoot. END"));
break;
case 0x11:
temp = 0xff;
myCAM.set_format(JPEG);
myCAM.InitCAM();
#if !(defined (OV2640_MINI_2MP_PLUS))
myCAM.set_bit(ARDUCHIP_TIM, VSYNC_LEVEL_MASK);
#endif
break;
case 0x20:
mode = 2;
temp = 0xff;
start_capture = 2;
Serial.println(F("ACK CMD CAM start video streaming. END"));
break;
case 0x30:
mode = 3;
temp = 0xff;
start_capture = 3;
Serial.println(F("ACK CMD CAM start single shoot. END"));
break;
case 0x31:
temp = 0xff;
myCAM.set_format(BMP);
myCAM.InitCAM();
#if !(defined (OV2640_MINI_2MP_PLUS))
myCAM.clear_bit(ARDUCHIP_TIM, VSYNC_LEVEL_MASK);
#endif
myCAM.wrSensorReg16_8(0x3818, 0x81);
myCAM.wrSensorReg16_8(0x3621, 0xA7);
break;
case 0x40:
myCAM.OV2640_set_Light_Mode(Auto);temp = 0xff;
Serial.println(F("ACK CMD Set to Auto END"));break;
case 0x41:
myCAM.OV2640_set_Light_Mode(Sunny);temp = 0xff;
Serial.println(F("ACK CMD Set to Sunny END"));break;
case 0x42:
myCAM.OV2640_set_Light_Mode(Cloudy);temp = 0xff;
Serial.println(F("ACK CMD Set to Cloudy END"));break;
case 0x43:
myCAM.OV2640_set_Light_Mode(Office);temp = 0xff;
Serial.println(F("ACK CMD Set to Office END"));break;
case 0x44:
myCAM.OV2640_set_Light_Mode(Home);   temp = 0xff;
Serial.println(F("ACK CMD Set to Home END"));break;
case 0x50:
myCAM.OV2640_set_Color_Saturation(Saturation2); temp = 0xff;
Serial.println(F("ACK CMD Set to Saturation+2 END"));break;
case 0x51:
myCAM.OV2640_set_Color_Saturation(Saturation1); temp = 0xff;
Serial.println(F("ACK CMD Set to Saturation+1 END"));break;
case 0x52:
myCAM.OV2640_set_Color_Saturation(Saturation0); temp = 0xff;
Serial.println(F("ACK CMD Set to Saturation+0 END"));break;
case 0x53:
myCAM. OV2640_set_Color_Saturation(Saturation_1); temp = 0xff;
Serial.println(F("ACK CMD Set to Saturation-1 END"));break;
case 0x54:
myCAM.OV2640_set_Color_Saturation(Saturation_2); temp = 0xff;
Serial.println(F("ACK CMD Set to Saturation-2 END"));break;
case 0x60:
myCAM.OV2640_set_Brightness(Brightness2); temp = 0xff;
Serial.println(F("ACK CMD Set to Brightness+2 END"));break;
case 0x61:
myCAM.OV2640_set_Brightness(Brightness1); temp = 0xff;
Serial.println(F("ACK CMD Set to Brightness+1 END"));break;
case 0x62:
myCAM.OV2640_set_Brightness(Brightness0); temp = 0xff;
Serial.println(F("ACK CMD Set to Brightness+0 END"));break;
case 0x63:
myCAM. OV2640_set_Brightness(Brightness_1); temp = 0xff;
Serial.println(F("ACK CMD Set to Brightness-1 END"));break;
case 0x64:
myCAM.OV2640_set_Brightness(Brightness_2); temp = 0xff;
Serial.println(F("ACK CMD Set to Brightness-2 END"));break;
case 0x70:
myCAM.OV2640_set_Contrast(Contrast2);temp = 0xff;
Serial.println(F("ACK CMD Set to Contrast+2 END"));break;
case 0x71:
myCAM.OV2640_set_Contrast(Contrast1);temp = 0xff;
Serial.println(F("ACK CMD Set to Contrast+1 END"));break;
case 0x72:
myCAM.OV2640_set_Contrast(Contrast0);temp = 0xff;
Serial.println(F("ACK CMD Set to Contrast+0 END"));break;
case 0x73:
myCAM.OV2640_set_Contrast(Contrast_1);temp = 0xff;
Serial.println(F("ACK CMD Set to Contrast-1 END"));break;
case 0x74:
myCAM.OV2640_set_Contrast(Contrast_2);temp = 0xff;
Serial.println(F("ACK CMD Set to Contrast-2 END"));break;
case 0x80:
myCAM.OV2640_set_Special_effects(Antique);temp = 0xff;
Serial.println(F("ACK CMD Set to Antique END"));break;
case 0x81:
myCAM.OV2640_set_Special_effects(Bluish);temp = 0xff;
Serial.println(F("ACK CMD Set to Bluish END"));break;
case 0x82:
myCAM.OV2640_set_Special_effects(Greenish);temp = 0xff;
Serial.println(F("ACK CMD Set to Greenish END"));break;
case 0x83:
myCAM.OV2640_set_Special_effects(Reddish);temp = 0xff;
Serial.println(F("ACK CMD Set to Reddish END"));break;
case 0x84:
myCAM.OV2640_set_Special_effects(BW);temp = 0xff;
Serial.println(F("ACK CMD Set to BW END"));break;
case 0x85:
myCAM.OV2640_set_Special_effects(Negative);temp = 0xff;
Serial.println(F("ACK CMD Set to Negative END"));break;
case 0x86:
myCAM.OV2640_set_Special_effects(BWnegative);temp = 0xff;
Serial.println(F("ACK CMD Set to BWnegative END"));break;
case 0x87:
myCAM.OV2640_set_Special_effects(Normal);temp = 0xff;
Serial.println(F("ACK CMD Set to Normal END"));break;
}
}

@UCTRONICS Hi, after several weeks of trying to understand why the example "ArduCAM_Mini_2MP_Plus_Multi_Capture2SD"  does not work as expected and tweaking it, I have been no clue so far.
More exactly, after setting the proper SD CS pin (mine is 53 on the Mega 2560), everything seems to work until the line 198 :
outFile = SD.open(str, O_WRITE | O_CREAT | O_TRUNC);
There, after launching the program, we get File open failed meaning the above line didn't work.
Do you know how to solve this problem?
PS: For information, the videostreaming example is perfectly working with the Host_V2 application.
So it seems like the camera is Okay but the Camera2SD example has a problem writing to SD card.

By the way, I have tweaked the example to a point where the program manages to open the file for writing, however, another problem occurred: the JPG file is completely empty (0 bytes), like if the fifo data wasn't written and flushed to the file.
I have added the example as an attached file if you want to check.
ArduCAM_Mini_2MP_Plus_Multi_Capture2SD_tweaked.zip
Hardware Info
Arduino : Arduino Mega 2560 (official)
SD card :  16GB, formatted in FAT32. empty.

@UCTRONICS  @ArduCAM @ArducamTeam Any update to my comment, please ?


Provider side decoder API documentation

Fixes #13949
Checklist

[x] documentation is added or updated

Thanks for doing that!

Fixups pushed. PTAL

@mattcaswell fixups addressing your comments pushed.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged to master. Thank you for the reviews and comments.


Trace Id (x-amzn-trace-id) missing in Spring Boot HTTP response

Hello
Describe the bug
We used the old Xray SDK before we switched to otel-collector/javaagent this month. Right now we're missing the "x-amzn-trace-id" header in our API responses.
What did you expect to see?
x-amzn-trace-id should be present in http responses.
Additional context
v.0.6.0 sidecar and v0.12.1-aws.1 agent
Is this expected/work in progress or do I miss something?
Thanks

Hi @otbe - OpenTelemetry currently does not support returning trace headers in responses. The design is based on w3c, which is currently speccing out how to handle them, the support would probably come to OpenTelemetry some time after that.
Just curious, how do you use the response header?

Hi @otbe - OpenTelemetry currently does not support returning trace headers in responses. The design is based on w3c, which is currently speccing out how to handle them, the support would probably come to OpenTelemetry some time after that.
Just curious, how do you use the response header?

Thanks for the answer @anuraaga . We currently expose the traceId (header value) to our customers on some error pages. Its quite useful for debugging stuff.
Is there any workaround (filters) known for our SB setup?

Thanks for the answer @anuraaga . We currently expose the traceId (header value) to our customers on some error pages. Its quite useful for debugging stuff.
Is there any workaround (filters) known for our SB setup?

@otbe We don't have anything automatic at the moment, but you should be able to access the current span information in the context with Context.current(). While we only use the propagator to inject into a downstream request currently, I guess it should work for a response in a filter too.
https://github.com/open-telemetry/opentelemetry-java/tree/main/extensions/trace-propagators
AwsXrayPropagator.inject(Context.current(), response, HttpServletResponse::setHeader)

@otbe We don't have anything automatic at the moment, but you should be able to access the current span information in the context with Context.current(). While we only use the propagator to inject into a downstream request currently, I guess it should work for a response in a filter too.
https://github.com/open-telemetry/opentelemetry-java/tree/main/extensions/trace-propagators
AwsXrayPropagator.inject(Context.current(), response, HttpServletResponse::setHeader)

Thanks for the answer again. I tried something like this
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class XrayHeaderFilter implements Filter {
  @Override
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
      throws IOException, ServletException {
    val res = (HttpServletResponse) response;

    AwsXrayPropagator.getInstance().inject(Context.current(), res, HttpServletResponse::setHeader);

    chain.doFilter(request, response);
  }
}

and in my pom.xml
<dependency>
	<groupId>io.opentelemetry</groupId>
	<artifactId>opentelemetry-extension-trace-propagators</artifactId>
</dependency>

The filter kicks in but sadly the header is not added to the response. Do I need to setup opentelemetry within our SB app to get this to work? For reference we currently use the java agent, so there is no dedicated setup in our app.

Thanks for the answer again. I tried something like this
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class XrayHeaderFilter implements Filter {
  @Override
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
      throws IOException, ServletException {
    val res = (HttpServletResponse) response;

    AwsXrayPropagator.getInstance().inject(Context.current(), res, HttpServletResponse::setHeader);

    chain.doFilter(request, response);
  }
}

and in my pom.xml
<dependency>
	<groupId>io.opentelemetry</groupId>
	<artifactId>opentelemetry-extension-trace-propagators</artifactId>
</dependency>

The filter kicks in but sadly the header is not added to the response. Do I need to setup opentelemetry within our SB app to get this to work? For reference we currently use the java agent, so there is no dedicated setup in our app.

@otbe Thanks for trying this, the code looks like what we'd expect to work so I'm going to have to experiment on my end to see what could be happening. Hopefully we figure it out, sorry for the trouble.

@otbe Thanks for trying this, the code looks like what we'd expect to work so I'm going to have to experiment on my end to see what could be happening. Hopefully we figure it out, sorry for the trouble.

FYI: just verified that in general setting a header works this way. I added res.setHeader("foo", "bar"); right before the AwsXrayPropagator and it showed up in the response.

FYI: just verified that in general setting a header works this way. I added res.setHeader("foo", "bar"); right before the AwsXrayPropagator and it showed up in the response.

Hi @otbe sorry for the delay on this, I could finally try to populate headers. I created a filter basically the same as your snippet here
https://github.com/aws-observability/aws-otel-playground/blob/main/frontend/src/main/java/com/softwareaws/xray/examples/Application.java#L122
and can confirm the response from that app contains the X-Amzn-Trace-Id header. It's a very standard spring boot application, and I just use the -javaagent: parameter to add the agent. Can you think of any difference between your app and that link's code?

Thanks @anuraaga
Unfortunately not. I gave it another try and also updated the opentelemetry bom to 0.15.0 which should be the latest version. The AwsXrayPropagator class looks now more like the one you posted.
Still no trace id header in the response.
Maybe something...in your gradle file you have a lot of aws xray dependencies -> https://github.com/aws-observability/aws-otel-playground/blob/main/frontend/build.gradle.kts#L19 which is not present in our setup.
Our little app runs on top of ECS/Fargate and with ALB in front of it.

@otbe I believe this may be a mismatch between the API version and the agent version - until 1.0, there is a strict requirement for those two to match for some functionality to work, such as reading the current Span in business logic. The playground currently targets snapshots which is why it is using 0.15.0.
I'll be releasing an agent based on 0.15.0 shortly and it might be best to wait for that just to make sure there aren't any other already-fixed bugs that are affecting us here.

Sounds good @anuraaga 👍
Ill keep an. eye on.https://github.com/aws-observability/aws-otel-java-instrumentation/releases :)

@otbe So sorry for the long delay, the new version has been released. Let's see if it helps

Big thank you @anuraaga
It finally works 👍
It was really about the mismatch of the versions, I should've read more carefully the release page. I think we can close this issue for the time being. Maybe we can document the way (filter + dependency) somewhere, so people dont have to search for github issues :)


Field Presence Validation of Incoming FHIR Order

Story
As a public health lab, to ensure the order includes data needed to perform the test and interpret results, I need to ensure required fields are included within the FHIR order.
Pre-conditions
Acceptance Criteria

[ ] The TI service provides some means of capturing & persisting validation failures (so they can be communicated back to the sender in the future)
[ ] Rules regarding which fields are required matches State requirements (as represented on their NBS cards).
[ ] States supported include AL. (reevaluate in Planning based upon candidate partners) and LA.

Tasks
Research

[ ] Research work needed to complete the story
[x] Link in state research boards (so that NBS card data can be reviewed by devs)
[ ] Talk with RS to make a decision on where validation should to happen

[ ] Including potential need for composite orders

[ ] Analyze and compare state NBS card fields

[ ] Identify opportunities for standardizing on a set of fields
[ ] Review existing research

[ ] https://docs.google.com/spreadsheets/d/1yUZ5SnL5et3QYvu6p1Luk3AUSuOziCL-lRRI8uyYfn4/edit#gid=0
[ ] https://docs.google.com/document/d/1OIMRIQQ_0zBm8sYefEF_qhdtMV8mszCvf4OFtu59kDU/edit

[ ] Foundational: High-level research that will support this and future efforts

Engineering

[ ] Engineering work needed to complete the story
[ ] Foundational: Technical runway work to support this and future efforts

Definition of Done

[ ] Threat model updated
[ ] Code refactored for clarity and no design/technical debt
[ ] Adhere to separation of concerns; code is not tightly coupled, especially to 3rd party dependencies.
[ ] Source code is merged to the main branch.
[ ] Unit test coverage of our code >= 90%
[ ] Code is reviewed or developed by pair; 1 approval is needed but consider requiring an outside-the-pair reviewer.
[ ] Build process updated
[ ] Feature toggles created and/or deleted.  Document the feature toggle.
[ ] Source code documentation created when the code is not self-documenting.
[ ] API documentation generated
[ ] Code quality checks passed
[ ] Security & privacy gates passed
[ ] Load tests passed
[ ] Documentation and diagrams created or updated
[ ] API(s) are versioned
[ ] Debug logging

Research Questions

Should validation be performed by TI or by the PHLs LIMS? (hard vs soft failures)

Decisions

Optional: Any decisions we've made while working on this story

Notes

NBS Card Reference

MN: https://miro.com/app/board/uXjVMaOm3o0=/?share_link_id=128589224770
AL: https://miro.com/app/board/uXjVMaOm3uE=/?share_link_id=841127339748

This Story helps complete the requirement:
MVP-REQ-04 - Each intermediary will create an MVP with the capability to support when the facility receives the entire order, and the intermediary is responsible for validating and transforming the order for PHL

This Story helps complete the requirement:
MVP-REQ-05 - Each intermediary will create an MVP wherein the system accepts all order-related information from the facility. The intermediary is responsible for receiving the order, performing validation, and carrying out transformations for PHL LIMS

This Story helps complete the requirement:
MVP-REQ-15 - Intermediaries will establish, utilize, and validate a common set of data elements

This Story helps complete the requirement:
MVP-REQ-36 - Each intermediary will have the same validations performed for all data exchange formats (e.g, NIST)

Required field validation will be applied using the validation engine in #341

@JohnNKing to capture a subsequent (non-MVP) story for how to handle validation for AL (e.g. rejecting orders if missing card number)

When #341 is completed and closed, is this one finished as well?

When #341 is completed and closed, is this one finished as well?

@luis-pabon-tf I think so -- yes.


Implemented Insertion Sort and added name to contribute.md

Great bro pls do follow me and star this repository

already have bro

good repo to start working on


Problem in error handling

Hi,
I think there's a problem when receiving an error from the Eventbrite API - in the code for handling the response (starting in line 106 of eventbrite_v3.js).
Once parsedResponse.error results in true the error retuned to the callback is (line 110):
callback(new Error(parsedResponse.error + '' + parsedResponse.error_description))
while I think it should have been:
return callback(helpers.createEventbriteError(parsedResponse));
This last line actually appears in line 117 but seems to never be called (unless I'm missing something).
The first callback returns a "message" only error object that doesn't hold the http response code or description separately.

Happy to accept pull requests :)

since resolved, correct? 👍  👎  ... @shaibt 🥇

Correct @toddpress  - @ibash has merged and released in v0.0.19

Thanks!


[FEATURE] Display raw markdown in fields (Feedback Dataset)

Is your feature request related to a problem? Please describe.
I want to be able to see the raw markdown in fields. This is specially important to check when there are rendering problems because the raw markdown is incorrect. If one doesn't see the raw text it's not possible to know where the error is coming from.
Describe the solution you'd like
A toggle or tab system to switch between raw text and rendered markdown.
Additional context
NB that the search highlights (i.e. the highlighted text that appears when using the searchbar) will not be available when the markdown is shown as raw text.

@damianpumar @dvsrepo feel free to add info or edit this issue as needed.


child-process crashing after NtResumeThread

Trying to figure out why would it crash

Found the bug.
Problem in wow64. You need to set the process parameters of 32 but peb and 64bit peb.
Was not mentioned in the slide show.
Moving to 64 but process resolved the issue

32bit peb and 64bit peb*


Upgrade an App to a new version

Upgrade application to the new release.
For in-house or upstream applications, when a new release addresses bug fixes, enhances security, or introduces new features essential to our use cases, it becomes crucial to perform application upgrades periodically.

In this scenario, let's consider the application as cert-manager and the new version as 1.14.0.

The following procedure outlines the steps to upgrade the respective application:
Create an EPIC with the below task list. [ could also convert the tasks in issues ( optional ) ]

[ ] Upgrade Cert Manager in Dev
[ ] Upgrade Cert Manager in Stage
[ ] Upgrade Cert Manager in Prod

Upgrade Cert Manager in Dev

Step 1.  Open a PR by modifying the chartVersion key in the git-generator-overides.json file in the /argocd/envs/dev/cert-manager directory.

Step2. Merge the PR once reviewed. Once merged as auto-sync is disabled ArgoCD will display a diff between the current and the incoming changes on the console. If satisfied with the diff the application can be synced and the upgrade will be successful.

Generally this is the point where we would like to verify if nothing is broken and everything is running as expected.

Upgrade Cert Manager in Stage

Once satisfied with the testing or expectations from the dev environment upgrade safely to proceed and repeat steps 1 and  2 with another PR for /argocd/envs/stage/cert-manager, which could be on the same day or another day depending on the waiting period before promoting the changes to staging env.

Upgrade Cert Manager in Stage

Similar to staging, use the correct path for git-generator-overides.json file.

Special Notes

We might also utilise argo-cd-image-updater for such tasks.

Could be also a common maintenance window for infra apps or service apps to reduce no of PRs and waiting time. ( weekly/monthly maintenance windows )

Usually, the infra applications [velero, cert-manager] and service applications [end user client-facing apps] are managed by different teams, hence individual teams can manage this on their own time and need basis.

NOTE:
examples directory structure relatable until this commit: https://github.com/ishuar/argocd-multi-cluster/tree/28029bb9e8751706d45161a46267ea4f1b5c2359
can be modified accordingly with a new repo structure.


Removed the incorrect @_effects(readnone) label from the @__tf_to_accel() function definition.

That function does read an input tensor handle.
Bug description: The randomUniform initializer of Tensor calls
toAccelerator() on some tensor handle TH, but the resulting @__tf_to_accel()
call got hoisted by the optimizer below the last strong_release of TH, causing
the call of @__tf_to_accel() (or subsequent code) to crash.
See the incorrect SIL code generated by the optimizer, where %73 was hoisted
below %28.
  %23 = function_ref @__tf_hoistable_Float : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Float>, @thin Float.Type) -> @owned TensorHandle<Float> // user: %26
  %26 = apply %23(%21, %22) : $@convention(method) (@noescape @callee_guaranteed () -> @owned TensorHandle<Float>, @thin Float.Type) -> @owned TensorHandle<Float> // users: %28, %73
  strong_release %26 : $TensorHandle<Float>       // id: %28
...
  // function_ref __tf_to_accel
  %72 = function_ref @__tf_to_accel : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %73
  %73 = apply %72<Float>(%26) : $@convention(thin) <τ_0_0 where τ_0_0 : AccelerableByTensorFlow> (@guaranteed TensorHandle<τ_0_0>) -> @owned TensorHandle<τ_0_0> // user: %74

Also, to avoid confusion, renamed the terms send/receive in the function names
respectively to "to accel" and "to host".
Resolves SR-8862.

@swift-ci please test tensorflow

Thanks for the review! CI passed.


Add a hover overlay to user cards.

Currently a lot of information is being displayed on User card, we can extract away that info and display that in an overlay when user hovers on a card.

Not something I'm looking to do, I like how our card looks right now.

Oh okay cool!


AI: basic enemy with patrol

[ ] Have the enemy patrol between waypoints, but also detect gaps and walls, as an example of simple AI
[ ] Separate the wall and gap detector and the AI agent: the AI should have behaviors like "turn" or "stop", and another node, the detector, trigger these behaviors
[ ] Use the notifier nodes to turn the AI on/off automatically (performances)

There's already a PatrolAI like that, but it's bugged right now. It should use Steering.arrive_to now that there's the Steering singleton in the project. It'll make its movement more fluid and reliable.
Also, the agent should wait at patrol points. This AI is for the free series


Drag and drop rows in MudTable to manage the items order

Is your feature request related to a problem? Please describe.
When using MudTable I would like to have possibility to manage the order of items in the list using drag and drop which is very common on mobile devices.
Describe the solution you'd like
Drag and drop functionality enabled as an option on MudTable
Describe alternatives you've considered
There are some workarounds like using additional buttons on the row but drag and drop seems to be quicker and simpler for the end users.

I am not sure we want to add this into table. Is there no way this can be implemented on the user side with a drag and drop support library for Blazor?

@henon in similarly way we could say that selection rows by checkbox can be implemented outside MudTable. The commercial alternatives like kendo or open source like slick grid also offers the rows reodering functionality (https://mleibman.github.io/SlickGrid/examples/example9-row-reordering.html). I would really vote to have row reordering as available parameter of MudTable.

It was easy to do checkbox multi-selection in C#. So you only somewhat got a point here (or maybe half a point for giving only JS example libraries, not Blazor libs) because this functionality can to my knowledge only be achieved with lots of JS. In such cases (another example is a WYSIWYG HTML editor) we tend to not want to implement what JS libraries already can do excellently.
And embedding entire JS libraries in MudBlazor is not what we want to do.

We'll listen to reason though, so the discussion is not closed.

thanks @henon, I will also try to check what other workarounds can be applied to have possibility of reordering items in the MudTable

I have figure out some alternative solution using .... slider 😄

This would be a really nice feature! I did also some workaround with arrows, but it is not very intuitive for end users.

Due to how MudTable has been built, you cannot combine it with the DropZone API to get drop support.
One possible solution would be to make it possible to customize the panel in which rows are rendered (RowPanel).
Here is my concept:
<MudTable Items="@_items" Hover="true" Breakpoint="Breakpoint.Sm" Loading="@_loading" LoadingProgressColor="Color.Info">
    <HeaderContent>
        <MudTh>Name</MudTh>
        <MudTh>Selector</MudTh>
    </HeaderContent>

    <RowPanel Context="items">

        <MudDropContainer T="DropItem" Items="items" ItemsSelector="@((item,dropzone) => item.Selector == dropzone)" ItemDropped="ItemUpdated" Class="d-flex flex-wrap flex-grow-1">
            <ChildContent>
                @foreach(var item in items)
                {
                <MudDropZone T="DropItem" Identifier="myDropZone" />
                }
            </ChildContent>

            <ItemRenderer>
                @RowTemplate(item)
            </ItemRenderer>
        </MudDropContainer>

    </RowPanel>

    <RowTemplate>
        <MudTd<EMAIL_ADDRESS>        <MudTd<EMAIL_ADDRESS>    </RowTemplate>
</MudTable>

Hope to have this feature soon. I tried some workaround but not really fit with the drag & drop requirement.

This is a super important feature

This makes me functionally have to become a sorting algorithm, clicking up and down to shuffle the items into place. Please add this, it should be supported in most browsers.


[Request] Free Download Manager

It is a powerful modern download accelerator and organizer for Windows and Mac.
Website:
https://www.freedownloadmanager.org/

duplicate #1598


Deployment error on empty UserAssignedManagedIdentityResourceId

Fixes #30
Added check on not empty on the files
deploy\bicep\DeployAVDSessionHostReplacer.bicep and deploy\arm\DeployAVDSessionHostReplacer.json

@microsoft-github-policy-service agree company="DTX (Dutch Technology eXperts)"

Hi @WillyMoselhy , any progress on the issue(s) in this repository?

Fixed in 0.3.2


[Tiered Caching]  Moving query recomputation logic outside of write lock

Description
This is related to performance improvement of Tiered Caching. Earlier during a cache miss, we were recomputing the query under the a single write lock which made the other threads wait and degraded performance. This change moves that logic outside the write lock. More details here https://github.com/opensearch-project/OpenSearch/issues/13989. We will follow up with another PR to make TieredCache segmented.
Related Issues
Resolves #[Issue number to be closed when this PR is merged]

Check List

[x] Functionality includes testing.
[x] API changes companion pull request created, if applicable.
~[] Public documentation issue/PR created, if applicable.~

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Flaky test
[org.opensearch.action.admin.indices.create.RemoteCloneIndexIT.testCreateCloneIndexFailure]

https://github.com/opensearch-project/OpenSearch/issues/14292

❕ Gradle check result for 3686d2c: UNSTABLE
Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

https://github.com/opensearch-project/OpenSearch/issues/11997


Routes with the same path but different methods are not being created

Summary
Looking at moving from AWS API Gateway to Kong, we need to be able to reproduce our current setup.  Given a simple CRUD API, where {id} is a path parameter variable:
POST
https://some-host/some-api-context/
GET
https://some-host/some-api-context/{id}
PUT/PATCH
https://some-host/some-api-context/{id}
DELETE
https://some-host/some-api-context/{id}
Each route points to a separate Lambda function responsible for a specific operation (create, update, etc)
Attempting to re-create this using the Ingress Controller (will just illustrate POST and GET for brevity)
POST (create):
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api-post
  namespace:  kong
  annotations:
    kubernetes.io/ingress.class: "kong"
    configuration.konghq.com: api-post-config
    plugins.konghq.com: api-post-plugin
spec:
  rules:
    - host: some-host
      http:
        paths:
        - backend:
            serviceName: kong-proxy
            servicePort: 8000
          path: /some-api

apiVersion: configuration.konghq.com/v1
kind: KongIngress
metadata:
  name: api-post-config
  namespace: kong
route:
  methods:
  - POST
  regex_priority: 0

apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: api-post-plugin
  namespace: kong
config:
    aws_key: [some-key]
    aws_secret: [some-secret]
    aws_region: [aws-region]
    function_name: [create-lambda-function-name]
    forward_request_body: true
    forward_request_headers: true
    forward_request_method: true
    invocation_type: RequestResponse
plugin: aws-lambda

GET (read):
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api-get
  namespace:  kong
  annotations:
    kubernetes.io/ingress.class: "kong"
    configuration.konghq.com: api-get-config
    plugins.konghq.com: api-get-plugin
spec:
  rules:
    - host: some-host
      http:
        paths:
        - backend:
            serviceName: kong-proxy
            servicePort: 8000
          path: /some-api

apiVersion: configuration.konghq.com/v1
kind: KongIngress
metadata:
  name: api-get-config
  namespace: kong
route:
  methods:
  - GET
  regex_priority: 0

apiVersion: configuration.konghq.com/v1
kind: KongPlugin
metadata:
  name: api-get-plugin
  namespace: kong
config:
    aws_key: [some-key]
    aws_secret: [some-secret]
    aws_region: [aws-region]
    function_name: [read-lambda-function-name]
    forward_request_body: true
    forward_request_headers: true
    forward_request_method: true
    invocation_type: RequestResponse
plugin: aws-lambda

This results in only the POST route being created.
The Ingress Controller does create the resources - acknowledged by the logs and by querying kubectl get ing -n kong or kubectl get kongingress -n kong, however, they are not created in the database.
Kong Ingress controller version
0.2.2
Kong or Kong Enterprise version
0.14
Kubernetes version
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-16T03:15:38Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.8", GitCommit:"7eab6a49736cc7b01869a15f9f05dc5b49efb9fc", GitTreeState:"clean", BuildDate:"2018-09-14T15:54:20Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Environment

Cloud provider or hardware configuration: AWS
OS (e.g. from /etc/os-release): Debian GNU/Linux 8 (jessie)
Kernel (e.g. uname -a): 4.4.121-k8s #1 SMP Sun Mar 11 19:39:47 UTC 2018 x86_64 GNU/Linux
Install tools: Kops Version 1.10.0

What happened
Only a single route is created, additional routes are ignored.
Expected behvaior
Multiple routes should be created. We are able to successfully configure this setup using vanilla kong (non-ingress) and the Admin REST API
Steps To Reproduce

Create 2 lambda functions
Create 2 ingress routes
Configure ingress routes to use AWS-Lambda plugin pointing to separate functions in (1)
Configure ingress routes to use different methods using KongIngress resource

Look at the underlying database or curl the kong admin api to list routes - only one is created

Thanks for the report @justinrcs!
Currently, the sync logic for Routes doesn't take into account methods and hence you're running into this problem.
We will be fixing this in the next release.

This will be fixed as part of #241.
It is currently not possible to fix this problem without a refactor since we squash all the Ingress rules with the same path.

This is fixed with #241 and support will be available in the next release.


docs: updated instancetypegen for AL2023.

Fixes #N/A
Description
How was this change tested?
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 82.45%

Files with Coverage Reduction
New Missed Lines
%

pkg/providers/amifamily/ami.go
1
90.45%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
5492

Relevant Lines:
6661

💛  - Coveralls


Error in setup.py

I am getting following error related to RLP when installing pythereum, using command
python setup.py install
These are the last few lines of above command's output:
Processing dependencies for pyethereum==0.8.52-113-ga6f6299
Searching for rlp>=0.3.2
Reading https://pypi.python.org/simple/rlp/
Best match: rlp 0.3.2
Downloading https://pypi.python.org/packages/source/r/rlp/rlp-0.3.2.tar.gz#md5=8b984ae2aaf1a6aa38f3f08c4551610a
Processing rlp-0.3.2.tar.gz
Writing /tmp/easy_install-rBnneL/rlp-0.3.2/setup.cfg
Running rlp-0.3.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-rBnneL/rlp-0.3.2/egg-dist-tmp-VNeHqm
error: [Errno 2] No such file or directory: 'README.md'
Also, in the start these two warnings came. Will those have effect on the setup later??
warning: no files found matching 'features/.feature'
warning: no files found matching 'features/steps/.py'

fixed in cfb4b700ea1e588d6bac7091e9db4a1570e3334a
should work with new rlp version (rlp 0.3.3)


[firebase_auth] Need better examples when used with google_sign_in

There are no examples on how to do below 2 things in the firebase_auth plugin.

A detailed example for how to listen to the firebase_auth [onAuthStateChanged] stream, especially when signed in using google_sign_in.

An example to show how to utilize [signInSilently] in the google_sign_in plugin when using the [firebase_auth] plugin.

@cyanglaz
The issue at https://github.com/flutter/flutter/issues/31077 has been closed and moved here. Future collaboration on this issue will be done here.


Logged object pushed into logs array

There is no option to send log as object. @kutuluk Do you think it's possible to add this option?

Even if I use format function, I'm getting a formatted Object in Array. I think it's better to leave it to the developer how he wants to return value when he chose this way.

@Looooopy @kristofferahl? Could you help me with that please? 🙂

Sorry @davidslaby, haven't been using it for years. Doesn't look like there's much activity to the project. Fork and PR would be my advice.

Hi @kristofferahl, it's done within https://github.com/kutuluk/loglevel-plugin-remote/pull/40. Could you check, please?
Btw. There is a couple of outdated dependencies, so maybe it would be good to make audit. Thanks for collaboration 🙂.


Fix equality check for cells

If I'm correct this might have been a serious bug.
is checks for object identity, not equality.
And if I understand the code correctly, you need to check the dtype's value to be 0, 1, or 2, correct?

I just checked that it weirdly still works, but it's certainly not what you need it to be in the code. So I guess it was working fine.

so this is a fun article explaining why this works as is:
https://kate.io/blog/2017/08/22/weird-python-integers/
stackoverflow also on why this works:
https://stackoverflow.com/questions/306313/is-operator-behaves-unexpectedly-with-integers
so it doesn't hurt, but is probably better to compare values

Coverage decreased (-0.007%) to 99.789% when pulling d6947418f35a1de0ec3fda6466a831dfff4ae706 on michaelaye:patch-2 into bcbb131503d29222165dfd085220eb615607905a on AndrewAnnex:master.

Wow, thanks for that article, fascinating. But it also clearly shows why “is” is indeed the wrong thing in general. Just lucky that these were small integers. I wonder where the limit is, when it fails. I don’t the article said it.

It’s anything above 256, article describes it
-Andrew Annex

On Oct 31, 2019, at 10:37 PM, K.-Michael Aye<EMAIL_ADDRESS>wrote:

Wow, thanks for that article, fascinating. But it also clearly shows why “is” is indeed the wrong thing in general. Just lucky that these were small integers. I wonder where the limit is, when it fails. I don’t the article said it.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or unsubscribe.


Fix return type of get_app_port_mappings

This change addresses a bug introduced marathon-lb version 1.9.0 which affects apps using USER networking mode with containers as well as on DC/OS versions 1.9 and lower. Specifically apps with empty portMappings.
The encountered error looks similar to this:
File "/marathon-lb/utils.py", line 376, in get_port_mapping_ports
for p in port_mappings
TypeError: 'NoneType' object is not iterable

@nlsun @jdef Ready for review.

I've manually tested these fixes on DC/OS 1.9 and 1.10-beta2, merging and then releasing a new version.