Unable to evaluate FusedBatchNormV3 operation without GPU

System information

Have I written custom code: Yes
OS Platform and Distribution: Linux Ubuntu 16.04
Mobile device if the issue happens on mobile device: n/a
TensorFlow installed from: binary (installed by pip)
TensorFlow version: v1.15.0-rc3-22-g590d6ee 1.15.0
Python version: 3.5.2
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: CUDA:10.0, cuDNN:7.6
GPU model and memory: GeForce GTX 1080 Ti

Describe the current behavior
I would like to evaluate the outputs of each operation of our network.
I succeeded to get the outputs by running the following code with GPU (Using tensorflow-gpu), but without GPU (Using tensorflow-cpu), I got an error as follows.
tensorflow.python.framework.errors_impl.OutOfRangeError: Node 'BatchNorm/FusedBatchNormV3' (type: '_FusedConv2D', num of outputs: 1) does not have output 1

There are different behavior about BatchNorm/FusedBatchNormV3 between w/ GPU and w/o GPU.
I think FusedBatchNormV3's num of outputs should be 6 but that error shows num of outputs is 1.
Describe the expected behavior
I expected to be enabled to evaluate the outputs of BatchNorm/FusedBatchNormV3 only using CPU.
Code to reproduce the issue
At first, create a test script (test.py) as following.
import tensorflow as tf
import numpy as np

batch_size=1
image_size = (64,64)

def main():
    graph = tf.Graph()
    with graph.as_default():
        shape = (batch_size, image_size[0], image_size[1], 3)
        images_placeholder = tf.compat.v1.placeholder(
            tf.float32,
            shape=shape,
            name="images_placeholder")

        conv = tf.layers.conv2d(images_placeholder, filters=32, kernel_size=3, padding='SAME', use_bias=False)
        batch_normed = tf.contrib.layers.batch_norm(conv,is_training=False)
        softmax = tf.nn.softmax(batch_normed)
        output = tf.identity(softmax, name="output")

        init_op = tf.global_variables_initializer()

    session_config = tf.ConfigProto()
    sess = tf.Session(graph=graph, config=session_config)
    sess.run(init_op)

    images = np.expand_dims(np.zeros((image_size[0],image_size[1], 3), dtype=float), axis=0)
    feed_dict = {
        images_placeholder: images,
    }

    all_ops = graph.get_operations()
    all_outputs = []
    index = 0
    for op in all_ops:
        for op_output in op.outputs:
            print(op_output)
            val = sess.run(op_output.name, feed_dict=feed_dict)
            all_outputs.append({'val': val, 'name': op_output.name})
            index += 1

if __name__ == '__main__':
    main()

After that, run commands as following.
$ pip install tensorflow-cpu==1.15.0
$ python test.py

Other info / logs

[Success] Run test.py with GPU (tensorflow-gpu==1.15.0)

$ python test.py
WARNING:tensorflow:From test.py:16: conv2d (from tensorflow.python.layers.convolutional) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.keras.layers.Conv2D` instead.
WARNING:tensorflow:From /home/hadusam/tensorflow-gpu/lib/python3.5/site-packages/tensorflow_core/python/layers/convolutional.py:424: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.
Instructions for updating:
Please use `layer.__call__` method instead.
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
  * https://github.com/tensorflow/addons
  * https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.

WARNING:tensorflow:From test.py:21: The name tf.global_variables_initializer is deprecated. Please use tf.compat.v1.global_variables_initializer instead.

WARNING:tensorflow:From test.py:23: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.

WARNING:tensorflow:From test.py:24: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.

2020-02-04 17:12:56.452491: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
2020-02-04 17:12:56.458872: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-02-04 17:12:56.459272: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x6728e70 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-02-04 17:12:56.459299: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-02-04 17:12:56.462463: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
2020-02-04 17:12:56.676188: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x67d26e0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2020-02-04 17:12:56.676219: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): GeForce GTX 1080 Ti, Compute Capability 6.1
2020-02-04 17:12:56.677202: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.62
pciBusID: 0000:af:00.0
2020-02-04 17:12:56.677442: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
2020-02-04 17:12:56.678571: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
2020-02-04 17:12:56.679662: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10.0
2020-02-04 17:12:56.679943: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10.0
2020-02-04 17:12:56.681246: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10.0
2020-02-04 17:12:56.682741: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10.0
2020-02-04 17:12:56.685936: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-02-04 17:12:56.688818: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
2020-02-04 17:12:56.688898: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
2020-02-04 17:12:56.689938: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-02-04 17:12:56.689984: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0
2020-02-04 17:12:56.690014: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N
2020-02-04 17:12:56.691698: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10470 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:af:00.0, compute capability: 6.1)
Tensor("images_placeholder:0", shape=(1, 64, 64, 3), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/shape:0", shape=(4,), dtype=int32)
Tensor("conv2d/kernel/Initializer/random_uniform/min:0", shape=(), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/max:0", shape=(), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/RandomUniform:0", shape=(3, 3, 3, 32), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/sub:0", shape=(), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/mul:0", shape=(3, 3, 3, 32), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform:0", shape=(3, 3, 3, 32), dtype=float32)
Tensor("conv2d/kernel:0", shape=(3, 3, 3, 32), dtype=float32_ref)
Tensor("conv2d/kernel/Assign:0", shape=(3, 3, 3, 32), dtype=float32_ref)
Tensor("conv2d/kernel/read:0", shape=(3, 3, 3, 32), dtype=float32)
Tensor("conv2d/dilation_rate:0", shape=(2,), dtype=int32)
Tensor("conv2d/Conv2D:0", shape=(1, 64, 64, 32), dtype=float32)
2020-02-04 17:12:57.365891: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-02-04 17:12:58.204387: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
Tensor("BatchNorm/Const:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/beta/Initializer/zeros:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/beta:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/beta/Assign:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/beta/read:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/moving_mean/Initializer/zeros:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/moving_mean:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/moving_mean/Assign:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/moving_mean/read:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/moving_variance/Initializer/ones:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/moving_variance:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/moving_variance/Assign:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/moving_variance/read:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/FusedBatchNormV3:0", shape=(1, 64, 64, 32), dtype=float32)
Tensor("BatchNorm/FusedBatchNormV3:1", shape=(32,), dtype=float32)
Tensor("BatchNorm/FusedBatchNormV3:2", shape=(32,), dtype=float32)
Tensor("BatchNorm/FusedBatchNormV3:3", shape=(32,), dtype=float32)
Tensor("BatchNorm/FusedBatchNormV3:4", shape=(32,), dtype=float32)
Tensor("BatchNorm/FusedBatchNormV3:5", dtype=float32)
Tensor("BatchNorm/Const_1:0", shape=(), dtype=float32)
Tensor("Softmax:0", shape=(1, 64, 64, 32), dtype=float32)
Tensor("output:0", shape=(1, 64, 64, 32), dtype=float32)

[Error] Run test.py without GPU (tensorflow-cpu==1.15.0)

$ python test.py
WARNING:tensorflow:From test.py:16: conv2d (from tensorflow.python.layers.convolutional) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.keras.layers.Conv2D` instead.
WARNING:tensorflow:From /home/hadusam/tensorflow-cpu/lib/python3.5/site-packages/tensorflow_core/python/layers/convolutional.py:424: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.
Instructions for updating:
Please use `layer.__call__` method instead.
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
  * https://github.com/tensorflow/addons
  * https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.

WARNING:tensorflow:From test.py:21: The name tf.global_variables_initializer is deprecated. Please use tf.compat.v1.global_variables_initializer instead.

WARNING:tensorflow:From test.py:23: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.

WARNING:tensorflow:From test.py:24: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.

2020-02-04 17:26:55.513752: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
2020-02-04 17:26:55.518222: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-02-04 17:26:55.518610: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x52ffee0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-02-04 17:26:55.518636: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
Tensor("images_placeholder:0", shape=(1, 64, 64, 3), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/shape:0", shape=(4,), dtype=int32)
Tensor("conv2d/kernel/Initializer/random_uniform/min:0", shape=(), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/max:0", shape=(), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/RandomUniform:0", shape=(3, 3, 3, 32), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/sub:0", shape=(), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform/mul:0", shape=(3, 3, 3, 32), dtype=float32)
Tensor("conv2d/kernel/Initializer/random_uniform:0", shape=(3, 3, 3, 32), dtype=float32)
Tensor("conv2d/kernel:0", shape=(3, 3, 3, 32), dtype=float32_ref)
Tensor("conv2d/kernel/Assign:0", shape=(3, 3, 3, 32), dtype=float32_ref)
Tensor("conv2d/kernel/read:0", shape=(3, 3, 3, 32), dtype=float32)
Tensor("conv2d/dilation_rate:0", shape=(2,), dtype=int32)
Tensor("conv2d/Conv2D:0", shape=(1, 64, 64, 32), dtype=float32)
Tensor("BatchNorm/Const:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/beta/Initializer/zeros:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/beta:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/beta/Assign:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/beta/read:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/moving_mean/Initializer/zeros:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/moving_mean:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/moving_mean/Assign:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/moving_mean/read:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/moving_variance/Initializer/ones:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/moving_variance:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/moving_variance/Assign:0", shape=(32,), dtype=float32_ref)
Tensor("BatchNorm/moving_variance/read:0", shape=(32,), dtype=float32)
Tensor("BatchNorm/FusedBatchNormV3:0", shape=(1, 64, 64, 32), dtype=float32)
Tensor("BatchNorm/FusedBatchNormV3:1", shape=(32,), dtype=float32)
Traceback (most recent call last):
  File "/home/hadusam/tensorflow-cpu/lib/python3.5/site-packages/tensorflow_core/python/client/session.py", line 1365, in _do_call
    return fn(*args)
  File "/home/hadusam/tensorflow-cpu/lib/python3.5/site-packages/tensorflow_core/python/client/session.py", line 1350, in _run_fn
    target_list, run_metadata)
  File "/home/hadusam/tensorflow-cpu/lib/python3.5/site-packages/tensorflow_core/python/client/session.py", line 1443, in _call_tf_sessionrun
    run_metadata)
