bluetooth: audio: race hazard in bt_bap_unicast_client_discover()

Describe the bug
This snippet of code assumes that unicast_client_pac_discover_cb() isn't called before bt_bap_unicast_client_discover() returns.
client->disc_params.func = unicast_client_pac_discover_cb;
client->disc_params.type = BT_GATT_DISCOVER_CHARACTERISTIC;
client->disc_params.start_handle = BT_ATT_FIRST_ATTRIBUTE_HANDLE;
client->disc_params.end_handle = BT_ATT_LAST_ATTRIBUTE_HANDLE;

err = bt_gatt_discover(conn, &client->disc_params);
if (err != 0) {
	return err;
}

client->dir = dir;
client->busy = true;

https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/bluetooth/audio/bap_unicast_client.c#L4194C1-L4210C22
but since unicast_client_pac_discover_cb() is called from a different thread a pre-emptive context switch before setting client->dir or client->busy will cause the discovery state to get very confused.
Potentially, for instance, the discovery might complete before client->busy = true is reached in which case there's no pending callback to set it false again.
I suggest instead that there is some "unwinding" of the state on error:
client->disc_params.func = unicast_client_pac_discover_cb;
client->disc_params.type = BT_GATT_DISCOVER_CHARACTERISTIC;
client->disc_params.start_handle = BT_ATT_FIRST_ATTRIBUTE_HANDLE;
client->disc_params.end_handle = BT_ATT_LAST_ATTRIBUTE_HANDLE;
client->dir = dir;
client->busy = true;

err = bt_gatt_discover(conn, &client->disc_params);
if (err != 0) {
	client->busy = false;
	return err;
}

I raise this as a bug rather than a PR since there may be other places where this anti-pattern has been used?
To Reproduce
Insert an intentional context switch before client->dir = dir such as k_sleep(K_SECONDS(5))
Expected behavior
The implementation shouldn't expect to execute logic out-of-order on the assumption that "it's fast enough".
Impact
Minor. Realistically this probably won't happen - until it does.
Logs and console output
N/A - found whilst reviewing code
Environment (please complete the following information):
N/A - found whilst reviewing code
Additional context
None

Thanks @Chris-StJohn-Bose - This is indeed a problematic pattern that is used many places in LE Audio. It is unlikely to cause actual problems, but it is something we actually hit often when implementing unit tests.

@Thalley you're welcome. I have been toying with the idea of implementing (in my spare time...) a synchronous GATT API for Zephyr so that we could eventually push all the multi-threaded stuff "under the hood".
I don't suppose you're aware of any other efforts in this direction? For Audio LE in particular the "application" thread is mainly idling whilst waiting for its callback; several example applications I've seen even implement a synchronous layer to make the example more readable e.g.
https://github.com/zephyrproject-rtos/zephyr/blob/main/samples/bluetooth/bap_unicast_client/src/main.c

@Thalley you're welcome. I have been toying with the idea of implementing (in my spare time...) a synchronous GATT API for Zephyr so that we could eventually push all the multi-threaded stuff "under the hood".
I don't suppose you're aware of any other efforts in this direction? For Audio LE in particular the "application" thread is mainly idling whilst waiting for its callback; several example applications I've seen even implement a synchronous layer to make the example more readable e.g. https://github.com/zephyrproject-rtos/zephyr/blob/main/samples/bluetooth/bap_unicast_client/src/main.c

I am not aware of any plans to make a synchronous GATT API (and doubt that Zephyr will ever go in that direction). There are plans to reduce the number of threads that the stack uses for Bluetooth (we recently removed the TX thread).
Ideally in the future we will be using a event based API so that an application could do something like
bt_gatt_discover(...);
get_event(BT_GATT_DISCOVER_COMPLETED);

