crash when run distributed training

When I run distributed training on tensorflow 0.12, everything ok at first, loss and global step was printed.
But after thoudsands of steps, following errors appear
tensorflow.python.framework.errors_impl.UnavailableError: {"created":"@1484093728.844289839","description":"EOF","file":"external/grpc/src/core/lib/iomgr/tcp_posix.c","file_line":235," grpc_status":14}
and
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot assign a device to node 'save/RestoreV2_26': Could not satisfy explicit device specification
and
E tensorflow/core/distributed_runtime/master_session.cc:1372] Cleanup partition error: Unavailable

Can you give complete backtrace? I can't see what device it was trying to assign to.
Also, googling error code shows that this code can be returned when connection can't be established.
Currently if connection is dropped, TensorFlow session can become invalid and process needs to be restarted. Not sure if anything can be done about error messages @mrry

@yaroslavvb Here's the complete backtrace:)
Traceback (most recent call last):
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 42, in <module>
    tf.app.run()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 43, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 38, in main
    train().start(unused_args=unused_argv)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/yarn_bootstrap.py", line 94, in start
    self.worker_do(server, cluster_spec, FLAGS.task_index)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 27, in worker_do
    distribution_training.run_training(server.target, cluster_spec, task_id)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/../train/distribution_training.py", line 62, in run_training
    max_steps=train_max_steps
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/deprecation.py", line 191, in new_func
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 355, in fit
    max_steps=max_steps)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 733, in _train_model
    max_steps=max_steps)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/graph_actions.py", line 301, in _monitored_train
    None)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 473, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 628, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 595, in run
    return self._sess.run(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 729, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 595, in run
    return self._sess.run(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 766, in run
    run_metadata_ptr)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 964, in _run
    feed_dict_string, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1014, in _do_run
    target_list, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1034, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.UnavailableError: {"created":"@1484093728.844289839","description":"EOF","file":"external/grpc/src/core/lib/iomgr/tcp_posix.c","file_line":235,"grpc_status":14}
I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:197] Initialize GrpcChannelCache for job ps -> {0 -> hadoop0560.et2.tbsite.net:25868, 1 -> hadoop0138.et2.tbsite.net:27562, 2 -> hadoop0177.et2.tbsite.net:26103, 3 -> hadoop0712.et2.tbsite.net:26106, 4 -> hadoop5021.et2.tbsite.net:29662, 5 -> hadoop0616.et2.tbsite.net:26974, 6 -> hadoop0635.et2.tbsite.net:29028, 7 -> hadoop0580.et2.tbsite.net:29141, 8 -> hadoop0587.et2.tbsite.net:28455, 9 -> hadoop1845.et2.tbsite.net:27397, 10 -> hadoop1892.et2.tbsite.net:28091, 11 -> hadoop0511.et2.tbsite.net:27469, 12 -> hadoop0744.et2.tbsite.net:25843, 13 -> hadoop0621.et2.tbsite.net:25316, 14 -> hadoop0067.et2.tbsite.net:26703, 15 -> hadoop0612.et2.tbsite.net:28886}
I tensorflow/core/distributed_runtime/rpc/grpc_channel.cc:197] Initialize GrpcChannelCache for job worker -> {0 -> hadoop0743.et2.tbsite.net:28429, 1 -> hadoop0245.et2.tbsite.net:28221, 2 -> hadoop0633.et2.tbsite.net:25817, 3 -> hadoop0729.et2.tbsite.net:26892, 4 -> hadoop0642.et2.tbsite.net:29372, 5 -> hadoop1006.et2.tbsite.net:26049, 6 -> hadoop5035.et2.tbsite.net:26419, 7 -> hadoop0718.et2.tbsite.net:26232, 8 -> hadoop0947.et2.tbsite.net:27491, 9 -> hadoop5028.et2.tbsite.net:25950, 10 -> hadoop1873.et2.tbsite.net:27579, 11 -> hadoop0618.et2.tbsite.net:27564, 12 -> hadoop0172.et2.tbsite.net:26764, 13 -> hadoop0637.et2.tbsite.net:28835, 14 -> hadoop1863.et2.tbsite.net:28968, 15 -> hadoop0614.et2.tbsite.net:26038, 16 -> hadoop0715.et2.tbsite.net:29649, 17 -> hadoop0735.et2.tbsite.net:25061, 18 -> hadoop1003.et2.tbsite.net:27781, 19 -> hadoop5047.et2.tbsite.net:26782, 20 -> hadoop0738.et2.tbsite.net:25868, 21 -> hadoop5041.et2.tbsite.net:29389, 22 -> hadoop1872.et2.tbsite.net:25251, 23 -> hadoop0891.et2.tbsite.net:25213, 24 -> hadoop0785.et2.tbsite.net:29996, 25 -> hadoop0809.et2.tbsite.net:29229, 26 -> hadoop1836.et2.tbsite.net:29542, 27 -> hadoop0592.et2.tbsite.net:28786, 28 -> hadoop0714.et2.tbsite.net:28822, 29 -> hadoop0572.et2.tbsite.net:27784, 30 -> hadoop1838.et2.tbsite.net:29014, 31 -> hadoop0600.et2.tbsite.net:29302, 32 -> hadoop0178.et2.tbsite.net:25334, 33 -> hadoop0471.et2.tbsite.net:25353, 34 -> hadoop0649.et2.tbsite.net:25981, 35 -> hadoop1848.et2.tbsite.net:26250, 36 -> hadoop0569.et2.tbsite.net:28590, 37 -> hadoop0589.et2.tbsite.net:25475, 38 -> hadoop0771.et2.tbsite.net:29900, 39 -> hadoop5030.et2.tbsite.net:25125, 40 -> hadoop1890.et2.tbsite.net:27007, 41 -> hadoop0946.et2.tbsite.net:28429, 42 -> hadoop1859.et2.tbsite.net:26312, 43 -> hadoop1828.et2.tbsite.net:25200, 44 -> hadoop0762.et2.tbsite.net:27702, 45 -> hadoop5038.et2.tbsite.net:27372, 46 -> hadoop0609.et2.tbsite.net:29673, 47 -> hadoop1878.et2.tbsite.net:29987, 48 -> hadoop0704.et2.tbsite.net:25593, 49 -> hadoop0815.et2.tbsite.net:26288, 50 -> hadoop0488.et2.tbsite.net:26090, 51 -> hadoop0826.et2.tbsite.net:28780, 52 -> hadoop0890.et2.tbsite.net:27610, 53 -> hadoop0713.et2.tbsite.net:26176, 54 -> hadoop0845.et2.tbsite.net:28818, 55 -> hadoop1827.et2.tbsite.net:29269, 56 -> hadoop0767.et2.tbsite.net:26084, 57 -> hadoop1853.et2.tbsite.net:26311, 58 -> hadoop0837.et2.tbsite.net:29223, 59 -> hadoop0256.et2.tbsite.net:28043, 60 -> hadoop0728.et2.tbsite.net:26120, 61 -> hadoop0535.et2.tbsite.net:26474, 62 -> hadoop0857.et2.tbsite.net:27474, 63 -> hadoop0482.et2.tbsite.net:28653, 64 -> hadoop0737.et2.tbsite.net:26960, 65 -> hadoop0848.et2.tbsite.net:27215, 66 -> hadoop0606.et2.tbsite.net:29632, 67 -> hadoop0613.et2.tbsite.net:26596, 68 -> hadoop5007.et2.tbsite.net:27294, 69 -> hadoop0698.et2.tbsite.net:29914, 70 -> hadoop0768.et2.tbsite.net:26747, 71 -> hadoop0545.et2.tbsite.net:27286, 72 -> hadoop0578.et2.tbsite.net:26621, 73 -> hadoop0789.et2.tbsite.net:27617, 74 -> hadoop0699.et2.tbsite.net:27052, 75 -> hadoop0627.et2.tbsite.net:27065, 76 -> hadoop0804.et2.tbsite.net:29234, 77 -> hadoop0821.et2.tbsite.net:27680, 78 -> hadoop5048.et2.tbsite.net:25832, 79 -> hadoop5033.et2.tbsite.net:27200, 80 -> hadoop0756.et2.tbsite.net:26536, 81 -> hadoop0689.et2.tbsite.net:26522, 82 -> hadoop0851.et2.tbsite.net:29934, 83 -> hadoop0541.et2.tbsite.net:27118, 84 -> hadoop0647.et2.tbsite.net:27308, 85 -> hadoop0579.et2.tbsite.net:27040, 86 -> hadoop5055.et2.tbsite.net:26841, 87 -> hadoop1882.et2.tbsite.net:26220, 88 -> hadoop0615.et2.tbsite.net:25089, 89 -> hadoop1902.et2.tbsite.net:26867, 90 -> localhost:27983, 91 -> hadoop0807.et2.tbsite.net:28033, 92 -> hadoop5014.et2.tbsite.net:29535, 93 -> hadoop0746.et2.tbsite.net:29884, 94 -> hadoop0250.et2.tbsite.net:26868, 95 -> hadoop0706.et2.tbsite.net:29045, 96 -> hadoop0854.et2.tbsite.net:29149, 97 -> hadoop0185.et2.tbsite.net:26971, 98 -> hadoop0467.et2.tbsite.net:25830, 99 -> hadoop0611.et2.tbsite.net:28720}
I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:211] Started server with target: grpc://localhost:27983
INFO:tensorflow:Using config: {'save_summary_steps': 100000, '_num_ps_replicas': 16, '_task_type': u'worker', '_environment': u'cloud', '_is_chief': False, 'save_checkpoints_secs': 60, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x7f11f9b57d50>, 'tf_config': intra_op_parallelism_threads: 4
inter_op_parallelism_threads: 4
gpu_options {
  per_process_gpu_memory_fraction: 1
}

Traceback (most recent call last):
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 42, in <module>
    tf.app.run()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 43, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 38, in main
    train().start(unused_args=unused_argv)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/yarn_bootstrap.py", line 94, in start
    self.worker_do(server, cluster_spec, FLAGS.task_index)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 27, in worker_do
    distribution_training.run_training(server.target, cluster_spec, task_id)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/../train/distribution_training.py", line 62, in run_training
    max_steps=train_max_steps
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/deprecation.py", line 191, in new_func
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 355, in fit
    max_steps=max_steps)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 733, in _train_model
    max_steps=max_steps)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/graph_actions.py", line 297, in _monitored_train
    hooks=all_hooks) as super_sess:
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 447, in __init__
    self._sess = _RecoverableSession(self._coordinated_creator)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 618, in __init__
    _WrappedSession.__init__(self, self._sess_creator.create_session())
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 505, in create_session
    self.tf_sess = self._session_creator.create_session()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 374, in create_session
    self._master, config=self._config)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/session_manager.py", line 346, in wait_for_session
    sess)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/session_manager.py", line 467, in _try_run_local_init_op
    sess.run(self._local_init_op)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 766, in run
    run_metadata_ptr)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 964, in _run
    feed_dict_string, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1014, in _do_run
    target_list, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1034, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot assign a device to node 'save/RestoreV2_26': Could not satisfy explicit device specification '/job:ps/task:4/device:CPU:0' because no devices matching that specification are registered in this process; available devices: /job:ps/replica:0/task:0/cpu:0, /job:ps/replica:0/task:1/cpu:0, /job:ps/replica:0/task:10/cpu:0, /job:ps/replica:0/task:11/cpu:0, /job:ps/replica:0/task:12/cpu:0, /job:ps/replica:0/task:13/cpu:0, /job:ps/replica:0/task:14/cpu:0, /job:ps/replica:0/task:15/cpu:0, /job:ps/replica:0/task:2/cpu:0, /job:ps/replica:0/task:3/cpu:0, /job:ps/replica:0/task:5/cpu:0, /job:ps/replica:0/task:6/cpu:0, /job:ps/replica:0/task:7/cpu:0, /job:ps/replica:0/task:8/cpu:0, /job:ps/replica:0/task:9/cpu:0, /job:worker/replica:0/task:0/cpu:0, /job:worker/replica:0/task:1/cpu:0, /job:worker/replica:0/task:10/cpu:0, /job:worker/replica:0/task:11/cpu:0, /job:worker/replica:0/task:12/cpu:0, /job:worker/replica:0/task:13/cpu:0, /job:worker/replica:0/task:14/cpu:0, /job:worker/replica:0/task:15/cpu:0, /job:worker/replica:0/task:16/cpu:0, /job:worker/replica:0/task:17/cpu:0, /job:worker/replica:0/task:18/cpu:0, /job:worker/replica:0/task:19/cpu:0, /job:worker/replica:0/task:2/cpu:0, /job:worker/replica:0/task:20/cpu:0, /job:worker/replica:0/task:21/cpu:0, /job:worker/replica:0/task:22/cpu:0, /job:worker/replica:0/task:23/cpu:0, /job:worker/replica:0/task:24/cpu:0, /job:worker/replica:0/task:25/cpu:0, /job:worker/replica:0/task:26/cpu:0, /job:worker/replica:0/task:27/cpu:0, /job:worker/replica:0/task:28/cpu:0, /job:worker/replica:0/task:29/cpu:0, /job:worker/replica:0/task:3/cpu:0, /job:worker/replica:0/task:30/cpu:0, /job:worker/replica:0/task:31/cpu:0, /job:worker/replica:0/task:32/cpu:0, /job:worker/replica:0/task:33/cpu:0, /job:worker/replica:0/task:34/cpu:0, /job:worker/replica:0/task:35/cpu:0, /job:worker/replica:0/task:36/cpu:0, /job:worker/replica:0/task:37/cpu:0, /job:worker/replica:0/task:38/cpu:0, /job:worker/replica:0/task:39/cpu:0, /job:worker/replica:0/task:4/cpu:0, /job:worker/replica:0/task:40/cpu:0, /job:worker/replica:0/task:41/cpu:0, /job:worker/replica:0/task:42/cpu:0, /job:worker/replica:0/task:43/cpu:0, /job:worker/replica:0/task:44/cpu:0, /job:worker/replica:0/task:45/cpu:0, /job:worker/replica:0/task:46/cpu:0, /job:worker/replica:0/task:47/cpu:0, /job:worker/replica:0/task:48/cpu:0, /job:worker/replica:0/task:49/cpu:0, /job:worker/replica:0/task:5/cpu:0, /job:worker/replica:0/task:50/cpu:0, /job:worker/replica:0/task:51/cpu:0, /job:worker/replica:0/task:52/cpu:0, /job:worker/replica:0/task:53/cpu:0, /job:worker/replica:0/task:54/cpu:0, /job:worker/replica:0/task:55/cpu:0, /job:worker/replica:0/task:56/cpu:0, /job:worker/replica:0/task:57/cpu:0, /job:worker/replica:0/task:58/cpu:0, /job:worker/replica:0/task:59/cpu:0, /job:worker/replica:0/task:6/cpu:0, /job:worker/replica:0/task:60/cpu:0, /job:worker/replica:0/task:61/cpu:0, /job:worker/replica:0/task:62/cpu:0, /job:worker/replica:0/task:63/cpu:0, /job:worker/replica:0/task:64/cpu:0, /job:worker/replica:0/task:65/cpu:0, /job:worker/replica:0/task:66/cpu:0, /job:worker/replica:0/task:67/cpu:0, /job:worker/replica:0/task:68/cpu:0, /job:worker/replica:0/task:69/cpu:0, /job:worker/replica:0/task:7/cpu:0, /job:worker/replica:0/task:70/cpu:0, /job:worker/replica:0/task:71/cpu:0, /job:worker/replica:0/task:72/cpu:0, /job:worker/replica:0/task:73/cpu:0, /job:worker/replica:0/task:74/cpu:0, /job:worker/replica:0/task:75/cpu:0, /job:worker/replica:0/task:76/cpu:0, /job:worker/replica:0/task:77/cpu:0, /job:worker/replica:0/task:78/cpu:0, /job:worker/replica:0/task:79/cpu:0, /job:worker/replica:0/task:8/cpu:0, /job:worker/replica:0/task:80/cpu:0, /job:worker/replica:0/task:81/cpu:0, /job:worker/replica:0/task:82/cpu:0, /job:worker/replica:0/task:83/cpu:0, /job:worker/replica:0/task:84/cpu:0, /job:worker/replica:0/task:85/cpu:0, /job:worker/replica:0/task:86/cpu:0, /job:worker/replica:0/task:87/cpu:0, /job:worker/replica:0/task:88/cpu:0, /job:worker/replica:0/task:89/cpu:0, /job:worker/replica:0/task:9/cpu:0, /job:worker/replica:0/task:90/cpu:0, /job:worker/replica:0/task:91/cpu:0, /job:worker/replica:0/task:92/cpu:0, /job:worker/replica:0/task:93/cpu:0, /job:worker/replica:0/task:94/cpu:0, /job:worker/replica:0/task:95/cpu:0, /job:worker/replica:0/task:96/cpu:0, /job:worker/replica:0/task:97/cpu:0, /job:worker/replica:0/task:98/cpu:0, /job:worker/replica:0/task:99/cpu:0
     [[Node: save/RestoreV2_26 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:ps/task:4/device:CPU:0"](save/Const, save/RestoreV2_26/tensor_names, save/RestoreV2_26/shape_and_slices)]]

Caused by op u'save/RestoreV2_26', defined at:
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 42, in <module>
    tf.app.run()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 43, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 38, in main
    train().start(unused_args=unused_argv)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/yarn_bootstrap.py", line 94, in start
    self.worker_do(server, cluster_spec, FLAGS.task_index)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 27, in worker_do
    distribution_training.run_training(server.target, cluster_spec, task_id)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000116/app/install/learning_to_match/bootstrap/../train/distribution_training.py", line 62, in run_training
    max_steps=train_max_steps
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/deprecation.py", line 191, in new_func
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 355, in fit
    max_steps=max_steps)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 733, in _train_model
    max_steps=max_steps)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/graph_actions.py", line 297, in _monitored_train
    hooks=all_hooks) as super_sess:
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 447, in __init__
    self._sess = _RecoverableSession(self._coordinated_creator)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 618, in __init__
    _WrappedSession.__init__(self, self._sess_creator.create_session())
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 505, in create_session
    self.tf_sess = self._session_creator.create_session()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 372, in create_session
    self._scaffold.finalize()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 163, in finalize
    self._saver.build()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 1030, in build
    restore_sequentially=self._restore_sequentially)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 620, in build
    restore_sequentially, reshape)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 404, in _AddShardedRestoreOps
    name="restore_shard"))
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 361, in _AddRestoreOps
    tensors = self.restore_op(filename_tensor, saveable, preferred_shard)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 200, in restore_op
    [spec.tensor.dtype])[0])
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_io_ops.py", line 441, in restore_v2
    dtypes=dtypes, name=name)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 759, in apply_op
    op_def=op_def)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2240, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1128, in __init__
    self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): Cannot assign a device to node 'save/RestoreV2_26': Could not satisfy explicit device specification '/job:ps/task:4/device:CPU:0' because no devices matching that specification are registered in this process; available devices: /job:ps/replica:0/task:0/cpu:0, /job:ps/replica:0/task:1/cpu:0, /job:ps/replica:0/task:10/cpu:0, /job:ps/replica:0/task:11/cpu:0, /job:ps/replica:0/task:12/cpu:0, /job:ps/replica:0/task:13/cpu:0, /job:ps/replica:0/task:14/cpu:0, /job:ps/replica:0/task:15/cpu:0, /job:ps/replica:0/task:2/cpu:0, /job:ps/replica:0/task:3/cpu:0, /job:ps/replica:0/task:5/cpu:0, /job:ps/replica:0/task:6/cpu:0, /job:ps/replica:0/task:7/cpu:0, /job:ps/replica:0/task:8/cpu:0, /job:ps/replica:0/task:9/cpu:0, /job:worker/replica:0/task:0/cpu:0, /job:worker/replica:0/task:1/cpu:0, /job:worker/replica:0/task:10/cpu:0, /job:worker/replica:0/task:11/cpu:0, /job:worker/replica:0/task:12/cpu:0, /job:worker/replica:0/task:13/cpu:0, /job:worker/replica:0/task:14/cpu:0, /job:worker/replica:0/task:15/cpu:0, /job:worker/replica:0/task:16/cpu:0, /job:worker/replica:0/task:17/cpu:0, /job:worker/replica:0/task:18/cpu:0, /job:worker/replica:0/task:19/cpu:0, /job:worker/replica:0/task:2/cpu:0, /job:worker/replica:0/task:20/cpu:0, /job:worker/replica:0/task:21/cpu:0, /job:worker/replica:0/task:22/cpu:0, /job:worker/replica:0/task:23/cpu:0, /job:worker/replica:0/task:24/cpu:0, /job:worker/replica:0/task:25/cpu:0, /job:worker/replica:0/task:26/cpu:0, /job:worker/replica:0/task:27/cpu:0, /job:worker/replica:0/task:28/cpu:0, /job:worker/replica:0/task:29/cpu:0, /job:worker/replica:0/task:3/cpu:0, /job:worker/replica:0/task:30/cpu:0, /job:worker/replica:0/task:31/cpu:0, /job:worker/replica:0/task:32/cpu:0, /job:worker/replica:0/task:33/cpu:0, /job:worker/replica:0/task:34/cpu:0, /job:worker/replica:0/task:35/cpu:0, /job:worker/replica:0/task:36/cpu:0, /job:worker/replica:0/task:37/cpu:0, /job:worker/replica:0/task:38/cpu:0, /job:worker/replica:0/task:39/cpu:0, /job:worker/replica:0/task:4/cpu:0, /job:worker/replica:0/task:40/cpu:0, /job:worker/replica:0/task:41/cpu:0, /job:worker/replica:0/task:42/cpu:0, /job:worker/replica:0/task:43/cpu:0, /job:worker/replica:0/task:44/cpu:0, /job:worker/replica:0/task:45/cpu:0, /job:worker/replica:0/task:46/cpu:0, /job:worker/replica:0/task:47/cpu:0, /job:worker/replica:0/task:48/cpu:0, /job:worker/replica:0/task:49/cpu:0, /job:worker/replica:0/task:5/cpu:0, /job:worker/replica:0/task:50/cpu:0, /job:worker/replica:0/task:51/cpu:0, /job:worker/replica:0/task:52/cpu:0, /job:worker/replica:0/task:53/cpu:0, /job:worker/replica:0/task:54/cpu:0, /job:worker/replica:0/task:55/cpu:0, /job:worker/replica:0/task:56/cpu:0, /job:worker/replica:0/task:57/cpu:0, /job:worker/replica:0/task:58/cpu:0, /job:worker/replica:0/task:59/cpu:0, /job:worker/replica:0/task:6/cpu:0, /job:worker/replica:0/task:60/cpu:0, /job:worker/replica:0/task:61/cpu:0, /job:worker/replica:0/task:62/cpu:0, /job:worker/replica:0/task:63/cpu:0, /job:worker/replica:0/task:64/cpu:0, /job:worker/replica:0/task:65/cpu:0, /job:worker/replica:0/task:66/cpu:0, /job:worker/replica:0/task:67/cpu:0, /job:worker/replica:0/task:68/cpu:0, /job:worker/replica:0/task:69/cpu:0, /job:worker/replica:0/task:7/cpu:0, /job:worker/replica:0/task:70/cpu:0, /job:worker/replica:0/task:71/cpu:0, /job:worker/replica:0/task:72/cpu:0, /job:worker/replica:0/task:73/cpu:0, /job:worker/replica:0/task:74/cpu:0, /job:worker/replica:0/task:75/cpu:0, /job:worker/replica:0/task:76/cpu:0, /job:worker/replica:0/task:77/cpu:0, /job:worker/replica:0/task:78/cpu:0, /job:worker/replica:0/task:79/cpu:0, /job:worker/replica:0/task:8/cpu:0, /job:worker/replica:0/task:80/cpu:0, /job:worker/replica:0/task:81/cpu:0, /job:worker/replica:0/task:82/cpu:0, /job:worker/replica:0/task:83/cpu:0, /job:worker/replica:0/task:84/cpu:0, /job:worker/replica:0/task:85/cpu:0, /job:worker/replica:0/task:86/cpu:0, /job:worker/replica:0/task:87/cpu:0, /job:worker/replica:0/task:88/cpu:0, /job:worker/replica:0/task:89/cpu:0, /job:worker/replica:0/task:9/cpu:0, /job:worker/replica:0/task:90/cpu:0, /job:worker/replica:0/task:91/cpu:0, /job:worker/replica:0/task:92/cpu:0, /job:worker/replica:0/task:93/cpu:0, /job:worker/replica:0/task:94/cpu:0, /job:worker/replica:0/task:95/cpu:0, /job:worker/replica:0/task:96/cpu:0, /job:worker/replica:0/task:97/cpu:0, /job:worker/replica:0/task:98/cpu:0, /job:worker/replica:0/task:99/cpu:0
     [[Node: save/RestoreV2_26 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:ps/task:4/device:CPU:0"](save/Const, save/RestoreV2_26/tensor_names, save/RestoreV2_26/shape_and_slices)]]

INFO:tensorflow:loss = 5.55723, step = 1431908
E tensorflow/core/distributed_runtime/master_session.cc:1372] Cleanup partition error: Unavailable: {"created":"@1484095048.299027908","description":"EOF","file":"external/grpc/src/core/lib/iomgr/tcp_posix.c","file_line":235,"grpc_status":14}
Traceback (most recent call last):
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000123/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 42, in <module>
    tf.app.run()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 43, in run
    sys.exit(main(sys.argv[:1] + flags_passthrough))
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000123/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 38, in main
    train().start(unused_args=unused_argv)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000123/app/install/yarn_bootstrap.py", line 94, in start
    self.worker_do(server, cluster_spec, FLAGS.task_index)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000123/app/install/learning_to_match/bootstrap/train_on_yarn.py", line 27, in worker_do
    distribution_training.run_training(server.target, cluster_spec, task_id)
  File "/dump/11/nm-local-dir/usercache/admin/appcache/application_1477026424983_244601/container_e04_1477026424983_244601_01_000123/app/install/learning_to_match/bootstrap/../train/distribution_training.py", line 62, in run_training
    max_steps=train_max_steps
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/deprecation.py", line 191, in new_func
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 355, in fit
    max_steps=max_steps)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 733, in _train_model
    max_steps=max_steps)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/graph_actions.py", line 301, in _monitored_train
    None)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 473, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 628, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 595, in run
    return self._sess.run(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 729, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/monitored_session.py", line 595, in run
    return self._sess.run(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 766, in run
    run_metadata_ptr)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 964, in _run
    feed_dict_string, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1014, in _do_run
    target_list, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1034, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.UnavailableError: {"created":"@1484095048.299027908","description":"EOF","file":"external/grpc/src/core/lib/iomgr/tcp_posix.c","file_line":235,"grpc_status":14}

So it looks like the crash happens in Estimator. This kind of UnavailableError can happen if your network connection is interrupted, but a higher level framework should detect these and recreate session rather than crashing everything. cc @ispirmustafa since he's the last person to modify this code

i have this problem too, but it seems that just restart it with supervisor is a trick solution

So the issue is that network conditions can interrupt the connection which
results in UnavailableError.
Supervisor doesn't handle this, and session may become invalid, so you need
to restart session yourself (or just restart the whole program).
MonitoredSession/MonitoredTraining session improve on Supervisor by adding
retries in presence of UnavailableError
On Sat, Jan 14, 2017 at 12:05 AM, Eric Yue<EMAIL_ADDRESS>wrote:

i have this problem too, but it seems that just restart it with supervisor
is a trick solution
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/6780#issuecomment-272609422,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABaHBSlw3BqwbPpFKDg1T9025e_HLEZks5rSIHGgaJpZM4LgItj
.

@buptjz does restarting Supervisor/moving to MonitoredTrainingSession solve the issue?

Agreed, I'll add recoverable support to UnavailableError.

Not sure if it's related to this issue, but I observe UnavailableError with MonitoredTrainingSession if Parameter Server is restarted: #7767

Sending out a fix for this right now.

Fixed.

help! How to fix this daunting problem  :(


Best way to implement API Versioning

Hi,
Loving learning falcon - having the source so cleanly written has been a big help.
I'm looking to implement a versioned API with falcon - either in the endpoint ("/api/1.0/foo") or as a header - but trying to work out the best way to do it, short of having a route added for each instance of each route for each version.
I looked at subclassing the router to look for the API in the uristring and switching resource function based on that, but the router only gets access to the template; not the variable, so can't utilise it.
Then i looked at middleware, but it doesn't look like you can change the resource from middleware callbacks; am i right?
What would you suggest?

API Versioning will be a awesome feature in Falcon.

+1
I'm trying to figure out how to implement versioning in a clean way and I don't find any solution...
Any ideas?

I'd like to get a better idea of how everyone envisions their resource classes being implemented to elegantly support a versioned API, and then work back from that to see what additional affordances the framework might require to support that design.
Currently, you can do some things by implementing a middleware process_request() method that rewrites the path (based on a header or incoming path) in order to influence the route (and resource) that is chosen. We can also evolve the routing components to be more flexible.
Another thing to consider is how best to support versioned media types. This probably dovetails with #145.

For a while, I did this:
import all classes and create the objetcs for the endpoints, and after, create the routes:
/v1/
/v2/<endpoint1.1>
Simple, but not mutch fast.

According to various resources that I've read, the recommended way to use API versioning is through Accept Header
http://www.troyhunt.com/2014/02/your-api-versioning-is-wrong-which-is.html
http://stackoverflow.com/questions/972226/how-to-version-rest-uris
http://www.django-rest-framework.org/api-guide/versioning/

Hi ,
Is there any progress on this issue?
I like Falcon but i can't find an easy way to achieve this.

+1
API versioning in falcon would definitely be great!

@TheMushrr00m and @SyedMHashim ,
unfortunately there hasn't been much progress on this issue.
See also a more specific discussion (versioning by Accept) here: https://github.com/falconry/falcon/issues/932
As I wrote on that one, maybe we could start off with a recipe employing a custom router... It looks like the required framework building blocks were laid out here: https://github.com/falconry/falcon/pull/995


The "View in WoT" feature does not work

The "View in WoT" contextual menu in Community > Members does not seem to do anything, I expected to be redirected to the Community > WoT view focused on the member after this action.

Fixed  in 0.9.1. db39511c4dd95effed662f3d91f03c622eefe216


Excel workbook icon

Created an Excel Workbook Icon in the same style as the other icons.
Though, not the official one, but might be a good one to get started. Icon was requested in Issue 14

Closing this PR, superseded by this commit: https://github.com/microsoft/PowerBI-Icons/commit/161023475b19f5cdba6835e2fcc24179fe87cc28


Open in Issue

Description
Rebooting fixes the issue, and the issue is: You cannot use the context menu item "Open in Windows Terminal". I have Windows 11 Home and Files installed from the Microsoft Store. Once this bug happens, the "Open in Windows Terminal" is "Open in". Personally, I have spent minutes trying to fix the terminal profiles. But the thing is, Settings -> Preferences -> Terminal Applications -> dropdown has no content. For example, the dropdown next to "Terminal applications" is blank and there are no items to select from.
Please help!
Steps To Reproduce
I'm not kind of sure.
Interacting with the app a lot and using it for a while it naturally happens.
Expected behavior
When I right-clicked somewhere, I expected to see "Open in Windows Terminal".
Files Version
Version <IP_ADDRESS>
Windows Version
OS Build: Windows 11 21H2 22000.527 / Windows Feature Experience Pack 1000.22000.527.0
Relevant Assets/Logs
This was too long so I couldnt upload but here it is:
(I used OneDrive)
Password is files (if there is one)
debug_log : https://1drv.ms/t/s!AoR6Pt7sgZKbhJhRrhE5Op1o4raFPA?e=rOJHfR
debug_fulltrust_log : https://1drv.ms/t/s!AoR6Pt7sgZKbhJhSuUuvUldHSdiHNw?e=dGF2Ps

Some personal information may be included in the logs (such as the username 'heewo'), please ignore that and fix this issue fast.

@yaichenbaum

Merging with #8100


Onboarding fix archived page

Issue
Example : Closes #779
What is the change?
refactor the archived page design for good UX
Example :

Done this
Made these changes

Is Development Tested?

[ ] Yes
[ ] No

Before / After Change Screenshots
For visual or interaction changes. Please provide a video / screenshot.
Example:
Before :

After :

Note :
What to delete and what not to

Keep the headings and answer the questions.
Delete the examples
Delete the description below headings What is the change? & Before/After Screenshots

can we add a little margin on the left and right side in mobile? may be 10-15px. that will look better

can we add a little margin on the left and right side in mobile? may be 10-15px. that will look better

No, as the mobile screen is small and if we make the card more small test alignment and overall look won't good at all


location where seal damaged pots were found

As a [researcher] I want [the app to offer the app-user the chance to log the location of where they found the seal damaged pot(s)]
maybe two options: 'current location' and 'input location'

Pot damage not currently included in observations, but mechanism for picking location is established.


Add callback in FileSingleStreamSpiller to clear Factory cache on disk error

Follow up work to #2444
Not married to the callback structure. It seemed the most efficient way to get it done without refactoring a bunch of code. If a better way comes to mind, let me know.

@kokosing this should be ready for review again.
It was a busy week at work so it took me a while to get around to.

@kokosing Was there anything else you wanted to see in this commit or is this good to merge?

Merged, thanks!


Improve topic service macro on ROS2

Previously it would not work if you also generated other messages in the same project.

@pjreed this has been tested and should be good to go. Not sure why only those builds are failing or how to re-run them.

I think those builds only ran in the first place because this PR originally targeted the master branch; those are doing pull request testing buildings for Kinetic/Melodic/Noetic, which are all ROS1 so they don't matter for this PR anyway.


Add redirect param to auth0 shortcode config

Add a parameter to the shortcode so the user can specify a landing page after auto-login happens. This is useful for a site where a user can navigate to a point without being authenticated. With current behavior, the newly signed up and authenticated user is redirected to the home of the site, and must navigate back to where they were

done with check redirections in shortcode and widget #139 (for V.Next, will be released next week)


Deterministic Anchor Tags

Environment

Elixir & Erlang/OTP versions (elixir --version):
Erlang/OTP 24 [RELEASE CANDIDATE 3] [erts-12.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:no-native-stack]
Elixir 1.12.0-rc.1 (ce321f8) (compiled with Erlang/OTP 24)

Operating system:
macOS

How have you started Livebook (mix phx.server, livebook CLI, Docker, etc):
Docker

Browsers that reproduce this bug (the more the merrier):
Safari, Brave, Firefox

Include what is logged in the browser console:
Nothing

Include what is logged to the server console:
Nothing

Current behavior
If you load a Livebook from a URL, any anchor links provided to sections are invalid and navigation is unable to be performed. Without looking at the implementation, I'm assuming this is randomly generated when the Livebook is loaded.
Expected behavior
I would expect for sections anchors to be deterministically generated so that a Livebook imported from a URL could preserve the intended behavior of links using anchor tags.

I used Livebook to write the majority of a blog post. When I went to validate the anchor tags by importing the livebook from my github repo, the anchor tags were invalid for that session and no navigation occurs to different sections.

Hi @Steven0351, thanks for the report! Are you using anchor tags for sections/headers or for cells? We can probably make them deterministic for headers based on the contents but harder for cells.

For the sections/headers, specifically I'm just taking the anchor from whatever the link button here gives me and tossing it in a [link](#anchor)

Hey @Steven0351!

We can probably make them deterministic for headers based on the contents but harder for cells.

Yeah, we could dynamically generate the element id and anchor link based on the content, there's no reason to couple it to the generated id. We could generate anchors for cells based on their position within section, but that's too brittle as adding/moving a cell would invalidate references.

Thanks @cheerfulstoic! The main idea is to generate it based on the section title itself. Similar to what GitHub does. Things to watch out for:

We need to remove any character that is not valid in ID/anchor tab. For example, what is the anchor for a title of ## Hello José=!?:? You can see what GitHub does as a reference.

There is also the issue with duplicate section titles. I will discuss with @jonatanklosko how we want to handle those and post another comment soon.

If we have duplicate section titles, then we need to add suffixes to later sections. For example, if we have two sections titled "Example", one needs to have "example" as anchor and the other is "example-2". We can compute the section anchors inside the data_view computation (https://github.com/elixir-nx/livebook/blob/00edceafc9026ba1490b5032ccd3070dd57465b9/lib/livebook_web/live/session_live.ex#L724) but we probably want to do so only if a section changes.

@josevalim (…) We need to remove any character that is not valid in ID/anchor tab. For example, what is the anchor for a title of ## Hello José=!?:? You can see what GitHub does as a reference. (…)

Here is specification for HTML 4:

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Source: https://www.w3.org/TR/html4/types.html#type-id

and here is specification for HTML 5:

<IP_ADDRESS> The id attribute
The id attribute specifies its element's unique identifier (ID). [DOMCORE]
The value must be unique amongst all the IDs in the element's home subtree and must contain at least one character. The value must not contain any space characters.
Source: https://www.w3.org/TR/html5-author/global-attributes.html#the-id-attribute

Which one we would follow?
Here is a regular expressions for id validation:
# HTML 4
~r/^[A-Za-z]+[\w\-\:\.]*$/

# HTML 5
~r/^[^\s]+$/

Some things that I've noticed from my looking around / testing:

I can reproduce this, but not always.  I can even get it to sometimes happen and sometimes not...  Usually when it's working, it will keep working, and when it doesn't it will keep not working 😕  Also, I just opened a new tab and pasted in a URL with a hash for a section into Firefox and it went to the section just fine.  Switching over to Chrome, it scrolls down to the section for a brief moment and the scrolls back up to the top again.  In Safari it doesn't scroll down at all
The IDs currently being generated look like this: cell-2du4ixsb63sf23nq2uzale6w5a7lo5eh, so they should match both HTML4 and 5 (not that we couldn't/shouldn't change the hash which is generated, but it terms of testing the bug with scrolling not working).  The way that LiveView currently works (as far as I can tell) is to get window.location.hash, remove the beginning #, use document.getElementById, and then call scrollIntoView() on the element if it exists (reproducing the browser anchor link behavior in JS).
To @Steven0351 's original thought as to the changing of the IDs, I don't think that's the case.  It seems like the ID stays the same whenever you open a new tab.  I haven't looked closely, but I think it's persisted in your LiveView session for at least as long as that particular instance is running.  But I would guess if you saved a livebook markdown file and then started up the server again that it wouldn't be saved, so coming up with some sort of anchor scheme based on the headers / sections would be good

I'm still looking, but I'm wondering if it's maybe a timing thing with LiveView itself.  Like, maybe it tries to find the element / scroll before the whole page is loaded.  Maybe this is something that doesn't happen until you get to a certain sized LiveView app?  Just a guess for now

@Steven0351 I believe the issue is that the IDs change once you kill the server and open up the notebook again. So you can't say: "import this and then access this anchor tag". :) Also note that the goal is to fix this only for sections.

@Steven0351 I believe the issue is that the IDs change once you kill the server and open up the notebook again. So you can't say: "import this and then access this anchor tag". :) Also note that the goal is to fix this only for sections.

That does appear to be the behavior, I never noticed this issue until I tried the import feature and all my section links were broken.

Ah, right, that makes things much simpler.  I read that before, but I didn't process it right :)
So it's easy enough to make anchor labels for sections / enumerate ones that are the same and I'll work on that 😄
But even if you restart the server or import to a new server, you'll have a different session ID for that notebook, so the links would still be broken (if I understand correctly).  But one step at a time (and having the URL hashes be more readable is also a worthly goal)

But even if you restart the server or import to a new server, you'll have a different session ID for that notebook, so the links would still be broken

Yeah, but that's expected :) The use case is for adding references to other sections within the same notebook, so you could have a markdown cell like:
See [this section](#awesome-section)


chromium: disable decommit-pooled-pages as workaround to SIGTRAP

Workaround for this bug on chromium 131+: https://issues.chromium.org/issues/378017037
Hopefully this is not needed for long.

@oliverbestmann  You again. I just switched back from your fork to get up on the new 6.12 kernel.

I pushed an update to 6.12.4 yesterday iirc

A fix is on master, so I'll close this pr now again: https://github.com/NixOS/nixpkgs/pull/365364


ERROR:   Reason: image not found

youtube-dl -v https://www.youtube.com/watch?v=zHdoczkqEPA
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'https://www.youtube.com/watch?v=zHdoczkqEPA']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.01.23
[debug] Python version 2.7.10 - Darwin-15.3.0-x86_64-i386-64bit
[debug] exe versions: avconv present, avprobe present, ffmpeg 2.8.4, ffprobe 2.8.4
[debug] Proxy map: {}
[youtube] zHdoczkqEPA: Downloading webpage
[youtube] zHdoczkqEPA: Downloading video info webpage
[youtube] zHdoczkqEPA: Extracting video information
[youtube] zHdoczkqEPA: Downloading DASH manifest
[youtube] zHdoczkqEPA: Downloading DASH manifest
[debug] Invoking downloader on u'https://r1---sn-ci5gup-qxae.googlevideo.com/videoplayback?id=cc776873392a10f0&itag=134&source=youtube&requiressl=yes&pcm2cms=yes&pl=20&mn=sn-ci5gup-qxae&mm=31&mv=m&ms=au&ratebypass=yes&mime=video/mp4&gir=yes&clen=1707670&lmt=1400950455159473&dur=45.041&sver=3&key=dg_yt0&upn=pjXxDs3R3Ws&mt=1453788994&signature=55C9E5BC131436FA5E000FE83F041FB8E700DD95.6C5BB32E77C8097EC6FFE396C63EB8CA5BA9A75C&fexp=9407029,9408509,9413139,9416126,9417577,9418203,9418403,9419451,9420016,9420452,9422596,9423290,9423662,9423980,9424823,9425448,9425540,9425749,9426674,9427167,9427708,9427760&ip=<IP_ADDRESS>&ipbits=0&expire=1453810703&sparams=ip,ipbits,expire,id,itag,source,requiressl,pcm2cms,pl,mn,mm,mv,ms,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.f134.mp4
[download] 100% of 1.63MiB in 00:01
[debug] Invoking downloader on u'https://r1---sn-ci5gup-qxae.googlevideo.com/videoplayback?id=cc776873392a10f0&itag=141&source=youtube&requiressl=yes&pcm2cms=yes&pl=20&mn=sn-ci5gup-qxae&mm=31&mv=m&ms=au&ratebypass=yes&mime=audio/mp4&gir=yes&clen=1443519&lmt=1400950522442142&dur=45.255&sver=3&key=dg_yt0&upn=pjXxDs3R3Ws&mt=1453788994&signature=2B50682C4C1DE10A778A134D5A7C11C37F7DC7D7.4A3EDA67190620C83EB711939810F1E8ACFB518F&fexp=9407029,9408509,9413139,9416126,9417577,9418203,9418403,9419451,9420016,9420452,9422596,9423290,9423662,9423980,9424823,9425448,9425540,9425749,9426674,9427167,9427708,9427760&ip=<IP_ADDRESS>&ipbits=0&expire=1453810703&sparams=ip,ipbits,expire,id,itag,source,requiressl,pcm2cms,pl,mn,mm,mv,ms,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.f141.m4a
[download] 100% of 1.38MiB in 00:01
[ffmpeg] Merging formats into "Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.mp4"
[debug] ffmpeg command line: avconv -y -i 'file:Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.f134.mp4' -i 'file:Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.f141.m4a' -c copy -map 0:v:0 -map 1:a:0 'file:Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.temp.mp4'
ERROR:   Reason: image not found
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1737, in post_process
    files_to_delete, info = pp.run(info)
  File "/usr/local/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 407, in run
    self.run_ffmpeg_multiple_files(info['__files_to_merge'], temp_filename, args)
  File "/usr/local/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 155, in run_ffmpeg_multiple_files
    raise FFmpegPostProcessorError(msg)
FFmpegPostProcessorError

I am facing this error while downloading any video. The files are not getting merged. Tried merging using ffmpeg manually and it worked. So, not a ffmpeg issue. Any help is appreciated. Thanks!

From the log, avconv is used instead of ffmpeg:
avconv -y -i 'file:Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.f134.mp4' -i 'file:Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.f141.m4a' -c copy -map 0:v:0 -map 1:a:0 'file:Funniest Video Ever 2014  LOL  ROFL  Short Video Clip-zHdoczkqEPA.temp.mp4'

Could you run this command directly in the terminal and paste all the output?

Tried merging using ffmpeg manually and it worked.

What's your command?
Generally, if both ffmpeg and avconv are installed, youtube-dl prefer avconv. I guess your avconv is broken. If this is the case, remove it or add --prefer-ffmpeg to youtube-dl.

Cool @yan12125. Works now. Didn't know that youtube-dl prefers avconf. Thanks for your help. Closing This :smile:

--prefer-avconv did it for me.
> youtube-dl -v (pbpaste)
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'...']
[debug] youtube-dl version 2019.04.30
[debug] Python version 2.7.16 (CPython) - Darwin-17.7.0-x86_64-i386-64bit
[debug] exe versions: avconv 12.3, avprobe 12.3, ffmpeg present, ffprobe present
...
[ffmpeg] Merging formats into ....mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel 'repeat+info' -i 'file:....f133.mp4' -i 'file:....f251.webm' -c copy -map '0:v:0' -map '1:a:0' 'file:....temp.mkv'
ERROR:   Reason: image not found
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2054, in post_process
    files_to_delete, info = pp.run(info)
  File "/usr/local/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 512, in run
    self.run_ffmpeg_multiple_files(info['__files_to_merge'], temp_filename, args)
  File "/usr/local/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 235, in run_ffmpeg_multiple_files
    raise FFmpegPostProcessorError(msg)
FFmpegPostProcessorError:   Reason: image not found

So I had both. Recently heard avconv is a rewrite of ffmpeg so took it as the newer one.  Assumed it would use avconv but still generated an ffmpeg CLI string.
Found out it was having this issue:
dyld: Library not loaded: /usr/local/opt/fdk-aac/lib/libfdk-aac.1.dylib
  Referenced from: /usr/local/bin/ffmpeg
  Reason: image not found
fish: 'ffmpeg -y -loglevel 'repeat+inf…' terminated by signal SIGABRT (Abort)

I've been having an issue like this lately, but mostly I thought with my not up-to-date 10.13.6 MacOS behind by 1 minor version or so some newer programs I installed through Homebrew and such so I have been switching 1 library so far, but nothing like this library.
YT-DL is up-to-date and
Thanks!

In my case a macOS upgrade had broken my ffmpeg:
$ ffmpeg                                                                                1
dyld: Library not loaded: /usr/local/opt/x265/lib/libx265.165.dylib
  Referenced from: /usr/local/bin/ffmpeg
  Reason: image not found
dyld: Library not loaded: /usr/local/opt/x265/lib/libx265.165.dylib
  Referenced from: /usr/local/bin/ffmpeg
  Reason: image not found

brew reinstall ffmpeg did the trick for me

Same for Catalina 10.15.4, had to run brew reinstall ffmpeg

brew reinstall ffmpeg also fixed it for me on High Sierra 10.13.6

brew upgrade ffmpeg did the trick for me; no need to reinstall

@ChasonDeshotel because that reinstalls if your current version is not the latest.

@NightMachinary right but I'd never default to reinstalling software without first trying to update it. Usually reinstall means nuking your settings and starting from scratch
But TIL brew reinstall "silently preserve[s] previously specified options". Gross


Confusing path for TypeChain

Hello,
I believe TypeChain should make it clear that it only supports TypeScript bindings/interfaces for Solidity contracts.
For newcomers (such as myself), we've all read this excellent article about what TypeChain aimed to be https://blog.neufund.org/introducing-typechain-typescript-bindings-for-ethereum-smart-contracts-839fc2becf22
However to this date, it has somehow failed its original purpose. The generated wrapper at the time of the Medium article posting (4 years ago) was exactly what Dapp developers need today: completely generated wrappers for calling the contracts. Right now, only interfaces / typings are available, which developers still need to re-vamp in house to get a complete implementation working.
To give an analogy, this is like running protoc on a spec but stopping after retrieving the compiled .pb.go file but throwing away the rest of the client wrappers, then ask the team to write their own.
I do sincerely appreciate the work the community put into the project, but I would still like to be enlightened on a few project decisions:

Why going away from a complete generator solution, to just the typings?
If the reason is giving community more flexiblility in developing implementations, how hard would it be to develop a complete web3 or ethers generator so developers can write minimal code for interacting with contracts?
I do see at least one project (@0x/abi-gen) building what I had described, but I am wondering why the community hasn't built out a swagger or grpc-like solution/effort to push code generators to more languages in addition to TypeScript? Is there a project/community aiming to be the swagger for Solidity?

@taiyangc you should check out https://github.com/dethcrypto/eth-sdk
TypeChain tries to be unopinionated. Thanks to this it works in many different environments like hardhat/waffle. This was actually one of the learnings from the initial release. Coming up with own API takes a lot of effort and it's hard to make everyone happy. Currently, the quality of Web3 access libs (ethers.js, web3js) is totally different than what it used to be so it's easier to just be compatible with these libraries.
Eth-SDK on the other hand is opinionated and focuses on rapid development. You should really give it a try.

Thank you for the information. I will definitely take a look. Sorry I couldn't find a better channel to communicate.

I just added a note about eth-sdk to the readme. Closing this now.


Use raw pointers for potentially racy loads

Shared references assert immutability, so any concurrent write would be UB disregarding data race concerns. Better use raw pointers.

Thanks. Waiting for #234 to deal with the tsan error.


Document search paging

Search allows one to make queries for users on OKC. The API has a paging feature so the server does not have to send large json objects back on each query. I believe this design decision made sense for OKC at the time.
The documentation only briefly points out the page hashes returned from the search method, but it is not clear how to use them. A new section should be added to the README that describes paging in a little more detail, and a usage example should be added the samples section.

@tranhungt I'm putting together the document describing search paging. Do you think a search with paging example should be put into a separate markdown file that is linked to from the README.md (i.e. SEARCH.md)? Or would you prefer all samples to live in README.md?

Hey Mackenzie. Thanks for doing this. I think a separate markdown with link will be helpful, so you don't feel constrained be the lengthiness of the original readme.
Thanks!

Resolved https://github.com/tranhungt/okcupidjs/pull/19


add youtube playlists to seminars page

@h0rhay added a rounded utility class on the videos and implemented a flex layout 👍


Fixed issue #812

Fixed issue #812 using Approach A.

Codecov Report

Merging #842 into master will decrease coverage by 0.04%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #842      +/-   ##
=========================================
- Coverage     6.9%   6.85%   -0.05%
=========================================
  Files          95      95
  Lines        5071    5105      +34
  Branches      472     477       +5
=========================================
  Hits          350     350
- Misses       4694    4728      +34
  Partials       27      27

Impacted Files
Coverage Δ

...fr/free/nrw/commons/settings/SettingsFragment.java
45.94% <ø> (ø)
:arrow_up:

...java/fr/free/nrw/commons/upload/ShareActivity.java
0% <0%> (ø)
:arrow_up:

...mmons/contributions/ContributionsListFragment.java
0% <0%> (ø)
:arrow_up:

...ee/nrw/commons/media/MediaDetailPagerFragment.java
0% <0%> (ø)
: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 43d3f05...22ff940. Read the comment docs.

Thanks for this PR @ftsalamp .
According to my tests on android 5.0.2:

It works as intended, saves the photo to gallery on cancellation of upload.
However, tests on android 4.2.2:
Failed with security exception, gallery is stopped. With such error:
java.lang.SecurityException: Permission Denial: opening provider android.support.v4.content.FileProvider from ProcessRecord{42992670 2928:com.android.gallery3d/u0a52} (pid=2928, uid=10052) that is not exported from uid 10151

This is a quite important fix, however need some small changes to pass tests. I want to edit this PR to merge it as soon as possible, however there is several approaches to edit someone else's PR. Does anyone can tell me the best approach, to make our commit history stay clean?

@neslihanturan

Have the person git rebase to master, if possible
Create a feature branch with the same name from the same point
Pull from their branch
Do as if it were yours
I would say.
Here ftsalamp worked directly in master, but I suggest you create a feature branch for it.

Thanks @nicolas-raoul , but I have a small uncertainty. Since this changes on master branch of ftsalamp's fork, and you said create a feature branch from same point, with same name, what should be the name of the new feature branch?

How about something like bugfix-812 ?
On Sep 9, 2017 15:58, "neslihanturan"<EMAIL_ADDRESS>wrote:

Thanks @nicolas-raoul https://github.com/nicolas-raoul , but I have a
small uncertainty. Since this changes on master branch of ftsalamp's fork,
and you said create a feature branch from same point, with same name, what
should be the name of the new feature branch?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/commons-app/apps-android-commons/pull/842#issuecomment-328264535,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGFBgFoeukyE8w0Z6knWZoXtukVPcNwks5sglM2gaJpZM4O0GIo
.

It seems like my tests failed because of a problem that exists on master branch too. So I decided to resolve that issue on another PR. For now, I only resolved conflicts to be able to merge this changes, on another branch by @nicolas-raoul advise. Thanks for this changes @ftsalamp .

@neslihanturan Shall we close this so we can focus on #876 ?


Update encoding for read/subscribe/write request

Problem
update encoding for IM read/subscribe/write request and corresponding client/server
Change overview
See above
Testing
Update the existing unit tests to cover changes

What are the actual changes being made here?  And is there a reason this is one big mega-PR instead of separate PRs for read, subscribe, write?  Please keep in mind that review time goes about as O(N^2) of PR size unless the PR is just a search-and-replace...

What are the actual changes being made here? And is there a reason this is one big mega-PR instead of separate PRs for read, subscribe, write? Please keep in mind that review time goes about as O(N^2) of PR size unless the PR is just a search-and-replace...

Agree, read and subscribe have several similar encoding stuff, so i made the change in the same PR...

@yunhanw-google - merge conflicts

Agree, read and subscribe have several similar encoding stuff, so i made the change in the same PR...

I should note that this did not answer the question I actually asked....


Turned on macOS pipelines

cc @alalek @fengyuentau @asmorkalov
macOS runners are back in a proper status. I will merge it as soon as all checks passed.


upload example on play store atleast

Iupload example on play store atleast so that many devloper can knw that we can also publish this code app.
check play store restrictions let us know how you upload. if you uploaded sucessfully you can guide us how you give explanation to play store.

Hi @singhcreations
Yes I could publish the example app to the Play Store. I know that many apps that use the alarm plugin were uploaded to the Play Store already. I'll do it later when I find the time.

I created a discussion for this topic so everybody can share and discuss about their experience publishing to the Play Store: #204.

Hi @singhcreations,
To publish the example app to the Play Store, I need 20 beta testers first (details).
If you’d like to help, please join the tester list here:
https://play.google.com/apps/testing/com.gdelataillade.alarm_example
Play Store link:
https://play.google.com/store/apps/details?id=com.gdelataillade.alarm_example
Feel free to reach out if you encounter any issues. Thanks in advance!


nixos/stratis: initrd support for stratis root volumes

Hey,
I added initrd support for booting from a Stratis volume. It's mostly based on the way that it's done in Stratis' dracut module, except that I've decided not to use the stratis_setup_generator and instead just added a systemd service configuration with the required STRATIS_ROOTFS_UUID env variable.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Still I prefer using the generator, that would give us the opportunity to use stratis in the initrd without being restricted to the rootfs.

@NickCao ,
I'm afraid I don't understand your comment regarding the generator. All it does is read the stratis.rootfs.pool_uuid kernel parameter and generate a service unit with an Environment=STRATIS_ROOTFS_UUID=… line from that. The reason they do it that way is that you can use the same initrd to boot from different stratis volumes just by changing the kernel command line. But in NixOS that is impossible anyway because there is no root=… parameter on the kernel command line, so being able to configure the pool UUID on the kernel command line is pointless.

Ah I confuse the fstab generator with the root setup ones, now I see that your implementation is reasonable. A bit busy to review this these days, would you mind adding a test for this first? A side note: why split the initrd related files to a separate output? These are merely text files and should be pretty small.

@ElvishJerricco,
I've added an installer test like you suggested on Matrix, but it doesn't run. The last couple of lines in the log are:
machine # copying path '/nix/store/yvis74nnab0s8pcbyyb0k6glbbjm7viz-glibc-2.37-8-bin' to 'local'...
machine # copying path '/nix/store/d2i1ikxm4ydlq41mbm67w2yikyiswrf9-gmp-6.2.1' to 'local'...
machine # copying path '/nix/store/mln3mxagq1q7x2yg8zcxmmalhambs991-getent-glibc-2.37-8' to 'local'...
machine # copying path '/nix/store/bhhb91angi23wsr42apz1in1n9b9ilg3-glibc-2.37-8-dev' to 'local'...
machine # error: unable to download 'https://ftpmirror.gnu.org/automake/automake-1.16.5.tar.xz': Couldn't resolve host name (6)
machine # error: filesystem error: cannot rename: Invalid cross-device link [/mnt/nix/store/3yar2pnvz7ll79z3jlzx09qnhrsi7zj5-automake-1.16.5.tar.xz.drv.chroot/nix/store/gmaq49vzfrkvr714y4fhfxv100ijihin-automake-1.16.5.tar.xz] [/ni>
machine: output:
Test "Perform the installation" failed with error: "command `nixos-install < /dev/null >&2` failed (exit code 1)"
cleanup
kill machine (pid 5)
machine # qemu-kvm: terminating on signal 15 from pid 4 (/nix/store/6jx4nc20v3cfphlbypqid30q41i5vh5x-python3-3.10.11/bin/python3.10)
(finished: cleanup, in 0.13 seconds)

I have no idea what's going wrong here 🤷🏻♂

My approach of tweaking the configuration (with the amendConfig snippet) seems to be incompatible with how this test works. So I'll probably need to bite the bullet and adapt the nixos-generate-config script to generate a suitable configuration to make this work.

@NickCao, @ElvishJerricco,
There is now an installer test for this. Since Stratis can be used without encryption, Plymouth is actually not strictly required, so I've decided to remove the Plymouth requirement. And since the nixos-generate-config script generates device names like /dev/disk/by-uuid/2862e89f-b2d6-4a4b-83d4-61c4a5aecc3c rather than /dev/stratis/foo/bar and that works just as well, I've decided to remove that assertion too.

@mberndt123 I'm not a fan of this amendConfig concept, since we have extraConfig already. I can see why it's done; we don't know at eval time what the UUID is going to be. But I think there's a couple of alternatives that would be better.

You could put in extraConfig something like boot.stratis.rootPoolUuid = builtins.readFile ./uuid.txt; and then create /mnt/etc/nixos/uuid.txt in createPartitions.
If stratis will allow you to manually select a UUID when creating the pool, you could just hard code one.

I would prefer the second, but I don't know if stratis will allow you to choose the UUID.
That said, this does raise an interesting point. Shouldn't the boot.stratis.rootPoolUuid option be set in hardware-configuration.nix and generated by nixos-generate-config?

@ElvishJerricco,
You raise an interesting point with the nixos-generate-config thing. I agree that it should generate appropriate stratis configuration, but I think that setting boot.stratis.rootPoolUuid is actually not enough. Every fs can potentially sit on a stratis pool, and every fs that has neededForBoot set to true should be mounted in the initramfs. So I think it would actually make much more sense to add a stratis.poolUuid option in fileSystems and then do all the other configuration based on that. Makes sense? Wdyt?

I've now changed this so that the stratis pool UUID can be configured for every individual file system, and if any of them are required for booting, then initramfs support will be enabled automatically.

Thanks!


Practice branch

BOLD

We do not accept user solutions for this repo. The exercises are meant for you to work on locally, and optionally push to your own fork of this repo.

Sorry guys I did not know what I was doing, I tried to cancel it as soon as I made the mistake


Z_CMD setting doesn't work

In the ~/.config/fish/config.fish:
set -U Z_CMD "j"

In the fish:
❯ echo $Z_CMD                                                                                j

❯ j foo                                                                                fish: Unknown command 'j'

What am I doing wrong? I think, it has changed since the fisher 2.0 upgrade.

Actually z kind of breaks all the time. If I reinstall it, it works, but if I open an new fish session, it doesn't work there.

It was my problem with upgrading fisherman to 2.+. Solved.

@laughedelic yup, I think what happened was that you were missing the conf.d snippet.


Code object compression via bundling

Summary:
This PR adds a compression layer to all final code objects, thereby generating smaller libraries at the expense of build time. Includes minor refactoring.
Outcomes:

A new clang-offload-bundler invocation is added after assembly object linking.
getAssemblyCodeObjectFiles has been renamed to buildAssemblyCodeObjectFiles to match the name of source kernel functions.

Build
Time
Build Size (build/library/ directory)

Feature, gfx90a
8m38.902s
269M

Develop, gfx90a
8m3.921s
812M

Compression ratio for gfx90a: 3.02
Testing and Environment:
Docker: Ubuntu 24.04, ROCm 6.4 RC stack, AMD clang version 18.0.0, AMD clang-offload-bundler version 18.0.0
Tested with hipBLASLt bench

Once documentation and tests are added, I will remove from draft.

Might be worth zstd compressing the msgpack files too, they're pretty compressible. Here's an untested attempt at decompress support in case it's helpful:
diff --git a/Tensile/Source/lib/source/msgpack/MessagePack.cpp b/Tensile/Source/lib/source/msgpack/MessagePack.cpp
index de97929c..dbc397e0 100644
--- a/Tensile/Source/lib/source/msgpack/MessagePack.cpp
+++ b/Tensile/Source/lib/source/msgpack/MessagePack.cpp
@@ -28,6 +28,8 @@

 #include <Tensile/msgpack/Loading.hpp>

+#include <zstd.h>
+
 #include <fstream>

 namespace Tensile
@@ -86,6 +88,34 @@ namespace Tensile
                 return nullptr;
             }

+            // Check if the file is zstd compressed
+            char magic[4];
+            in.read(magic, 4);
+            bool isCompressed = (in.gcount() == 4 && magic[0] == '\x28' && magic[1] == '\xB5' && magic[2] == '\x2F' && magic[3] == '\xFD');
+            // Reset file pointer to the beginning
+            in.seekg(0, std::ios::beg);
+
+            if (isCompressed) {
+                // Decompress zstd file
+                std::vector<char> compressedData((std::istreambuf_iterator<char>(in)), std::istreambuf_iterator<char>());
+
+                size_t decompressedSize = ZSTD_getFrameContentSize(compressedData.data(), compressedData.size());
+                if (decompressedSize == ZSTD_CONTENTSIZE_ERROR || decompressedSize == ZSTD_CONTENTSIZE_UNKNOWN) {
+                    if(Debug::Instance().printDataInit())
+                        std::cout << "Error: Unable to determine decompressed size for " << filename << std::endl;
+                    return nullptr;
+                }
+
+                std::vector<char> decompressedData(decompressedSize);
+                size_t dSize = ZSTD_decompress(decompressedData.data(), decompressedSize, compressedData.data(), compressedData.size());
+                if (ZSTD_isError(dSize)) {
+                    if(Debug::Instance().printDataInit())
+                        std::cout << "Error: ZSTD decompression failed for " << filename << std::endl;
+                    return nullptr;
+                }
+
+                msgpack::unpack(result, decompressedData.data(), dSize);
+            } else {
             msgpack::unpacker unp;
             bool              finished_parsing;
             constexpr size_t  buffer_size = 1 << 19;
@@ -109,6 +139,7 @@ namespace Tensile

                 return nullptr;
             }
+            }
         }
         catch(std::runtime_error const& exc)
         {

@LunNova Thanks for the code snippet. I've had this idea as well and have plans to implement it. However, for the scope of this PR we'll keep it to code object files and add the .dat file compression in another PR.

@KKyang This change will increase build times by default in for hipBLASLt. One option is to add a --release flag to the install script and TensileCreateLibrary, which will trigger compressed builds, which will take longer.
What is your opinion on the default behaviour, debug (fast, large binaries) or release (slow, small binaries)?


command to kill all empty invisible item frames

something like /function mgct:item_frame/clear_invisible

issue: you might remove invisible item frames from other players that were just placed (because the other player still has to put an item in them)


Output I/O mapping information to XML file

Motivate of the pull request

[ ] To address an existing issue. If so, please provide a link to the issue:
[X] Breaking new feature. If so, please describe details in the description part.

Describe the technical details
What is currently done? (Provide issue link if applicable)

Currently, OpenFPGA has the following limitations:

[X] I/O mapping information are covered in internal data structures, which causes difficulties for end-users to know which I/O pin is mapped to which net.

What does this pull request change?

This PR improves in the following aspects:

[X] Add a new command 'write_io_mapping' to openfpga shell which can output I/O pin-to-net mapping to an XML-based file format.

Here is an example file that is outputted:
<!--
	- I/O mapping
	- Version: 1.0.0-dev+43c1e052-dirty
	- Date: Tue Apr 27 14:45:18 2021
-->
<io_mapping>
	<io name="gfpga_pad_GPIO_PAD[6:6]" net="a" dir="input"/>
	<io name="gfpga_pad_GPIO_PAD[1:1]" net="b" dir="input"/>
	<io name="gfpga_pad_GPIO_PAD[9:9]" net="out_c" dir="output"/>
</io_mapping>

Which part of the code base require a change

[ ] VPR
[ ] Tileable routing architecture generator
[ ] OpenFPGA libraries
[ ] FPGA-Verilog
[X] FPGA-Bitstream
[ ] FPGA-SDC
[ ] FPGA-SPICE
[X] Flow scripts
[ ] Architecture library
[ ] Cell library
[X] Documentation
[X] Regression tests
[ ] Continous Integration (CI) scripts

Impact of the pull request

[ ] Require a change on Quality of Results (QoR)
[ ] Break back-compatibility. If so, please list who may be influenced.

@liaokevin-ql This file outputting may help your debugging and verification.


Fix ECR endpoint URL in Harbor use-case doc

Issue #, if available: #5100
Description of changes:
Updating ECR endpoint URL in Harbor use-case workshop doc based on the findings described in the issue.
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/cherrypick release-0.14


Using xtensor as a vendorized header-only library

I'm looking at vendorizing xtensor in an application that I work on by just directly including the .hpp files in a vendor/xtensor directory. However, it requires that I have xtl installed, which in turn requires that I have nlohmann_json installed. Is there any guidance on how one can vendorize xtensor? Or are there examples of other packages that do this?

You actually don't need nlohmann_json. If not installed, a warning will be displayed upon install, but that it is.
In terms of vendoring xtensor, you could do this in many ways, such as actually using cmake to install it into your vendor directory as an install prefix.
vendor would become a standard-structured prefix with
vendor/include/xtl
vendor/include/xtensor
etc...
I would generally recommend setting up your application so that you can also not rely on vendoring if you plan on having it properly packaged for e.g. Debian, Conda...

Thanks @SylvainCorlay, especially for pointing out that nlohmann_json is not strictly required; I was able to figure out how to get it working. I'm very much enjoying using it so far. I have some suggestions for improvements in documentation but I'll create a separate issue for that (if indeed creating an issue is the preferred means of giving such feedback -- if not let me know otherwise!).

Issues or PRs are definitely always welcome!


The Xcode14 will recompile a lot of files even not change any files.

Steps to Reproduce

Use Xcode 14
Setup the env and compile engine according to wiki
compile ios engine.
Wait for compile to complete.
Close the terminal or wait somes minutes.
compile ios engine again.

Result:
A lot of files recompile again, but I didn't modify any code in these file.
This will not repo on Xcode 13 but can repo on Xcode 14.

[x]  I have reinstall Xcode and restart my mac.

same problem，is there any progress？

Any updates for this?

Hi @luckysmg Sorry for replying late. Labeling the issue for further investigation from the team.

I have definitely seen this too, it wastes a lot of time.  @zanderso where would this investigation start, file a ninja bug against chromium?

@luckysmg @jmagman Could you give the exact flutter/tools/gn command line that causes this to repro? I didn't a quick check of an ios_debug build at tip-of-tree, and this didn't happen.

I run this shell in engine dictionary
cd src
./flutter/tools/gn --ios --unoptimized
./flutter/tools/gn --unoptimized

ninja -C out/ios_debug_unopt && ninja -C out/host_debug_unopt

It doesn't always happen when I gn/ninja, maybe 1/3 of the time, often if there's a few minutes between runs.

@jmagman Yes. For me this can repo more frequently..😭😭

I haven't been able to reproduce this with Xcode 14. Two debugging options.
Easy:
After an unexpected rebuild: Attach the result of https://github.com/nico/ninjatracing, and I'll take a look. That will explain what is rebuilding unexpectedly, but not necessarily why.
Hard:
During an unexpected rebuild: Run ninja with the -d explain flag. That will produce some possibly difficult to interpret output that will explain why the rebuild is happening.

Here
https://github.com/nico/ninjatracing/issues/28

Some things to try:

In the build output, check to see how many files are being recompiled. If its all of them with a message that says the some build.ninja hash was different, then you probably have multiple versions of ninja installed. Check with which -a ninja. I know homebrew likes to install ninja silently.
Don't re-invoke flutter/tools/gn in the interim (as that will re-generate the Xcode project) but add the -d explain tag like @zanderso  mentioned.

which -a ninja out: /Users/wjr/depot_tools/ninja is install by depot tools
Yes. I recomplie the engine with invoking flutter/tools/gn every time..... Now I just invoke it only when needed. And it works fine😄.

Emm but I invoked it every time when using Xcode13.....But I don't know why Xcode 14 will mark them dirty🤔.............

I have the same issue. It sometimes recompiles a bunch of files and sometimes only a few, even though I've only been working in one file.
Command I run: ./flutter/tools/gn --no-goma --ios --simulator --unoptimized --simulator-cpu=arm64 && ninja -C out/ios_debug_sim_unopt_arm64
File I've been editing: https://github.com/flutter/engine/blob/main/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm
Easy solution/ninjatracing:
trace.txt
Btw: When I generated this, it had recompiled 2309 files.
Running which -a ninja returns: /Users/vashworth/Development/depot_tools/ninja
Xcode version 14.0.1

From the traces, it looks like a full invalidation of either the host or target tools.

Can you ask Ninja for an explanation via the -d explain flag? The instructions on how to do this and view the results in Xcode are:

Beware that the build steps will be re-generated after each Ninja run so you'll need to add the flag again.
If you see this outside of Xcode, you can add the -d explain on the command line manually.

I ran outside of Xcode in the terminal
explain.txt

If you see this outside of Xcode, you can add the -d explain on the command line manually.

@chinmaygarde Not sure if those logs help, it thinks everything is dirty but doesn't explain why...
ninja explain: command line changed for clang_arm64/obj/third_party/flatbuffers/grpc/src/compiler/flatc.cpp_generator.o
ninja explain: clang_arm64/obj/third_party/flatbuffers/grpc/src/compiler/flatc.cpp_generator.o is dirty
ninja explain: command line changed for clang_arm64/obj/third_party/flatbuffers/grpc/src/compiler/flatc.go_generator.o
ninja explain: clang_arm64/obj/third_party/flatbuffers/grpc/src/compiler/flatc.go_generator.o is dirty

Does Xcode do any sort of indexing that might be updating file access timestamps? Updating file timestamps could confuse ninja.

cc @yjbanov @nbayati

I've managed to make ninja print the commands that are changed. It turns out they're using different XCode SDK versions:
Before: /Users/tongmu/goma/gomacc  ../../buildtools/mac-x64/clang/bin/clang++ -MD -MF obj/out/host_debug_unopt/gen/flutter/fml/_fl_fml_fixtures._fl__fl_fml_fixtures.o.d -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_DISABLE_AVAILABILITY=1 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -D_DEBUG -I../.. -Igen -I../../third_party/libcxx/include -I../../third_party/libcxxabi/include -I../../build/secondary/third_party/libcxx/config -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.sdk -mmacosx-version-min=10.14.0 -fno-strict-aliasing -fstack-protector-all -arch x86_64 -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-deprecated-copy -Wno-psabi -Wno-unqualified-std-cast-call -Wno-non-c-typedef-for-linkage -Wno-range-loop-construct -Wunguarded-availability -Wno-deprecated-declarations -fvisibility=hidden -stdlib=libc++ -Wstring-conversion -Wnewline-eof -O0 -g2 -fvisibility-inlines-hidden -std=c++17 -fno-rtti -nostdinc++ -nostdinc++ -fvisibility=hidden -fno-exceptions  -c gen/flutter/fml/_fl__fl_fml_fixtures.cc -o obj/out/host_debug_unopt/gen/flutter/fml/_fl_fml_fixtures._fl__fl_fml_fixtures.o
Currnt: /Users/tongmu/goma/gomacc  ../../buildtools/mac-x64/clang/bin/clang++ -MD -MF obj/out/host_debug_unopt/gen/flutter/fml/_fl_fml_fixtures._fl__fl_fml_fixtures.o.d -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_DISABLE_AVAILABILITY=1 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -D_DEBUG -I../.. -Igen -I../../third_party/libcxx/include -I../../third_party/libcxxabi/include -I../../build/secondary/third_party/libcxx/config -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -mmacosx-version-min=10.14.0 -fno-strict-aliasing -fstack-protector-all -arch x86_64 -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-deprecated-copy -Wno-psabi -Wno-unqualified-std-cast-call -Wno-non-c-typedef-for-linkage -Wno-range-loop-construct -Wunguarded-availability -Wno-deprecated-declarations -fvisibility=hidden -stdlib=libc++ -Wstring-conversion -Wnewline-eof -O0 -g2 -fvisibility-inlines-hidden -std=c++17 -fno-rtti -nostdinc++ -nostdinc++ -fvisibility=hidden -fno-exceptions  -c gen/flutter/fml/_fl__fl_fml_fixtures.cc -o obj/out/host_debug_unopt/gen/flutter/fml/_fl_fml_fixtures._fl__fl_fml_fixtures.o

Temporary solution: Go to /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ and remove all SDKs but the latest one. (For debugging purposes, I renamed them instead of removing.)
Although it'd be better to check out why gn would cause a different SDK version to be chosen.

In Xcode 13.4 it doesn't have the symlink without the minor version:
drwxr-xr-x  7 m  primarygroup  224 May 27  2022 MacOSX.sdk
lrwxr-xr-x  1 m  primarygroup   10 May 27  2022 MacOSX12.3.sdk -> MacOSX.sdk

In Xcode 14 I see macOS 12 and 12.3 but they are both symlinked to the same directory.
drwxr-xr-x  7 m  primarygroup  224 Sep 20 14:34 MacOSX.sdk
lrwxr-xr-x  1 m  primarygroup   10 Sep 20 14:34 MacOSX12.3.sdk -> MacOSX.sdk
lrwxr-xr-x  1 m  primarygroup   10 Sep 20 14:34 MacOSX12.sdk -> MacOSX.sdk

In Xcode 14.1 beta 3 (the newest one I have installed) it's 13 and 13.0:
drwxr-xr-x  7 m  primarygroup  224 Oct  4 15:31 MacOSX.sdk
lrwxr-xr-x  1 m  primarygroup   10 Oct  4 15:30 MacOSX13.0.sdk -> MacOSX.sdk
lrwxr-xr-x  1 m  primarygroup   10 Oct  4 15:30 MacOSX13.sdk -> MacOSX.sdk

on that version:
$ cd src/build/mac
$ python find_sdk.py --print_sdk_path 10.14
/Users/m/Applications/Xcode-14-1_beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk
13.0

which is correct.  I wonder why that command would be thrashing between different versions...
Maybe there's a bug in the best_sdk logic and it's not stably returning the newest
https://github.com/flutter/buildroot/blob/d8c99053ab3ea5aa8560a453462566229a812ea7/build/mac/find_sdk.py#L73-L74
https://github.com/flutter/buildroot/blob/d8c99053ab3ea5aa8560a453462566229a812ea7/build/mac/find_sdk.py#L26-L28

Yup, even running that find_sdk.py back-to-back it's swapping between MacOSX13.sdk and MacOSX13.0.sdk.
xcodebuild -showsdks -json is returning the same sdkVersion and canonicalName for different sdkPaths:
  {
    "canonicalName" : "macosx13.0",
...
    "sdkPath" : "/Users/magder/Applications/Xcode-14-1_beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.sdk",
    "sdkVersion" : "13.0"
  },
  {
    "canonicalName" : "macosx13.0",
...
    "sdkPath" : "/Users/magder/Applications/Xcode-14-1_beta3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk",
    "sdkVersion" : "13.0"
  },

and the order isn't stable, so it keeps swapping which path is last.

Great investigation @dkwingsmt!  PR out at https://github.com/flutter/buildroot/pull/652.  Would you be able to re-add the old symlink and confirm that PR fixes the issue for you?
Or @luckysmg or @vashworth may be able to validate that fix?

I placed the symlink back and can verify I have not met this issue any more for now. :)