tensorflow.python.framework.errors_impl.OutOfRangeError: Node 'BatchNorm/FusedBatchNormV3' (type: '_FusedConv2D', num of outputs: 1) does not have output 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 43, in <module>
    main()
  File "test.py", line 38, in main
    val = sess.run(op_output.name, feed_dict=feed_dict)
  File "/home/hadusam/tensorflow-cpu/lib/python3.5/site-packages/tensorflow_core/python/client/session.py", line 956, in run
    run_metadata_ptr)
  File "/home/hadusam/tensorflow-cpu/lib/python3.5/site-packages/tensorflow_core/python/client/session.py", line 1180, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/hadusam/tensorflow-cpu/lib/python3.5/site-packages/tensorflow_core/python/client/session.py", line 1359, in _do_run
    run_metadata)
  File "/home/hadusam/tensorflow-cpu/lib/python3.5/site-packages/tensorflow_core/python/client/session.py", line 1384, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.OutOfRangeError: Node 'BatchNorm/FusedBatchNormV3' (type: '_FusedConv2D', num of outputs: 1) does not have output 1

Works without issues with TF-GPU, was able to reproduce the issue with TF-CPU. Please find the attached Gist. Thanks!

tf.contrib.layers.batch_norm is deprecated. Can you please try using tf.keras.layers.LayerNormalization instead? Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Can the js SDK for Azure speech to text can be used with Node?

Azure documentation issue guidance
Thanks for opening an issue in the Azure technical documentation repository.
We use GitHub issues as the primary channel for customer and community feedback about the Azure documentation.
Creating an issue
We prefer that you create documentation feedback issues using the Feedback link on the published article - the feedback control on the doc page creates an issue that contains all the article details so you can focus on the feedback part.
You can also create a feedback issue here in the repo. If you do this, please make sure your issue lists:

[ ] The relevant Azure service or technology.
[ ] A link to the published documentation article that you have feedback about.
[ ] Clear, specific feedback that the author can act on.

Pull requests and article contributions
If you know the change that is needed in an article, we encourage you to submit the changes directly using a pull request. If the change is large, or if you want to contribute an entire article, follow these guidelines:

[ ] Don't surprise us with a big pull request or a pull request with a new article! Submit an issue that describes the details of the proposed large change or new article.
[ ] Include the service or technology area.

We'll route the issue to the appropriate content team for review and discussion.
Tech support and product feedback
If you would like to contact Microsoft about other things, such as product feedback or tech support, please review these guidelines:

If you need technical support using Azure, the paid and free support options are described here: https://azure.microsoft.com/support/options/.

Each article in the Azure technical documentation contains a product feedback button - it's best to submit product feedback directly from a relevant article. Otherwise, you can submit product feedback for most Azure products in the following product feedback forum: https://feedback.azure.com/forums/34192--general-feedback.

@rightsmith Thanks for the feedback! We are currently investigating and will update you shortly.

@rightsmith Please refer to the document for JS: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/quickstart-js-browser and the Git repo https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/quickstart/js-browser
I don't think we support things beyond those documents.

@rightsmith We will now proceed to close this thread. If there are further questions regarding this matter, please tag me @YutongTie-MSFT in your reply. We will gladly continue the discussion and we will reopen the issue.


flake8 3.6.0 fixes

The 3.6.0 release of flake includes a bump to the version of the pycodestyle which is incompatible with the capping of this dependency introduced in #17. As a result, most of the Python apps/plugins which Travis build consumes omero-test-infra now fail with an ImportError - see https://travis-ci.org/sbesson/omero-plugins/builds/450260239 for the full list.
Option 1: cap flake8
This is the most short-term solution and should fix most the Travis builds - see https://travis-ci.org/sbesson/omero-plugins/builds/450260382.
Option 2: uncap pycodestyle
This should prevent the ImportError and let the plugins/apps be validated by flake8 3.6.0. https://travis-ci.org/sbesson/omero-plugins/builds/450260479 suggests that additional work might be required to fix some of the new warnings reported as error
In both cases, it is worth noting that omero-parade fails with another error which might need to be addressed separately.

https://github.com/openmicroscopy/omero-test-infra/pull/27 for option 1
We can look at option 2 later on

no longer valid


feat(solc): add mock project generator

Motivation
Setting up mock projects is useful to test advanced features

Solution
Adds a generator that based on some settings can create a basic project skeleton.
This can be used to populate a temp directory with a bunch of source contracts and libraries that (contract A {}).
Will be used by follow up PRs that test optimized compile #1009

PR Checklist

[x] Added Tests
[x] Added Documentation
[ ] Updated the changelog

Allow unused macros, they might be useful later on


Fix: 'Testing with Chai' 404 error

Problem: Get 404'd when accessing https://learn.freecodecamp.org/information-security-and-quality-assurance/quality-assurance-and-testing-with-chai
Reason: The index.md was missing some words and mismatched with the url, causing 404.
The issue was raised on the main repo: https://github.com/freeCodeCamp/freeCodeCamp/issues/17298

@huyenltnguyen Awesome! Thanks for fixing this so quickly!


PERF: value types end up boxed

Given S, D value types here, when doing a.Equals(b), they end up using the Equals(object) overload.
Maybe it would be good to have EqualityComparer<T>.Default.Equals(a, b) there?
I initially wanted to suggest having S:IEquatable<D>, D:IEquatable<S>, There's also the problem when one of S values is null, since a.Equals(b) would NRE. I know that having nulls is bad design, but better safe than sorry?

Yes, you're absolutely right.

Shoot, I tried to implement this but it's a bit tricky since EqualityComparer<T> assumes a and b are the same type. I think it's best to advise people to write their own match functions to avoid boxing and handle nulls.

Maybe add a version which constrains S and D to IEquatable for the other?


Adding user input for psi

Can someone add a kwarg for user input of psi (the starting wave func).

I believe this issue has already been handled and evident on main in tdse_solver.py. Are you going to continue on this or should i mark as closed since there is no branch tied to this issue?

I thought we weren't using tdsesolver.py anymore (should it be removed?). solving_tdse.py can't do it currently, not sure if it's getting added to it, @zhap064 was going to do it i believe

Sorry, i  referred to the wrong names(they are similar) regardless kwargs have not been added to psi yet. I have created a branch for it though

Any progress regarding this issue?

It shouldn't take too long so if @zhap064 doesn't do it I may still get round to it.
I'm not aware of any actual progress though.

Yeah had a looked at the branch and no changes have been made at all, the branch is quite dead so im going to remove it and reopen it if your working on it so that you have the most up to date branch.

Are you still waiting on me or has some else already fixed it ?

You welcome to work on this, but at this time no one is working on it, if this continues I will close this issue.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/113379

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/114263

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/118406

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/118580


Add notebook on Hidden Linear Function Problem

This is one of problems, example for which was requested in #2620

build-docs failed with warning, treated as error:
/home/travis/build/quantumlib/Cirq/docs/notebooks/Hidden Linear Function Problem.ipynb:document isn't included in any toctree
Apparently I must add it to table of contents.  You put it in docs instead of examples Like https://github.com/quantumlib/Cirq/tree/master/examples/notebooks. I vote for leaving this here and moving the ones in examples to docs. Let's discus at the meeting today.

@vtomole, I put it into cirq/docs/notebooks, because @dstrain115 said so in this comment.

Doug, can you please advise whether I should add link to this notebook to Table of Contents.
Currently in cirq/docs we don't have any case examples like this. Should I add a new section in cirq/docs/index.rst?
@dstrain115

Doug, can you please advise whether I should add link to this notebook to Table of Contents.
Currently in cirq/docs we don't have any case examples like this. Should I add a new section in cirq/docs/index.rst?

Can you make a new directory under docs/ called studies and move python notebook to docs/studies/hidden_linear_function.ipynb?
You should be able to add a section in the index.rst similar to this:
.. toctree::
    :maxdepth: 1
    :caption: Case Studies

   studies/hidden_linear_function.ipynb

Thanks.

@fedimser  How about changing the filename to HiddenLinearFunction to be consistent with the notebooks already in examples/notebooks?

I vote for leaving this here and moving the ones in examples to docs

Agreed.  I will move those over to docs in a later PR.  Thanks for pointing them out.

I addressed all comments. I put it in "Case studies" and added corresponding TOC entry, as Doug said in this comment.

Also, can you update the branch and see if it can be merged, now that the studies directory is in place?

PTAL and please merge if all is good.
@dstrain115

@vtomole, I addressed all your comments, can you please approve?

Automerge cancelled: Only collaborators with write permission can use automerge.

I just checked if I can merge it - and I can't.
Victory, can you please merge this PR?
@vtomole


Adjust README description of support matrix

What this PR does / why we need it:
The versions were hardcoded, meaning it would have to be updated
on every release. Instead I explained the versioning/support
scheme and how to opt-out of it if desired. This will not have
to change unless we change those larger schemes.
Which issue(s) this PR fixes
Fixes #736
Special notes for your reviewer:
I want to make sure that the website properly updates when we update the readme. It is a bit unique since it is the only page not in the docs/site that needs to be a part of the website.
Release note:
NONE

Codecov Report

Merging #737 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #737   +/-   ##
=======================================
  Coverage   40.16%   40.16%
=======================================
  Files          69       69
  Lines        3934     3934
=======================================
  Hits         1580     1580
  Misses       2253     2253
  Partials      101      101

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 98d7d32...54e4c9e. Read the comment docs.

Sorry, I just re-read your PR description. It's not clear to me what the desired behaviour is for changes to this file. Is there something in place to pull updates from this file so that they go on the website?

We're on the same page when it comes to this topic; I wasn't sure if the netlify stuff would automatically pull the main readme or not. I wanted to see what the preview showed and, as you said, this doesn't seem to work that way.
I'll find/update the other readme too and make sure they are consistent.

Preview site has the change now; it is a bit confusing because, as of now, we dont have versioned docs but the site/docs does have a folder for latest and another for master. I made a ticket about us versioning our docs so that users of older versions don't get confused about new features they dont have and such. #738 but that is for another day. For now I just copy/pasted the readme contents into each location.
The only thing that isn't identical are the links to the sonobuoy logo which are relative paths so they are slightly different from the main README


