custom_op (Registered only GPU kernel) failed to load

Hi,
I'm new to tensorflow serving. I'm trying to serving my trained model via simple_tensorflow_serving. However, after I run next line command, it failed to recognize the custom_ops that only registed with GPU kernels.
simple_tensorflow_serving --model_base_path="./models/pointnet2_sem_seg/" --custom_op_paths="./custom_ops/" --session_config='{"log_device_placement": true, "allow_soft_placement": true, "allow_growth": true, "per_process_gpu_memory_fraction": 0.5}'

Result:
2019-04-25 10:26:55 INFO     custom_op_paths: ./custom_ops/
2019-04-25 10:26:55 INFO     debug: False
2019-04-25 10:26:55 INFO     enable_cors: True
2019-04-25 10:26:55 INFO     model_config_file:
2019-04-25 10:26:55 INFO     host: <IP_ADDRESS>
2019-04-25 10:26:55 INFO     secret_key: secret.key
2019-04-25 10:26:55 INFO     model_name: default
2019-04-25 10:26:55 INFO     port: 8500
2019-04-25 10:26:55 INFO     enable_auth: False
2019-04-25 10:26:55 INFO     model_platform: tensorflow
2019-04-25 10:26:55 INFO     reload_models: False
2019-04-25 10:26:55 INFO     enable_colored_log: False
2019-04-25 10:26:55 INFO     log_level: info
2019-04-25 10:26:55 INFO     auth_username: admin
2019-04-25 10:26:55 INFO     auth_password: admin
2019-04-25 10:26:55 INFO     model_base_path: ./models/pointnet2_sem_seg/
2019-04-25 10:26:55 INFO     gen_client:
2019-04-25 10:26:55 INFO     bind: <IP_ADDRESS>:8500
2019-04-25 10:26:55 INFO     session_config: {"log_device_placement": true, "allow_soft_placement": true, "allow_growth": true, "per_process_gpu_memory_fraction": 0.5}
2019-04-25 10:26:55 INFO     download_inference_images: True
2019-04-25 10:26:55 INFO     secret_pem: secret.pem
2019-04-25 10:26:55 INFO     enable_ssl: False
2019-04-25 10:26:55 INFO     Load the so file from: ./custom_ops/tf_grouping_so.so
2019-04-25 10:26:55 INFO     Load the so file from: ./custom_ops/tf_interpolate_so.so
2019-04-25 10:26:55 INFO     Load the so file from: ./custom_ops/tf_sampling_so.so
2019-04-25 10:26:55.137247: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Device mapping:
/job:localhost/replica:0/task:0/device:XLA_CPU:0 -> device: XLA_CPU device
2019-04-25 10:26:55.140876: I tensorflow/core/common_runtime/direct_session.cc:307] Device mapping:
/job:localhost/replica:0/task:0/device:XLA_CPU:0 -> device: XLA_CPU device

2019-04-25 10:26:55 INFO     Put the model version: 1 online, path: ./models/pointnet2_sem_seg/1
INFO:tensorflow:Restoring parameters from ./models/pointnet2_sem_seg/1/variables/variables
2019-04-25 10:26:55 INFO     Restoring parameters from ./models/pointnet2_sem_seg/1/variables/variables
Traceback (most recent call last):
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1334, in _do_call
    return fn(*args)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1317, in _run_fn
    self._extend_graph()
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1352, in _extend_graph
    tf_session.ExtendSession(self._session)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'FarthestPointSample' with these attrs.  Registered devices: [CPU,XLA_CPU], Registered kernels:
  device='GPU'

	 [[{{node layer1/FarthestPointSample}} = FarthestPointSample[npoint=1024, _device="/device:GPU:0"](input)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1546, in restore
    {self.saver_def.filename_tensor_name: save_path})
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 929, in run
    run_metadata_ptr)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1152, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1328, in _do_run
    run_metadata)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1348, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'FarthestPointSample' with these attrs.  Registered devices: [CPU,XLA_CPU], Registered kernels:
  device='GPU'

	 [[node layer1/FarthestPointSample (defined at /home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py:175)  = FarthestPointSample[npoint=1024, _device="/device:GPU:0"](input)]]

Caused by op 'layer1/FarthestPointSample', defined at:
  File "/home/jake/anaconda3/envs/PointNetPP/bin/simple_tensorflow_serving", line 7, in <module>
    from simple_tensorflow_serving.server import main
  File "<frozen importlib._bootstrap>", line 968, in _find_and_load
  File "<frozen importlib._bootstrap>", line 957, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 697, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/server.py", line 252, in <module>
    session_config)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py", line 72, in __init__
    self.load_saved_model_version(model_version)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py", line 175, in load_saved_model_version
    session, [tf.saved_model.tag_constants.SERVING], model_file_path)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 197, in load
    return loader.load(sess, tags, import_scope, **saver_kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 350, in load
    **saver_kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 278, in load_graph
    meta_graph_def, import_scope=import_scope, **saver_kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1696, in _import_meta_graph_with_return_elements
    **kwargs))
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/meta_graph.py", line 806, in import_scoped_meta_graph_with_return_elements
    return_elements=return_elements)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func
    return func(*args, **kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/importer.py", line 442, in import_graph_def
    _ProcessNewOps(graph)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/importer.py", line 234, in _ProcessNewOps
    for new_op in graph._add_new_tf_operations(compute_devices=False):  # pylint: disable=protected-access
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3440, in _add_new_tf_operations
    for c_op in c_api_util.new_tf_operations(self)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3440, in <listcomp>
    for c_op in c_api_util.new_tf_operations(self)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3299, in _create_op_from_tf_operation
    ret = Operation(c_op, self)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1770, in __init__
    self._traceback = tf_stack.extract_stack()

InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'FarthestPointSample' with these attrs.  Registered devices: [CPU,XLA_CPU], Registered kernels:
  device='GPU'

	 [[node layer1/FarthestPointSample (defined at /home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py:175)  = FarthestPointSample[npoint=1024, _device="/device:GPU:0"](input)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jake/anaconda3/envs/PointNetPP/bin/simple_tensorflow_serving", line 7, in <module>
    from simple_tensorflow_serving.server import main
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/server.py", line 252, in <module>
    session_config)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py", line 72, in __init__
    self.load_saved_model_version(model_version)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py", line 175, in load_saved_model_version
    session, [tf.saved_model.tag_constants.SERVING], model_file_path)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 197, in load
    return loader.load(sess, tags, import_scope, **saver_kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 351, in load
    self.restore_variables(sess, saver, import_scope)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 303, in restore_variables
    saver.restore(sess, self._variables_path)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1582, in restore
    err, "a mismatch between the current graph and the graph")
tensorflow.python.framework.errors_impl.InvalidArgumentError: Restoring from checkpoint failed. This is most likely due to a mismatch between the current graph and the graph from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:

No OpKernel was registered to support Op 'FarthestPointSample' with these attrs.  Registered devices: [CPU,XLA_CPU], Registered kernels:
  device='GPU'

	 [[node layer1/FarthestPointSample (defined at /home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py:175)  = FarthestPointSample[npoint=1024, _device="/device:GPU:0"](input)]]

Caused by op 'layer1/FarthestPointSample', defined at:
  File "/home/jake/anaconda3/envs/PointNetPP/bin/simple_tensorflow_serving", line 7, in <module>
    from simple_tensorflow_serving.server import main
  File "<frozen importlib._bootstrap>", line 968, in _find_and_load
  File "<frozen importlib._bootstrap>", line 957, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 697, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/server.py", line 252, in <module>
    session_config)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py", line 72, in __init__
    self.load_saved_model_version(model_version)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py", line 175, in load_saved_model_version
    session, [tf.saved_model.tag_constants.SERVING], model_file_path)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 197, in load
    return loader.load(sess, tags, import_scope, **saver_kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 350, in load
    **saver_kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/saved_model/loader_impl.py", line 278, in load_graph
    meta_graph_def, import_scope=import_scope, **saver_kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/training/saver.py", line 1696, in _import_meta_graph_with_return_elements
    **kwargs))
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/meta_graph.py", line 806, in import_scoped_meta_graph_with_return_elements
    return_elements=return_elements)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func
    return func(*args, **kwargs)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/importer.py", line 442, in import_graph_def
    _ProcessNewOps(graph)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/importer.py", line 234, in _ProcessNewOps
    for new_op in graph._add_new_tf_operations(compute_devices=False):  # pylint: disable=protected-access
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3440, in _add_new_tf_operations
    for c_op in c_api_util.new_tf_operations(self)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3440, in <listcomp>
    for c_op in c_api_util.new_tf_operations(self)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3299, in _create_op_from_tf_operation
    ret = Operation(c_op, self)
  File "/home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1770, in __init__
    self._traceback = tf_stack.extract_stack()

InvalidArgumentError (see above for traceback): Restoring from checkpoint failed. This is most likely due to a mismatch between the current graph and the graph from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:

No OpKernel was registered to support Op 'FarthestPointSample' with these attrs.  Registered devices: [CPU,XLA_CPU], Registered kernels:
  device='GPU'

	 [[node layer1/FarthestPointSample (defined at /home/jake/anaconda3/envs/PointNetPP/lib/python3.5/site-packages/simple_tensorflow_serving/tensorflow_inference_service.py:175)  = FarthestPointSample[npoint=1024, _device="/device:GPU:0"](input)]]

Have anyone has come across this issue? What should I do next?

It seems that the GPU is not activated during restoring from checkpoint, right?


Support for when dim(X)>1?