or something like that (effectively an Async/await pattern (https://en.wikipedia.org/wiki/Async/await)

The direction of my thinking is that currently the discovery callback function, for instance, may be called any time after bt_gatt_discover() is invoked - even before it returns (hence this bug...)
What if there were an option to set a GATT connection to be synchronous so that it is guaranteed that all callbacks would be called before return and the params pointer never retained? It would require minimal code changes to upper layer stacks such as BAP etc (and might expose a few bugs like this one) but an application setting this option would have much better control over callbacks, memory lifetime and error handling.
Anyway, just a thought. Pretty similar to your get_event() but implicit with an option rather than explicit after each API call.

That is a fair point. It would be similar to bt_hci_cmd_send_sync (https://github.com/zephyrproject-rtos/zephyr/blob/main/include/zephyr/bluetooth/hci.h#L62-L105).
From a simplicity perspective (in the application) it could make sense. There is, however, nothing stopping applications from doing this themselves, and is in fact how many of our babblesim tests are designed.
Whether it belongs in the stack is debatable. It adds complexity (if both sync and async can be used at the same time), it worsens performance as you wouldn't do multiple outstanding requests on multiple connections, adds memory and computational overhead, etc.
To me it seems like a patch for this callback-oriented architecture Bluetooth in Zephyr has, rather than a full proper solution (which I would argue that an event-based implementation would be).


Style guide does not address caching scenarios

Web UI's and internal Cloud Foundry services constantly query endpoints today looking for changes so they can update their state of the world. The performance of these applications could be improved if the API supported mechanisms such as ETag/If-None-Match or If-Modified-Since.
The new v3 guide should include a section on caching and the general patterns we expect clients to use.

+1

This is definitely something we would like to include in the CC API. Since this in an additive change, we could easily include this in a 3.x+ release.
:+1:

We are archiving this repo in favor of colocating the information in the ccng repo, any issues or PRs are welcome in its new location. Thanks!


Update ParallaxText.js

In this update, I’ve fixed a couple of issues in the ParallaxText component:
Prop Validation:
I added validation for the children and baseVelocity props. Before, these props weren’t being validated, which could cause unexpected behavior if the wrong values were passed in. Now, the component will properly handle and validate these inputs.

This refactor improves the ParallaxText component by introducing prop validation for children and baseVelocity, ensuring more robust and predictable behavior. By validating these props, you've reduced the risk of runtime errors caused by invalid inputs, making the component more reliable and easier to debug. This is a great step toward improving code quality and maintainability. A potential enhancement could be adding default values or clearer error messages for invalid props to guide developers further.


Add support test on Travis CI

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Ignoring “'unsafe-inline'” within script-src: ‘strict-dynamic’ specified

Hi, I have been having problems with some notifications on Firefox(Version 67.0.2) with script-src, I tried several "solucions" but none of them works for me. Could you help me with this please?
There are the messages I get:

Content Security Policy: Ignoring “'unsafe-inline'” within script-src: ‘strict-dynamic’ specified
Content Security Policy: Ignoring “https:” within script-src: ‘strict-dynamic’ specified
Content Security Policy: Ignoring “http:” within script-src: ‘strict-dynamic’ specified

And I guess this prevent my contact form in Laravel to do the submission.
This is my current code on the secure-headers.php:
'script-src' => [
'allow' => [
$protocol.'code.jquery.com',
$protocol.'www.googletagmanager.com',
$protocol.'www.google-analytics.com',
$protocol.'www.google.com',
$protocol.'*.localhost',
],
$self' => true,
'unsafe-inline' => true,
'unsafe-eval' => true,
'data' => true,
        'hashes' => [
            // 'sha256' => [
            //     'hash-value',
            // ],
        ],

        'nonces' => [
            // 'base64-encoded',
        ],

        'schemes' => [
             'https:',
        ],

   'self' => true,

        'unsafe-inline' => true,

        'unsafe-eval' => true,

    'data' => true,

       //'strict-dynamic' => false,

       //'unsafe-hashed-attributes' => false,

        // https://www.chromestatus.com/feature/5792234276388864
        //'report-sample' => true,

        'add-generated-nonce' => false,
    ],

By the way, I'm doing the tests on my localhost(http://www.localhost:8000/) I hope you can help me with this issue,
Thanks!

Hi @wilbertku90,
According to https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#strict-dynamic

At the same time, any whitelist or source expressions such as 'self' or 'unsafe-inline' will be ignored.

You can check out the link to see further information.

Closed due to inactivity, feel free to open a new issue if you have any question.


could you please suggest some possible reasons why my testing results are all zero? Looking forward to your reply

I have followed all the readme suggestions, and here are my commands, when I finally managed to get the test file running, somehow the results were wrong, could you please suggest some possible reasons why my testing results are all zero?
CUDA_VISIBLE_DEVICWES=7 PORT=12345 ./dist_test.sh ../configs/m2mrf/fcn_hr48-M2MRF-C_40k_idrid_bdice.py ./work_dirs/fcn_hr48-M2MRF-C_40k_idrid_bdice/iter_40000.pth 1 --eval mIoU

Hi, did you follow this code to create the labels?

Yes, i maybe know the reason, may labels data type is  .tif,converting it to '.png' might solve the problem as you code show.
To further validate the data, could you please transfer it to my email(869805617@qq.com)?
Anywhere, Thank you for your assistance ~

你好，你的显卡显存是多少了

，我在输入测试指令运行后，系统会把进程kill掉，你遇到过这样的问题吗，非常感谢


fix #3263

Please makes sure the items are checked before submitting your PR, thank you!

[x] Rebase before creating a PR to keep commit history clear.
[x] Only One commit
[x] No eslint errors

Codecov Report

Merging #3264 into v2 will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##               v2    #3264      +/-   ##
==========================================
- Coverage   19.41%   19.38%   -0.04%
==========================================
  Files         226      226
  Lines        5603     5603
  Branches      710      710
==========================================
- Hits         1088     1086       -2
- Misses       4396     4399       +3
+ Partials      119      118       -1

Impacted Files
Coverage Δ

src/components/popup-picker/index.vue
18.18% <ø> (ø)
:arrow_up:

src/components/qrcode/index.vue
4.54% <0%> (-4.55%)
:arrow_down:

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 94c5ab7...d60903f. Read the comment docs.


Cannot race. 'NoneType' object has no attribute 'read_bytes'

Rally version (get with esrally --version): esrally 1.4.0
Invoked command:  esrally --distribution-version=7.5.2 --track=eventdata --challenge=append-no-conflicts
Configuration file (located in ~/.rally/rally.ini)):
config.version = 17

[system]
env.name = local

[node]
root.dir = /home/user/.rally/benchmarks
src.root.dir = /home/user/.rally/benchmarks/src

[source]
remote.repo.url = https://github.com/elastic/elasticsearch.git
elasticsearch.src.subdir = elasticsearch

[benchmarks]
local.dataset.cache = /home/user/.rally/benchmarks/data

[reporting]
datastore.type = elasticsearch
datastore.host = ********.eastus2.azure.elastic-cloud.com
datastore.port = 9243
datastore.secure = True
datastore.user = elastic
datastore.password = *********

[tracks]
default.url = https://github.com/elastic/rally-tracks

[teams]
default.url = https://github.com/elastic/rally-teams

[defaults]
preserve_benchmark_candidate = False

[distributions]
release.cache = true

JVM version:
openjdk 11.0.6 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1, mixed mode, sharing)
OS version:
Linux DESKTOP 4.4.0-18362-Microsoft #476-Microsoft Fri Nov 01 16:53:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux
Description of the problem including expected versus actual behavior:
Steps to reproduce:

Run esrally --distribution-version=7.5.2 --track=eventdata --challenge=append-no-conflicts
Got:

[ERROR] Cannot race. 'NoneType' object has no attribute 'read_bytes'
        Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/esrally/mechanic/mechanic.py", line 565, in receiveMsg_StartNodes
    self.mechanic.start_engine()
  File "/usr/local/lib/python3.6/dist-packages/esrally/mechanic/mechanic.py", line 680, in start_engine
    self.nodes = self.launcher.start(self.node_configs)
  File "/usr/local/lib/python3.6/dist-packages/esrally/mechanic/launcher.py", line 126, in start
    return [self._start_node(node_configuration, node_count_on_host) for node_configuration in node_configurations]
  File "/usr/local/lib/python3.6/dist-packages/esrally/mechanic/launcher.py", line 126, in <listcomp>
    return [self._start_node(node_configuration, node_count_on_host) for node_configuration in node_configurations]
  File "/usr/local/lib/python3.6/dist-packages/esrally/mechanic/launcher.py", line 160, in _start_node
    t.attach_to_node(node)
  File "/usr/local/lib/python3.6/dist-packages/esrally/telemetry.py", line 65, in attach_to_node
    device.attach_to_node(node)
  File "/usr/local/lib/python3.6/dist-packages/esrally/telemetry.py", line 750, in attach_to_node
    self.read_bytes = disk_start.read_bytes
AttributeError: 'NoneType' object has no attribute 'read_bytes'

Getting further help:
*********************
* Check the log files in /home/user/.rally/logs for errors.
* Read the documentation at https://esrally.readthedocs.io/en/1.4.0/
* Ask a question on the forum at https://discuss.elastic.co/c/elasticsearch/rally
* Raise an issue at https://github.com/elastic/rally/issues and include the log files in /home/user/.rally/logs.

--------------------------------
[INFO] FAILURE (took 21 seconds)
--------------------------------```

**Provide logs (if relevant)**:

Thanks very much for your interest in Rally.
This appears to be a user question, and we'd like to direct these kinds of things to the Elasticsearch/Rally forum. If you can stop by there, we'd appreciate it. This allows us to use GitHub for verified bug reports, feature requests, and pull requests.
There's an active community in the forum that should be able to help get an answer to your question. As such, I hope you don't mind that I close this.

Related to https://github.com/giampaolo/psutil/issues/1251
Not compatible with WSL.


Enhance syntax of VirtualNetwork to add shimAsyncModule

this allows async resolution of modules to be implemented using dynamic import
gives build tools like webpack an opportunity code split these modules
also supports prefix-based module shimming, so that we can load patterns like @cardstack/boxel-icons/my-icon without having to consume the entirety of @cardstack/boxel-icons

We will land this with the boxel-icons work


RuntimeError: time-out of 2000ms while waiting for the simulator, make sure the simulator is ready and connected to <IP_ADDRESS>:2000

Hello,
I'm getting this error while running the python API in CARLA.
I tried changing time-out duration as well as port number, but still the same issue. Please help

just now I have ran into same error and had no idea how to solve it as well, however, I can perform spawn_npc.py successfully after changing into newest edition

Hi,
Could you tell us more about this, for example the steps you are taking to execute CARLA? Are you running it in Unreal Engine, or in the package version?

Thanks for the response.
yes i'm running CARLA in unreal engine 4.24x.The simulator is opening but unable to run the example APIs.

Did you press the Play button (or alternatively Alt+P) after launching Unreal Engine, before running the scripts? Because I've only seen this error when you forget to do so.

Currently I'm trying to set up CARLA on azure Windows VM with (NC6s_V3-Tesla K80), does this environment support Unreal engine(as CARLA runs on unreal engine)? or should be configured on GeForce graphics ?

Did any one of you deleted the contents of config folder to load CarlaEditor fast ?
Because I did that and ran into similar issue. I solved it by downloading the config files again and putting it in config folder.

Issue closed due to lack of activity. Feel free to open a new issue if you still consider this is a critical matter.

Issue closed due to lack of activity. Feel free to open a new issue if you still consider this is a critical matter.

Facing the same issue.

Facing the same issue.

facing the same issue

facing the same issue

Before run python script, you should run server. In my case, something like this,
$ ./CarlaUE4.sh /Game/Maps/Town01 -carla-server -benchmark -fps=15 -windowed -ResX=800 -ResY=600
And then, you can run python script in python example directory
$ python3 manual_control.py

Hello guys, recently while working with carla in python I used to get this error "RuntimeError: time-out of 2000ms while waiting for the simulator, make sure the simulator is ready and connected to <IP_ADDRESS>:2000".
This problem can be due to carla is not loading in 2000ms. in my case, i moved to higher GPU and RAM pc now its working fine and carla is loading with in 2000ms.
if you are stuck with same pc, kindly increase to pc to performance mode.
Best,
Narayana

Resolved this issue.
Way to solve this issue.
If you are using windows then please check your directx. Presently microsoft took off directx from its official website. But you can download it from third party.
Else you can increase the ram and rerun the Carla simulator.

change the time in   "client.set_timeout(2.0)" in the code to "client.set_timeout(200.0)"  # 200 depicts the loading time.
Best,
Narayana

Hello guys, recently while working with carla in python I used to get this error "RuntimeError: time-out of 2000ms while waiting for the simulator, make sure the simulator is ready and connected to <IP_ADDRESS>:2000".
This problem can be due to carla is not loading in 2000ms. in my case, i moved to higher GPU and RAM pc now its working fine and carla is loading with in 2000ms.
if you are stuck with same pc, kindly increase to pc to performance mode.
Best,
Narayana

Hii
May i know the what is your pc  specifications.
Thanks.

Hello guys, recently while working with carla in python I used to get this error "RuntimeError: time-out of 2000ms while waiting for the simulator, make sure the simulator is ready and connected to <IP_ADDRESS>:2000".
This problem can be due to carla is not loading in 2000ms. in my case, i moved to higher GPU and RAM pc now its working fine and carla is loading with in 2000ms.
if you are stuck with same pc, kindly increase to pc to performance mode.
Best,
Narayana

I changed the timeout to 5 seconds and it worked.

Hello guys, recently while working with carla in python I used to get this error "RuntimeError: time-out of 2000ms while waiting for the simulator, make sure the simulator is ready and connected to <IP_ADDRESS>:2000".
This problem can be due to carla is not loading in 2000ms. in my case, i moved to higher GPU and RAM pc now its working fine and carla is loading with in 2000ms.
if you are stuck with same pc, kindly increase to pc to performance mode.
Best,
Narayana

I changed the timeout to 5 seconds and it worked.

Can you please tell in which file you increased the timeout?

client.set_timeout() look for this in which ever file you are running

Thanks @narayanaraju10 ,it worked for timeout as 5.0.Mine is a 2GB Graphics card and 2.0 time didn't work.Better the graphics,lesser timeout needed

Hi,
Could you tell us more about this, for example the steps you are taking to execute CARLA? Are you running it in Unreal Engine, or in the package version?

I am using package version can you help me

Did you press the Play button (or alternatively Alt+P) after launching Unreal Engine, before running the scripts? Because I've only seen this error when you forget to do so.

THANKS. I JUST WASTED TIME REBUILDING THE CARLA

tl;dr:
If it was open and working before you closed it, end the background process in task manager before you re-run the UE4 exe.
I just got this issue when I opened the CarlaUE4.exe unreal executable for carla, closed it, and tried to re-run it. I didn't realize the first one I had closed was still running an open process only visible in task manager. Once I found it in task manager (takes like 4gb memory but no cpu, not hard to find) and ended the task, api commands worked again after re-running the executable.

problem-solving methods:
I started the task manager and ended all related software.
then i restarted the emulator . Then ran the python script.
this problem has been sloved.
if you have this problem, maybe you can try the methods. i hope it can work.
The process :
0.  when i use the version carla-0.9.13.

I get the folder after I unzip the package
i executed CarlaUE4.exe. Then the it work.I can see Carla's map simulation interface.
Then I ran the Python script. i can control the car ,and change different cars.
Before I want to exit the Python script, however, I have already exited the emulation screen .
so I restarted the emulator and closed the Python script.
This error occurs when I start emulation again and run the Python script  .
Finally, I solved the problem through the above methods

tl;dr: If it was open and working before you closed it, end the background process in task manager before you re-run the UE4 exe.
I just got this issue when I opened the CarlaUE4.exe unreal executable for carla, closed it, and tried to re-run it. I didn't realize the first one I had closed was still running an open process only visible in task manager. Once I found it in task manager (takes like 4gb memory but no cpu, not hard to find) and ended the task, api commands worked again after re-running the executable.

Hey, if you are using Windows and you randomly encounter this issue (for me it started happening right after performing some tests successfully, after restart it worked fine), this is the way to solve it!
Thanks for the info, Dylan

tl;dr: If it was open and working before you closed it, end the background process in task manager before you re-run the UE4 exe.
I just got this issue when I opened the CarlaUE4.exe unreal executable for carla, closed it, and tried to re-run it. I didn't realize the first one I had closed was still running an open process only visible in task manager. Once I found it in task manager (takes like 4gb memory but no cpu, not hard to find) and ended the task, api commands worked again after re-running the executable.

tl;dr: If it was open and working before you closed it, end the background process in task manager before you re-run the UE4 exe.
I just got this issue when I opened the CarlaUE4.exe unreal executable for carla, closed it, and tried to re-run it. I didn't realize the first one I had closed was still running an open process only visible in task manager. Once I found it in task manager (takes like 4gb memory but no cpu, not hard to find) and ended the task, api commands worked again after re-running the executable.

Thanks a lot, I tried increasing the timeout but it didn't work. Then i did this and it started working.

This issue happens in both Linux and Windows. In my experience, it mostly happens when you try to close the Carla Server from the application/script used. This is very annoying as I'm trying to create sort of an app that is self-managed (including Carla Server). I launch the server through a Python subprocess and end the subprocess when execution is finished but here is when the background process is an issue.
Does anybody know how to end the Carla Server cleanly?

Same issue solved by increasing the timeout(2->10) of client.set_timeout(timeout)

When I had the same problem, I entered task manager and ended CarlaUE4 app. Then it solved the problem.

I had the same issue, and every time I get to this problem I just change the port to 3000, and amazingly, it works well.
just run the carlaUE4 by
CarlaUE4.exe -carla-rpc-port=3000
and in your code change the port to 3000
client = carla.Client('<IP_ADDRESS>',3000)

tl;dr: If it was open and working before you closed it, end the background process in task manager before you re-run the UE4 exe.
I just got this issue when I opened the CarlaUE4.exe unreal executable for carla, closed it, and tried to re-run it. I didn't realize the first one I had closed was still running an open process only visible in task manager. Once I found it in task manager (takes like 4gb memory but no cpu, not hard to find) and ended the task, api commands worked again after re-running the executable.

This was happening to me. Thanks for mentioning about the hidden Background process. I end it from taskmanager and a fresh launch solved my issue.


Language names in home app

I have the weatherplus plugin running on a raspberry pi 3B and it runs smoothly. But if I change the names of the accessories that the plugin goes to homekit (rain, wind...) to my language (Spanish), after a while they appear again in the home app with their default names in English. This also happens if the raspberry is restarted.

Hello, thank you for the application, indeed I notice the same problem on my side. Is it possible to customize the name of each switch? Thanks

I understand that the names are coded into the plugin. I am not sure of an easy way to make them configurable.

This is similar to this Feature Request #174


Make mutable copy of extensions when processing top-level target

What has changed

Wraps getattr result with list() for when getting extensions.

Why it was changed

Logic below assumes extension_targets is mutable.
When both extensions and extension are present, it fails with attempting to change a frozen list.

You'll need to add a sign-off to the commit (amend it) to pass the DCO requirement.


i18n: update ko translations

_rsv data remain in English

also if you are able to enter DSU on ko client, enable the debug option in FFXIV plugin with log all lines before entering. Afterwards i could decrypt the rsv names

fix that


Upstream envoyproxy/envoy-wasm.

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message: Upstream envoyproxy/envoy-wasm.
Additional Description: This PR represents the proxy-wasm work which has been going on over the last 18 months in the envoyproxy/envoy-wasm repository.  The vast majority of the changes herein are confined to extensions which are optional.  Changes outside of the extensions are the minimal set required in order to support those extensions.
Risk Level: Low (if the extensions are not included).
Testing: Unit tests in envoyproxy/envoy and integration tests in istio/proxy.
Docs Changes: Docs will be provided in subsequent PRs.
Release Notes: Wasm plugins available optionally.
[Optional Runtime guard:]
[Optional Fixes #Issue] https://github.com/envoyproxy/envoy/issues/4272
[Optional Deprecated:]

The Linux-x64 release seems to be a flake.
I don't know that this code has ever been tested on Windows or arm64.  Any suggestions on how to debug these things locally and/or disable the Wasm extensions for these environments?

@jplevyak we can skip arm / windows, just modify build_setup / do_ci script to add bazel flags.

@jplevyak how far does this get us to Wasm upstreaming? Is this mission complete? Would be good to document the support status after this PR in the commit message and version history.

@htuch with this we will be 95% complete.  There are a couple things which are still under development by interns and there is one thing that istio needs, but for all intents and purposes this will be enough for most users.

@jplevyak we can skip arm / windows, just modify build_setup / do_ci script to add bazel flags.

Which flags do you mean? I don't think we have a flag to remove Wasm support i.e. we have --define wasm=enabled and --define wsam=wavm, but I don't think we have --define wasm=none.

@jplevyak we can skip arm / windows, just modify build_setup / do_ci script to add bazel flags.

Which flags do you mean? I don't think we have a flag to remove Wasm support i.e. we have --define wasm=enabled and --define wsam=wavm, but I don't think we have --define wasm=none.

We used to have wasm=disabled before we enabled V8 by default. It should be in archives if you want to dig it up.

@jplevyak we can skip arm / windows, just modify build_setup / do_ci script to add bazel flags.

Which flags do you mean? I don't think we have a flag to remove Wasm support i.e. we have --define wasm=enabled and --define wsam=wavm, but I don't think we have --define wasm=none.

Please add a flag for wasm=none. It's a huge dependency, and should be optional.

@lizan I have made v8 support optional.  We now need to add --define wasm=enabled to make it enabled.  Which C builds should it default to being enabled?

@lizan I have made v8 support optional. We now need to add --define wasm=enabled to make it enabled. Which C builds should it default to being enabled?

In general, most/all things default to enabled/included. Also, please the settings here: https://github.com/envoyproxy/envoy/blob/master/bazel/README.md#disabling-optional-features

In general, most/all things default to enabled/included. Also, please the settings here: https://github.com/envoyproxy/envoy/blob/master/bazel/README.md#disabling-optional-features

So what's the default that we want to implement? V8 enabled by default, WAVM (only?) enabled with --define wasm=wavm, no Wasm with --define wasm=disabled?

In general, most/all things default to enabled/included. Also, please the settings here: https://github.com/envoyproxy/envoy/blob/master/bazel/README.md#disabling-optional-features

So what's the default that we want to implement? V8 enabled by default, WAVM (only?) enabled with --define wasm=wavm, no Wasm with --define wasm=disabled? Do we also want both enabled with --define wasm=enabled?

I don't know the tradeoffs or considerations for V8 vs WAVM. Someone else can chime on that.
My request is just that there be a way to not compile either one in (which it looks like is now provided), and that we try to test as many variations as possible in CI.

@lizan both of the failures seem to be CI related.  Can you confirm?

@jplevyak gcc CI is, I'll working on that in another PR. Coverage failure are real:
Code coverage 95.9 is lower than limit of 96.5

Check the coverage report: https://storage.googleapis.com/envoy-pr/12546/coverage/index.html

@lizan I'll move to working on coverage.  Thanx.

/retest

/retest

/retest

https://github.com/envoyproxy/envoy/issues/13212 is blocking

https://github.com/envoyproxy/envoy/issues/13180 is blocking

ci/circleci: all tests is passing and yet it is marked as failing, not sure why, but it is a CI issue, likely disk space
ci/circleci: asan is failing because it is being killed by circleci. again not sure why but it seems to be a resources problem.
envoy-presubmit is failing because it is running out of disk space on azure
envoy-presubmit (Linux-x64 asan) is failing because of https://github.com/envoyproxy/envoy/issues/13180

https://dev.azure.com/cncf/envoy/_build/results?buildId=52413&view=logs&j=a5e52b91-c83f-5429-4a68-c246fc63a4f7&t=22325323-cbb2-580d-876a-9766e4a9c105&l=13
Mac OS is failing to publish results.  The tests themselves pass.

/azp run

Only issue now is the MacOS CI

OSX is messed up right now. We can force merge assuming this is ready to go and passes otherwise. Are there any remaining issues? cc @lizan

@lizan should be back from vacation and will get this merged. Assigning over to him.

@mattklein123 @htuch all tests pass now, and this PR is synced with the current master, so it should be good to go now.

@PiotrSikora DCO is now broken. Can you just squash it all into a single commit and force push?

Note that we are going to merge this without docs but we need to do a doc pass before we do any major PR about this feature.
Ref: https://github.com/envoyproxy/envoy/issues/13426 https://github.com/envoyproxy/envoy/issues/9465 https://github.com/envoyproxy/envoy/issues/9462
cc @louiscryan

huzzah!

Cool!


Private Key Analyzer test class name renamed

I hope it's all right now :)

Pull Request Test Coverage Report for Build 235

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.818%

Totals

Change from base Build 229:
0.0%

Covered Lines:
1575

Relevant Lines:
2224

💛  - Coveralls


Is it possible to set back and side views on my own?

Do you mean to use multi-view images? If so, you can set the back and side view images if you have. A basic way to utilize them is to add additional supervision loss at these views during optimization.


docs: Add backing image related scalability test

Longhorn/longhorn#3242

One quick question, why do you create 10 backing images but only use 5 in the SCs? What is the intention?

One quick question, why do you create 10 backing images but only use 5 in the SCs? What is the intention?

Before the fix, the extra backing images will lead to replica controller enqueuing regardless of it is not used. Hence I want to test if the unused backing images still affect the enqueuing.

@shuo-wu, thanks for the clear steps and context!
One idea, can we add those manifests text block into actual yaml file? It will also make deploying the workload easier.

@shuo-wu, thanks for the clear steps and context! One idea, can we add those manifests text block into actual yaml file? It will also make deploying the workload easier.

I am not sure if it would affect the directory structure. If NO, YES we can.


link broken

https://meshery.layer5.io/docs/installation.md    does not works

@gunjanmimo @ashiscs could one of you have a look here?

@houshym thanks for opening this issue. Do you recall where you found the link to https://meshery.layer5.io/docs/installation.md? Links to this page should be pointing to https://meshery.layer5.io/docs/installation (without the .md). If there is a page that has the .md link listed, @ashiscs, we'll need to remove the .md.

i will try to find this page. But it was on minikube installation page and
in third step
On Tue, Oct 8, 2019 at 6:17 AM Lee Calcote<EMAIL_ADDRESS>wrote:

@houshym https://github.com/houshym thanks for opening this issue. Do
you recall where you found the link to
https://meshery.layer5.io/docs/installation.md? Links to this page should
be pointing to https://meshery.layer5.io/docs/installation (without the
.md). If there is a page that has the .md link listed, @ashiscs
https://github.com/ashiscs, we'll need to remove the .md.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/layer5io/meshery/issues/329?email_source=notifications&email_token=AIRRWAINF4OEG6336AXQP73QNSB7JA5CNFSM4I5Y5QUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAUD7YI#issuecomment-539508705,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIRRWAO73NCJFF4U7VJCV4TQNSB7JANCNFSM4I5Y5QUA
.


Add support for objectMode streaming

Status
READY
Description
This commit supports streaming objects, instead of stringified JSON, by adding objectMode to the options and implementing it in the stream.js
Related PRs
List related PRs against other branches:

branch
PR

other_pr_production
link

other_pr_master
link

Todos

[ ] Tests
[ ] Documentation

Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.
git pull --prune
git checkout <feature_branch>
bundle; script/server

Impacted Areas in Application
List general components of the application that this PR will affect:

I have reviewed some of the code here. I haven’t had too much experience in our jsonexport in regards to streaming. However, what I think I am reading here sounds amazing.
@air2 could you please elaborate how this works, if I understand correctly we can now stream, with your code, in chunks of valid json-to-object... If you could elaborate please. I am a contributor and could help along if I also better understood a better picture here please and thank you

Also it would help me if you were able to provide a unit test in any fashion to accompany this PR


17 add support for different can data bytes lengths

Previously, the generic parameter was fixed by the library and bound to the message type. We were therefore able to use this as a validation for the payload length.

Exactly but that means L becomes fixed to 8 for any CAN2.0 message, and if the caller tries to create a message with only 4 data bytes then .copy_from_slice() call will fail because buff and data have to be the same length
https://github.com/atlas-aero/rt-mcp2517/blob/f476e586bb83acf53acbd730d6ccc50526846eef/src/can.rs#L351-L353

But since the parameter now comes from the caller of the library, the validation has become useless, hasn't it? If the parameter is not used anywhere else, I have not found any use, then we could remove L completely, couldn't we?

It is still validated I think, in the setup_header fn. L is just used here to create this local data buffer which is passed on to the transfer fn since we can't directly pass the message.buff, Do you have any suggestion on how to optimize that?

Alright, thanks for the explanation.
I just missed the reference code. Then it's fine.


Completely remove MapUtils class

As reference to MapUtils#extractRawMapFromJsonString is already changed into JSONUtils#extractRawMapFromJsonString in https://github.com/NVIDIA/spark-rapids/pull/11329, now we can safely remove the class MapUtils completely without breaking the plugin build.

build


The scroll-back button directly jumps to the top; it does not scroll smoothly to the top.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The scroll-back button is expected to smoothly scroll the page to the top when clicked. However, instead of performing a smooth scrolling action, it directly jumps to the top of the page. This abrupt transition negatively impacts user experience, making it feel less intuitive and polished.
Expected behavior
When the scroll-back button is clicked, the page should smoothly scroll to the top over a specified duration, providing a visually pleasing and seamless transition.
Add ScreenShots
Actual behaviour in website: https://apu52.github.io/Travel_Website/#
Expected behaviour:
You can refer to my previous project where I implemented a more user-friendly "Back to Top" functionality.
https://raj-aditya-27.github.io/SarvottamSamachar/
On which device are you experiencing this bug?
Windows
Record

[X] I have read the Contributing Guidelines
[ ] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24 contributor
[X] I have starred the repository

@Raj-Aditya-27 u are assigned

@apu52 Thanks for assigning this issue.
I will do it as soon as possible.


Support suspense

Is your feature request related to a problem? Please describe.
I'm looking to make an HTTP call from a component inside slides.md but i got this warning
[Vue warn]: Component <Anonymous>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.

Do I have to do something or is this an issue from slidev?

I wrap the component and it's working fine now.
<Suspense>
  <MyAsyncComponent />
</Suspense>


ctrl-shift-c Does nothing

Per the usage wiki enabling the add-in requires ctrl-shift-c to activate.  For me nothing happens with that key-combination

Which operating system and Office version are you using?

The most current Windows 10 and Office
[image: image.png]
On Mon, Mar 29, 2021 at 3:28 PM Brian Skinn @.***>
wrote:

Which operating system and Office version are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bskinn/excel-csvexporter/issues/31#issuecomment-809754351,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABA7HQI6YSSEF5MCCUMEWO3TGD5HHANCNFSM42AEEP4Q
.

--
Tim Odell
FCC call sign: K6TJO

Office 2019, or 365?

Closing, see subsequent #32.

New instructions for a Ribbon button are here!


Registry Pico

Create a pico that will allow any developer to easily use QR codes WITHOUT having to create their own router or database. They just have to POST to this pico and we will store redirect information for them.

I think I got the redirect stuff working. Doing some tests now


Add tooltip to the instance composer buttons

Description

Short description here *

closes #5478
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Code is clear and sufficiently documented
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

https://github.com/inmanta/web-console/assets/113331659/28f8d54f-3626-4411-bd54-edcd3fb4de93

Processing this pull request

Processing this pull request

Merged into branches master, iso7 in b4bb12d4825bbafc03180e9030b341fa0c9b16e6


more get_user refactoring in zerver/views

Removed get_user_profile_by_email import in streams.py.
Reordered registration.py so realm is declared (via if tree) prior to check for existing user, otherwise existing_user_profile is set equal to None.

Automated message from Dropbox CLA bot
@LechX, it looks like you've already signed the Dropbox CLA. Thanks!

closing this PR and will re-open with only changes to streams.py/registration.py


Human perception & general fixes

Fixes related to launching CoHAN with SPENCER human perception stack
See https://github.com/rayvburn/cohan_planner_people_interface/tree/devel-melodic for the interface node

[ ] try to eliminate humans_states_.states[itr] and generally [itr] from the main loop in HATebLocalPlannerROS::humansCB


Compiling problems with GCC 12

When I'm compiling the encoder, I got this error:
/home/user/.cache/pikaur/build/vvenc/src/vvenc-1.3.1/source/Lib/CommonLib/InterPrediction.cpp: In member function ‘bool vvenc::InterPrediction::xCheckIdenticalMotion(const vvenc::CodingUnit&) const’:
/home/user/.cache/pikaur/build/vvenc/src/vvenc-1.3.1/source/Lib/CommonLib/InterPrediction.cpp:307:24: error: comparison between two arrays [-Werror=array-compare]
  307 |           if( cu.mv[0] == cu.mv[1] )
      |               ~~~~~~~~~^~~~~~~~~~~

So I removed all -Werror in all CMakeList.txt. But when I'm encoding a yuv file, I got this:
vvencapp: Fraunhofer VVC Encoder ver. 1.4.0 [Linux][GCC 12.1.0][64 bit][SIMD=AVX2]
CODING TOOL CFG: CTU128 QT44BTT21 IBD:1 CIP:0 SAO:1 ALF:1 (NonLinLuma:0 NonLinChr:0) CCALF:1 Tiles:1x1 Slices:1 WPP:0 WPP-Substreams:1 TMVP:1 DQ:1 SDH:0 CST:1 BDOF:1 DMVR:1 MTSImplicit:1 SBT:0 JCbCr:1 CabacInitPresent:0 AMVR:5 SMVD:3 LMCS:2 (Signal:SDR Opt:0) CIIP:0 MIP:1 AFFINE:2 (PROF:1, Type:1) MMVD:3 DisFracMMVD:1 SbTMVP:1 GPM:3 LFNST:1 MTS:0 ISP:3 TS:2 TSLog2MaxSize:4 useChromaTS:0 BDPCM:2 IBC:2 BCW:0
ENC. ALG. CFG: QPA:1 HAD:1 RDQ:1 RDQTS:1 ASR:1 MinSearchWindow:96 RestrictMESampling:0 EDO:2 MCTF:2
PRE-ANALYSIS CFG: STA:1 LeadFrames:0 TrailFrames:0
FAST TOOL CFG: ECU:0 FEN:1 FDM:1 FastSearch:4 (SCC:2) LCTUFast:1 FastMrg:2 PBIntraFast:1 AMaxBT:0 FastQtBtEnc:1 ContentBasedFastQtbt:0 FastMIP:4 FastIntraTools:1 IntraEstDecBit:2 FastLocalDualTree:1 IntegerET:0 FastSubPel:1 QtbttExtraFast:3 FastTTSplit:0 IBCFastMethod:3 FIM:0 ALFSpeed:0 QuantThr: 4
RATE CONTROL CFG: RateControl:0 LookAhead:0
PARALLEL PROCESSING CFG: NumThreads:4 MaxParallelFrames:4 WppBitEqual:1 WF:0

started @ Thu May 19 19:55:04 2022

POC    0 TId: 0 (  IDR_N_LP, I-SLICE, QP 5 )      28304 bits [Y 72.0273 dB    U 999.9900 dB    V 999.9900 dB] [ET     3 ] [L0 ] [L1 ]
POC   32 TId: 0 (       CRA, I-SLICE, QP 6 )     122144 bits [Y 60.5487 dB    U 999.9900 dB    V 999.9900 dB] [ET     7 ] [L0 ] [L1 ]
fish: Job 1, 'vvencapp -i /mnt/c/TempUse/yuv4…' terminated by signal SIGSEGV (Address boundary error)

I'm using vvenc inside Arch linux with WSL2. My command is vvencapp -i yuv420p.yuv -s 1920x1080 -c yuv420 -r 25 --qp 20 --threads 4 -o vvc.266. Does anybody know what problem is this?

I found that the codes can be compiled using gcc 11.2.0, but it doesn't work with gcc 12.1.0.

@CarlGao4, it might be compiler bug of newest version GCC 12 to build encoder. Better to use GCC 11:
pacman -S gcc11

If you have GCC version 12 already, you can switch from 12 to 11.
sudo ln -s $(which gcc-11) /usr/local/bin/gcc
sudo ln -s $(which g++-11) /usr/local/bin/g++
hash -r

References:
https://aur.archlinux.org/packages/gcc11 (GCC11 Arch package)
https://unix.stackexchange.com/a/486059 (Switch GCC version on Arch linux)

If you have GCC version 12 already, you can switch from 12 to 11.
sudo ln -s $(which gcc-11) /usr/local/bin/gcc
sudo ln -s $(which g++-11) /usr/local/bin/g++
hash -r

There's an easier version to choose your GCC version for compilation of VVenC and VVdeC.
Just change the CC and CXX global variables before building (mind that a make clean is needed before).
make clean
CC=gcc-11 CXX=g++-11 make release ...

I found that the codes can be compiled using gcc 11.2.0, but it doesn't work with gcc 12.1.0.

Which version are you using exactly? The actual 1.4.0 or some in-between commit?
We'll look into that, thanks!

vvencapp: Fraunhofer VVC Encoder ver. 1.4.0 [Linux][GCC 12.1.0][64 bit][SIMD=AVX2]
CODING TOOL CFG: CTU128 QT44BTT21 IBD:1 CIP:0 SAO:1 ALF:1 (NonLinLuma:0 NonLinChr:0) CCALF:1 Tiles:1x1 Slices:1 WPP:0 WPP-Substreams:1 TMVP:1 DQ:1 SDH:0 CST:1 BDOF:1 DMVR:1 MTSImplicit:1 SBT:0 JCbCr:1 CabacInitPresent:0 AMVR:5 SMVD:3 LMCS:2 (Signal:SDR Opt:0) CIIP:0 MIP:1 AFFINE:2 (PROF:1, Type:1) MMVD:3 DisFracMMVD:1 SbTMVP:1 GPM:3 LFNST:1 MTS:0 ISP:3 TS:2 TSLog2MaxSize:4 useChromaTS:0 BDPCM:2 IBC:2 BCW:0
ENC. ALG. CFG: QPA:1 HAD:1 RDQ:1 RDQTS:1 ASR:1 MinSearchWindow:96 RestrictMESampling:0 EDO:2 MCTF:2
PRE-ANALYSIS CFG: STA:1 LeadFrames:0 TrailFrames:0
FAST TOOL CFG: ECU:0 FEN:1 FDM:1 FastSearch:4 (SCC:2) LCTUFast:1 FastMrg:2 PBIntraFast:1 AMaxBT:0 FastQtBtEnc:1 ContentBasedFastQtbt:0 FastMIP:4 FastIntraTools:1 IntraEstDecBit:2 FastLocalDualTree:1 IntegerET:0 FastSubPel:1 QtbttExtraFast:3 FastTTSplit:0 IBCFastMethod:3 FIM:0 ALFSpeed:0 QuantThr: 4
RATE CONTROL CFG: RateControl:0 LookAhead:0
PARALLEL PROCESSING CFG: NumThreads:4 MaxParallelFrames:4 WppBitEqual:1 WF:0

started @ Thu May 19 19:55:04 2022

POC    0 TId: 0 (  IDR_N_LP, I-SLICE, QP 5 )      28304 bits [Y 72.0273 dB    U 999.9900 dB    V 999.9900 dB] [ET     3 ] [L0 ] [L1 ]
POC   32 TId: 0 (       CRA, I-SLICE, QP 6 )     122144 bits [Y 60.5487 dB    U 999.9900 dB    V 999.9900 dB] [ET     7 ] [L0 ] [L1 ]
fish: Job 1, 'vvencapp -i /mnt/c/TempUse/yuv4…' terminated by signal SIGSEGV (Address boundary error)

I noticed some strange behavior of the chroma channels.

Is the video actually monochrome, but still packed as yuv420?
Are you sure it's not actually yuv400?
Could you share the raw source?

I found that the codes can be compiled using gcc 11.2.0, but it doesn't work with gcc 12.1.0.

Which version are you using exactly? The actual 1.4.0 or some in-between commit?
We'll look into that, thanks!

Just the latest release, 1.4.0
I downloaded from the release panel.

@CarlGao4, try this:
ffmpeg -i yourvideo.mp4 -pix_fmt yuv420p -strict 1 yuv420p.yuv
vvencapp -i yuv420p.yuv -s 1920x1080 -c yuv420 -r 25 --qp 20 --threads 4 -o vvc.266

It should work of yuv420 and yuv420p10 pixel formats only of YUV.

Martin Eesmaa

@CarlGao4, try this:
ffmpeg -i yourvideo.mp4 -pix_fmt yuv420p -strict 1 yuv420p.yuv
vvencapp -i yuv420p.yuv -s 1920x1080 -c yuv420 -r 25 --qp 20 --threads 4 -o vvc.266

It should work of yuv420 and yuv420p10 pixel formats only of YUV.

Martin Eesmaa

There isn't any problem with the input file, because it works well with the vvencapp built by GCC 11.2.0 using the same command. So the problem is that I used GCC 12.1.0

@CarlGao4, I see... okay, just stick to GCC 11 or/and might just report bug to GCC 12, not vvenc.

Martin Eesmaa

What I thought is that some of your grammar is deprecated in newer versions.

I found this for you (link):
-Warray-compare
Warn about equality and relational comparisons between two operands of array type. This comparison was deprecated in C++20. For example:
int arr1[5];
int arr2[5];
bool same = arr1 == arr2;

-Warray-compare is enabled by -Wall.

Okay, @CarlGao4! I got it.

There was also a lot of other warnings using GCC12. I can build it again and paste all the warnings here.

Here is other warnings using GCC 12:
/root/vvenc-1.4.0/source/Lib/CommonLib/InterPrediction.cpp: In member function ‘bool vvenc::InterPrediction::xCheckIdenticalMotion(const vvenc::CodingUnit&) const’:
/root/vvenc-1.4.0/source/Lib/CommonLib/InterPrediction.cpp:303:24: warning: comparison between two arrays [-Warray-compare]
  303 |           if( cu.mv[0] == cu.mv[1] )
      |               ~~~~~~~~~^~~~~~~~~~~
/root/vvenc-1.4.0/source/Lib/CommonLib/InterPrediction.cpp:303:24: note: use unary ‘+’ which decays operands to pointers or ‘&‘component_ref’ not supported by dump_decl<declaration error>[‘integer_cst’ not supported by dump_decl<declaration error>][0] == &‘component_ref’ not supported by dump_decl<declaration error>[‘integer_cst’ not supported by dump_decl<declaration error>][0]’ to compare the addresses

/root/vvenc-1.4.0/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp: In member function ‘double vvenc::EncAdaptiveLoopFilter::deriveCtbAlfEnableFlags(vvenc::CodingStructure&, int, vvenc::ChannelType, double, int, int, double&)’:
/root/vvenc-1.4.0/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp:2013:61: warning: the address of ‘vvenc::AlfParam::alfEnabled’ will never be NULL [-Waddress]
 2013 |         m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctuIdx, &m_alfParamTemp.alfEnabled[COMP_Y]);
      |                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/vvenc-1.4.0/source/Lib/vvenc/../CommonLib/Slice.h:50,
                 from /root/vvenc-1.4.0/source/Lib/vvenc/../CommonLib/Contexts.h:49,
                 from /root/vvenc-1.4.0/source/Lib/vvenc/../CommonLib/ContextModelling.h:49,
                 from /root/vvenc-1.4.0/source/Lib/EncoderLib/CABACWriter.h:49,
                 from /root/vvenc-1.4.0/source/Lib/EncoderLib/EncAdaptiveLoopFilter.h:49,
                 from /root/vvenc-1.4.0/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp:48:
/root/vvenc-1.4.0/source/Lib/vvenc/../CommonLib/AlfParameters.h:137:32: note: ‘vvenc::AlfParam::alfEnabled’ declared here
  137 |   bool                         alfEnabled[MAX_NUM_COMP];                          // alf_slice_enable_flag, alf_chroma_idc
      |                                ^~~~~~~~~~
/root/vvenc-1.4.0/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp: In member function ‘double vvenc::EncAdaptiveLoopFilter::getFilterCoeffAndCost(vvenc::CodingStructure&, double, vvenc::ChannelType, bool, int, int&, bool)’:
/root/vvenc-1.4.0/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp:2289:59: warning: the address of ‘vvenc::AlfParam::alfEnabled’ will never be NULL [-Waddress]
 2289 |       m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctuIdx, &m_alfParamTemp.alfEnabled[COMP_Y]);
      |                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/vvenc-1.4.0/source/Lib/vvenc/../CommonLib/AlfParameters.h:137:32: note: ‘vvenc::AlfParam::alfEnabled’ declared here
  137 |   bool                         alfEnabled[MAX_NUM_COMP];                          // alf_slice_enable_flag, alf_chroma_idc
      |                                ^~~~~~~~~~
/root/vvenc-1.4.0/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp: In member function ‘void vvenc::EncAdaptiveLoopFilter::alfEncoderCtb(vvenc::CodingStructure&, vvenc::AlfParam&, double)’:
/root/vvenc-1.4.0/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp:4207:65: warning: the address of ‘vvenc::AlfParam::alfEnabled’ will never be NULL [-Waddress]
 4207 |             m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctbIdx, &m_alfParamTemp.alfEnabled[COMP_Y]);
      |                                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/vvenc-1.4.0/source/Lib/vvenc/../CommonLib/AlfParameters.h:137:32: note: ‘vvenc::AlfParam::alfEnabled’ declared here
  137 |   bool                         alfEnabled[MAX_NUM_COMP];                          // alf_slice_enable_flag, alf_chroma_idc
      |                                ^~~~~~~~~~

@CarlGao4, I see... okay, just stick to GCC 11 or/and might just report bug to GCC 12, not vvenc.

Please let us decide what is relevant for the project.

We'll have a fix for t he compilation issues soon.
@CarlGao4 why remove the encoder crash from the title? That's actually the more important issue.

I think the encoder crash is beacuse of the deprecated warning.

I don't think so, but we'll see. Either way, the actual problem is the crash. No-one cares about warnings, as long as there are no issues. Please don't change the issue title after I corrected it.

This would have crashed at encoder init, not after second picture. I'll investigate.

Sooo... I updated my WSL to 22.04 and can reproduce the error with GCC-12 with some standard sequences.
The problem also occurs after fixing all of the GCC warnings (so far we have done this internally, will push to GitHub with the next update soon).
What stops the error from happening is: make ... disable-lto=1, make ... relwithdebinfo.
CFLAGS=-g CXXFLAGS=-g make release stills causes produces the error, and I can see it is happening somewhere around SIMD SAD calculation. gdb cannot retrieve stack trace, which makes me think there might be corruption of stack before the actual function.
The errors in EncAdaptiveLoopFilter.cpp are caused by faulty compiler, I see in the code that the arrays and the variables are properly initialized.
Investigating further, any additional info appreciated.

And of course make ... address-sanitizer=1 also makes the problem disappear.

Sorry @adamjw24, I have a quick problem...
I tried to build libvtmdec.dll in VTM VVC, but it did not built DLL compiled, I used code: `cmake -DBUILD_SHARED_LIBS=1 .. && cmake --build . -config Release’
Log:
C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\build>cmake -DBUILD_SHARED_LIBS=1 ..
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.22000.
-- The C compiler identification is MSVC 19.31.31107.0
-- The CXX compiler identification is MSVC 19.31.31107.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting up BBuildEnv <IP_ADDRESS>
-- bb_enable_warnings:  -> updating warnings flags: /WX;/wd4996
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/build

C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\build>cmake --build . --config Release
Microsoft (R) Build Engine version 17.1.0+ae57d105c for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  Checking Build System
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/Lib/CommonLib/CMakeLists.txt
  AdaptiveLoopFilter.cpp
  AffineGradientSearch.cpp
  BitStream.cpp
  Buffer.cpp
  CacheModel.cpp
  ChromaFormat.cpp
  CodingStructure.cpp
  ContextModelling.cpp
  Contexts.cpp
  DeblockingFilter.cpp
  DepQuant.cpp
  HRD.cpp
  Hash.cpp
  IbcHashMap.cpp
  InterPrediction.cpp
  InterpolationFilter.cpp
  IntraPrediction.cpp
  MCTS.cpp
  MatrixIntraPrediction.cpp
  Mv.cpp
  ParameterSetManager.cpp
  PicYuvMD5.cpp
  Picture.cpp
  ProfileLevelTier.cpp
  Quant.cpp
  QuantRDOQ.cpp
  RdCost.cpp
  RdCostWeightPrediction.cpp
  Reshape.cpp
  Rom.cpp
  RomLFNST.cpp
  RomTr.cpp
  SEI.cpp
  SEIColourTransform.cpp
  SEIFilmGrainAnalyzer.cpp
  SEIFilmGrainSynthesizer.cpp
  SampleAdaptiveOffset.cpp
  Slice.cpp
  TrQuant.cpp
  TrQuant_EMT.cpp
  Unit.cpp
  UnitPartitioner.cpp
  UnitTools.cpp
  WeightPrediction.cpp
  dtrace.cpp
  dtrace_blockstatistics.cpp
  CommonDefX86.cpp
  InitX86.cpp
  libmd5.cpp
  AdaptiveLoopFilter_sse41.cpp
  AffineGradientSearch_sse41.cpp
  Buffer_sse41.cpp
  InterpolationFilter_sse41.cpp
  RdCost_sse41.cpp
  IbcHashmap_sse42.cpp
  AdaptiveLoopFilter_avx.cpp
  AffineGradientSearch_avx.cpp
  Buffer_avx.cpp
  InterpolationFilter_avx.cpp
  RdCost_avx.cpp
  AdaptiveLoopFilter_avx2.cpp
  AffineGradientSearch_avx2.cpp
  Buffer_avx2.cpp
  InterpolationFilter_avx2.cpp
  RdCost_avx2.cpp
  CommonLib.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\lib\vs17\msvc-19.31\x86_64\release-
  shared\CommonLib.lib
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/Lib/DecoderLib/CMakeLists.tx
  t
  AnnexBread.cpp
  BinDecoder.cpp
  CABACReader.cpp
  DecCu.cpp
  DecLib.cpp
  DecSlice.cpp
  NALread.cpp
  SEIread.cpp
  VLCReader.cpp
  DecoderLib.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\lib\vs17\msvc-19.31\x86_64\release
  -shared\DecoderLib.lib
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/Lib/EncoderLib/CMakeLists.tx
  t
  AQp.cpp
  BinEncoder.cpp
  CABACWriter.cpp
  EncAdaptiveLoopFilter.cpp
  EncCu.cpp
  EncGOP.cpp
  EncHRD.cpp
  EncLib.cpp
  EncLibCommon.cpp
  EncModeCtrl.cpp
  EncReshape.cpp
  EncSampleAdaptiveOffset.cpp
  EncSlice.cpp
  EncTemporalFilter.cpp
  InterSearch.cpp
  IntraSearch.cpp
  NALwrite.cpp
  RateCtrl.cpp
  SEIEncoder.cpp
  SEIwrite.cpp
  VLCWriter.cpp
  WeightPredAnalysis.cpp
  EncoderLib.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\lib\vs17\msvc-19.31\x86_64\release
  -shared\EncoderLib.lib
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/Lib/Utilities/CMakeLists.txt
  VideoIOYuv.cpp
  program_options_lite.cpp
  Utilities.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\lib\vs17\msvc-19.31\x86_64\release-
  shared\Utilities.lib
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/BitstreamExtractorApp/CM
  akeLists.txt
  BitstreamExtractorApp.cpp
  BitstreamExtractorAppCfg.cpp
  bitstreamextractormain.cpp
  BitstreamExtractorApp.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86
  _64\release-shared\BitstreamExtractorApp.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/Lib/CommonAnalyserLib/CMakeL
  ists.txt
  AdaptiveLoopFilter.cpp
  AffineGradientSearch.cpp
  BitStream.cpp
  Buffer.cpp
  CacheModel.cpp
  ChromaFormat.cpp
  CodingStructure.cpp
  ContextModelling.cpp
  Contexts.cpp
  DeblockingFilter.cpp
  DepQuant.cpp
  HRD.cpp
  Hash.cpp
  IbcHashMap.cpp
  InterPrediction.cpp
  InterpolationFilter.cpp
  IntraPrediction.cpp
  MCTS.cpp
  MatrixIntraPrediction.cpp
  Mv.cpp
  ParameterSetManager.cpp
  PicYuvMD5.cpp
  Picture.cpp
  ProfileLevelTier.cpp
  Quant.cpp
  QuantRDOQ.cpp
  RdCost.cpp
  RdCostWeightPrediction.cpp
  Reshape.cpp
  Rom.cpp
  RomLFNST.cpp
  RomTr.cpp
  SEI.cpp
  SEIColourTransform.cpp
  SEIFilmGrainAnalyzer.cpp
  SEIFilmGrainSynthesizer.cpp
  SampleAdaptiveOffset.cpp
  Slice.cpp
  TrQuant.cpp
  TrQuant_EMT.cpp
  Unit.cpp
  UnitPartitioner.cpp
  UnitTools.cpp
  WeightPrediction.cpp
  dtrace.cpp
  dtrace_blockstatistics.cpp
  CommonDefX86.cpp
  InitX86.cpp
  libmd5.cpp
  AdaptiveLoopFilter_sse41.cpp
  AffineGradientSearch_sse41.cpp
  Buffer_sse41.cpp
  InterpolationFilter_sse41.cpp
  RdCost_sse41.cpp
  IbcHashmap_sse42.cpp
  AdaptiveLoopFilter_avx.cpp
  AffineGradientSearch_avx.cpp
  Buffer_avx.cpp
  InterpolationFilter_avx.cpp
  RdCost_avx.cpp
  AdaptiveLoopFilter_avx2.cpp
  AffineGradientSearch_avx2.cpp
  Buffer_avx2.cpp
  InterpolationFilter_avx2.cpp
  RdCost_avx2.cpp
  CommonAnalyserLib.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\lib\vs17\msvc-19.31\x86_64\
  release-shared\CommonAnalyserLib.lib
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/Lib/DecoderAnalyserLib/CMake
  Lists.txt
  AnnexBread.cpp
  BinDecoder.cpp
  CABACReader.cpp
  DecCu.cpp
  DecLib.cpp
  DecSlice.cpp
  NALread.cpp
  SEIread.cpp
  VLCReader.cpp
  DecoderAnalyserLib.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\lib\vs17\msvc-19.31\x86_64
  \release-shared\DecoderAnalyserLib.lib
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/DecoderAnalyserApp/CMake
  Lists.txt
  DecApp.cpp
  DecAppCfg.cpp
  decmain.cpp
  DecoderAnalyserApp.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86_64
  \release-shared\DecoderAnalyserApp.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/DecoderApp/CMakeLists.tx
  t
  DecApp.cpp
  DecAppCfg.cpp
  decmain.cpp
  DecoderApp.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86_64\release
  -shared\DecoderApp.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/EncoderApp/CMakeLists.tx
  t
  EncApp.cpp
  EncAppCfg.cpp
  encmain.cpp
  EncoderApp.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86_64\release
  -shared\EncoderApp.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/SEIFilmGrainApp/CMakeLis
  ts.txt
  SEIFilmGrainApp.cpp
  SEIFilmGrainAppCfg.cpp
  SEIFilmGrainMain.cpp
  SEIFilmGrainApp.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86_64\re
  lease-shared\SEIFilmGrainApp.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/SEIRemovalApp/CMakeLists
  .txt
  SEIRemovalApp.cpp
  SEIRemovalAppCfg.cpp
  seiremovalmain.cpp
  SEIRemovalApp.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86_64\rele
  ase-shared\SEIRemovalApp.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/StreamMergeApp/CMakeList
  s.txt
  StreamMergeApp.cpp
  StreamMergeAppCfg.cpp
  StreamMergeMain.cpp
  StreamMergeApp.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86_64\rel
  ease-shared\StreamMergeApp.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/SubpicMergeApp/CMakeList
  s.txt
  SubpicMergeApp.cpp
  SubpicMergeMain.cpp
  SubpicMergeApp.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86_64\rel
  ease-shared\SubpicMergeApp.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/source/App/Parcat/CMakeLists.txt
  parcat.cpp
  parcat.vcxproj -> C:\Users\Admin1\Downloads\Compressed\VVCSoftware_VTM-VTM-16.2\bin\vs17\msvc-19.31\x86_64\release-sha
  red\parcat.exe
  Building Custom Rule C:/Users/Admin1/Downloads/Compressed/VVCSoftware_VTM-VTM-16.2/CMakeLists.txt

Martin Eesmaa

The problem is https://github.com/fraunhoferhhi/vvenc/blob/a361f5931d3cbee07d9a7d557a7a59a92d9121f8/source/Lib/EncoderLib/InterSearch.cpp#L1981-L1992
Especially the line 1989, where a move-semantics is used for the assignment since its an r-value. It has no effect, while previous compilers apparently used one of the other constructors for this, which worked as intended. Looks to me like a C++ bug.


Connections graph node hover fix mouseout

Added a fix for the mouseout also to clear the popupTimer.

Sorry for double pull requests, wanted to merge it to my branch instead first.


HEIC support for Windows

Hello,
I would like to get HEIC support for Windows. So far I have managed to get a custom libvips build working which is able to convert images from HEIC to JPEG without any issue. There is something however that confuses me regarding the installation guide and I don't understand how to progress from here.
So the installation guide says The use of a globally-installed libvips is unsupported on Windows and on macOS when running Node.js under Rosetta.
Does this mean HEIC support for Windows is not possible? And if it would be, how would you be able to have a sharp instance that depends on libvips with HEIC support?

Probably not impossible, but definitely unsupported. I wish you good luck but cannot help if you choose to do so.

Alright will see how I go further, thanks a lot for your quick reply


EvaluatableExpression scope determined by debug adapters

Refs: #91268
I was thinking about how EvaluateExpression might be used in the context of js-debug. Something we now have the capability to do (which we use for auto-completion in the debug console) is having V8 run expressions only if they don't have side-effects. This enables us to evaluate and complete expressions like new Array().concat([1, 2, 3]).reverse().| without complex allowlisting.
With EvaluateExpression, the door is partially opened to doing the same thing. A user might have something like
Promise.all(
  requests
    .map(r => ({ ...r, json: true })
    .map(r => request(r))
);

We could evaluate the  requests.map(r => ({ ...r, json: true }) portion of that expression and show the value on hover, but to do this we need to 'prove' that it doesn't have side effects, which can only be done in the debug adapter. And if the user is hovering somewhere in that chain, we may need to try a few segments to figure out which portions can be evaluated.
I don't have a solution to propose, but it is interesting to think about how this could work / whether this is something we'd want to support.

@connor4312 Indeed, very interesting use case.

Merging into https://github.com/microsoft/vscode/issues/18058


Codebase Overview Translation

This is the PR for Codebase Overview

Hey Johnathan! Could you check all the comments? I think you were missing a few, and if you could go saying in the comments what you're doing would be helpful. Thanks a lot for your contribution! 👾

Greetings @jnosornov 🌞 As @icarlossz mentioned, there are some comments that were not addressed with your update, please check them all and ping us again, please 🚀

What's good guys, @icarlossz @Darking360 managed to add the changes, missed some because they were not underlined in the comment suggestion. If there are more just let me know.

Hey @jnosornov 💪
I saw that too in some other PRs but I really don't know why. What I do know is that you can commit directly with the comment, if you open the options for the current comment there will be an option for adding the code suggestions directly, you can take a look to this link so you can add the comments left, there are around 22 comments unresolved, you can try with that, is really easy and pretty straight forward 🚀
Let us know for any questions 🤓

Oh jeez, missed commits were hidden by default.  Also do you know why you can't perform this action if the comment is outdated?. Also what does it mean to be outdated?. Do they have to be done in a particular lapse of time?.

Make sure to check inside the Files changed tab 🙏 Because I reopened some issues 🚀

mmm @Darking360 yeah you are right, I have not committed those changes yet, just have them locally. Changes would be shipped by today night.

@Darking360 all changes have been added, even the last requested. Let me know if further changes are needed. I hope there is no more XD, this PR was massive.

All right, @Darking360 if more changes are needed just open more suggestions, I'll be more than happy to contribute.


TypeScript include documentation for properties instead of getters

Reason/Context
Setting the description on private properties does not show up on auto completion. See this: https://modelina.org/playground?tsIncludeDescriptions=true
Description
Instead the code should be:

class LightMeasured {
  private _id?: number;
  private _lumens?: number;
  private _sentAt?: string;
  private _additionalProperties?: Map<string, any>;

  constructor(input: {
    id?: number,
    lumens?: number,
    sentAt?: string,
    additionalProperties?: Map<string, any>,
  }) {
    this._id = input.id;
    this._lumens = input.lumens;
    this._sentAt = input.sentAt;
    this._additionalProperties = input.additionalProperties;
  }

  /**
   * Id of the streetlight.
   */
  get id(): number | undefined { return this._id; }
  set id(id: number | undefined) { this._id = id; }

  /**
   * Light intensity measured in lumens.
   */
  get lumens(): number | undefined { return this._lumens; }
  set lumens(lumens: number | undefined) { this._lumens = lumens; }

  /**
   * Date and time when the message was sent.
   */
  get sentAt(): string | undefined { return this._sentAt; }
  set sentAt(sentAt: string | undefined) { this._sentAt = sentAt; }

  get additionalProperties(): Map<string, any> | undefined { return this._additionalProperties; }
  set additionalProperties(additionalProperties: Map<string, any> | undefined) { this._additionalProperties = additionalProperties; }
}
module.exports = LightMeasured;

Hi @jonaslagoni , I would like to take this one 🙂

@Samridhi-98 how is it going 🙂?

@Samridhi-98 how is it going 🙂? Let me know if you need anything 👍

I have started working on it soon will come up with PR if need any help will let you know, Thanks :)

@Samridhi-98 any update? 🙂

@jonaslagoni I am on it

is this issue still pending @jonaslagoni ?
If yess, then I'm happy to jump on this.

It is, go ahead @bhanudatsinhjhala 💪


dimension check fails when adding height10m/1-dimensional height to coordinates

I have been working with ERA-Interim input for sea level pressure and northward and eastward winds. I changed my netCDF files to comply with cmor conventions. For this I added the following coordinates/dimensions to the thee variables:
'time', ' latitude', 'longitude' and 'height' ('height' for wind components only)
So the dimension of the variables are
psl.ndim = 3 and vas.ndim = uas.ndim = 4
However, when loading the variables using the esmvaltool preprocessor script _io.py the rank of the wind files is determined as 3 instead of 4. This leads to an error when checking the rank of the coordinates with the dimensions of the variables. I am currently using a work around defining the rank as the self._cube.ndim. However, without this work around the recipe terminates with an the error complaining about the rank of vas and uas.
I tried both coordinate names 'height' and 'height10m' which i found in the relevant cmor table (cf3hr) and set them as coordinate name, long_name and standard_name. However the coordinate height is never recognised in _check_rank.py and doesn't seem to appear as a standard name in the loop checking for the dimensions of the coordinates, i.e.:
for coordinate in self._cmor_var.coordinates.values():
for dim in self._cube.coord_dims(coordinate.standard_name):
dimensions.append(dim)
...
What name is set as standard_name for the variable height?
Thanks for your help!
Cheers,
Nina

@jvegasbsc Do you know more about this?

You need to add the auxiliary coordinate.
Check how it works with height2m for tas in ERA-Interim, it should be exactly the same problem.

Please re-open the issue if the suggestion above does not solve the problem.


When using Quick Open, have last open file be the Default Selection.

When using ctrl + p OR ctrl + e to access "workbench.action.quickOpen" the default selection is the currently open file. When opening a file, the last file I want to open is the one currently open. Other Editors have the default set to the last open file, which is the second option for VSCode.

VSCode Version: 1.1.1-insider
OS Version: Windows 10

Steps to Reproduce:

ctrl + p OR ctrl + e
The current file is the first selection.

@gerane maybe what you actually want to use is Ctrl+Tab to quickly access the last opened file?

I use ctrl+tab, but I also use ctrl + p to search for files, and sometimes the file I am looking for is the last open file. So if I am unsure if the File I want was the last one I open, I usually would use Ctrl+P instead of ctrl+tab. I have a habit of using ctrl + p in this manner from other editors as well.
From a User's perspective, If I have a File open, and I use a command to Quickly Open a different File, having my first choice be the File I already have open is counter-intuitive and kind of goes against the Commands name "QuickOpen".
Other editors use this behavior, and it just makes sense to have the Default be a File that the User might actually want to open. Having the Default as the currently open file, benefits the user 0% of the time. I recommended the last open file, because there is likely a very high percentage that it would be beneficial to the end user.

@gerane can you give me an example of an editor that behaves the way you describe? Ctrl+P is mainly meant to start a search so I think for most users it does not matter what file you opened previously. For that usecase we have Ctrl+Tab.

Sublime Test and Atom both have this behavior, which I would say are the closest editors to Code.
Ctrl+P is a quick search, but often times, the thing I am searching for might be the first or second selection. It would be beneficial for users if the default selection was something they might actually want to open, instead of the most convenient selection being something selected 0% of the time.

Ok I see it now, i was not pinning the editors. I am not sure it is a good idea to remove the current editor from the list because someone might expect it to be there. We might need a setting for this to not break other users. So far noone complained about this, so it is not something very obvious to change it seems.

+1
I don't see any reasons on setting the current file as a first choice.

Btw in Sublime Text when I do Cmd+P I see no file selected by default so I still have to arrow down to go to the previous file. In that regard I argue that ST and Code are identical: You need one arrow down to pick the previous file to open. The difference is that Code makes it explicit in what file you are currently in (by selecting it).

nope.
in sublime text, even if no files are selected, you can press enter and the last file opened will be chosen.

Wow, very intuitive...

This is also how buffer switching ("ctrl+x b") behaves in emacs

I use CTRL+E/P to switch between editors often, and while using CTRL+TAB is the exact action I'm usually performing (open last editor), I agree that it makes it very weird to have the current open file be the default selection. In what context would that ever be helpful?
Personally I can see having the current editor/context as the second item (honestly I don't see a reason to have it listed at all in that dropdown, but that's a regression). IntelliJ, and all variants by default, highlights the last open file when using the CTRL+E hotkey, as an example.

JetBrains behaves the same: selects the previous file by default.

Actually there’s some code in quickOpenController.ts that supposed to do that but it’s not executed. If I comment these lines it works as expected (second file is selected):
             let autoFocus: IAutoFocus;
-             if (!quickNavigateConfiguration) {
-                 autoFocus = { autoFocusFirstEntry: true };
-             } else {
+             // if (!quickNavigateConfiguration) {
+             //  autoFocus = { autoFocusFirstEntry: true };
+             // } else {
                 const visibleEditorCount = this.editorService.getVisibleEditors().length;
                 autoFocus = { autoFocusFirstEntry: visibleEditorCount === 0, autoFocusSecondEntry: visibleEditorCount !== 0 };
-             }
+             // }

+1 for this. It's driving me nuts

+1, very confusing coming from Sublime / Atom / JetBrains. This adds an extra key stroke, or forces you to use ctrl+tab, which doesn't see tabs that were opened in preview mode.

The main reason why we do not select the second entry by default is because you can:

hit Cmd+P
leave the Cmd key pressed
hit P again
release all

and it will open the second file. I think that is a nice way of quickly selecting something without leaving the keys you are already using.
Nevertheless we could introduce a new command that people can use that would simply select the second entry by default.

+1, I'm just trying out VS Code for the first time (coming from Sublime) and this is one of the first things I googled hoping there was an option for it.

Hello, I tried to address this issue and created a pull request. Could anyone have a look?

+1

FWIW, I don't think a new command should be added that would select the second item by default.
But it is good to know that Cmd+P,P can come close to replicating the 'sublime/atom' behavior.
But even if you can progress down the list of open editors by continuing to hit P (while Cmd pressed), I still don't understand any use case for starting with the currently open editor.
The command for "Go To Current File" should be <do nothing>, <wait>, <be happy>
:)

You can assign workbench.action.quickOpenPreviousEditor for this purpose now. We also make sure that this gets into our Sublime and Atom keymap extension.


error «Repository does not have "hooks.redmine_gitolite.key" set» (everything else works)

Hi, I get this strange message when pushing repository to gitolite:

Repository does not have "hooks.redmine_gitolite.key" set. Skipping hook.

And redmine does not pull. However, everything seems to work
what works:
redmine can sudo as gitolite and gitolite can sudo as redmine
gitolite@myhost ~$ sudo -iu redmine "whoami"
redmine

redmine@myhost ~$ sudo -iu gitolite "whoami"
gitolite

redmine@myhost ~$ sudo -iu gitolite "sudo -iu redmine 'whoami'"
redmine

redmine can write on gitolite repository (and does it)
redmine@myhost ~$ ssh gitolite@myhost info
hello redmine, this is gitolite 2.3-1 (Debian) running on git <IP_ADDRESS>
the gitolite config gives you the following access:
     R   W 	gitolite-admin

WEB Interface said me:
on "Config Test" tab at https://myhost/redmine/settings/plugin/redmine_git_myhosting

Required Permissions
Git user is able to sudo to Redmine user? True
Redmine user is able to sudo to Git user?
User push modifications
An user created in redmine can push modification to Gitolite
What does'not works
If I pushed gitolite-admin (by example), I get that:

remote: Repository does not have "hooks.redmine_gitolite.key" set. Skipping hook.

And redmine does not pull.
If I create a repo and assign an user, the user can push to gitolite, but I get that :

remote: Repository does not have "hooks.redmine_gitolite.key" set. Skipping hook.

And redmine does not pull and said me "Repository is empty. Get started by following the instructions below."
If i do that:
gitolite@myhost:~ $ ~/.gitolite/hooks/common/post-receive

I get that.

Repository does not have "hooks.redmine_gitolite.key" set. Skipping hook.

Is this a bug, or what I could forget?
Thanks for all you've done!

We recently updated to the latest version of this plugin. We had issues surrounding the renaming of all the keys for users, the application was keeping both the old format 'without redmine@' in the name. After deleting all the old keys and letting them regenerate, this was fixed.  Now we are experiencing the issue referred to in this article, however only on new repositories (new being since the updated plugin) we can push and pull successfully to all new repositories as well.  This message (Repository does not have "hooks.redmine_gitolite.key" set. Skipping hook) gets thrown up on screen upon pushing to a repository.


Add 'magic comments' to .tex output

Users using e.g. TeXworks to typeset their manuscript with the tex version would probably enjoy it if the .tex version contained the magic comments
% !TeX program = xelatex
% !BIB program = biber

at the beginning of the .tex file.

Done with https://github.com/the-au-forml-lab/au_ccs_dissertation_template/commit/608f8ec4c312e56df8376c988d14dd7b83ae3acb


Fix showarray

The showarray method errors when k == half_screen_rows due to missing definition of sep, which is now sep = "\n\t".

Thanks


ocamlPackages.tls-eio: init at 1.0.4, and remove incorrect optimization from mdx

Add the missing variant ocamlPackages.tls-eio of the ocamlPackages.tls-* packages.
This requires the removal of an incorrect optimization from the mdx package, which is explained in the commit message:

The original purpose of this optimization was described by its author as follows:

Strip optional dependencies from logs to make the closure smaller as this
package contains a binary

However, that optimization is incorrect because it affects not only the command line tool (output "mdx.bin") but also the mdx library (output "mdx").
Pull request #290291 recognized this issue, but merely moved this optimization from development/ocaml-modules/mdx/default.nix to top-level/ocaml-packages.nix, so everyone affected can help themselves via attribute overriding.  As such, it didn't fix the original problem, i.e. that this optimization is simply incorrect.  Moreover, that doesn't help if we ever want an affected library, such as "tls-eio", to be officially included in nixpkgs.
This commit fixes the root of the problem by removing the incorrect optimization.
Please note that this commit is not intended to discourage the re-introduction of such an optimization.  However, a new variant of this optimization should only be included if it is correct, i.e. reduces just "mdx.bin" without making "mdx" incompatible with every package that directly or indirectly depends on the "logs" library.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@vbgl I followed your advise and force-pushed a variant that doesn't contain any controversial changes.

Instead of the (controversial) first commit, you can simply locally override the mdx library to use the version of logs of your liking.

While I still believe that we should somehow limit the effects of the overriding logs to mdx.bin, while binding the mdx library to the unmodified logs as that would simplify everything downstream, I have no idea how to do that, and I don't want that to block the inclusion of ocamlPackages.tls-eio.


Embedding Channel 9 video on this subject

Data Exposed is a series we run on Channel 9. In this PR I am adding an embedded video to our doc page that talks about this subject.

@jeroenterheerdt : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@stevestein: I'm sorry - only the author of this article, @rohitnayakmsft, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@stevestein thanks for the clarification @jeroenterheerdt  I shall sign off now

#sign-off


Update vpn-gateway-vnet-vnet-rm-ps.md

$Connection51 = "VNet5toVNet1" was missing from the PS example in section "Create the TestVNet5 to TestVNet1 connection"

#sign-off

@zvargams : Thanks for your contribution to the Azure documentation! The author, @cherylmc, has been notified to review your proposed change.


HTML

HTML
User Story
As a Boot Camp student
I want the prework notes to be structured on a webpage so that I can easily find and read information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the website in my browser
THEN I see four boxes title HTML, CSS, Git and JavaScript with associated notes listed

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."


add app management section

What does this PR do?
Add gitops App management section.
What does it look like?
Adds a new section with 5 new documents about app management
Any background context you can provide?
This is part of the effort to move gitops-template documentation to docs.
What is needed from the reviewers?
Check correctness, grammar, explanations and doc style.
Have you maintained the front matter?
I think so

Some docs already have removed the indentation but others no. I would avoid it since we don't do in rest of the docs site


update readme

changed some organization
added pull of dataset into dsx
removed some unused images

updated architecture diagram and accompanying flow text
moved original flow text up to section where we detail each of the notebooks

fixes #7

Changed all DSX Local references to Watson Studio Local.
Still TODO:

update screen shots
determine if DSXHI is still needed or has been replaced by another service
update architecture diagram

Reviewed all the above changes. The content looks great. I will merge the pull request and then later create a new branch to update the screenshots to reflect "IBM Watson Studio".


Size of attachments ignored in Matroska Bit rate/Stream size calculations

In the absence of Matroska tags containing information about stream size etc. MediaInfo can come to really bad estimates regarding stream size/bit rate.
Here is an example: A file which contains an attachment which takes up most of the filesize (a bit less than 90%).
I know that MediaInfo's numbers won't ever be reliable in 100% of all cases, but given that it already parses the attachment element and reports about it, it might be smart enough to take the attachment size in account when estimating bit rate and stream size.

it is a corner case, but true that it is easy to substract attachments file size.

+1. For the mkv files generated by qctools (thumbnails + attachment of gzipped xml), the attachment is ~20% of the space, so the stream sizes are quite off.


New issue

404 HTTP GET Bug

[ ] Need to fix "GET /static/homes/site.css HTTP/1.1" 404 179 in #1

To Do

[ ] fix #2


Cleanup for non-Windows platfoms and non-MSVC compilers

Fix case-sensitive include-path: Unlike Windows, some platforms are case-sensitive. So the include path must be written properly
Fix use of the inline keyword: The inline keyword has a different meaning in different versions of C. I turned the functions which are only in one compilation unit into static inline. The function which isn't accessible from elsewhere isn't inline anymore.

The code is untested, because there's many other issues in the codebase, and I don't have 32 bit compatibility to test XbSymbolDatabase at all (See issue 25 about x64 support).

Sorry about the case-sensitive include paths. Either I might had overlooked it when I was correcting some or my own manual type-in.
So, using inline XbSymbolLibrayToFlag didn't work? Only reason I had inline there is for optimization.

The inline keyword changed meaning in different versions of the C language and with extensions.
My understanding is that inline just means "don't export this symbol". So if it's inline, then you suddenly get "Undefined reference" errors in some dialects (I think I tried GNU in my case, with a default CMake project).
Using static inline does get rid of this linking-error, and is probably what the author intended.
The functions are meant to be static anyway, so it shouldn't change anything.
In the case of the function which is declared in the header, and visible outside the module, this wouldn't work (the function can't be static). I'm not sure how to use inline for those functions or if the language even supports it. You'd need LTO for that anyway. Hence I've removed the inline to get rid of the linking-error.
Also, it's worth nothing that regardless of these hint keywords, the function is likely to be inlined by the compiler on higher optimizations (which is also typically a condition for LTO to begin with).