How can I get mIoU=79.916%?

Hello, I have a problem.
1.Same hyperparamters with you, backbone=resnet101
2.Use 4 GPUs, batch_size=16
3.pretrained model=resnet101-5d3b4d8f.pth
4.Train dataset=VOC2012AUG(10582)
5.Test dataset=VOC2012val(1449)
6.Use syncbatchnorm
But I get best mIoU is 77.359% with 350 epochs. How can I get 79.916% as you.
Thanks.

Hi @He-Chao , 350 epoches seems too large, 46 epoches (about 30k itr) is enough.

Hi @He-Chao , 350 epoches seems too large, 46 epoches (about 30k itr) is enough.

Hi, I first just use backbone pretrained model:resnet101-5d3b4d8f.pth. When train deeplabv3p-res101 50 epoches, test the model in test datasets, just get 64.225% mIoU.

@He-Chao
Have you check deeplabv3plus_res101_atrous_VOC2012_epoch46_all.pth file achieve 79.916% on your environment?

@YudeWang
Yes, I try use your model deeplabv3plus_res101_atrous_VOC2012_epoch46_all.pth to test, but I only get 77.726% mIoU, my config as yours.

@He-Chao
Then you must have rewrite my codes, pls re-check it.

@YudeWang
OK, thank you. I'll check it.

@YudeWang
Hi, I have used your code and deeplabv3plus_res101_atrous_VOC2012_epoch46_all.pth model to test, the result is 77.726%. Where is the problem?
Thank you for your reply

@He-Chao
What about your evaluation code? (not test.py)

@YudeWang
Just use your test.py which use VOCDataset.py to get mIoU

@He-Chao
I have retest my res101 model provided in README and still achieve 79.916% on PASCAL VOC 2012 val set.
backbound: 94.733%      aeroplane: 92.422%
    bicycle: 43.771%           bird: 89.729%
       boat: 74.913%         bottle: 82.731%
        bus: 95.616%            car: 89.028%
        cat: 94.553%          chair: 41.205%
        cow: 90.457%    diningtable: 58.292%
        dog: 90.432%          horse: 88.027%
  motorbike: 86.099%         person: 87.398%
pottedplant: 68.010%          sheep: 90.589%
       sofa: 52.553%          train: 88.096%
  tvmonitor: 79.574%
======================================================
       mIoU: 79.916%

@YudeWang
my test result:
backbound: 93.253%      aeroplane: 85.582%
bicycle: 75.956%           bird: 85.601%
boat: 69.698%         bottle: 77.716%
bus: 93.905%            car: 84.975%
cat: 91.290%          chair: 42.752%
cow: 84.114%    diningtable: 56.967%
dog: 85.711%          horse: 82.452%
motorbike: 79.760%         person: 83.300%
pottedplant: 60.343%          sheep: 85.541%
sofa: 52.075%          train: 82.807%
tvmonitor: 78.446%
   mIoU: 77.726%

Test finished
parameters as yours:
self.ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname("file"),'..','..'))
self.EXP_NAME = 'deeplabv3+voc'
	self.DATA_NAME = 'VOC2012'
	self.DATA_AUG = True
	self.DATA_WORKERS = 8
	self.DATA_RESCALE = 512
	self.DATA_RANDOMCROP = 512
	self.DATA_RANDOMROTATION = 0
	self.DATA_RANDOMSCALE = 2
	self.DATA_RANDOM_H = 10
	self.DATA_RANDOM_S = 10
	self.DATA_RANDOM_V = 10
	self.DATA_RANDOMFLIP = 0.5

	self.MODEL_NAME = 'deeplabv3plus'
	self.MODEL_BACKBONE = 'res101_atrous'
	self.MODEL_OUTPUT_STRIDE = 16
	self.MODEL_ASPP_OUTDIM = 256
	self.MODEL_SHORTCUT_DIM = 48
	self.MODEL_SHORTCUT_KERNEL = 1
	self.MODEL_NUM_CLASSES = 21
	self.MODEL_SAVE_DIR = os.path.join(self.ROOT_DIR,'model',self.EXP_NAME)

	self.TRAIN_LR = 0.007
	self.TRAIN_LR_GAMMA = 0.1
	self.TRAIN_MOMENTUM = 0.9
	self.TRAIN_WEIGHT_DECAY = 0.00004
	self.TRAIN_BN_MOM = 0.0003
	self.TRAIN_POWER = 0.9
	self.TRAIN_GPUS = 4
	self.TRAIN_BATCHES = 16
	self.TRAIN_SHUFFLE = True
	self.TRAIN_MINEPOCH = 0
	self.TRAIN_EPOCHS = 46
	self.TRAIN_LOSS_LAMBDA = 0
	self.TRAIN_TBLOG = True
	self.TRAIN_CKPT = None#os.path.join(self.ROOT_DIR,'model/deeplabv3+voc/deeplabv3plus_xception_VOC2012_itr0.pth')

	self.LOG_DIR = os.path.join(self.ROOT_DIR,'log',self.EXP_NAME)

	self.TEST_MULTISCALE = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75]
	self.TEST_FLIP = True
	self.TEST_CKPT = os.path.join(self.ROOT_DIR,'model/deeplabv3+voc/deeplabv3plus_res101_atrous_VOC2012_epoch46_all.pth')
	self.TEST_GPUS = 4
	self.TEST_BATCHES = 16

@YudeWang
Sorry for wrong format. This is my test result by your res101 model provided in README
backbound: 93.253%      aeroplane: 85.582%
bicycle: 75.956%           bird: 85.601%
   boat: 69.698%         bottle: 77.716%
    bus: 93.905%            car: 84.975%
    cat: 91.290%          chair: 42.752%
    cow: 84.114%    diningtable: 56.967%
    dog: 85.711%          horse: 82.452%
motorbike: 79.760%         person: 83.300%
pottedplant: 60.343%          sheep: 85.541%
   sofa: 52.075%          train: 82.807%
  tvmonitor: 78.446%
======================================================
   mIoU: 77.726%

你好，非常感激你一直以来的回答。我们能加个微信或者qq聊一下吗。我很好奇这个问题到底是怎么回事?谢谢
我的微信号就是手机号13045894655，或者你发一下你的我加你
---Original---
From<EMAIL_ADDRESS>Date: Thu, Dec 5, 2019 09:25 AM
To<EMAIL_ADDRESS>Cc: "Mention"<mention<EMAIL_ADDRESS>Subject: Re: [YudeWang/deeplabv3plus-pytorch] How can I get mIoU=79.916%? (#43)
@He-Chao
I have retest my res101 model provided in README and still achieve 79.916% on PASCAL VOC 2012 val set.
backbound: 94.733%      aeroplane: 92.422%      bicycle: 43.771%           bird: 89.729%        boat: 74.913%         bottle: 82.731%         bus: 95.616%            car: 89.028%         cat: 94.553%          chair: 41.205%         cow: 90.457%    diningtable: 58.292%         dog: 90.432%          horse: 88.027%   motorbike: 86.099%         person: 87.398% pottedplant: 68.010%          sheep: 90.589%        sofa: 52.553%          train: 88.096%   tvmonitor: 79.574% ======================================================        mIoU: 79.916%
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@YudeWang
Thanks for your reply. The reason is my VOC2012 dataset has some problems. Now the problems have been solved. I have got 79.944% mIoU in VOC2012val datasets by deeplabv3+resnet.

The difference between 79.944% and 79.916% may caused by pytorch (0.4 and 1.3) and cuda version (8.0 and 10.0). The code is correct and I will close the issue.

@YudeWang
Thanks for your reply. The reason is my VOC2012 dataset has some problems. Now the problems have been solved. I have got 79.944% mIoU in VOC2012val datasets by deeplabv3+resnet.

Hi~. Does 79.944% is computed from your own model (re-train by yourself) ?, or just test the model the author provides in Readme~

Hi~. Does 79.944% is computed from your own model (re-train by yourself) ?, or just test the model the author provides in Readme~ @He-Chao


The default app service plan name is truncated with 24 characters during Function App creation

OS: All
Build Version: 20200625.7
Repro Steps:

F1 --> Azure Functions: Create Function App in Azure... (Advanced) --> Input name "serene-adv-win-node12-appserviceplan" --> Node.js 12 --> Windows --> App Service Plan --> + Create new App Service Plan.
Check the default name for this app service plan.

Expect:
The default name shows as "serene-adv-win-node12-appserviceplan".
Actual:
The default name is truncated as "sereneadvwinnode12appser".

More Info:

This issue also reproduces for the next creating new resources "resource group/AI...", we can edit it with longer characters.
This issue also reproduces for the next creating storage account, but this is expected.

This is by design. We want to use the same name for the sake of consistency, matching the most restrictive rules (in this case storage).


getProducts and getSubscriptions return the same data

Version of react-native-iap
8.0.8
Version of react-native
0.68.1
Platforms you faced the error (IOS or Android or both?)
iOS (15.4) (did not check android yet)
Expected behavior
getProducts and getSubscriptions return separate lists of products and subscriptions
Actual behavior
both methods return products and subscriptions according to productsIds passed into parameters
Tested environment (Emulator? Real Device?)
Device (iPhone X)
Steps to reproduce the behavior
await RNIap.initConnection()
this.purchaseUpdateSubscription = RNIap.purchaseUpdatedListener(() => {})
await RNIap.clearProductsIOS();

const products = await RNIap.getSubscriptions(['subscriptionId', 'concumableId']);
or
const products = await RNIap.getProducts(['subscriptionId', 'concumableId']);

We could filter them using https://developer.apple.com/documentation/storekit/skproduct/2936884-subscriptionperiod

Fixed here: https://github.com/dooboolab/react-native-iap/pull/1760


Better frame-based execution model would be appreciated

This project doesn't seem to work well (at least in my understanding, I'm trying to still figure it all out) in a frame-based project model. I used this in SadConsole as a demo project, but it was difficult to get it to work. The way SadConsole works is that there is a game loop that runs which repeatedly calls an Update method and then a Draw method.
Anytime you change the graphics data in Update, it's drawn only when Draw is called. In my game logic for Update, let's say the user executes the BASIC command RUN, a program in the interpreter starts but you can't see any updates to the screen until it finishes because it blocks the current Update method call. If you run a 10 print // 20 goto 10 loop, it will just run forever without updating the screen.