Buildroot roll at https://github.com/flutter/engine/pull/37991

Very Thanks @jmagman for working on this (^▽^)

And thanks @dkwingsmt for cracking the case!


angular2-multiselect-dropdown v3.1.0 can not work in IE11

I am trying to use angular2-multiselect-dropdown v3.1.0 in my angular project. It can work well in chrome, but in IE11, when I select item in dropdown list, IE11 is just pending there and has no response any more. I saw the console log by F12, but there is no error either.
but when I open the official website (below link) in IE11, the dropdown works well.
https://cuppalabs.github.io/angular2-multiselect-dropdown/#/basic
Does anyone know the reason? did I miss anything?
this is my package.json

"dependencies": {
"@angular/animations": "^4.4.4",
"@angular/common": "^4.4.4",
"@angular/compiler": "^4.4.4",
"@angular/core": "^4.4.4",
"@angular/forms": "^4.4.4",
"@angular/http": "^4.4.4",
"@angular/platform-browser": "^4.4.4",
"@angular/platform-browser-dynamic": "^4.4.4",
"@angular/router": "^4.4.4",
"ag-grid": "^18.0.1",
"ag-grid-angular": "^18.0.1",
"angular2-multiselect-dropdown": "^3.1.0",
"bootstrap": "^3.3.7",
"chart.js": "^2.7.2",
"core-js": "^2.5.1",
"moment": "^2.21.0",
"ng2-charts": "^1.6.0",
"ngx-bootstrap": "^2.0.5",
"rxjs": "^5.1.0",
"zone.js": "^0.8.18"
},
"devDependencies": {
"@angular/cli": "^1.4.5",
"@angular/compiler-cli": "^4.4.4",
"@angular/language-service": "^4.4.4",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "^2.0.3",
"@types/node": "^6.0.89",
"codelyzer": "~3.0.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "^1.7.1",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.0.4",
"tslint": "~5.3.2",
"typescript": "~2.3.3"
}