My understanding is that inline often just means "don't export this symbol"

True, I trust you with this. Merging as is. 😉


Storage: Investigate making models IDisposable if they contain IDisposable properties

Especially BlobDownloadInfo and FileDownloadInfo who return Content streams that may prevent HTTP connections from being returned to the pool if not read or disposed.
//cc @mikeharder

@pakrym and I discussed this in the context of his recent work and think we should make the change.


Silence notifications

If a silence expires and the root cause that triggered the alert is not yet resolved, it can generate confusion when the alert starts firing. This can be particularly frustrating if an alert becomes unsilenced over a weekend or if the person that originally silenced the alert is on vacation.
I would find it useful if Alertmanager could send a notification when:
a) silences are created (e.g. so they show up in Slack/HipChat)
b) silences have just expired (which helps explain why the alerts start firing again)
You could take this one step further by sending 'silence reminders' to the silence author, for example on a Friday before the weekend if the silence would expire over the weekend.

I've seen features like this in the past, and they're pretty much pure spam.
Including in the notification if it's due to an expired silence is useful.

I like the idea of including details of an expired (or recently expired) silence in the alert notification.
What about this feature made it spammy? I can guess what you mean, but if you have any examples that'd be really helpful (particularly regarding reminding people about silences expiring over weekends).