I created a new executor that does away with the while loop in ExecuteLineWithoutErrorHandler. It flags a new property IsExecuting while it's running so that I can know to (on the next call of my game update frame) to call the executor again.

I can't seem to think of an easy way though, to handle GET and INPUT as the logic seems to be that the command would call directly into the ITeleType.ReadChar and ITeleType.Read methods to get a character or a line of text. But that logic flow would lock at my app waiting for input, but then my game update method can't finish to then redraw the screen.

Anyway, I just filed this issue for things for you to think about.  It was a lot of fun.
You can see more about SadConsole at the website or github repo. The code I linked to is from a new branch which is a redesign.

Looks nice, I think when I was planning on doing this I was thinking of running the interpreter on one thread with the UI on another thread synching across them.
I had sort of planned to use a plain textbox with ui faking a muisc ruled lineprinter  which would make whole line input easy but I hadn't decided what to do about "get".
The other issue I was thinking about was how to deal with emulating a ansi terminal and the width logic as terminal control codes shouldn't count against the width.

And please don't do anything specific for me. I'm just playing around. I just wanted to bring this up to you just as an FYI.


Conflict between cunn and cv package

When I try to use cv and cunn packages separately, they both work fine as shown below:
th> require 'cunn';
                                                                      [0.8175s]
th> a = torch.load("/path/model.net")
                                                                      [0.1354s]
th> require 'cv';
                                                                      [0.0248s]

But when I try to use both packages together, then there is a problem.
th> require 'cv';
                                                                      [0.0240s]
th> require 'cunn';
                                                                      [47.5557s]

In the above example, I load cv first and after that when I load cunn it takes ridiculously long time. Suppose if I load cunn first (as shown below), then loading takes usual time. But once I load cv package, all operations related to cunn start taking unusually long time (loading of a network). Same thing happens when performing any cv related operation.
th> require 'cunn';
                                                                      [0.8393s]
th> require 'cv';
                                                                      [0.0191s]
th> a = torch.load("/path/model.net")
                                                                      [15.9533s]

Is it possible that cv package somehow did not link itself properly to cuda? How can I verify that?

@codeAC29
Thanks for reporting!
That's a really weird problem, because require cv doesn't even import any package (in contrast to require cv.<package-name>), only some common wrapper functions.
Anyway, this strongly resembles one well-known issue with OpenCV: when you set wrong CUDA compute capability in OpenCV's CMakeLists.txt, first calls to CUDA kernel may last up to 2 minutes.
So, when building OpenCV, pay attention to these CMake variables:
CUDA_ARCH_BIN=3.5 # or whatever you have
CUDA_ARCH_PTX=

Also, you may want to have static libraries, which is said to speed up those first calls:
BUILD_SHARED_LIBS=off
CMAKE_CXX_FLAGS=-fPIC
WITH_QT=off
WITH_VTK=off
WITH_GTK=off
WITH_OPENGL=off

@codeAC29
Did it help?

@shrubb Thanks for the help and sorry about late reply. I was busy at that time so couldn't try the solution which you provided. But yes, now it is working fine for me.


[Rector] Apply Rector: SimplifyStrposLowerRector

To change strpos(strtolower(...)) with stripos(...) with SimplifyStrposLowerRector rector rule.
Checklist:

[x] Securely signed commits

Looks good. These have minor impact now but hopefully will circumvent suboptimal code in future PRs.


tools: update Golang to 1.18, add fuzz tests

Wanted to add fuzz test coverage in another PR and noticed we'd need to bump the tool chain (and with it the linter) to Go 1.18 first.

I have no idea why the mock generation fails on GitHub. I cannot reproduce it locally, neither by running the command directly nor with the dockerized GitHub actions runner act... @positiveblue or @sputn1ck can you reproduce the error Error: 2022/08/04 12:44:43 Loading input failed: sidecar/interfaces.go:300:9: failed parsing arguments: sidecar/interfaces.go:300:39: unknown package "btcec"?

I have no idea why the mock generation fails on GitHub. I cannot reproduce it locally, neither by running the command directly nor with the dockerized GitHub actions runner act... @positiveblue or @sputn1ck can you reproduce the error Error: 2022/08/04 12:44:43 Loading input failed: sidecar/interfaces.go:300:9: failed parsing arguments: sidecar/interfaces.go:300:39: unknown package "btcec"?

Can't reproduce either

@guggero i added a commit on top of yours fixing the mock gen step. We were sharing the go cache with the host and that was causing some permission problems.

@positiveblue thanks for figuring it out :tada:


Refactor Dto in ZeebeGrpcClient

This one is a stretch goal for the release.
The new clients have a clean structure with all interfaces in a Dto namespace.
The ZeebeGrpcClient has interfaces all over the place. It will be a significant documentation win to coalesce them all into a Dto namespace.

They are now documented in the <internal> namespace in the docs, and can be imported via @camunda8/sdk/zeebe/types if needed.


Enable autonomous driving mode for ego vehicle using C++

In your documentation, it was indicated that currently, AI handover is only supported through PythonAPI. But unfortunately, it doesn't serve well for my study implementation. Why is AI handover not supported using C++? Is there a way I could implement it?
I really appreciate any help you can provide.

I think there might be some confusion here that I'd like to clear up.
The current implementation of DReyeVR "Autopilot" uses the same SetAutopilot function that CARLA uses for their NPC agents. At its core, this uses CARLA's TrafficManager which acts like a simple PID controller for throttle/steering that follows a predefined route. To our knowledge the most straightforward (and intended) way to enable and interact with the TrafficManager was through the PythonAPI as we do in DReyeVR_AI.py. There is no technical limitation as to why you can't implement the interaction to start and communicate with the TM in C++, we just haven't done so yet.
On the other hand, the "handoff" is what we define as the action which switches who/what is in control of the EgoVehicle. By default the user (human) is in control and can drive with keyboard/logi-wheel, but as per our documentation you can also (through C++ events) execute this handoff at any time and pass over control to the Autopilot (assuming the TM is running).

Hi! Thank you so much for the quick response. I am quite new to Carla. Could you please direct me to the documentation for setting autopilot using Traffic Manager? I would really apprecaite it.

Well the TL;DR of it that we use is to first enable a TM instance in the PythonAPI. Then with that running we can just call SetAutopilot(true) in the EgoVehicle.
For more in-depth documentation here is CARLA's docs.

If you are more interested in the innards of the wheeled-vehicle AI controller check out CARLA's WheeledVehicleAIController class for this. (Note that our EgoVehicle's default controller inherits from this class so we have all the same functionality.

This helps me a lot. Thank you. I will close this issue soon once I am able to implement it :)


Unable to install iwatch

Hi. Sorry to bother you again. This time it should be more valid question
FROM blitznote/debase:16.04
RUN apt-get update
RUN apt-get install libcommon-sense-perl liblinux-inotify2-perl iwatch
ENTRYPOINT iwatch -o ./ | xargs -n1 -I{} sh -c 'clear; printf "\033[3J" && /flow/flow'

I get this error
The following packages have unmet dependencies:
 libcommon-sense-perl : Depends: perl (< 5.24.2~) but 5.26.1-13bn is to be installed
E: Unable to correct problems, you have held broken packages.
The command '/bin/bash -c apt-get install libcommon-sense-perl liblinux-inotify2-perl iwatch' returned a non-zero code: 100

This is issue with Ubuntu, rather than your image. Asking just in case you can advice something, otherwise feel free to close it.

See the README, section ›troubleshooting‹. Thanks.

If you want a more recent Perl from Ubuntu (that is, not mine), I recommend you go with blitznote/debase:18.04.

Thank you for your patience ♥

No biggie. I for one avoid Perl whenever possible. Not because it's good or bad, but to decrease complexity. And then, Perl enforces that modules be compiled with a particular minor version (modules for 5.24 won't be loaded by 5.26), which could have its reasons, but is a maintenance burden.


Updated version to support newer python versions 3.8 and above

Removed the loop parameter of  asyncio.open_connection function as it is deprecated above python 3.8 and removed from python 3.10.

LGTM

Offline followup: I have no context into this project, but the python LGTM 👍

lgtm

Please verify unit tests once.


Order.complete.basic.success API does not include models ordered with API Key

Actual:
Basic models ordered with an API Key with author Web S are correctly triggering the FloorPlan.convertToBasic3dModel API however when model is closed it is not triggering the order.complete.basic.success (fail)
Expect:
Expect any completed instances of basic models ordered with an API key and Web S author to be counted in order.complete.basic.success. (fail)

doesn't belong in this repository


Misconfigured MYSQL2 causes badmatch error

Environment

VerneMQ Version: 2.0.1
OS: Ubuntu 22.04.4 LTS
Erlang/OTP version (if building from source): 24
Cluster size/standalone: standalone