I think you have an implementation issue in your project. Please drop a mail to me. This is not a component issue. Hence closing it here.

@CuppaLabs  on click of outside it is not closing  event in chrome .please provide the solution how to fix it.

I am also facing the same issue. Its working fine with Chrome and Edge edge browser buts its not working in IE browser..
What is the issue?

@SasikalaGanapathy  there is one Boolean flag  that we need to  active and deactivate when we are clicking outside .  <angular2-multiselect #participantsDropDown [data]="participantList" [(ngModel)]="selectedParticipantList" [settings]="participantsDropDownSettings"
(onSelect)="selectParticipants($event)" (onDeSelect)="OnParticipantsDeSelect($event)">

<input  [attr.disabled]= "participantList.length>0 ? null : true"type="text" (keyup)="getUserListWithQuery($event,'participant')" placeholder="{{resourceService?.frmelmnts?.prmpt?.search}}"
/>

@ViewChild('participantsDropDown') participantsDropDown;
then use like that
this.participantsDropDown.isActive = false;


Error executing the command docker-compose up

When running docker-compose up the console keeps loading and localhost:8088 does not load. But running the command to run superset on non-dev does work, but I need to run it in developer mode to see my local changes.

I also ran into issues where docker-compose stops working locally after pulling the latest changes. But mine shows an error where it failed to load "slack_sdk". I did try to reinstall the dependencies with pip, and verified I have a "slack-sdk" installed with the correct version. However, when running it with docker-compose, it's not happy with the underscore.  After that, it works for me.