Hi,
I just found this package and it's amazingly clean which I really like.
However, I'm not finding much on how to implement anything for when dim(X)>1.
As an example, my data set is mortality related, with two inputs (age, calendar year).  It's useful to be able to predict annually (one year ahead) so for example, given a data set for ages [50,85] and calendar years [1990,2018], I may want to leave out 2018 for prediction assessment.
On a similar note, is there any 1d plotting functionality?  For example, could I fix the year to be 2018, and put age (in [50, 85]) on the x axis?  Or, for a fixed age, plot mortality rates with year on the x axis?
If there are any examples or documentation how to do this, please send me in that direction (I cannot find any right now).
Best,
Jimmy

Hi Jimmy, thanks for the feedback! The library should be able to train with more than one input dimension, unfortunately there is not an example right now showcasing that. Basically, all functions in Data and Dataset should be able to handle multiple input dimensions by passing arrays instead of values. The LoadCSV and LoadDataframe support loading multiple input dimensions  as well. The only thing missing is plotting functionality, which you mentioned, including plotting 2D or 3D graphs and marginal distributions, i.e. plotting a 1D graph for a 2D dataset by fixing one axis. This is not trivial at all, which is why we have it on our (future) todo list in #2, for now you'll have to manually implement that for your specific use case. Please let us know if training or data manipulation shows problems with >1D data sets!

Thanks for the quick reply!
It was actually incredibly easy to train the model.  My question is regards to labelling data for leave out testing purposes, which seems to only work when dim(X)=1.
I believe I could hand-code a way to handle other things (prediction, plotting, etc.), but it would be nice to be able to utilize the built-in test set code for prediction purposes.
For reference, my X is a mogptk DataFrame with columns "age" and "calendar year".  If I try to use remove_range, it looks something like this:
for i, channel in enumerate(mortData):
    channel.remove_range('2017-11-17', None)
Traceback (most recent call last):
  File "C:\Users\jrisk\anaconda3\envs\gp-mort\lib\site-packages\IPython\core\interactiveshell.py", line 3427, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-48767bb2aae4>", line 2, in <module>
    channel.remove_range('2017-11-17', None)
  File "C:\Users\jrisk\anaconda3\envs\gp-mort\lib\site-packages\mogptk\data.py", line 566, in remove_range
    raise ValueError("can only remove ranges on one dimensional input data")
ValueError: can only remove ranges on one dimensional input data

Obviously this will give an error from the perspective of it not knowing what column I want to remove the range from, but regardless, this error is suggesting to me that there's not a way to utilize remove_range to handle my task.  Is there a functionality I'm missing, or an easy workaround?

Yes, I'll try and work on a solution, probably next week

Actually got to it just now, please report if it works correctly. Note that the library lacks multi input dimension support in much of the Data class yet.

Thank you so much for the prompt response!  It does work.

I've further improved support for 1 < input_dims in the code with https://github.com/GAMES-UChile/mogptk/commit/d51c59c285a29aadf894cac8e4bdda0a169591ea, https://github.com/GAMES-UChile/mogptk/commit/751975a250ae0b99478d01164f72a528020ddf8f, and https://github.com/GAMES-UChile/mogptk/commit/16ecf9649a0a6d694e1a4d00cc624afd11a0a195. I haven't had time to check all the new functionality fully, but by the looks it seems to work. Let me know if you git any bumps ;-)

感谢您的快速回复！
训练模型实际上非常容易。我的问题是关于为遗漏测试目的标记数据，这似乎只在 dim(X)=1 时有效。
我相信我可以手动编写一种方法来处理其他事情（预测、绘图等），但是能够利用内置的测试集代码进行预测会很好。
作为参考，我的 X 是一个 mogptk 数据框，其中包含“年龄”和“日历年”列。如果我尝试使用remove_range，它看起来像这样：
for i, channel in enumerate(mortData):
    channel.remove_range('2017-11-17', None)
Traceback (most recent call last):
  File "C:\Users\jrisk\anaconda3\envs\gp-mort\lib\site-packages\IPython\core\interactiveshell.py", line 3427, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-48767bb2aae4>", line 2, in <module>
    channel.remove_range('2017-11-17', None)
  File "C:\Users\jrisk\anaconda3\envs\gp-mort\lib\site-packages\mogptk\data.py", line 566, in remove_range
    raise ValueError("can only remove ranges on one dimensional input data")
ValueError: can only remove ranges on one dimensional input data

显然，从不知道我想从哪个列中删除范围的角度来看，这会给出一个错误，但无论如何，这个错误向我暗示，没有一种方法可以remove_range用来处理我的任务。是否有我缺少的功能或简单的解决方法？

Hi, jimmyrisk, I'm not finding much on how to implement anything for when dim(X)>1,too. However, you said It was actually incredibly easy to train the model. Do you mean when dim(X)>2?, If so, can you spare me your advice or example?
Best,
GHS

Thanks for the quick reply!
It was actually incredibly easy to train the model. My question is regards to labelling data for leave out testing purposes, which seems to only work when dim(X)=1.
I believe I could hand-code a way to handle other things (prediction, plotting, etc.), but it would be nice to be able to utilize the built-in test set code for prediction purposes.
For reference, my X is a mogptk DataFrame with columns "age" and "calendar year". If I try to use remove_range, it looks something like this:
for i, channel in enumerate(mortData):
    channel.remove_range('2017-11-17', None)
Traceback (most recent call last):
  File "C:\Users\jrisk\anaconda3\envs\gp-mort\lib\site-packages\IPython\core\interactiveshell.py", line 3427, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-48767bb2aae4>", line 2, in <module>
    channel.remove_range('2017-11-17', None)
  File "C:\Users\jrisk\anaconda3\envs\gp-mort\lib\site-packages\mogptk\data.py", line 566, in remove_range
    raise ValueError("can only remove ranges on one dimensional input data")
ValueError: can only remove ranges on one dimensional input data

Obviously this will give an error from the perspective of it not knowing what column I want to remove the range from, but regardless, this error is suggesting to me that there's not a way to utilize remove_range to handle my task. Is there a functionality I'm missing, or an easy workaround?

Hi, jimmyrisk, I'm not finding much on how to implement anything for when dim(X)>1,too. However, you said It was actually incredibly easy to train the model. Do you mean when dim(X)>2?, If so, can you spare me your advice or example?
Best,
GHS

Hi Jimmy, thanks for the feedback! The library should be able to train with more than one input dimension, unfortunately there is not an example right now showcasing that. Basically, all functions in Data and Dataset should be able to handle multiple input dimensions by passing arrays instead of values. The LoadCSV and LoadDataframe support loading multiple input dimensions as well. The only thing missing is plotting functionality, which you mentioned, including plotting 2D or 3D graphs and marginal distributions, i.e. plotting a 1D graph for a 2D dataset by fixing one axis. This is not trivial at all, which is why we have it on our (future) todo list in #2, for now you'll have to manually implement that for your specific use case. Please let us know if training or data manipulation shows problems with >1D data sets!

Hi, tdewolff. Like Jimmy, I'm not finding much on how to implement anything for when dim(X)>1,too. You say the library should be able to train with more than one input dimension, please send me any examples or documentation how to do this.
Thank you very much
Best,
GHS

As I responded to you privately, I've uploaded an example of using multi-input datasets with MOGPTK here: https://games-uchile.github.io/mogptk/examples.html?q=07_Multi_Input
Please be aware that you need to update to the latest version from the repository. That is, you have to do a git pull and make sure to deinstall the toolkit pip uninstall mogptk and then install from the mogptk directory as pip install --upgrade -e .. Please let me know if you have any questions!


Add CodeCov root-directory YAML

The purpose of this PR is to get CodeCov running with the Bot and baseline on future PRs and maybe also to add a few more files into the coverage run(s).
Cc: @mborland

There is a file in the root right now called .codecov.yaml. You can overwrite that one since it clearly didn't work.

Hi Matt (@mborland) I'm still not sure if we have the automation running exaclty right.
We might have to merge this and then see.
Also you now need to add the codecov job as a required job in Branch Protection I believe...

I added codecov patch as required. Project is unmarked because I don't think we are at the set threshold yet, and didn't want to block everything.

added codecov patch as required

Cool.
I'm still a bit foggy on how all this works. I thought I reduced the tolerances to such a relaxed state in root-codecov.yml that it might be OK. Now I see that codecov/patch is expected for quite a while and the Bot has not commented on this PR. I kind of forgot what to do at this point, ...

a bit foggy on how all this works.

But it does, in fact, work. I'll merge this for now with the goal of increasing the coverage as we plow on ahead...


WIP: Prototype

This PR will contain the ongoing work on the Fabric prototype, targeting 0.4.

Coverage increased (+0.3%) to 76.712% when pulling ff019923b9a630bfbf31cd569f93fa7403d7fe63 on prototype into 9a568ec68dc544cf5944802a09b936c66af585df on master.

Coverage increased (+0.3%) to 76.712% when pulling 8b3117d3e1e4987fccb2581292a62349fcbac9c3 on prototype into 9a568ec68dc544cf5944802a09b936c66af585df on master.

Coverage increased (+0.3%) to 76.712% when pulling 8b3117d3e1e4987fccb2581292a62349fcbac9c3 on prototype into 9a568ec68dc544cf5944802a09b936c66af585df on master.

Coverage increased (+0.3%) to 76.712% when pulling faf0c810e9c8dfddf1c2aaa9ebf92c36e9d45d21 on prototype into 9a568ec68dc544cf5944802a09b936c66af585df on master.

Coverage increased (+0.3%) to 76.712% when pulling 1b83e236080807f4a28bf9f93320e5947fa99396 on prototype into 9a568ec68dc544cf5944802a09b936c66af585df on master.


realtimewatch console colors

Plugin realtimewatch.lua  causes console colors to fail, it does not sho colors but their codes like "\27[1;34m[----------]\27[0m".