Current Behavior
Loading the mysql2.lua with an erroneous mysql2 configuration will cause the following error:
vmq_diversity_script_state:init/1:111: can't load script "./share/lua/auth/mysql2.lua" due to {error,undef}
[error] <0.569.0> vmq_diversity_app:load_script/1:111: could not load script "./share/lua/auth/mysql2.lua" due to {{{badmatch,{error,{normal,{child,undefined,{vmq_diversity_script_state,1},{vmq_diversity_script_state,start_link,[1,"./share/lua/auth/mysql2.lua",<0.575.0>]},permanent,false,5000,worker,[vmq_diversity_script_state]}}}},[{vmq_diversity_script,setup_lua_states,3,[{file,"/vernemq-build/apps/vmq_diversity/src/vmq_diversity_script.erl"},{line,294}]},{vmq_diversity_script,init,1,[{file,"/vernemq-build/apps/vmq_diversity/src/vmq_diversity_script.erl"},{line,101}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]},{child,undefined,{vmq_diversity_script,"./share/lua/auth/mysql2.lua"},{vmq_diversity_script,start_link,["./share/lua/auth/mysql2.lua"]},permanent,false,5000,worker,[vmq_diversity_script]}}

background:
Connecting to mysql without ssl requires setting vmq_diversity.mysql2.ssl = off as it defaults to on.
Any other misconfiguration will likely cause a similar error.
Expected behaviour
An error or log indicating an erroneous configuration, or generally more debug logs in the mysql2 extension.
I myself had to introduce additional log calls in vmq_diversity_mysql2.erl to get to the bottom of this.
Configuration, logs, error output, etc.
plugins.vmq_diversity = on
vmq_diversity.auth_mysql2.enabled = on
vmq_diversity.mysql2.host = mysql
vmq_diversity.mysql2.port = 3306
vmq_diversity.mysql2.user = root
vmq_diversity.mysql2.password = password
vmq_diversity.mysql2.database = db
vmq_diversity.mysql2.password_hash_method = sha256

Code of Conduct

[X] I agree to follow the VerneMQ's Code of Conduct

@chile12 Thanks for testing MySQL2! Yes, vmq_diversity.mysql2.ssl = off is the better default.
Also, thanks for your effort finding this, it is a pain to debug the scripts due to the embedded nature of the Lua interpreter.

👉 Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
👉 Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

@chile12 fyi, the specific fix (change of default) is merged. Let us know if you find additional non-intuitive combinations of the MySQL2 settings. Thanks again!

👉 Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
👉 Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.


add default cpu and ram limits

When running brave deploy IMAGE current master branch raises a set fault because unit RAM and CPU limits are not set to default values. This should fix it, but needs checking before merging.

Alternative solution here: https://github.com/bravetools/bravetools/pull/110
I favour that solution for centralizing default resource application (for example if needed in brave compose). It's also nice to keep it out of  the deploy function, which has proven to be quite complicated due to the many different possible paths.


DAGP fails to recognize KMP project dependencies

I have a multiplatform component with several modules that have dependencies under one another, i.e. kmp-module depends on kmp-dep1 and kmp-dep2 modules as well as kotlin-stdlib naturally.
Now DAGP reports this:
Advice for :kmp-module
These transitive dependencies should be declared directly:
  api("org.jetbrains.kotlin:kotlin-stdlib:2.0.21")
  api(project(":kmp-dep1"))
  api(project(":kmp-dep2"))

which is what I'm already doing:
kotlin {
    applyDefaultHierarchyTemplate()
    sourceSets {
        commonMain.dependencies {
            api(kotlin("stdlib"))
            // using Gradle project accessors, but makes no difference
            // if old-style project(":kmp-dep1") syntax is used
            api(projects.kmpDep1)
            api(projects.kmpDep2)
        }
        androidMain.dependencies { ... }
        desktopMain.dependencies { ... }
    }
}

Other non-project KMP dependencies are not flagged. Also, it makes no difference if I repeat the specific api declarations in the other two source sets, androidMain and desktopMain. This is with DAGP 2.6.1.
$ gradle --version

------------------------------------------------------------
Gradle 8.10.1
------------------------------------------------------------

Build time:    2024-09-09 07:42:56 UTC
Revision:      8716158d3ec8c59e38f87a67f1f311f297b79576

Kotlin:        1.9.24
Groovy:        3.0.22
Ant:           Apache Ant(TM) version 1.10.14 compiled on August 16 2023
Launcher JVM:  17.0.9 (Eclipse Adoptium 17.0.9+9)
Daemon JVM:    /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home (no JDK specified, using current Java home)
OS:            Mac OS X 14.6.1 aarch64

Side-note, the stdlib dependency is suggested whether or not I configured a bundle for "org.jetbrains.kotlin". Seems to be similar to #658.


class no dup

Coverage increased (+0.004%) to 99.795% when pulling c0401a891fea7200674a8f76b3d807be67371ec5 on Genability:class-no-dup into 4306e339567348af0c6920938d9a15b671ae8b80 on htmllint:master.

The class-no-dup patch looks good, and I can accept it now. However, I don't want to accept img-req-dimensions right now for the reasons discussed below. Can you separate class-no-dup out and pull request it separately? I can do it on this end, but I think it will make the branch tree look very messy.
I had been thinking (silently, sorry) about the img-req-dimensions request before this. I'm hesitant to add it because I would like to write a more general option to specify that some tags must include nonempty attributes of a certain type. Then img-req-dimensions could be accomplished just by adding {img: ['height', 'width']} to that.
The problem with height and width not being allowed attributes (when they should be allowed, but only for imgs) is also something I want to address in a cleaner way, but I'm not even sure what an appropriate interface for that would look like.

Oh, and I do want to say that I'll make sure htmllint has the functionality of img-req-dimensions by the next release, either using your code or something more general.

np, I'll try and get it in tomorrow

I haven't forgotten this, but the changes I mentioned should go in a major release. So there's a minor release now with some other bugfixes and added options, and the image height and width issue will be fixed soon.


More Flexible Import Filtering

Currently, when importing from ADB, the client can only filter the images from which to generate tasks using ADB property constraints (see ApertureDBImportStorageBase.constraints).  This may not be sufficient in all cases.

Badger Tech ran into this.  They have a dataset entity, and want to filter to all images connected to that dataset.


[FIX] Master key request

When logging in, it's asking me for a master key, but I didn't configure it in the previous version :D

I didn't add anything, I minimized the browser and after a while, when I returned to it, this appeared:

Hi @joaochris, it solved itself then. 😊

I am closing this for now. If the problem reappears again, just create a new issue and I’ll take a look at it again. Thanks.


Flug Plug/point explode

Describe the bug
the plugs are exploding like tnt
To Reproduce
not sure seems could be part of use with Ender I/O
add flux point to enhanced sagmill
set power out put to 400 as 225 is needed with octocapacitor
grind an ender I/O crystal in sagmill
See exploding flux point
Expected behavior
Not have exploding flux point
Screenshots
If applicable, add screenshots to help explain your problem.

What versions are you on? Forge, all related mods version

I'm having the same problem.
Im playing on Sky Odyssey and when I put a flux plug on a tardis generator it explodes


Update unit tests to cover Comparator properties as well

Implementation looks great, I just added a couple more tests to improve confidence on the compareTo.

Danke!


feat(legacy-plugin-chart-histogram): subject Add legend option to histogram chart

Add legend option
related to: https://github.com/apache-superset/superset-roadmap/issues/92

@villebro @ktmud @rusackas

@villebro @ktmud @rusackas

@maloun96 could you add before/after screenshots?

@maloun96 could you add before/after screenshots?

@villebro done.

@villebro done.


Hit an analyzer crash during code completion

Analyzer Feedback from IntelliJ
Version information

IDEA 171.3224.1
1.22.0
IC-171.3224.1, JRE 1.8.0_112-release-b702x64 JetBrains s.r.o, OS Linux(amd64) v4.4.0-62-lowlatency unknown, screens 1366x768

Exception
Please append the contents of:
file:///tmp/report.txt
Dart analysis server, SDK version 1.22.0, server version 1.17.0, error: Failed to handle completion domain request: {clientRequestTime:<PHONE_NUMBER>048, params: {file: /home/dwayne/roboto-bot/lib/src/daemon.dart, offset: 2111}, method: completion.getSuggestions, id: 12081}
AnalysisException: failed to resolve expression
Caused by Unexpected exception while performing PartiallyResolveUnitReferencesTask for source /home/dwayne/.pub-cache/hosted/pub.dartlang.org/async-1.13.2/lib/src/stream_queue.dart
#0      AnalysisTask._safelyPerform (package:analyzer/task/model.dart:333)
#1      AnalysisTask.perform (package:analyzer/task/model.dart:220)
#2      AnalysisDriver.performWorkItem (package:analyzer/src/task/driver.dart:284)
#3      AnalysisDriver.performAnalysisTask (package:analyzer/src/task/driver.dart:255)
#4      AnalysisContextImpl.performAnalysisTask.<anonymous closure> (package:analyzer/src/context/context.dart:1199)
#5      _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:189)
#6      AnalysisContextImpl.performAnalysisTask (package:analyzer/src/context/context.dart:1197)
#7      PerformAnalysisOperation.perform (package:analysis_server/src/operation/operation_analysis.dart:369)
#8      AnalysisServer.performOperation (package:analysis_server/src/analysis_server.dart:997)
#9      Future.Future.<anonymous closure> (dart:async/future.dart:158)
#10     _rootRun (dart:async/zone.dart:1146)
#11     _CustomZone.run (dart:async/zone.dart:1026)
#12     _CustomZone.runGuarded (dart:async/zone.dart:924)
#13     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:951)
#14     _rootRun (dart:async/zone.dart:1150)
#15     _CustomZone.run (dart:async/zone.dart:1026)
#16     _CustomZone.runGuarded (dart:async/zone.dart:924)
#17     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:951)
#18     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:16)
#19     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:385)
#20     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:414)
#21     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

Caused by NoSuchMethodError: The method 'substitute2' was called on null.
Receiver: null
Tried calling: substitute2(_List len:1, _List len:1)
#0      Object._noSuchMethod (dart:core-patch/object_patch.dart:44)
#1      Object.noSuchMethod (dart:core-patch/object_patch.dart:47)
#2      MethodMember.from (package:analyzer/src/dart/element/member.dart:649)
#3      InterfaceTypeImpl.getMethod (package:analyzer/src/dart/element/type.dart:1542)
#4      InterfaceTypeImpl.lookUpMethod (package:analyzer/src/dart/element/type.dart:1832)
#5      InterfaceTypeImpl.lookUpInheritedGetterOrMethod (package:analyzer/src/dart/element/type.dart:1785)
#6      ElementResolver._lookupGetterOrMethod (package:analyzer/src/generated/element_resolver.dart:1746)
#7      ElementResolver.visitCommentReference (package:analyzer/src/generated/element_resolver.dart:293)
#8      CommentReferenceImpl.accept (package:analyzer/src/dart/ast/ast.dart:2330)
#9      ResolverVisitor.visitCommentReference (package:analyzer/src/generated/resolver.dart:5698)
#10     CommentReferenceImpl.accept (package:analyzer/src/dart/ast/ast.dart:2330)
#11     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8044)
#12     CommentImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2252)
#13     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:6374)
#14     PartialResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:4704)

Unfortunately we won't be able to reproduce very old analyzer stack traces. Please file a new issue if you are seeing analysis server crashes with a recent SDK.


QoS / middleware configuration: modifying buffer stream size

Hi! I am trying to configure a publisher's QoS policy by modifying the colcon.meta file of micro_ros_arduino library. I rather not use labels and .refs files for now.
Setup

Computer: Ubuntu 20.04 / ROS2 Foxy
Board: Teensy 3.1 / Arduino IDE 1.8.13 / Teensyduino 1.53

Use case description
I got one  std_msgs__msg__Range type publisher running on my Teensy board. I can perfectly get the published messages via ros2 topic echo /my/range/topic, if the messages' frame_id is less than 6 char long. If not, the following error raises when checking out the topic:
terminate called after throwing an instance of 'eprosima::fastcdr::exception::NotEnoughMemoryException'
  what():  Not enough memory in the buffer stream
Aborted (core dumped)

As I got nine different frames ID which should be strings between 19 and 23 char long, I need to increase the stream buffer size. To do so, I tried to follow the micro-ROS tutorials about middleware configuration
Steps to reproduce
As I use a Teensy 3.1 board, the file which should be modified is colcon_lowmem.meta. After any modification of this file, I build the micro_ros_arduino library (only for Teensy 3 type boards) with command lines:
cd  /Arduino/libraries/micro_ros_arduino
sudo docker pull microros/micro_ros_arduino_builder:latest
sudo docker run -it --rm -v $(pwd):/arduino_project microros/micro_ros_arduino_builder:latest -p teensy3

First, I tried to add the option UCLIENT_SERIAL_TRANSPORT_MTU, which is set at 12 by default, according to the micro-ROS tutorial. So, I modified the colcon_lowmem.meta file to get this:

[...]
        "microxrcedds_client": {
            "cmake-args": [
                [...]
                "-DUCLIENT_SERIAL_TRANSPORT_MTU=24"
            ]
[...]

Once the library is built, I am able to upload the .ino source file on the board. But the application seems "stuck" right after initialization, as when running the micro-ROS agent, the only output is:
[1604914091.300743] info     | TermiosAgentLinux.cpp | init                     | running...             | fd: 3
[1604914091.801606] info     | TermiosAgentLinux.cpp | fini                     | server stopped         | fd: 3
[1604914091.801736] info     | TermiosAgentLinux.cpp | init                     | running...             | fd: 3
[1604914091.802472] info     | TermiosAgentLinux.cpp | fini                     | server stopped         | fd: 3
[1604914091.802565] info     | TermiosAgentLinux.cpp | init                     | running...             | fd: 3
[1604914091.802576] info     | TermiosAgentLinux.cpp | fini                     | server stopped         | fd: 3
[1604914091.802642] info     | TermiosAgentLinux.cpp | init                     | running...             | fd: 3
[1604914092.981950] debug    | SerialAgentLinux.cpp | recv_message             | [==>> SER <<==]        | client_key: 0x50E95322, len: 24, data:
0000: 80 00 00 00 00 01 10 00 58 52 43 45 01 00 01 0F 50 E9 53 22 81 00 14 00
[1604914092.982153] info     | SessionManager.hpp | establish_session        | session re-established | client_key: 0x1357468450, address: 1
[1604914092.982287] debug    | SerialAgentLinux.cpp | send_message             | [** <<SER>> **]        | client_key: 0x50E95322, len: 19, data:
0000: 81 00 00 00 04 01 0B 00 00 00 58 52 43 45 01 00 01 0F 00

... and then stops.
I got the same result when trying to set this option to its default value: "-DUCLIENT_SERIAL_TRANSPORT_MTU=12".
So I guess this is not the right way to set up this option.

Then I tried to add the option "RMW_UXRCE_STREAM_HISTORY" instead:

[...]
        "rmw_microxrcedds": {
            "cmake-args": [
                [...]
                "-DRMW_UXRCE_STREAM_HISTORY=10"
            ]
[...]

I tried with different values between 5 and 20.
With this option set up at 5 (which I guess is the default value), I get the same results as before configuring: the buffer stream error is raised.
With any else tested values (example: 20), I cannot upload my .ino code to the board.
Questions
Using custom QoS with .refs files and labels requires to define QoS for every publisher/subscriber that you declare, right? If so, I would really rather configure the QoS without using labels. So, I need to modify my colcon.meta file. Did I miss something about this? It seems that if I modify anything in this file, my application stops working.
Do you have any documentation or example colcon.meta file I could base mine on? It seems to me that micro-ROS tutorial does not list all settings (with definition, boundaries, etc, for each) for QoS/middleware configuration, and I was not able to find more exhaustive (and relevant) documentation about it.
Thank you for your awesome micro_ros_arduino and support!

Hello @anaelle-sw, some points:

I have seen this error before and it is not related to colcon.meta configuration. The way a string component of a type should be inited is something like:

// Init
std_msgs__msg__String msg;
msg.data.data = (char*)malloc(200*sizeof(char));
msg.data.size = 0;
msg.data.capacity = 200;

// Use
char my_str[] = "TEST";
memcpy(msg.data.data, my_str, strlen(my_str));
msg.data.size = strlen(msg.data.data);
rcl_publish(&publisher, &msg, NULL);

Please let me know how do you initialize your string and if this approach works for you.

Regarding the documentation for the parameters in the colcon.meta, there is no complete documentation about them because it just sets CMake args for each of the Colcon packages included in the micro-ROS stack. For example, the ones for the micro-ROS RMW are listed here and the ones related to XRCE-DDS are listed here.

I think that is important to clarify the usage of UCLIENT_SERIAL_TRANSPORT_MTU,  RMW_UXRCE_STREAM_HISTORY, RMW_UXRCE_MAX_HISTORY:

The micro-ROS XRCE middleware uses an internal buffer where all your incoming and outcoming data are serialized and deserialized. The size of this buffer is UCLIENT_SERIAL_TRANSPORT_MTU * RMW_UXRCE_STREAM_HISTORY. The RMW_UXRCE_STREAM_HISTORY is the number of slots in which the buffer is divided. These slots are used for message fragmentation. In general, you have to ensure that the biggest message incoming or outcoming message you have must fit in one buffer.

The micro-ROS RMW handles a historic of an incoming topic, requests, and replies. This is due to the async nature of some of the internal ROS 2 layers. RMW_UXRCE_MAX_HISTORY is the size of this historic. For example, by default, these parameters is 4, so the middleware can retrieve up to 4 topic subscriptions and store them before the user takes the information. The size of each of this historic slots is a complete buffer, so you will have UCLIENT_SERIAL_TRANSPORT_MTU * RMW_UXRCE_STREAM_HISTORY * RMW_UXRCE_MAX_HISTORY.

When you are writing a refs file you have to follow the DDS-XML standard. Here you have an example. And here you have complete documentation of all the options available in these XML files. REMIND to use the ROS 2 name mangling (see things like std_msgs::msg::dds_::Float32_ or weather_station/humidity__dw in the example I linked)

About the string initialization, I am using a char list, just like this one:
unsigned char* frame_id[5] = {"sensor_1_link",  "sensor_2_link", "sensor_3_link",  "sensor_4_link",  "sensor_5_link"};

Then I was just putting the right frame_id in my range-type message, before publishing it:
sensor_msgs__msg__Range range_msg;
rcl_publisher_t range_msg;
[...]
range_msg.header.frame_id.data = frame_id[i];
[...]
rcl_publish(&range_pub, &range_msg, NULL);

This worked well, but only for frame_id less than 6 char long.
Your initialization method works perfectly in our case, even with "big" frame_id strings.
So actually, I no more need to configure the middleware options (at least for now)
Thanks for the explanations and documentations! I have checked out these, and we will sure find them to be really useful very soon. So, I will close this issue for now.
Thanks for your awesome support!

Sorry to re-open this, but I have one more question.
Our complete application that we need to run on our Teensy board features:

21 publishers
3 subscribers
12 service servers
3 service clients

When having the middleware configuration set to default (except for RMW_UXRCE_MAX_PUBLISHERS RMW_UXRCE_MAX_SUBSCRIPTIONS, RMW_UXRCE_MAX_SERVICES, RMW_UXRCE_MAX_CLIENTS that I had to set up), I cannot upload the code to the board (the board RAM would be overflowed). I have to "remove" at least 6 of the subscribers (or services, or clients) to get an acceptable used dynamic memory (around 83%).
I have read this (really nice!) document about memory profiling for micro-ROS. So I understand that the memory for subscribers/publishers/services/clients is pre-allocated, and defined at build time by the parameters set in the colcon.meta file.
My questionings here are about the reserved memory for subscribers/services/clients. If you use .refs files to configure the profiles, will the pre-allocated memory be reduced? I mean, in the profiles, you can (have to?) specify the topics' types. So in this case, is the memory part allocated for each subscribers/services/clients depending on the specified topic type?
Also, when using .refs files, are the options RMW_UXRCE_MAX_SUBSCRIPTIONS, RMW_UXRCE_MAX_SERVICES, and RMW_UXRCE_MAX_CLIENTS required to be set up too?
Last thing, in the document it is written about memory optimization: "Our most recent considerations are directed towards reducing this number by using a shared RMW history pool for every entity." Is this also considered for micro_ros_arduino (or only for micro_ros)? Do you know about when we can expect this optimization feature?
Thanks!

Hello @anaelle-sw, if you use .refs the client memory usage will be almost the same.
Regarding the memory pools optimizations, we are planning it, maybe in a couple of weeks, we have some results. Of course, it will apply also for micro-ROS for Arduino.
Now your problem, I think that I can help you to tune your configuration in order to fit in reasonable memory usage. Can you detail more information about these entities? I would need to know you if they are best_effort or you need reliability. And the most important thing: how big are your topics?
Knowing these two things we can tune UCLIENT_SERIAL_TRANSPORT_MTU, RMW_UXRCE_STREAM_HISTORY, RMW_UXRCE_MAX_HISTORY in order to make the application works.

Regarding the memory pools optimizations, we are planning it, maybe in a couple of weeks, we have some results. Of course, it will apply also for micro-ROS for Arduino.

Really nice!
Thanks for helping! So these are the entities I need:

Entities type
Topic size (Bytes)
Number of entities

Publisher
1
6

Publisher
2
3

Publisher
13
1

Publisher
129
9

Publisher
132
1

Publisher
347
1

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

Subscriber
1
2

Subscriber
24
1

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

Service client
101
2

Service client
133
1

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

Service server
102
4

Service server
105
4

Service server
106
1

Service server
125
1

Service server
136
1

Service server
152
1

I hope I didn't do huge mistakes computing these. I considered strings to be max. 100 bytes sized. Best effort is fine for all.

Try to set UCLIENT_SERIAL_TRANSPORT_MTU (under microxrcedds_client) to 128 and RMW_UXRCE_STREAM_HISTORY (under rmw_microxrcedds) to 4. Keep RMW_UXRCE_MAX_HISTORY to 1.
This way you will have RMW buffer of 512 B for each sub, service and client. Publishers does not have RMW buffers. UCLIENT_SERIAL_TRANSPORT_MTU (128) * RMW_UXRCE_STREAM_HISTORY (4) * RMW_UXRCE_MAX_HISTORY (1).
You have to ensure that your biggest message fits in UCLIENT_SERIAL_TRANSPORT_MTU * RMW_UXRCE_STREAM_HISTORY
With the default configuration, you have 2048 B buffer in RMW for each sub, service and client entity. UCLIENT_SERIAL_TRANSPORT_MTU (512) * RMW_UXRCE_STREAM_HISTORY (4) * RMW_UXRCE_MAX_HISTORY (1 in lowmem_colcon.meta).
I'm leaving for today, but if this does not work on Monday I will reproduce your use case and try fit the memory requirements here.

Your idea seems great, but some problems occurred...
Setting "-DUCLIENT_SERIAL_TRANSPORT_MTU=128" allows me to upload my application on a board, since memory usage is only 52% (with all RMW_UXRCE_MAX_[entities] options set to what I need). I confirm that all our messages should be fine with a 512B-sized buffer. But with this configuration, my application seems to crash right after initialization, as the micro-ROS agent is "stuck". The same problem occurs when running your example publisher or subscriber codes.
Then I tried "-UCLIENT_SERIAL_TRANSPORT_MTU=128" (without the "D" in front of the option name, contrary to the rest of the options in the colcon.meta file). If the RMW_UXRCE_MAX_[entities] options are set to default, a custom publisher node of mine works (as well as your example publisher/subscriber nodes). But if the RMW_UXRCE_MAX_[entities] options are set up to what my application requires, the memory usage overflows the board RAM for my custom publisher node (as if the UCLIENT_SERIAL_TRANSPORT_MTU option was actually not set up to 128), so the code cannot be uploaded to the board.
What does the "D" in front of the other options stands for?( "Default", may be?) Why does it make the application crash? I guess the issue is coming from my colcon.meta file, which looks like this:
    "names": {
        "tracetools": {
            "cmake-args": [
                "-DTRACETOOLS_DISABLED=ON",
                "-DTRACETOOLS_STATUS_CHECKING_TOOL=OFF"
            ]
        },
        "rosidl_typesupport": {
            "cmake-args": [
                "-DROSIDL_TYPESUPPORT_SINGLE_TYPESUPPORT=ON"
            ]
        },
        "rcl": {
            "cmake-args": [
                "-DBUILD_TESTING=OFF",
                "-DRCL_COMMAND_LINE_ENABLED=OFF",
                "-DRCL_LOGGING_ENABLED=OFF"
            ]
        },
        "rcutils": {
            "cmake-args": [
                "-DENABLE_TESTING=OFF",
                "-DRCUTILS_NO_FILESYSTEM=ON",
                "-DRCUTILS_NO_THREAD_SUPPORT=ON",
                "-DRCUTILS_NO_64_ATOMIC=ON",
                "-DRCUTILS_AVOID_DYNAMIC_ALLOCATION=ON"
            ]
        },
        "microxrcedds_client": {
            "cmake-args": [
                "-DUCLIENT_PIC=OFF",
                "-DUCLIENT_PROFILE_UDP=OFF",
                "-DUCLIENT_PROFILE_DISCOVERY=OFF",
                "-DUCLIENT_PROFILE_SERIAL=ON",
                "-DUCLIENT_EXTERNAL_SERIAL=ON",
                "-DUCLIENT_SERIAL_TRANSPORT_MTU=128"
            ]
        },
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=21",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=3",
                "-DRMW_UXRCE_MAX_SERVICES=12",
                "-DRMW_UXRCE_MAX_CLIENTS=3",
                "-DRMW_UXRCE_MAX_HISTORY=1",
                "-DRMW_UXRCE_TRANSPORT=custom_serial"
            ]
        }
    }
}

As you can see, it is similar to the default file, except I set up the options DRMW_UXRCE_MAX_[entities] to what we need, and add the option "-DUCLIENT_SERIAL_TRANSPORT_MTU=128".
I also tried to add the option "-DRMW_UXRCE_STREAM_HISTORY=4" (which is the default value), as you suggested. Results are the same.
I cannot figure out where these issues could come from, I am probably missing something here.
Thanks for helping out on this! Have a nice week-end

Hello @anaelle-sw, I forgot to mention something. When using XML you have to ensure that the XML strings that the micro-ROS client sends to the agent in order to create the entities fit in the buffer. These XML strings are generated  for example here.
So the point is that with MTU = 128 B and XRCE history = 4 some of these XML doesn't fit in the buffer. We have a couple of options:

Increase a bit the MTU, you can try increasing it a bit and see which is the ideal size.
Use refs. This option is harder since you have to write all your entities QoS on the agent side but the memory usage of the buffer will be just the data you send/receive and the reference labels (just a bunch of characters).

Hi!
Could you please confirm that my colcon.meta file, as copied in the previous message, is not malformed?
I tried to double the buffer size by setting "-DUCLIENT_SERIAL_TRANSPORT_MTU=256". This way the memory usage reaches 71%, which is approximately the acceptable limit for us. But the micro agent is still "stuck" after initialization. So I guess the strings generated by XML still don't fit in the buffer. I also tested this config with simple examples, and the same problem occurs.
Using refs is not really a good fit for us, at least for now. I will maybe test this for optimization later on, but now we would like to make our application run without needing to configure each entity, as some clients/servers might be changed in the next weeks/months.
After discussing with colleagues, we think it might be better to slightly re-design our application and reduce the number of services, while keeping the default middleware configuration. This way, we prevent to have memory usage conflicts between what we optimized for our application, and what the micro-ros lib requires. I will let you know if I still encounter memory usage issues even with a reduction of entities. By the way, we are still looking forward to be able to use the shared memory optimization you are working on.
Thanks for support!

Hello @anaelle-sw, investigating this we have found a couple of bugs. I'm going to update the library this afternoon. I'll notify you here in a while.

Ok, we have merged https://github.com/micro-ROS/rmw-microxrcedds/pull/84 and https://github.com/eProsima/Micro-XRCE-DDS-Client/pull/167.
I just have updated this library to v0.0.3 and I have tested the publisher example with the following colcon.meta:
{
    "names": {
        "tracetools": {
            "cmake-args": [
                "-DTRACETOOLS_DISABLED=ON",
                "-DTRACETOOLS_STATUS_CHECKING_TOOL=OFF"
            ]
        },
        "rosidl_typesupport": {
            "cmake-args": [
                "-DROSIDL_TYPESUPPORT_SINGLE_TYPESUPPORT=ON"
            ]
        },
        "rcl": {
            "cmake-args": [
                "-DBUILD_TESTING=OFF",
                "-DRCL_COMMAND_LINE_ENABLED=OFF",
                "-DRCL_LOGGING_ENABLED=OFF"
            ]
        },
        "rcutils": {
            "cmake-args": [
                "-DENABLE_TESTING=OFF",
                "-DRCUTILS_NO_FILESYSTEM=ON",
                "-DRCUTILS_NO_THREAD_SUPPORT=ON",
                "-DRCUTILS_NO_64_ATOMIC=ON",
                "-DRCUTILS_AVOID_DYNAMIC_ALLOCATION=ON"
            ]
        },
        "microxrcedds_client": {
            "cmake-args": [
                "-DUCLIENT_PIC=OFF",
                "-DUCLIENT_PROFILE_UDP=OFF",
                "-DUCLIENT_PROFILE_DISCOVERY=OFF",
                "-DUCLIENT_PROFILE_SERIAL=ON",
                "-DUCLIENT_EXTERNAL_SERIAL=ON",
                "-DUCLIENT_SERIAL_TRANSPORT_MTU=128"
            ]
        },
        "rmw_microxrcedds": {
            "cmake-args": [
                "-DRMW_UXRCE_MAX_NODES=1",
                "-DRMW_UXRCE_MAX_PUBLISHERS=21",
                "-DRMW_UXRCE_MAX_SUBSCRIPTIONS=3",
                "-DRMW_UXRCE_MAX_SERVICES=12",
                "-DRMW_UXRCE_MAX_CLIENTS=3",
                "-DRMW_UXRCE_MAX_HISTORY=1",
                "-DRMW_UXRCE_STREAM_HISTORY=5",
                "-DRMW_UXRCE_TRANSPORT=custom_serial"
            ]
        }
    }
}

Before testing it with your code, could you tell me if the example with this meta works for you?

The example publisher works nicely for me with this config and the new release, as well as our complete application! It allow us to keep our application as it is, while having 53% memory usage: it is perfect for us! I will close this. Thanks a lot!

I also faced to NotEnoughMemoryException.
Updating docker container of the agent solved the problem.


changes in license header

tested locally after the changes with mvn clean install -Dfull -TC1 -- build was successful

+1 to merge.

Thanks.
Conflicts resolved, master: 75772329f56b1f961908fd34a1d78cd577c18e95


c.s.d.l.p.DefaultAudioPlayerManager - No matches for track with identifier

Hey!
My bot can not load any songs from youtube, every time I put in a new track the message in the title shows up in my debug console.
I am running Java 15, but I have tried Java 8 and 11 also.
I build my application in gradle and I am running lavaplayer 1.3.71.
I do hope that someone in here can point me in a direction on where my problem is, if you should need any kind of information to help me out, then just tell me.

Aare you sure you registered the YouTubeAudioSourceManager?

I did not use YouTubeAudioSourceManager, but i did it like this insteed:
final AudioPlayerManager playerManager = new DefaultAudioPlayerManager(); playerManager.getConfiguration()                 .setFrameBufferFactory(NonAllocatingAudioFrameBuffer::new); AudioSourceManagers.registerLocalSource(playerManager); final AudioPlayer player = playerManager.createPlayer(); AudioProvider provider = new LavaPlayerAudioProvider(player);
There are ofc some more code behind that do the connection to discord and other stuff like that, which works find
This is a play command for the bot, I do use discord4j for the connection to the bot.
final TrackScheduler scheduler = new TrackScheduler(player);         commands.put("play", event -> Mono.justOrEmpty(event.getMessage().getContent())             .map(content -> Arrays.asList(content.split(" ")))             .doOnNext(command -> playerManager.loadItem(command.get(1), scheduler))             .then());

Judging by that code, you never call AudioSourceManagers.registerRemoteSources or manually register the YoutubeAudioSourceManager. That would by why.

The source manager you registered is the local source manager, which is only useful for playing local files.
(PS: Looks like we're almost studying the same uni course, except I'm SE 2018)

Okay, I just thought that the AudioSourceMananger cover every source, but i will try and call the RemoteSoures register or manually call the YouTubeAudioSoruce.
And Frederikam we are taking the same courses at SUD, im just on the ST insteed

Okay, I just thought that the AudioSourceMananger cover every source

It's an interface


Correction du flux GeoJSON lorsque des toponymes sont présents

Codecov Report

Merging #26 into master will decrease coverage by 0.03%.
The diff coverage is 94.44%.

@@            Coverage Diff             @@
##           master      #26      +/-   ##
==========================================
- Coverage    95.1%   95.07%   -0.04%
==========================================
  Files          14       15       +1
  Lines         470      487      +17
==========================================
+ Hits          447      463      +16
- Misses         23       24       +1

Impacted Files
Coverage Δ

lib/export/geojson.js
94.11% <100%> (ø)
:arrow_up:

lib/util/geojson-stream.js
94.11% <94.11%> (ø)

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 28b76dd...772e2cc. Read the comment docs.


optipng

This commit contains PNG files that have been optimized with optipng, a lossless PNG compression utility.
A small filesize reduction for a few images has been achieved; most of the images were already optimized.

Thanks... can you list the comparison size?

public/img/404.png                             | Bin 9754 -> 8630 bytes
public/img/500.png                             | Bin 12066 -> 9992 bytes
public/img/emoji/back.png                      | Bin 5434 -> 4061 bytes
public/img/emoji/black_medium_small_square.png | Bin 3495 -> 3258 bytes
public/img/emoji/black_medium_square.png       | Bin 4035 -> 3622 bytes
public/img/emoji/package.png                   | Bin 8449 -> 7581 bytes
public/img/emoji/sparkle.png                   | Bin 8904 -> 8080 bytes
public/img/emoji/white_medium_small_square.png | Bin 3598 -> 3183 bytes
public/img/emoji/white_medium_square.png       | Bin 4192 -> 3530 bytes
public/img/emoji/white_small_square.png        | Bin 3068 -> 2882 bytes
public/img/gogs-large-resize.png               | Bin 54978 -> 54903 bytes
public/img/gogs-lg.png                         | Bin 97903 -> 95304 bytes

Not much but OK. Thanks!


import to fix local build failure

Without this import, loading the build locally would fail with the following:
/Users/sam_1/src/github.com/http4s/sbt-http4s-org/build.sbt:14: error: No implicit for Remove.Value[explicitdeps.ModuleFilter, sbt.librarymanagement.ModuleFilter] found,
  so sbt.librarymanagement.ModuleFilter cannot be removed from explicitdeps.ModuleFilter
    unusedCompileDependenciesFilter -= moduleFilter("org.typelevel", "sbt-typelevel"),
                                    ^
sbt.compiler.EvalException: Type error in expression

I'm not sure why it hasn't been failing in CI though?

Huh, this is so weird. I can't reproduce locally.
$ sbt -version
sbt version in this project:    1.10.3
sbt script version: 1.10.3

I can reproduce it going back to the commit that added it.  I don't have any working theory why.

Just for reference, I have the same versions on this branch, and on main I get
❯ sbt -version
/Users/sam_1/src/github.com/http4s/sbt-http4s-org/build.sbt:14: error: No implicit for Remove.Value[explicitdeps.ModuleFilter, sbt.librarymanagement.ModuleFilter] found,
  so sbt.librarymanagement.ModuleFilter cannot be removed from explicitdeps.ModuleFilter
    unusedCompileDependenciesFilter -= moduleFilter("org.typelevel", "sbt-typelevel"),
                                    ^
sbt.compiler.EvalException: Type error in expression
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)
sbt script version: 1.10.3