Do you solve this? I get similar problems: the superset-websocket fail when use docker-compose up.

yes, I hit the issue as well
2023-06-22 22:12:27
2023-06-22 22:12:27 ><EMAIL_ADDRESS>start
2023-06-22 22:12:27 > node dist/index.js start
2023-06-22 22:12:27
2023-06-22 22:12:27 {"date":"Fri Jun 23 2023 05:12:27 GMT+0000 (Coordinated Universal Time)","error":{},"exception":true,"level":"error","message":"uncaughtException: Please provide a JWT secret at least 32 bytes long\nError: Please provide a JWT secret at least 32 bytes long\n    at Object.<anonymous> (/home/superset-websocket/dist/index.js:75:11)\n    at Module._compile (node:internal/modules/cjs/loader:1198:14)\n    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)\n    at Module.load (node:internal/modules/cjs/loader:1076:32)\n    at Function.Module._load (node:internal/modules/cjs/loader:911:12)\n    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)\n    at node:internal/main/run_main_module:22:47","os":{"loadavg":[1.38,1.78,2.61],"uptime":20568},"process":{"argv":["/usr/local/bin/node","/home/superset-websocket/dist/index.js","start"],"cwd":"/home/superset-websocket","execPath":"/usr/local/bin/node","gid":1000,"memoryUsage":{"arrayBuffers":341576,"external":1562460,"heapTotal":21794816,"heapUsed":15975536,"rss":59805696},"pid":18,"uid":1000,"version":"v16.20.1"},"stack":"Error: Please provide a JWT secret at least 32 bytes long\n    at Object.<anonymous> (/home/superset-websocket/dist/index.js:75:11)\n    at Module._compile (node:internal/modules/cjs/loader:1198:14)\n    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1252:10)\n    at Module.load (node:internal/modules/cjs/loader:1076:32)\n    at Function.Module._load (node:internal/modules/cjs/loader:911:12)\n    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)\n    at node:internal/main/run_main_module:22:47","trace":[{"column":11,"file":"/home/superset-websocket/dist/index.js","function":null,"line":75,"method":null,"native":false},{"column":14,"file":"node:internal/modules/cjs/loader","function":"Module._compile","line":1198,"method":"_compile","native":false},{"column":10,"file":"node:internal/modules/cjs/loader","function":"Module._extensions..js","line":1252,"method":".js","native":false},{"column":32,"file":"node:internal/modules/cjs/loader","function":"Module.load","line":1076,"method":"load","native":false},{"column":12,"file":"node:internal/modules/cjs/loader","function":"Module._load","line":911,"method":"_load","native":false},{"column":12,"file":"node:internal/modules/run_main","function":"Function.executeUserEntryPoint [as runMain]","line":81,"method":"executeUserEntryPoint [as runMain]","native":false},{"column":47,"file":"node:internal/main/run_main_module","function":null,"line":22,"method":null,"native":false}]}
2023-06-22 22:12:27 config.json file not found
2023-06-22 22:12:30 npm notice
2023-06-22 22:12:30 npm notice New major version of npm available! 8.19.4 -> 9.7.2
2023-06-22 22:12:30 npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.7.2>
2023-06-22 22:12:30 npm notice Run `npm install -g<EMAIL_ADDRESS>to update!
2023-06-22 22:12:30 npm notice

Do you solve this? I get similar problems: the superset-websocket fail when use docker-compose up.

Does anyone have the fix for this?

cp superset-websocket/config.exmpole.json superset-websocket/config.json
jwtSecret:"123123123123123123123123123123123123123123123123123123123123123123123123123123"

Hit the issue now with a fresh clone! Does anyone have a fix?
"message":"uncaughtException: Please provide a JWT secret at least 32 bytes long\nError: Please provide a JWT secret at least 32 bytes long

@rusackas
This issue I have opened in discussion and it is also logged here. We have no update on this or a good fix. Can you help out?

A few things to disambiguate.... we might be dealing with multiple things here, so let's try to stay on one thread
• Is this happening on an official release, or on master?
• If this is happening on superset-websocket, should we treat that as a separate issue, or are these directly related?
• Does the message about providing a secret go away if you... provide a secret?
• If this thread is about starting superset itself (is it, anymore?) then what are the errors people are encountering?
• If you start docker in non-dev mode, what developer processes are blocked? You can at least still run the frontend with hot-reloading in a separate thread... not sure about backend changes.

Does the message about providing a secret go away if you... provide a secret?
Yes. After adding content to superset-websocket/config.json#jwtSecret (a copy of superset-websocket/config.example.json)
its gone...


fix: 'GenerationChunk' object has no attribute 'message'

Add handling of corner case where last_response.text can be empty - in case of vertex AI LLMs.
Solves this issue: https://github.com/langfuse/langfuse/issues/1905

@shenghann thanks a lot for the contribution! I will merge this and add this to the next release

@shenghann thanks a lot. It just went live here: https://github.com/langfuse/langfuse-python/releases/tag/v2.29.0


0.13.0 isn't released as podspec

0.13.0 isn't pushed als podspec. https://github.com/CocoaPods/Specs/tree/master/Specs/f/1/c/Mux-Stats-Google-IMA doesn't contain the new version

@andrewjl-mux did you forget to publish this

Hey @welsinga, thank you for letting us know. 0.13.0 is now available: https://github.com/CocoaPods/Specs/tree/master/Specs/f/1/c/Mux-Stats-Google-IMA/0.13.0


insertImage with URL not showing image

I've been tried insertImage with local image, the image is showing. But when I tried with URL the image not showing.
even I tried to set the webview settings (javascriptenabled, loadimagesautomaticaly, etc) still not working.
What should I do?

sorry for my mistake, I forgot to add "cleartexttraffic" on manifest.


[bug] Can't insert multiple images in a row without having to hit preview icon again

Version: 1.1 GitHub APK
To replicate:

edit note
tap on the insert image icon
insert image from storage or Google photos
try to hit insert image icon again to insert another image
the app will not let you insert another image before tapping the eyeball (view/preview) icon again.

Feature request would be to also allow inserting multiple images at one time instead of having to singularly select each one.
Thank you for the awesome app.

Ah yes. I see the problem. I will fix that, thank you for telling me.

I will add your feature request (inserting multiple images, not just once every click) in the next updates :)

Thanks for your kind words! I will keep bringing in more features in this app soon.


if the sqlite db file for local metadata is empty, things break

This means first installation runs fail with no way to fix.

The related code has now been removed to refocus Satip with #7 with the EUMETSAT data transformation and such now taking place in nowcasting-dataset