What about this feature made it spammy? I can guess what you mean, but if you have any examples that'd be really helpful (particularly regarding reminding people about silences expiring over weekends).

It was often directed towards a mailing list, and it turns out between automation and general operator activity that there are many many silences created, deleted and expired in a week.
In addition, emailing me to tell me that I create or deleted a silence or that it's going to expire is useless - I already know that.
In my opinion such notifications should be treated in the same fashion as email notifications generally, and eliminated with extreme prejudice.

There is another request to address this situation in a different way, using badges instead of alerts.  https://github.com/prometheus/alertmanager/issues/1497
That provides the same information but avoids the "spam" message factor.

i would find having silence notifications useful. i've been drilling through the code to figure out whether there would be some webhook we could use, but couldn't find anything, and was actually surprised.
just like alerts, yes, this can be noisy, but we don't use silences lightly, and it's useful to communicate to teammates stuff like "okay, anarcat is on top of this one".
this feels especially important since we don't show notifications when alerts are resolved but silenced, see #226... because right now, if i look at a stream of notification, it can end with an alert marked as "firing" and never resolved, and i will never figure out why unless i actually know there was a silence posted.
at least not just from the notification stream. of course, i can just go look at active alerts and silences and figure it out...

I implemented a gadget to scan silences constantly, hope this helps
https://github.com/LeoQuote/silence-scanner