I was getting 1.10.2 for the script version originally, but I updated and I'm still getting the error so I don't think that was the cause of anything.

Do you have some global sbt plugins configured? That's the only other thing I can imagine would be affecting your environment.

I do, I have sbt-dependency-graph, sbt-updates, and sbt-vimquit

I've isolated it to a global sbt-updates.

Huh. I couldn't remember why I'd added sbt-updates so I deleted that one, and the error went away. Adding it back in reproduces. @rossabaker do you have that plugin also?

And here's why.  The two implicits have the same name.

I think it still makes sense to move forward with adding the import, right? It's not going to cause a problem to have it, and it'll prevent stumbling for folks who do have a global sbt-updates set up.


[Bug] Error getting OPENAI_API_KEY from .env.development.local: ENOENT: no such file or directory

On Windows 10. Trying to generate a new data source and when I run pnpm run generate <datasource-name> get the following error. The OpenAI key is set in .env.development.local. The app works, but not the data source generation. Related to #23 which was closed as addressed.
Error getting OPENAI_API_KEY from .env.development.local: ENOENT: no such file or directory, open 'C:\C:\Users\xxx\Documents\WORKSPACES\GenerativeAI\chat-llamaindex\.env.development.local'
 ELIFECYCLE  Command failed with exit code 1.