@stuta, I'm not sure you are trying to do, but this plugin only shows the result as a Watch, not as something in the console. Do you have an example of what you are trying to do?

I'm using ansicolors to print with colors in console. Without that plugin output console shows colors correctly.


Convert preformatted blocks

My wordpress blog had a lot of <pre> sections. The conversion to markdown ignored those. This change did what I wanted, which was to turn all of these into markdown code blocks. In my case, there was no language set on any of my sections to carry over into markdown, so that isn't handled at all.
I'm not sure if this is helpful more broadly, but I figured I'd post it in case it helps someone else.

Thank you @russellb ! This is now fixed in v2.2.6.
I ended up with a broader solution that covers additional similar cases with <pre>, so I did not merge this PR directly, but I cherry-picked your commit to make sure you got contributor credit.

Thanks for fixing it!


Chore(scripts): remove unavailable "verify" make targets

What this PR does / why we need it:
Remove the "verify" make targets that does not have required scripts in the repo thus unavialable.
Which issue this PR fixes

Special notes for your reviewer:
Looks like the verify items are migrated from the KIC repo but scripts are not migrated. Should we migrate the verify-repo.sh since it may still make sense? The verify-versions.sh should not be useful for this repo.
PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[ ] the CHANGELOG.md release notes have been updated to reflect significant changes

Makes sense to me to include verify-repo.sh 👍

Makes sense to me to include verify-repo.sh 👍

Added verify.repo.


[lxc] fix bash completions

Motivation for this change
Moves the lxc bash completion file to lxc-start and than symlinks all lxc commands that have completions to lxc-start. This allows bash completions to work correctly for all lxc-* commands.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

see https://github.com/NixOS/nixpkgs/pull/64532#issuecomment-510503799


Markdown Tables Generator doesn't work anymore

For example see https://www.codewars.com/kata/5772382d509c65de7e000982.
index|1 |2|3!|4!|5|6|7|?8|9|10|11|12|

|-|
u|1|1|[2]|[3]|3|(4)|(5)|?5|6|6|6|8

index|??13 |14|15|16|17|18|19|20|21|22|23|...|

|-|
u|8|8|10|9|10|11|11|12|12|12|12|...

is not displayed as a table but as something unreadable.

It doesn't look like a valid syntax at all so I'm surprised that it ever worked.
I tried with various versions of the markdown library we use, but I can't find a version that creates a table out of this syntax.
As you can see it also doesn't work here on GitHub either. We use Marked with GitHub Flavored Markdown enabled.

Is the following what you want?

index
1
2
3!
4!
5
6
7
?8
9
10
11
12

u
1
1
[2]
[3]
3
(4)
(5)
?5
6
6
6
8

index
??13
14
15
16
17
18
19
20
21
22
23
...

u
8
8
10
9
10
11
11
12
12
12
12
...

If so,
 index|**1** |**2**|**3!**|**4!**|**5**|**6**|**7**|**?8**|**9**|**10**|**11**|**12**|
 - |-|
  *u*|1|1|[2]|[3]|3|(4)|(5)|?5|6|6|6|8
---------------------------------------------------------------------------

index|**??13** |**14**|**15**|**16**|**17**|**18**|**19**|**20**|**21**|**22**|**23**|...|
 - |-|
  *u*|8|8|10|9|10|11|11|12|12|12|12|...

Remove - |-| (?) in between the rows:
index|**1** |**2**|**3!**|**4!**|**5**|**6**|**7**|**?8**|**9**|**10**|**11**|**12**|
  *u*|1|1|[2]|[3]|3|(4)|(5)|?5|6|6|6|8

---------------------------------------------------------------------------

index|**??13** |**14**|**15**|**16**|**17**|**18**|**19**|**20**|**21**|**22**|**23**|...|
  *u*|8|8|10|9|10|11|11|12|12|12|12|...

Add | to both sides:
|index|**1** |**2**|**3!**|**4!**|**5**|**6**|**7**|**?8**|**9**|**10**|**11**|**12**|
| *u*|1|1|[2]|[3]|3|(4)|(5)|?5|6|6|6|8|

---------------------------------------------------------------------------

|index|**??13** |**14**|**15**|**16**|**17**|**18**|**19**|**20**|**21**|**22**|**23**|...|
| *u*|8|8|10|9|10|11|11|12|12|12|12|...|

Add separator between the header and the row (each cell must have at least 3 -):
|index|**1** |**2**|**3!**|**4!**|**5**|**6**|**7**|**?8**|**9**|**10**|**11**|**12**|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| *u*|1|1|[2]|[3]|3|(4)|(5)|?5|6|6|6|8|

---------------------------------------------------------------------------

|index|**??13** |**14**|**15**|**16**|**17**|**18**|**19**|**20**|**21**|**22**|**23**|...|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| *u*|8|8|10|9|10|11|11|12|12|12|12|...|

See https://help.github.com/en/github/writing-on-github/organizing-information-with-tables

I think my paste was bad in my first post. In the kata description it is:
Be u(n) a sequence defined by u(1) = u(2) = 1 and by the table below up to u(23):
index|1 |2|3!|4!|5|6|7|?8|9|10|11|12|

|-|
u|1|1|[2]|[3]|3|(4)|(5)|?5|6|6|6|8

index|??13 |14|15|16|17|18|19|20|21|22|23|...|

|-|
u|8|8|10|9|10|11|11|12|12|12|12|...

Anyway I can assure you it worked and nobody said something about it until today.
I am so sorry I have taken much of your time with a bad paste (only excuse : you could have taken a look at the kata description :-)
Excuses and thanks

I think the "*" have disappeared when I pasted the table here. Anyway I can assure you that it worked and nobody complained until today. I tried it - taken from the present kata description - at https://markdown-here.com/livedemo.html and it works there.
I am so sorry from having taken so much of your time (only excuse : you could have had a look at the kata itself:-)
Excuses and thanks!

Anyway I can assure you it worked and nobody said something about it until today.
I am so sorry I have taken much of your time with a bad paste

No need to apologize. It probably did work 4 years ago, but I simply couldn't reproduce it now.

(only excuse : you could have taken a look at the kata description :-)

I did. I was surprised that it worked in the past and thought you pasted incorrectly. See the demo page I included in my comment, I copied the text from the kata description.

I think the "*" have disappeared when I pasted the table here.

That's because it's rendered as markdown and **bold** make it bold.
I can look see the original text too:

What you posted looks the same as the kata description and what you originally posted.

OK. I think the issue can be closed.

I tried it - taken from the present kata description - at https://markdown-here.com/livedemo.html and it works there.

Markdown Here seems to use super old version of Marked so that makes sense. Codewars probably used that version many years ago when you created this kata.

Well, I am too old too!


translate docs/installation into Chinese

Signed-off-by: nevermosby<EMAIL_ADDRESS>
What type of PR is this?
/kind translation
Any specific area of the project related to this PR?
/area documentation
What this PR does / why we need it:
This PR provides the Chinese translation for falco.org/zh/docs/installation page.
Which issue(s) this PR fixes:
This PR is related to #43 .

Special notes for your reviewer:
N/A

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign kris-nova
You can assign the PR to them by writing /assign @kris-nova in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 2bba35c26684e3c5f04155c90263ce90289231bf

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leodido]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Wow, thx for approval @leodido . I will continue to contribute.


[tool_crash] DartDevelopmentServiceException

Command
flutter run -d chrome --verbose

Steps to Reproduce

...
...
...

Logs
DartDevelopmentServiceException
#0      DartDevelopmentServiceImpl._startDDSServer (package:dds/src/dds_impl.dart:185:7)
<asynchronous suspension>
#1      DartDevelopmentServiceImpl.startService (package:dds/src/dds_impl.dart:113:7)
<asynchronous suspension>
#2      DartDevelopmentService.startDartDevelopmentService (package:dds/dds.dart:88:5)
<asynchronous suspension>
#3      DebugService.startDartDevelopmentService (package:dwds/src/services/debug_service.dart:152:12)
<asynchronous suspension>
#4      DevHandler._createAppDebugServices (package:dwds/src/handlers/dev_handler.dart:448:7)
<asynchronous suspension>
#5      DevHandler.loadAppServices (package:dwds/src/handlers/dev_handler.dart:231:25)
<asynchronous suspension>
#6      Dwds.debugConnection (package:dwds/dwds.dart:92:9)
<asynchronous suspension>
#7      WebDevFS.connect.<anonymous closure> (package:flutter_tools/src/isolated/devfs_web.dart:687:15)
<asynchronous suspension>