I implemented a gadget to scan silences constantly, hope this helps
can it be plugged back into alertmanager so that it sends specific alerts on regular basis ?

Not supported currently, but I think the silence and alertgroup have different data structure, it could be hard to transform them. You can try it if you like.

one thing that could help in implementing this on our own (without patching alertmanager to implement direct notifications) would be to log those silences and, lo and behold, there's been a PR open about this for .. herm... 3 years now:
https://github.com/prometheus/alertmanager/pull/2536
alternatively, i've been thinking we could just hijack the /silence POST endpoint and log (or relay) that at the webserver level somehow. not sure you can proxy to two backends simultaneously in nginx though...


PMML export enhancements and 3.8-3.6 compatibility of rule induction code

Categorical datafields with str type now includes the list of possible/legal values in the PMML file.
Fixed one test that was failing in python 3.8 in rule induction

More details in the individual commit messages.
Edit: It was 3.8 not 3.7

@vijay-arya could you please re-run the actions? I think it failed due to a reason unrelated to my changes, and I don't have the permission to run it.

Done @kmyusk


[Feedback Needed] Show Pie charts and tables instead of badges for span counts

in #3180, we had a discussion about how to display span counts.
At that time I created a chart with the following design, but we found some problems for usability.
rejected design:

So I created a new design with pie chart and table like the following:
new design:

What do you think about this? Please give me your feedback.
cc @adriancole @shakuzen

note: I still owe a change to make those numbers better (#3192).. we should be counting entry spans (local roots) not ad-hoc spans. That said, the UX wouldn't change

Thanks for the continued effort and design work here, @tacigar. Great stuff! In a lot of ways, I like this much more. I worry, though, if we don't make it clear that the pie chart is showing span count, users will think it is a representation of relative duration. Even if we tried to make it clear, I worry if users will still jump to that conclusion. Likewise, the table with the span count almost aligns with the duration column from the search results, which again might lead people to think it is a duration value. I wonder if we need both the pie chart and the table, since the names of the services are clearly visible on the pie chart. Depending on how important seeing the exact numbers are, maybe just a pie chart is enough?

I'll also note that in design cases we aren't using a trace with a large amount of service names. The earlier design (bucketing by first letter) could equally be done in pie form, as could bars without bucketing by service name. I think we are still in need of a representative trace that has a lot of service names in it. @mrajah-twttr would you be up to contributing a realistic trace with a larger amount of service names in it?

typically we have large number of spans and not large number of services.. how many services are you looking at

typically we have large number of spans and not large number of services.. how many services are you looking at

any trace with more than 20 service names would cause some design impact I think

i would not be able to give the trace without a bunch of manual scrubbing but i can try it out and post screenshot. stay tuned.

This looks pretty cool.

Couple of points.

Would be good to know the distinct service counts somewhere
When clicking on anyone color would help to hide the rest of the labels else its too cluttered sometimes (is it better to show names only for big pieces and show names for others only on hover?)
When selecting a particular service would help to highlight/scroll it on the right side table or move it to top.

It has been a long time since we cut a version and we need to..
We should decide soon if what's in master is ok, if this should be included, or if something should be reverted.
Those using the UI, do you have any concerns if master shipped as-is, or if this change as-is was merged?

For me master can ship as is, and we should not yet include this.

I'm going to pull down this code to check out the UI changes later this evening.  I don't want to hold up decisions to release or not but if folks want I wouldn't mind setting up a 15 minute demo internally at work and gathering some additional input to share here.

thanks for the offer @llinder!