It seems like this line is not working on Windows:
https://github.com/run-llama/chat-llamaindex/commit/78b3af869aeea9a90daf29e696d4acce9650ba93#diff-68cac859f8dcc9a6c395c198dbb376ca147a13a3e84d127dc43a8ff0f88d6b34R50
It produces the prefix C:\C:\ instead of just C:\
I do not have Windows, can you give this one a try:
const __dirname = path.dirname(import.meta.url.pathname);

It seems like this line is not working on Windows: 78b3af8#diff-68cac859f8dcc9a6c395c198dbb376ca147a13a3e84d127dc43a8ff0f88d6b34R50
It produces the prefix C:\C:\ instead of just C:\
I do not have Windows, can you give this one a try:
const __dirname = path.dirname(import.meta.url.pathname);

Did not work. Different error
Error getting OPENAI_API_KEY from .env.development.local: The "path" argument must be of type string. Received undefined
 ELIFECYCLE  Command failed with exit code 1.

This was the fix.
import { fileURLToPath } from "url";

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

While the new data source is successfully generated/created and I see the folder name incl contents in /cache, I don't see the datasource appearing in the app UI. Should I be seeing the new data source as a bot in the left hand side of the app UI?

@swamichandra Great. Want to sent a PR with your fix?
Currently, there is not a UI that shows data sources. You'll have to assign it to a bot as described here: https://github.com/run-llama/chat-llamaindex#-data-sources