[✓] Flutter (Channel unknown, 3.0.2, on macOS 12.2 21D49 darwin-x64, locale
    en-BR)
    • Flutter version 3.0.2 at /Users/iran.junior/flutter
    • Upstream repository unknown
    • Framework revision cd41fdd495 (3 months ago), 2022-06-08 09:52:13 -0700
    • Engine revision f15f824b57
    • Dart version 2.17.3
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/iran.junior/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_SDK_ROOT = ~/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode_13.2.1.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] IntelliJ IDEA Community Edition (version 2021.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 63.3.3
    • Dart plugin version 212.5632

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.2 21D49 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Flutter Application Metadata
Type: malformed
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: null
Creation framework version: null
Plugins
connectivity-3.0.6
connectivity_for_web-0.4.0+1
connectivity_macos-0.2.1+2
firebase_core-1.20.0
firebase_core_web-1.7.1
firebase_messaging-11.4.4
firebase_messaging_web-2.4.4
flutter_config-2.0.0
flutter_image_compress-1.1.1
flutter_plugin_android_lifecycle-2.0.7
geocoding-2.0.4
geolocator-8.2.1
geolocator_android-3.2.1
geolocator_apple-2.2.1
geolocator_web-2.1.6
geolocator_windows-0.1.1
google_maps_flutter-2.2.0
google_maps_flutter_android-2.3.0
google_maps_flutter_ios-2.1.11
google_maps_flutter_web-0.3.3
image_compression_flutter-1.0.2
image_picker-0.8.5+3
image_picker_android-0.8.5+2
image_picker_for_web-2.1.8
image_picker_ios-0.8.5+6
path_provider-2.0.11
path_provider_android-2.0.17
path_provider_ios-2.0.11
path_provider_linux-2.1.7
path_provider_macos-2.0.6
path_provider_windows-2.1.2
qr_code_scanner-1.0.0
shared_preferences-2.0.15
shared_preferences_android-2.0.12
shared_preferences_ios-2.1.1
shared_preferences_linux-2.1.1
shared_preferences_macos-2.0.4
shared_preferences_web-2.0.4
shared_preferences_windows-2.1.1
sqflite-2.0.3+1
url_launcher-6.1.5
url_launcher_android-6.0.17
url_launcher_ios-6.0.17
url_launcher_linux-3.0.1
url_launcher_macos-3.0.1
url_launcher_web-2.0.13
url_launcher_windows-3.0.1

Closing as duplicate of https://github.com/flutter/flutter/issues/108848


Can we authorize upgrades with elastic search?

https://support.cpanel.net/hc/en-us/articles/360055446413-How-To-Install-Run-Elasticsearch
23-22:36:18 (2767) [ERROR] 1 package(s) installed from unsupported YUM repo 'elasticsearch-7.x' from /etc/yum.repos.d/elasticsearch.repo

I'm pretty sure it's java and we just need to whitelist the repo.

Elastic Search still appears to be blocked?
https://github.com/cpanel/elevate/issues/115
https://github.com/cpanel/elevate/issues/108


rapids_test_install_relocatable tracks tests environment properties

Description
Will allow projects to specify env variables on tests and have those recorded on the installed tests
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.
[x] The cmake-format.json is up to date with these changes.

/merge


CLN cannot be installed by build_sdcard.sh in latest Ubuntu

Trying to install Raspiblitz (dev) into Ubuntu 22.04 in this way:
user1@host1:~$ sudo bash build_sdcard.sh -f true -b dev -d headless -t false -w off

I get this at CLN install step:
- install LND binary
- OK install of LND done
* Adding Core Lightning ...
# *** INSTALL CORE LIGHTNING v0.11.2 BINARY ***
# only binary install to system
# no configuration, no systemd service

- Cloning https://github.com/ElementsProject/lightning.git

Cloning into 'lightning'...
remote: Enumerating objects: 91900, done.
remote: Counting objects: 100% (190/190), done.
remote: Compressing objects: 100% (126/126), done.
remote: Total 91900 (delta 98), reused 106 (delta 64), pack-reused 91710
Receiving objects: 100% (91900/91900), 50.61 MiB | 25.07 MiB/s, done.
Resolving deltas: 100% (70414/70414), done.

- Reset to version v0.11.2
HEAD is now at c9587ab17 connectd: don't start connecting in parallel in peer_conn_closed.
Sorry, user root is not allowed to execute '/home/admin/config.scripts/blitz.git-verify.sh rustyrussel https://raw.githubusercontent.com/ElementsProject/lightning/master/contrib/keys/rustyrussell.txt D9200E6CD1ADB8F1 v0.11.2' as bitcoin on host1.

Maybe related to this one:  https://github.com/rootzoll/raspiblitz/pull/3078

Not testing with Ubuntu currently, but should sort this for the next release.

I get this at CLN install step:

Same issue with OrangePi 5B with armbian.


Name wasm files something other than .dll

If you are on a corporate networks, despite the fact that these files would serve up wasm and not dll binaries, they would be blocked just based on the URL's extension.

Ugh corpnets. Thanks for the info. I've been considering bundling them all into another file - will make sure not to use DLL for that file.

Any chance this would be picked up?

I'll try to get it in the next version.

Hurray! Thank you!


Duplicated sam header error in panphlan_map.py

Dear Panphlan developers,
I had an error message in panphlan: "[E::sam_hrecs_update_hashes] Duplicate entry “XXX” in sam header". I solved this problem by filtering out the Duplicated entries in panphlan_map.py. Is this the correct way to walk-around this error? I am using panphlan-1.3 on the latest released pangenome database. Therefore, I changed a bit file IO part, to make sure the program located the paths correctly. Then I have the sam header duplication problem as mentioned above. It would be very helpful if you could give further advice on this.
Best wishes,
Shen

Hello,
I am advising you to work with PanPhlAn 3.0 (just get the latest commit of the master branch). This version is designed to work with the pangenome database available on DropBox.
With which species are you working ?

Hi Leonar,
Thank you for the quick response. I will try out 3.0.
I am looking at different desulfovibrio species. And I realised that the latest pangenome database do not have species Desulfovibrio desulfuricans, which contain in the older version database. Can panphlan 3.0v run on the old pangenome database?
Best wishes,
Shen

Hi Leonar,
I have the same duplication error when running Panphlan 3 (downloaded from github). The error says "[E::sam_hrecs_update_hashes] Duplicate entry "QVFA01000001.1" in sam header"
And I am running the command: cat input.fastq | panphlan_map.py -p /data/TOOLS/pangenome/pangenome_DB_2020/Faecalibacterium_prausnitzii/Faecalibacterium_prausnitzii_pangenome.tsv                 --indexes /data/TOOLS/pangenome/pangenome_DB_2020/Faecalibacterium_prausnitzii/Faecalibacterium_prausnitzii -o test_Faecalibacterium_prausnitzii.csv
It would be very helpful if you could give any hints for this error. (this pangenome is downloaded from the latest updates of panphlan a few weeks ago)
Best wishes,
Shen

Hi,
this duplication is an issue some users encounter that might be due to duplicated sequences in the fasta file with genomes contigs (here Faecalibacterium_prausnitzii_pangenome_contigs.fna ).
This could be checked comparing wc -l Faecalibacterium_prausnitzii_pangenome_contigs.fna and  sort Faecalibacterium_prausnitzii_pangenome_contigs.fna | uniq | wc -l that should give roughly half of the previous number.
If you are in this situation and the mapping crashes, just cut the fna file in half (using for example head -[half of the lines in the fna file] Faecalibacterium_prausnitzii_pangenome_contigs.fna > new_contigs.fna ) and then regenerate the indexes using bowtie2-build (http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml#the-bowtie2-build-indexer).
Sorry, this is a bit tedious, but such errors require a checking and rebuilding of the whole pangenome database, and that will take some time.
Hope the solution above will solve your problem quickly. Let me know if you encounter other problems
Best wishes

The last commit provides an updated/cleaned version of the database that should fix this issue


store routing keys as public keys in did.

bugfix for mediation connection protocol integration.

create_did_doc(...) now stores routing keys as public keys objects instead of strings. when outbound transport consumes routing keys it requires a public key, not a string.
code duplication is reduced by use of a decorator to check mediation parameters
added mediation_record parameter to optimize decorator behavior
small documentation changes

Signed-off-by: Adam Burdett<EMAIL_ADDRESS>

Spotted some issues; working with @burdettadam to address them. Specifically, using the decorator as it is now, it assumes that mediation_id and mediation_record are always passed as keyword arguments which doesn't match the method signatures decorated. Rather than modifying method signatures, I think we likely just need to simplify the validation into a plain old method.

I wanted to see what it would take to get the decorator handling args and not just kwargs, so I added some tests and updated the decorator accordingly. I think the complexity of passing parameters into a decorator is not ideal. I will update this pr to reflect @dbluhm suggestions.

Looks pretty DRY at least!

Codecov Report

Merging #864 (baffba7) into master (2f7c3e0) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #864      +/-   ##
==========================================
- Coverage   99.07%   99.07%   -0.01%
==========================================
  Files         293      293
  Lines       15967    15963       -4
==========================================
- Hits        15820    15816       -4
  Misses        147      147


Error with sveltekit with svelte-apollo and adapter-netlify: Function called outside component initialization

Describe the bug
I was using sveltekit with svelte-apollo and got error
"Function called outside component initialization"
And I've fixed it with changes in svelte.config.js
optimizeDeps: {
  exclude: ["svelte-apollo"],
},

But when I deploy my project with adapter-netlify
import preprocess from 'svelte-preprocess';
import adapter from '@sveltejs/adapter-netlify';

/** @type {import('@sveltejs/kit').Config} */
const config = {
	// Consult https://github.com/sveltejs/svelte-preprocess
	// for more information about preprocessors
	preprocess: [preprocess({
        "postcss": true
    })],

	kit: {
		adapter: adapter(), // currently the adapter does not take any options

		// hydrate the <div id="svelte"> element in src/app.html
		target: '#svelte',

		vite: {
			optimizeDeps: {
				exclude: ["svelte-apollo"],
			},
		}
	}
};

export default config;

I got the same error
Error: Function called outside component initialization
    at get_current_component (C:\Users\vbornov\Projects\svelte-try\node_modules\svelte\internal\index.js:816:15)
    at Object.setContext (C:\Users\vbornov\Projects\svelte-try\node_modules\svelte\internal\index.js:846:5)
    at setClient (C:\Users\vbornov\Projects\svelte-try\node_modules\svelte-apollo\dist\svelte-apollo.cjs.js:18:12)
    at file:///C:/Users/vbornov/Projects/svelte-try/.svelte-kit/output/server/app.js:288:3
    at Object.$$render (file:///C:/Users/vbornov/Projects/svelte-try/.svelte-kit/output/server/app.js:82:18)
    at file:///C:/Users/vbornov/Projects/svelte-try/.svelte-kit/output/server/app.js:155:78
    at $$render (file:///C:/Users/vbornov/Projects/svelte-try/.svelte-kit/output/server/app.js:82:18)
    at Object.render (file:///C:/Users/vbornov/Projects/svelte-try/.svelte-kit/output/server/app.js:90:20)
    at render_response (file:///C:/Users/vbornov/Projects/svelte-try/node_modules/@sveltejs/kit/dist/ssr.js:379:28)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

How to fix this error in @sveltejs/adapter-netlify ?
Reproduction
https://github.com/v-bornov/svelte-try
Logs
No response
System Info
System:
    OS: Windows 10 10.0.19043
    CPU: (8) x64 Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
    Memory: 8.82 GB / 15.76 GB
  Binaries:
    Node: 14.15.5 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.10 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 7.20.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 91.0.4472.124
    Edge: Spartan (44.19041.1023.0), Chromium (91.0.864.70)
    Internet Explorer: 11.0.19041.1
  npmPackages:
    @sveltejs/adapter-netlify: ^1.0.0-next.23 => 1.0.0-next.23
    @sveltejs/kit: next => 1.0.0-next.131
    svelte: ^3.34.0 => 3.38.3

Severity
annoyance
Additional Information
No response

I see they have a PR for SvelteKit support: https://github.com/timhall/svelte-apollo/pull/98. This is probably better to address in that repo unless it's clearly demonstrated that there's a bug in SvelteKit


NoVNC verify origin header matches host

Closes-rally-bug: DE1754
Not-in-upstream: True

Test coverage would be good also

I have manually unit tested this patch for both cases covered (matching origin and mismatching origin).  Unfortunately, there are no unit tests for websocketproxy in Havana, so there is no place to add automated tests in cis-havana.  The patch needs to be reworked for /master, since exception handling has been reworked since havana.  I will add and fix unit tests in /master for the updated patch.

I have validated the fix. +1

See also https://github.com/CiscoSystems/nova/pull/36 -- which is just the squashed version of this


Rework an initialization to remove a use of an IUO that was banned by…

… SE-0054.

@swift-ci Please smoke test

@swift-ci Please smoke test


1 ➡ 2

➡ Forward port
Port ign-utils1 to main
Branch comparison: https://github.com/ignitionrobotics/ign-utils/compare/main...ign-utils1
Note to maintainers: Remember to Merge with commit (not squash-merge or rebase)

Codecov Report

Merging #38 (19ab2b5) into main (e9c439b) will increase coverage by 5.28%.
The diff coverage is 96.66%.

@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
+ Coverage   89.58%   94.87%   +5.28%
==========================================
  Files           3        5       +2
  Lines          48       78      +30
==========================================
+ Hits           43       74      +31
+ Misses          5        4       -1

Impacted Files
Coverage Δ

include/ignition/utils/ImplPtr.hh
100.00% <ø> (ø)

src/Environment.cc
95.23% <95.23%> (ø)

include/ignition/utils/NeverDestroyed.hh
100.00% <100.00%> (ø)

include/ignition/utils/detail/ImplPtr.hh
91.17% <100.00%> (+6.80%)
: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 e9c439b...19ab2b5. Read the comment docs.

Did this one too quickly, also waiting on #37


Unreachable code: CHANNEL_SPI in main

https://github.com/eosnetworkfoundation/ledger-app/blob/d2aa9efd31f7dfe54d778223f703a0c2d9fbe689/src/main.c#L553-L574

This is ledger power magic. Not a blocking issue. Closing won't fix.


SummarizationMetric changing score and reasoning methodology at random

Describe the bug

Summarization scores change depending on:

the type of assessment questions being asked
the number of assessment questions provided
whether a developer provides the questions or they are generated by the evaluator LLM

The scores stay constant when there are no changes in the above parameters, indicating some sort of unintended caching in LLM memory, despite it being clearly mentioned at the top of the DeepEval Summarization page: https://docs.confident-ai.com/docs/metrics-summarization
The reasoning behind scores are dynamic. It sometimes assigns the score 0 when there are no contradictions, unclear answers or hallucinations, whereas the documentation expects the score 1 (or a value greater than 0) in such cases

To Reproduce
Steps to reproduce the behavior:
from deepeval import evaluate
from deepeval.metrics import SummarizationMetric
from deepeval.test_case import LLMTestCase

# This is the original text to be summarized
input = """
The 'coverage score' is calculated as the percentage of assessment questions
for which both the summary and the original document provide a 'yes' answer. This
method ensures that the summary not only includes key information from the original
text but also accurately represents it. A higher coverage score indicates a
more comprehensive and faithful summary, signifying that the summary effectively
encapsulates the crucial points and details from the original content.
"""

# This is the summary, replace this with the actual output from your LLM application
actual_output="""
The coverage score quantifies how well a summary captures and
accurately represents key information from the original text,
with a higher score indicating greater comprehensiveness.
"""

assessment_questions_3 = [
        "Is the coverage score based on a percentage of 'yes' answers?",
        "Does the score ensure the summary's accuracy with the source?",
        "Does a higher score mean a more comprehensive summary?"
    ]

assessment_questions_5 = ["Is the coverage score calculated as a percentage of assessment questions?",
                            "Does the coverage score reflect how well a summary represents the original text?",
                            "Does a higher coverage score indicate a more comprehensive summary?",
                            "Does the coverage score quantify how poorly a summary captures key information?",
                            "Does a higher coverage score signify that a summary effectively encapsulates crucial points?"]
}

test_case_3questions = LLMTestCase(input=input, actual_output=actual_output)
metric_3q = SummarizationMetric(
    threshold=0.5,
    model="gpt-4",
    assessment_questions=assessment_questions_3
)

metric_3q.measure(test_case)
print(metric_3q.score)
print(metric_3q.reason)

test_case_5questions = LLMTestCase(input=input, actual_output=actual_output)
metric_5q = SummarizationMetric(
    threshold=0.5,
    model="gpt-4",
    assessment_questions=assessment_questions_5
)

metric_5q.measure(test_case)
print(metric_5q.score)
print(metric_5q.reason)

test_case_5own = LLMTestCase(input=input, actual_output=actual_output)
metric_5ownq = SummarizationMetric(
    threshold=0.5,
    model="gpt-4",
    n=5
)

metric_5ownq.measure(test_case)
print(metric_5ownq.score)
print(metric_5ownq.reason)

test_case_3own = LLMTestCase(input=input, actual_output=actual_output)
metric_3q = SummarizationMetric(
    threshold=0.5,
    model="gpt-4",
    n=3
)

metric_3ownq.measure(test_case)
print(metric_3ownq.score)
print(metric_3ownq.reason)

Expected behavior

Providing or not providing our own assessment questions should not change the score or reason
Changing the number of assessment questions should not change the score or reason
The reasoning methodology must be clarified in the prompt to the LLM: A response of 0 indicates that the summary is bad and a response of 1 indicates that the summary is very good.

Screenshots

0.67 is "bad"

0.00 is "good"

5 questions

3 questions]

Questions are provided by me

LLM produces assessment questions

Desktop (please complete the following information):

OS: MacOS Sonoma
Browser: N/A
Version: N/A

Smartphone (please complete the following information):

Device: N/A
OS: N/A
Browser: N/A
Version: N/A

Additional context
Add any other context about the problem here.

I've encountered the same behaviour. The scores often contradict the explanation given. The feature is effectively unusable at the moment.


Ensure ACE worker options are set

fixes #3610

Coverage remained the same at 68.425% when pulling 5c10b16b650e1350e8856a273c0b6fdc98525ccd on fix-ace-worker-opts into 03e9e8955855bbb3e1f71cc74a76489f588754f8 on master.


Reading History updates stopped working after upgrading to Preview r457

Steps to reproduce
I read any gallery from my Library, opening any chapter.
Then, I close the gallery and go to the History tab.
Expected behavior
The read galleries should be added to the reading history.
Actual behavior
The read galleries aren't being added to the reading history, ever since I upgraded TachiyomiSY to Preview r457.
Crash logs
No response
Tachiyomi version
Preview r457
Android version
Android 7.1.1
Device
Samsung Galaxy J2 Pro 2018 (SM-J250M)
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have tried the troubleshooting guide.
[X] I have updated the app to version 1.8.3.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

Addressed by https://github.com/jobobby04/TachiyomiSY/commit/76f5625948316a09ed02d422b5f22b3231a08453


using docker to deploy but raise the killed no error response

Environment
Docker
Reproduce step

docker pull registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.7.1-py38-torch2.0.1-tf1.15.5-1.8.1
docker run -it --name facechain -p 7860:7860 --gpus all registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.7.1-py38-torch2.0.1-tf1.15.5-1.8.1 /bin/bash
pip3 install gradio==3.47.1 controlnet_aux==0.0.6 python-slugify
pip3 install controlnet_aux==0.0.6
pip3 install python-slugify
GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/modelscope/facechain.git --depth 1
cd facechain
python3 app.py

Issue
After Download model artifact, raise those messages:
2024-07-05 22:38:26,664 - modelscope - INFO - Use user-specified model revision: v2.0.2
2024-07-05 22:38:26,920 - modelscope - INFO - initiate model from /mnt/workspace/.cache/modelscope/damo/cv_resnet34_face-attribute-recognition_fairface
2024-07-05 22:38:26,920 - modelscope - INFO - initiate model from location /mnt/workspace/.cache/modelscope/damo/cv_resnet34_face-attribute-recognition_fairface.
2024-07-05 22:38:26,923 - modelscope - WARNING - No preprocessor field found in cfg.
2024-07-05 22:38:26,923 - modelscope - WARNING - No val key and type key found in preprocessor domain of configuration.json file.
2024-07-05 22:38:26,923 - modelscope - WARNING - Cannot find available config to build preprocessor at mode inference, current config: {'model_dir': '/mnt/workspace/.cache/modelscope/damo/cv_resnet34_face-attribute-recognition_fairface'}. trying to build by task and model information.
2024-07-05 22:38:26,923 - modelscope - WARNING - Find task: face-attribute-recognition, model type: None. Insufficient information to build preprocessor, skip building preprocessor
2024-07-05 22:38:27,206 - modelscope - INFO - Model revision not specified, use the latest revision: v1.1
2024-07-05 22:38:27,456 - modelscope - INFO - initiate model from /mnt/workspace/.cache/modelscope/damo/cv_ddsar_face-detection_iclr23-damofd
2024-07-05 22:38:27,456 - modelscope - INFO - initiate model from location /mnt/workspace/.cache/modelscope/damo/cv_ddsar_face-detection_iclr23-damofd.
2024-07-05 22:38:27,457 - modelscope - INFO - initialize model from /mnt/workspace/.cache/modelscope/damo/cv_ddsar_face-detection_iclr23-damofd
2024-07-05 22:38:27,519 - mmcv - INFO - initialize PAFPN with init_cfg {'type': 'Xavier', 'layer': 'Conv2d', 'distribution': 'uniform'}
2024-07-05 22:38:27,522 - mmcv - INFO -
lateral_convs.0.conv.weight - torch.Size([16, 64, 1, 1]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,523 - mmcv - INFO -
lateral_convs.0.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,523 - mmcv - INFO -
lateral_convs.1.conv.weight - torch.Size([16, 120, 1, 1]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,523 - mmcv - INFO -
lateral_convs.1.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,523 - mmcv - INFO -
lateral_convs.2.conv.weight - torch.Size([16, 160, 1, 1]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,523 - mmcv - INFO -
lateral_convs.2.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,523 - mmcv - INFO -
fpn_convs.0.conv.weight - torch.Size([16, 16, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,523 - mmcv - INFO -
fpn_convs.0.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,523 - mmcv - INFO -
fpn_convs.1.conv.weight - torch.Size([16, 16, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,523 - mmcv - INFO -
fpn_convs.1.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,523 - mmcv - INFO -
fpn_convs.2.conv.weight - torch.Size([16, 16, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,523 - mmcv - INFO -
fpn_convs.2.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,523 - mmcv - INFO -
downsample_convs.0.conv.weight - torch.Size([16, 16, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,523 - mmcv - INFO -
downsample_convs.0.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,523 - mmcv - INFO -
downsample_convs.1.conv.weight - torch.Size([16, 16, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,524 - mmcv - INFO -
downsample_convs.1.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,524 - mmcv - INFO -
pafpn_convs.0.conv.weight - torch.Size([16, 16, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,524 - mmcv - INFO -
pafpn_convs.0.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,524 - mmcv - INFO -
pafpn_convs.1.conv.weight - torch.Size([16, 16, 3, 3]):
XavierInit: gain=1, distribution=uniform, bias=0
2024-07-05 22:38:27,524 - mmcv - INFO -
pafpn_convs.1.conv.bias - torch.Size([16]):
The value is the same before and after calling init_weights of PAFPN
2024-07-05 22:38:27,524 - modelscope - INFO - loading model from /mnt/workspace/.cache/modelscope/damo/cv_ddsar_face-detection_iclr23-damofd/pytorch_model.pt
load checkpoint from local path: /mnt/workspace/.cache/modelscope/damo/cv_ddsar_face-detection_iclr23-damofd/pytorch_model.pt
2024-07-05 22:38:27,568 - modelscope - INFO - load model done
2024-07-05 22:38:27,575 - modelscope - INFO - loading model from /mnt/workspace/.cache/modelscope/damo/cv_resnet34_face-attribute-recognition_fairface/pytorch_model.pt
2024-07-05 22:38:28,189 - modelscope - INFO - load model done
2024-07-05 22:38:28,370 - modelscope - INFO - Use user-specified model revision: v1.0.0
已杀死
root@5c6a779cfac8:/facechain#

It may comes from CPU out of memory (OOM) error. Please check if the CPU memory is above 20GB.

It may comes from CPU out of memory (OOM) error. Please check if the CPU memory is above 20GB.

CPU memory？not the GPU memory? I use the AWS g5.xlarge with NVIDIA A10, GPU memory is 24GB

我的也有上面的日志，但我也是GPU，v100，还有gradio的问题


Fix config name in ProducerFailureHandlingTest

As a part of this AK commit (https://github.com/apache/kafka/commit/ecb2dd4cdc4b83df7a97dc37e4e419ad4490ae10), we introduced an incorrect Property in the ProducerFailureHandlingTest class.
While changing from KafkaConfig.ReplicaFetchMaxBytesProp we made it ReplicationConfigs.REPLICA_LAG_TIME_MAX_MS_CONFIG which is incorrect. This PR corrects the same to use ReplicationConfigs.REPLICA_FETCH_MAX_BYTES_CONFIG.
Thanks!

Wrong PR!


Fix TypeError in stacked_crosstab_plot for save_formats

Title:
Fix TypeError in stacked_crosstab_plot for save_formats
Description:
This PR addresses a TypeError in the stacked_crosstab_plot function when save_formats is None. The update ensures that save_formats defaults to an empty list, preventing iteration over a NoneType object.
Changes:

Initialize save_formats as an empty list if not provided.
Add handling for string and tuple input types for save_formats.

Issue Fixed:
Resolves TypeError when save_formats is None.

verified that this works:
    # Ensure save_formats is a list even if None, string, or tuple is passed
    save_formats = save_formats or []  # Modified line: Ensures save_formats is an empty list if None
    if isinstance(save_formats, str):
        save_formats = [save_formats]
    elif isinstance(save_formats, tuple):
        save_formats = list(save_formats)


request datasets

Hi I'm very inspired by your work. I would like to test your code in my local environment, but I am a foreigner and can't download from the dataset link that you posted. Is there any other way to download the dataset? such as Google Drive or email?

Hello, we are delighted that this project has inspired you. However, the intellectual property rights of the dataset belong to our company as it is a private project. We regret to inform you that we are unable to provide it.

Hi I'm very inspired by your work. I would like to test your code in my local environment, but I am a foreigner and can't download from the dataset link that you posted. Is there any other way to download the dataset? such as Google Drive or email?

Hello, we are delighted that this project has inspired you. However, the intellectual property rights of the dataset belong to our company as it is a private project. We regret to inform you that we are unable to provide it.


--multi and --multi-locales does not generate any files

Hi Guys.
Laravel 5.3
laravel-vue-i18n-generator 0.1.46
When using --multi and --multi-locales flags, no files are generated and no errors are given.
When I omit the flag, the single file with all translations is generated as expected.
I tried downgrading to 0.1.42 as mentioned in #99 however separate files are still not generated
Any help is greatly appreciated and thank you for the great package.

User error, my apologies


Do something with the filtered out events

At least check if we are not missing any events like stake moving around
Events we are skipping:
// Filter
if (eventObj.name === "WithdrawFees" || eventObj.name === "TransferBond"
|| eventObj.name === "Rebond" || eventObj.name === "Unbond" || eventObj.name === "EarningsClaimed") {
return;
}

Looks like we are missing some stake data
0x08f10d03a0cf7a9eaddc7eacd4cf135a07a0feff
should have an unstake event of 10000 LPT


API Interceptor: Session is ended when interceptor returns an error with authentication enabled

Rancher Versions:
Server: master build
Docker Version:
1.12.6
OS and where are the hosts located? (cloud, bare metal, etc):
ubuntu 16.04
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
single node rancher
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
cattle
Steps to Reproduce:

Make sure to have interceptor to return an error (5xx, or 4xx)
Add interceptor configuration that returns that send requests to this interceptor
Enable authentication in Rancher
Navigate to the specified path

Results:
The session ends and i got the login form without displaying any errors, the response headers aren't received in case of failure:
Request URL:http://x.x.x.x:8080/v2-beta/projects/1a63/stacks?limit=-1&sort=name
Request Method:GET
Status Code:500 Internal Server Error
Remote Address:x.x.x.x:8080

Response Headers
Content-Length:108
Content-Type:application/json
Date:Thu, 16 Feb 2017 00:26:30 GMT

Request Headers
accept:application/json
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
content-type:application/json
Cookie:PL=rancher; token=jY97UsF6GNVnh9v8ZKy9bbywJDz3Weui5Qza7kqg; CSRF=300AEF92FA
DNT:1
Host:x.x.x.x:8080
Referer:http://x.x.x.x:8080/settings/env
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
x-api-action-links:actionLinks
x-api-csrf:300AEF92FA
x-api-no-challenge:true

Query String Parameters
limit:-1
sort:name

@galal-hussein @sangeethah
Following is our current UI behavior:

If a user is attempting to login, and some API in the initial UI load errors out, then the UI load fails and user sees the login form back.
If a user had already logged in and he/she reloads the UI, and some API in the reload process errors out, UI will logout the user and show the login form
If a user has already logged in and some single API call fails with a 401/403, user is logged out and shown the login form
If a user has already logged in and some single API call fails with an error that is NOT a 401/403, then the error is shown on UI in red. No logout happens in this case.

So the cases where the API happens to be part of UI initial login/reload process and and interceptor errors out on that API, user's session will end.
This is expected behavior.
Only fix we can probably do here is UI showing the error returned, on the login page.
@vincent99 please comment if my understanding above is not right.

Closing this issue.
per @vincent99 , we are not changing anything in UI to be showing error message in login page.


Add disk usage chart

This teaches rally how to build per-field disk usage charts based on the
disk-usage-stats telemetry device.

LGTM. I believe make format will fix your line length linter failure, then if CI passes we are all good here

I had to pull the query out to a variable. linter couldn't split the line.


Ensure date-help-text id is unique

Ensure unique date-help-text id is created when _date_facet is used more than once in a finder.
Without this slimmer raises exception that id has been used more than once.

Thanks for this PR. Good catch! :+1:


Question: Using the priority for module:migrate?

Hey there,
we use the module component in a new project. But recently we stumbled upon some problems with migration and seeding.
Our situation
We are having some modules which are acutally dependent on others. In some migrations we are setting up foreign keys and things like that. Those migrations are going horribly wrong since most of the Commands use the Repository::all() method (no ordering is going to happen).
My Thoughts
If Repository::all() is used even there is a sorting mechanic already, there has to be a reason. I am curious and I want to know why. :)
To resolve the issue we have thought of two different approaches:

Module inheritance as stated in #45 (commands should reflect the inheritance and i.e. migrate up the dependency tree)
Using the priority flag with Repository::getOrdered(). (But then, the next thing is priority itself does not work quite well IMHO.)

The problem I see with priority
It is about the bounds and range of different modules. To make a module the most important, you have to define a really high value and you generally have no idea what the upper bounds could be, because it depends on how much modules will be installed. Is there even a use case for the priority property if not in my own modules?
Now what about this? Just flip it. Use a simple order approach. The most important module is 0. It is well defined lower bound (you do not have to think about) and each module following has its order increased by 1.
I just want to hear your opinions on that topic. I could think of making a pull request if you agree with one of those.

:+1:

Yeah @fgreinus you are right. The implementation of those solutions are pretty simple to make at least migrations working.

Hi @voydz,
I agree with you. I will make changes to this issue.
Thank you.

@gravitano awesome, thank you!


Disable drive and motion options when dot robot is connected

The variables tab also could be disabled bc it doesn't work with the dot bot


Not working with no_std

In lib.rs https://github.com/dtolnay/proc-macro-hack/blob/master/src/lib.rs#L516
it is doing a use on std::iter::FromIterator; this causes the complication to fail when std is not available.
I've tested locally, and changing that lone to use core::iter::FromIterator; allows it to work just fine.

As in https://github.com/rust-lang/hashbrown/issues/109#issuecomment-518540789, I don't believe that this needs to be changed. I would prefer not to support proc macros where the macro implementation itself is no_std, because there should be no reason to write a proc macro that way.


Change default host to <IP_ADDRESS> in server builders

The default of <IP_ADDRESS> has caught people by surprise.  The wildcard binding matches the defaults of both embedded Jetty and Tomcat.
See #622

i'd prefer <IP_ADDRESS> to avoid unexpectedly exposing sensitive data to the local network

We have these two methods in there already: "bindLocal" and "bindAny".  How about having bindLocal bind to loopback and bindAny to <IP_ADDRESS>? :)
Maybe even rename to bindLoopback and bindAnyInterface.

Avoiding unintentionally exposing sensitive services is the original reason we changed it from <IP_ADDRESS> to the current state. I'm a big fan of secure by default and would also prefer to keep it that way, if possible. Moving from a secure default to an insecure default seems bad and would need some type of warning period IMO. To me, this feels like a case of needs better documentation and or warning log messages for those that are not accustomed.
Will using <IP_ADDRESS> expose ipv6 addresses? For some reason I recall their being something weird with windows and <IP_ADDRESS> but that might have been an anomaly; maybe someone else knows.
Note: @refrieds comment came as I was writing this and I totally agree. If bindHttp is too confusing we could just remove the default args.

Note: one gets more feedback on a pull request than on code. :)
I've been surprised by the localhost default a couple times despite participating in the change, and several new users have been complained.  I'm persuaded again that the localhost default is a good idea, but it merits an FAQ.


Update types.ts

typescript check in our repo throws error:
node_modules/cypress-plugin-xhr-toggle/dist/types.d.ts(37,13): error TS2717: Subsequent property declarations must have the same type.  Property 'env' must be of type 'Partial<PluginEnvOptions> | undefined', but here has type 'PluginEnvOptions | undefined'.

I believe this might fix it...?

But to be honest I'm still pretty lost in TS.
But if you'll find time to take a look at this and I'll gladly help if I can...
I have a feeling this could also be a cool content for one of your streaming sessions...? 😅


Update division names

It's done a bit differently now.

The files are set in common/units/names/. Only 00_names.txt is necessary to us as specified in #493 . The others can be easily blanked out.


Block operators / solvers

Following the discussion in #80 I thought it would be good to lay out some ideas for a general block matrix/operator abstraction.
Some useful types of block operators:

Block tridiagonal where each sub-block is dense (#80)
Block triangular where each sub-block is dense (can be a factor of num_blocks faster than direct inversion)
Block dense where each sub-block is either dense or identically zero - can use pivoted block LU?

I think the more powerful capability is if we allow block operators where each block itself can be an arbitrary LinearOperator including nested block operators. This would allow for a pretty expressive API that could represent most structured sparsity patterns that commonly arise when discretizing PDEs and lots of other applications.
Doing the latter would likely require a few things:

some sort of symbolic zero operator for representing empty blocks.
Some sort of InverseLinearOperator abstraction, that wraps another linear operator such that InverseLinearOperator(operator).mv(x) == linear_solve(operator, x)
Allow linear_solve to accept an operator as the RHS, such that linear_solve(operator1, operator2) -> ComposedLinearOperator(InverseLinearOperator(operator1), operator2)
These would allow us to symbolically/algorithmically invert an arbitrary block operator without having to know the specifics of what each block is.

Some other thoughts:

If each sub-block is dense the overall block operator can usually be stored as
a dense array with some special indexing to avoid having to store blocks of zeros. This is nice because arrays can be scanned/vmapped etc.
However, if we allow sub-blocks to be LinearOperators than we might have to resort to lists of blocks, which (generally?) can't be scanned/vmapped as easily, so compile times might be longer? This might not be too bad if we generally assume that block_size >> num_blocks.
For blocks that share a particular structure, can we vmap block creation, instead of having to create each one separately and store them in a list?
For a given sub-operator, how to decide which solver to use to invert it? Likely this can be done with proper tags using AutoLinearSolver but we may want to add some new tags to indicate that AutoLinearSolver use an iterative method in some cases etc? Or maybe have solver similarly be a blocked/pytree type thing allowing the user to specify which solver to use at each level/block of the operator

Thanks for opening this issue -- I think you've hit pretty much all the major points I can think of, and also touched on several I hadn't, like vmap'ing blocks!
Some initial comments:

Allow linear_solve to accept an operator as the RHS, such that linear_solve(operator1, operator2) -> ComposedLinearOperator(InverseLinearOperator(operator1), operator2)
These would allow us to symbolically/algorithmically invert an arbitrary block operator without having to know the specifics of what each block is.

It's not clear to me why we'd need linear_solve(op1, op2). We can write InverseLinearOperator(op1) @ op2 anyway, and I don't think we have any scenarios where we need vector/operator polymorphism. Other than that: right now linear_solve always materialises its output. It'd be nice to maintain this invariant.

If each sub-block is dense the overall block operator can usually be stored as
a dense array with some special indexing to avoid having to store blocks of zeros. This is nice because arrays can be scanned/vmapped etc.

It sounds like this is an attempt to represent a block operator as something other than a list-of-list-of-operators. (Itself then wrapped into a BlockLinearOperator.) Do you have anything specific in mind for a general approach to this? Whilst I can imagine us eventually adding various kinds of sparse linear operators (JAX's own sparse arrays seem to have a hit a bit of a dead end), I don't know if that's what we want for block structure.
FWIW we don't have to make a single choice here. Whilst we should certainly minimise the amount we create, if we need to them we can create multiple {Foo,Bar}LinearOperators.

However, if we allow sub-blocks to be LinearOperators than we might have to resort to lists of blocks, which (generally?) can't be scanned/vmapped as easily, so compile times might be longer? This might not be too bad if we generally assume that block_size >> num_blocks.

This sounds really tough. I think figuring out what is optimal here is probably the main thing we still need to do.

For blocks that share a particular structure, can we vmap block creation, instead of having to create each one separately and store them in a list?

I think this is probably doable by vmap'ing the creation, then indexing into them, then passing those into the BlockLinearOperator. I speculate that for most use cases that there's little that could be gained by pushing the indexing later into the computation graph.
That said we could consider the option of allowing a component linear operator to span multiple blocks, e.g.
+-----------------+
|      FooOp      |
+--------+--------+
| BarOp1 | BarOp2 |
+-----------------+

for which such adjacencies are really the only scenario I can consider in which it might be advantageous not split things up.

For a given sub-operator, how to decide which solver to use to invert it? Likely this can be done with proper tags using AutoLinearSolver but we may want to add some new tags to indicate that AutoLinearSolver use an iterative method in some cases etc? Or maybe have solver similarly be a blocked/pytree type thing allowing the user to specify which solver to use at each level/block of the operator

For InverseLinearOperator, I think the choice of solver should be an argument to InverseLinearOperator.
For the solver for the overall block operator: I think we should expect each block structure to have its own solver, which is free to do anything it likes. For example something like this:
class BlockLinearOperator(AbstractLinearOperator):
    operators: list[list[AbstractLinearOperator]]
    ...

op = BlockLinearOperator([[FooLinearOperator(), ZeroLinearOperator()], [ZeroLinearOperator(), BarLinearOperator()]])
linear_solve(op, vec, solver=BlockDiagonal())

and in particular note that there are no "tags" needed for BlockLinearOperator itself. Its structure is already determinable at compile time, by checking its operators.
For example BlockDiagonal.init will check that all off-diagonal members are isinstance(x, ZeroLinearOperator).


Add domain filter to history config MaximumBufferedEventsBatch

It is non-trival to add domain filter to dynamic config MaximumBufferedEventsBatch in history. Currently in mutableState, we only have domainID but no domainName or domainCache.
There are 3 possible ways:

Add domainName to executionInfo, along with domainID. But this requires persist additional unimportant info.
Add domainCache reference in mutableState
Add new type of filter domainID, which confuse people and sometimes hard to get domainID.

MaximumBufferedEventsBatch should not be domain specific, but rather a service level protection


refactor(core): move mexp from plugins to core

🏠 Internal
Move math-expression-evaluator from plugins to superset-ui-core and add new functionality + tests to establish feature parity with relevant mathjs functionality.

really cool improvements!


style: use eslint instead of tslint

TSLint has been deprecated, and ESLint now supports TypeScript. We are changing all of our projects over from TSLint to ESLint.

Codecov Report

Merging #10 into master will decrease coverage by 2.81%.
The diff coverage is 67.44%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
- Coverage   76.54%   73.73%   -2.82%
==========================================
  Files          12       11       -1
  Lines         226      217       -9
  Branches       30       33       +3
==========================================
- Hits          173      160      -13
- Misses         41       45       +4
  Partials       12       12

Impacted Files
Coverage Δ

src/GameState.ts
83.33% <ø> (+4.76%)
:arrow_up:

src/line-parsers/new-player.ts
81.81% <100%> (ø)
:arrow_up:

src/line-parsers/AbstractLineParser.ts
100% <100%> (ø)
:arrow_up:

src/line-parsers/zone-change.ts
83.33% <100%> (ø)
:arrow_up:

src/line-parsers/game-over.ts
85.71% <100%> (ø)
:arrow_up:

src/line-parsers/game-start.ts
100% <100%> (ø)
:arrow_up:

src/line-parsers/mulligan-start.ts
60% <50%> (ø)
:arrow_up:

src/LogWatcher.ts
60.46% <54.16%> (-4.17%)
:arrow_down:

src/line-parsers/tag-change.ts
93.75% <66.66%> (ø)
:arrow_up:

src/line-parsers/turn.ts
66.66% <75%> (ø)
:arrow_up:

... and 11 more

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 4dc0d48...74dff21. Read the comment docs.


no t_dict and z_dict

I trained a model. When I was going to test it, there was no weight in the model_dict in eval.py. When I changed it to state_dict, it could be used, but the model_dict didn’t have t and z. Did I miss something?

Can you test with the branch raw instead of the main? Following discussions with other research teams, they were able to reproduce results using this branch.


On-demand country name localization

A good thing would be to make country names only available in english by default and make extras installable via a command world:install-locale tr_TR which will automatically pull the country data from https://github.com/umpirsky/country-list/blob/master/data/tr_TR/country.php and save it to the lang/vendor folder.

Hi, thanks a lot for your input. I have created a branch supporting the Turkish language for you to check.
There is 3 considerations of the locales support.
1- the locale should be part of the accepted_locales in the config file.
2- In the resources lang, a country.php file with the translated countries
3- Same is said for the response.php
https://github.com/nnjeim/world/tree/tr_locale_support
Let me know what do you think (i have translated the response.php using google translate) it might not be totally accurate.
All the best.

closed for lack of activity


Add ES|QL endpoint for Serverless

Fixes https://github.com/elastic/elasticsearch-specification/issues/2554
Adding ES|QL endpoint to Serverless specification

Thanks @ezimuel
The CI error is completely obscure to me, but if I got it right it's unrelated to this PR, so should I just merge?

@elasticmachine update branch

Closing in favor of https://github.com/elastic/elasticsearch-specification/pull/2560


fix: add ts-ignore comments to imports of optional peer dependencies

This should suppress most of the TS build errors caused by missing peer dependencies,
while still keeping things working when the dependency is installed.

we need something similar in browser pool to get rid of this one, but lets merge this first and test it in the wild how it really behaves
node_modules/browser-pool/dist/puppeteer/puppeteer-plugin.d.ts:1:33 - error TS2307: Cannot find module 'puppeteer' or its corresponding type declarations.

1 import type * as Puppeteer from 'puppeteer';
                                  ~~~~~~~~~~~

Found 1 error.

not much to review here, just wanted to let you guys known what changed where, merging
(we should do something with the timeouts in tests too, lol)

Neat! 🙌🏼


Being able to add an amount of fiat (usd, eur, ...) to the portfolio

Eventually including the possibility of adding a fixed amount of fiat (dollars, euros, ...) to the portfolio would be very useful in many cases (for example when you are monitoring the total amount - split into different currencies and cryptocurrencies - you have on an exchange).
Thank you!

I want that, too! :smile:


How do you run GOCART2G Climatological/GOCART2G.data

If you run gcm_setup and ask for AMIP GOCART and Climatological aerosols, the model will crash:
 Integer*4 Resource Parameter: USE_SATSIM_MISR:0
 Parsing of satsim.rc
 Real*4 Resource Parameter: SYNCTQ:1.000000
 ERROR: cannot find export AERO
pe=00094 FAIL at line=07054    MAPL_Generic.F90                         <unknown error>
pe=00094 FAIL at line=00638    MAPL_Generic.F90                         <status=-1>
pe=00094 FAIL at line=00556    MAPL_Generic.F90                         <status=-1>
pe=00094 FAIL at line=04553    MAPL_Generic.F90                         <status=-1>
pe=00094 FAIL at line=04744    MAPL_Generic.F90                         <status=-1>
PHYSICS::SetServices                          1494
AGCMSetServices                                690
GCMSetServices                                 232

I might be able to help @sdrabenh script for this if I knew how to actually run a climatological GOCART2G run. I think it's now all data_driven or something inside here, but I have no idea how to set up for it.

cc: @wmputman @bena-nasa @tclune

In GOCART2G, the logic for enabling the "data component" has moved one level down, inside GOCART2G_GridComp.rc. By default you have:
 # Include the constituent in the simulation?
# ----------------------------------------------------
ACTIVE_INSTANCES_DU:  DU
PASSIVE_INSTANCES_DU:

ACTIVE_INSTANCES_SS:   SS
PASSIVE_INSTANCES_SS:

ACTIVE_INSTANCES_SU:  SU
PASSIVE_INSTANCES_SU:

ACTIVE_INSTANCES_CA:   CA.oc  CA.bc  CA.br
PASSIVE_INSTANCES_CA:

ACTIVE_INSTANCES_NI:  NI
PASSIVE_INSTANCES_NI:

All you need to do is to define each ACTIVE instance as a data instance, like this:
 # Include the constituent in the simulation?
# ----------------------------------------------------
ACTIVE_INSTANCES_DU:  DU.data
PASSIVE_INSTANCES_DU:

ACTIVE_INSTANCES_SS:   SS.data
PASSIVE_INSTANCES_SS:

ACTIVE_INSTANCES_SU:  SU.data
PASSIVE_INSTANCES_SU:

ACTIVE_INSTANCES_CA:   CA.oc.data  CA.bc.data CA.br.data
PASSIVE_INSTANCES_CA:

ACTIVE_INSTANCES_NI:  NI.data
PASSIVE_INSTANCES_NI:

The climatological files are specified inside the ExtData.rc file for each species instance.

I am reopening this as @dr0cloud and myself have shown this is not enough.
If you do change GOCART2G_GridComp.rc to use the .data instances you run into problems.

You cannot do CA.br.data as there is no climBRphilic and climBRphobic in the ExtData files (Also, if you have nitrates on, you are locked to 2014+ and locked to discover due to explicit use of /discover paths in the ExtData files)
If you turn that off, it will fail in CA due to this code:
https://github.com/GEOS-ESM/GOCART/blob/984fc494abfcd95ff3c2ced49dc0ab11176b8510/ESMF/GOCART2G_GridComp/CA2G_GridComp/CA2G_GridCompMod.F90#L129-L137
which does not fail over correctly as it does in, say, dust:
https://github.com/GEOS-ESM/GOCART/blob/984fc494abfcd95ff3c2ced49dc0ab11176b8510/ESMF/GOCART2G_GridComp/DU2G_GridComp/DU2G_GridCompMod.F90#L130-L138
due to there being different instances of CA

Perhaps this is all that is needed, but the fact that there needs to be a code change to even get this far means we probably need someone on the @GEOS-ESM/aerosol-team to try it out and point us to a working experiment. I can then work on getting gcm_setup and gcm_run.j to work easier for users.
Also, I might make a PR to GEOSgcm_App to not allow users to make climatological experiments for now.


Github statuses with SSH is not working

cf our discussion
token to Bearer

URL format

would be great to activate those steps only if ssh?


test: clean up root reconciler ClusterRoleBindings

If a finalizer is force removed during cleanup, it is possible that root reconciler ClusterRoleBindings may be orphaned on the cluster. This has caused some test failures due to the lingering resources.
Example test failure: https://oss.gprow.dev/view/gcs/oss-prow-build-kpt-config-sync/logs/kpt-config-sync-standard-regular/1805843581710110720

/assign @nan-yu


Todos -> to-do or to-dos

I don't think "todos" is gramatically correct and I always read it as the spanish word.
https://ell.stackexchange.com/questions/105079/what-is-a-plural-of-to-do-to-dos-or-to-does

Merriam Webster says the correct formation of this would be "to-dos", so let's go with that. I'll make the update.