vbump sql database projects to 1.1.0

vbump after the April release

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.009%) to 41.66%

Totals

Change from base Build<PHONE_NUMBER>:
0.009%

Covered Lines:
30331

Relevant Lines:
67413

💛  - Coveralls


Updated openTrunk for 2018.10.4 software

Changes proposed in this pull request:

Changed FRUNK constant to "front" and TRUNK constant to "rear"
Changed URL used by openTrunk method which, to my knowledge, hasn't worked in quite some time

Tested with my own car and it does in fact open and close the trunk.
I didn't update any docs since the method was already documented (although non-functional).

Sorry for the delay I was away on business.  Thanks for the PR.  Let me test it out and see how it works.  Was the new URL tied to the FW version in the subject?  I ask because my car is not yet on 2018.10.4 and so I can't test if its FW dependant.

I'm unsure what you mean by "tied to firmware version". You do need 2018.10.4 to use this, but it wasn't possible previously to open the trunks through the API. The URL that was in there previously never worked for me.

"You do need 2018.10.4 to use this" - means it is tied to a specific firmware version.  I don't have that firmware yet and so cannot test the change.  The previous URL worked but it was disabled by Tesla some time ago when they removed that functionality from the official apps along with sunroof control.
I will test this PR when I receive the 2018.10.4 update.

I see. Well, I never tested it with a version prior to 2018.10.4, so if you wanted to test on your own car you could see if it's firmware dependent. I find it most likely that it is.

OK, that's why I asked.  I'll give it a try with my FW version and see what I find.  If it works I'll add it to this lib and my Windows App.  Thanks!

@DoctorMcKay Thank you for this, I was away for a while but tested it over the weekend.  All looks great.  Published the new NPM package over the weekend.

Hi I am new with Tesla. I got all functions running with nodered, instead of openTrunk. Can anybody give an example how to get this running? I tried to pass msg.commandArgs.which="rear" to openTrunk but it does not work. Help would be nice. Thanks in advance


Prevent "Error binding parameter" error

Currently last_discussion_id is a <db.Discussion object at 0x7f5d16fca9b0> and that isn't supported as a parameter for the sqlite query.
This PR uses the discussion_id from the Discussion object instead to prevent the error.

Thanks for your contribution