test(firestore-translate-text): Implement tests for translate extension

This PR adds full tests for full code coverage for the firestore-translate-text extension.

Note: The local patch file & patch-package are to workaround https://github.com/firebase/firebase-functions-test/pull/49 - will remove once available in a release.

Notes:

This test works on master - PR mentioned in code comment makes the test fail, can fix in another PR or this one - didn't want to change much other than adding tests

several minor unreachable code paths refactored or removed (see specific commits)

@rafikhan / @laurenzlong - would you be able to connect Circle CI or Travis CI to this repo? I can then look at creating the CI config as part of this PR if you'd like. Coveralls would be good too 😅

@googlebot I consent.

We've updated to remove the local patch & patch-package now that a new version of firebase-functions-test is released with a fix.

Codecov Report

:exclamation: No coverage uploaded for pull request base (next@6cec5fd). Click here to learn what that means.
The diff coverage is 100%.

@@          Coverage Diff           @@
##             next     #67   +/-   ##
======================================
  Coverage        ?   47.4%
======================================
  Files           ?      11
  Lines           ?     424
  Branches        ?      65
======================================
  Hits            ?     201
  Misses          ?     223
  Partials        ?       0

Impacted Files
Coverage Δ

firestore-translate-text/functions/src/index.ts
100% <100%> (ø)


CASSANDRA-13265 Expire messages by a single Thread

When queue expiration is done, one single Thread is elected to do the
work. Previously, all Threads would go in and do the same work,
producing high lock contention. The Thread reading from the Queue could
even be starved by not be able to acquire the read lock. CASSANDRA-13265

Hi @christian-esken , CASSANDRA-13265 has been merged, do you mind closing this PR? (we can't close it for you)

Closing PR, as it has been merged in all relevant banches. See https://issues.apache.org/jira/browse/CASSANDRA-13265


WIFI-2148: Added auto value for hw_mode for configuration

Signed-off-by: Owen Anderson<EMAIL_ADDRESS>This PR adds the ability to set hw_mode to auto in Wifi_Radio_Config. The AP will then find the highest value of hw_mode that it can support (11n, 11ac, 11ax) and selects that instead. This could allow to have a single shared config file in the cloud for both WiFi5 and WiFi6 AP's.

Merged 3881ec63, thanks


Implement smoother infiniscroll

By keeping the position of the content fixed on the screen.
Fixes #9
@lizmat Please do test this PR prior to merging. I did not set up the App-Raku-Log server on my side, but just monkey-patched the respective functions in the browser for testing.

BTW, https://github.com/lizmat/App-Raku-Log/commit/8586ac13254b47913a0f4326a39e0e93bd42adde is live now.


[incubator/vault] Update owners

What this PR does / why we need it:
Adding myself to the OWNERS file as a maintainer.
Special notes for your reviewer:
My past PRs to the Vault chart:
https://github.com/helm/charts/pull/13371
https://github.com/helm/charts/pull/9462
https://github.com/helm/charts/pull/9429
https://github.com/helm/charts/pull/5974
https://github.com/helm/charts/pull/5694
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Title of the PR starts with chart name (e.g. [stable/chart])

Call for maintainers: https://github.com/helm/charts/issues/13869

/assign @unguiculus

/assign @paulczar

/assign @prydonius

/assign
/ok-to-test
/lgtm
thanks for stepping up and good luck!


no-op PR to rebuild img

https://github.com/open-cluster-management/backlog/issues/14496
Signed-off-by: Song Song Li<EMAIL_ADDRESS>

/lgtm
/approved


Filter out files with wildcards/extensions

Our test files are kept alongside the components and not in a separate folder. We have some other files as well (including env files) that we would like to filter out. Is there a flag that we can use to filter out certain files with wildcards/extensions?

Hi there, at the moment, a flag like this does not exist.
But as long as your test files have typical test extensions, such as ‘.spec.js’, they would be automatically filtered out. What extensions do your test files have?
What other files would you want to be excluded from the output zip?

Our test files use spec.tsx extension. These are not getting ignored in the zip.
Other files I would like to exclude are .local, . production extensions. And also some config files for cypress.

Ah yes '.spec.tsx' is currently not ignored. I will add them to the list of extensions to be excluded. I'm currently on PTO so likely won't be able to do this until early November. I will keep you posted.
Will also think of a way to exclude the other files.
Thanks for raising this issue!

Thanks for creating the Merge Request! 😊
Will create a new release soon for you that will include this change.
Regarding a new flag: Since this is not an official Veracode project (just something that I, as a Veracode employee, maintain) I don't see myself having time for any change that requires more time and proper testing in the near future. Would it work for you to create new MRs if you want more files and extensions to be excluded?
Note that in the future we aim to include this functionality in the Veracode CLI which means that it would be officially supported by Veracode (which would make changing things much easier)!


Daemon should support JMX authentication

Summary
Currently, the daemon is not capable of authenticating with the application JMX process.  For security purposes, some users will want JMX to require authentication.  In this mode, the daemon will need to be able to authenticate.
Desired Behavior
Daemon has the ability to authenticate JMX to the running target application.  Users who do not want or need this extra level of authentication can disable it, and the daemon should support this as well.
Possible Solution
Some consideration will have to be given on how authentication secrets are handled by the daemon.  Are environment variables good enough here?
Additional context
Securing the JMX port with authentication will be very important to some customers.

This issue has come up in a couple of customer conversations.

@kraig-schroth-jamf thank you for the feedback - unfortunately, we will not be able to devote engineering time to this enhancement. Not selected for the agent roadmap.


[CORE] Add a function to return the application directory.

This PR adds GetApplicationDirectory as a function. It uses platform specific code to find the folder that the executable is running in. This is a good path to pass to ChangeDirectory so that you ensure you have a good starting working directory.
While this does call platform specific code, it does not include windows.h
This is a feature that GLFW should provide, but does not, so we need to provide to to users ourselves.

@JeffM2501 Thanks for addition!


Card doesn't load: Received invalid response from Home Assistant

Card 4.0.0-beta4, Frigate Integration 4.1.0 and Frigate 0.12.0-beta10 with HA 2023.3.5
Javascript errors shown in the web inspector (if applicable):
Received invalid response from Home Assistant for request. Check troubleshooting.
{
  "request": {
    "type": "config/entity_registry/list",
    "id": 92
  },
  "response": [
... // entities omitted due to privacy... do you need these?
      {
      "area_id": null,
      "config_entry_id": "e8387fceedabdbde1d6c46b210c28f80",
      "device_id": "d3f7922f40dbde89970c704bfb720bf4",
      "disabled_by": null,
      "entity_category": "diagnostic",
      "entity_id": "update.frigate_server",
      "has_entity_name": true,
      "hidden_by": null,
      "icon": null,
      "id": "5c0d193cc663093aad9acfc90aa745b1",
      "name": null,
      "options": {},
      "original_name": "Server",
      "platform": "frigate",
      "translation_key": null,
      "unique_id": "e8387fceedabdbde1d6c46b210c28f80:update:frigate_server"
    }
  ],
  "invalid_keys": [
    "311"
  ]
}

Any hints? Which key "311" does the error refer to?

Hmm. Have not seen this before. At first I thought it might be a change made on the HA side since you're running a newer HA instance than I've been testing with, but if I change to exactly HA 2023.3.5 with the stock release v4 card, I still cannot reproduce this. I do not know what "311" refers to. I can only assume there is something in your entity registry list that is (1) valid as per HA, but (2) invalid as to what the card expects.
In your HA config directory, take a look at /config/.storage/core.entity_registry file and see if you can find something with 311 in it? (Take care not to write or modify this file)

I'm trying to narrow the problem a bit down. With this version, it still works:
https://github.com/dermotduffy/frigate-hass-card/actions/runs/4332693383

That's the new v4.1.0 branch that is significantly different from the currently released v4 branch. Have you tried the head of the v4.1.0 branch? Does that work?
PS: Don't suppose you use openweathermap? That's the only reference to 311 in the HA codebase I could find ;-)

Here is everything with 311 in my entity_registry:

Problem exists when using HEAD of 4.1.0

uninstalled the hass-card from HASS
used the artifact from https://github.com/dermotduffy/frigate-hass-card/actions/runs/4457645893
referenced it with /local/custom/frigate-hass-card-custom/frigate-hass-card.js?cache=9

-> the other versions should be up to date too (see first post)

Thanks, registry looks fine.
Are you getting anything interesting in your Javascript console?
So it seems like the issue is somewhere, on the v4.1.0 branch between #1741 and #1749. Maybe binary search a little and see  if you can narrow it down to a smaller range? Be very sure to clear your cache after changing JS as the browser may aggressively cache otherwise.

I guess I found the commit:
https://github.com/dermotduffy/frigate-hass-card/actions/runs/4332809782

Weird. That should strictly result in fewer calls to HA, rather than more calls.

Can you hold down your Frigate menu button (in the card) and paste the diagnostics you see.
Can you confirm what if anything you see in the Javascript console.

Javascript console: I think there is the same info, as in the card error itself + an error about media_player.radio not found. I removed the media_player entity, but the error is still the same.

About diagnostics: I don't get a diagnostics window in the errourness version.
I just reverted to https://github.com/dermotduffy/frigate-hass-card/actions/runs/4332693383
and it works again. Here I get diagnostics:
Card diagnostics. Please review for confidential information prior to sharing
{
  "ha_version": "2023.3.5",
  "card_version": "4.0.0",
  "browser": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36",
  "date": "2023-03-19T16:08:51.272Z",
  "frigate_version": {
    "b432101987bd7fbaa1198c9e722a7c26": "4.0.0-beta4/0.12.0-e454daf"
  },
  "lang": "en",
  "timezone": "Europe/Zurich",
  "git": {
    "build_version": "4.0.0-HEAD+g8333464",
    "build_date": "Sat, 04 Mar 2023 20:22:45 GMT",
    "commit_date": "Sat, 4 Mar 2023 12:21:16 -0800"
  },
  "config": {
    "type": "custom:frigate-card",
    "cameras": [
      {
        "camera_entity": "camera.camera_tuer",
        "live_provider": "go2rtc",
        "webrtc_card": {
          "url": "rtsp://<IP_ADDRESS>:8554/camera_tuer"
        }
      },
      {
        "camera_entity": "camera.camera_carport",
        "live_provider": "go2rtc",
        "webrtc_card": {
          "url": "rtsp://<IP_ADDRESS>:8554/camera_carport"
        }
      }
    ]
  }
}

If I see this correctly, this commit has no build artifact: https://github.com/dermotduffy/frigate-hass-card/commit/9870446a9f2869d0370795162dfa7b247261fab2
-> so maybe the change in src/types.ts could be a problem?
or a caching issue?

I cleared browser cache and frontend-cache. Is there more?

Ah, I think the 311 is obvious in retrospect: can you show me the 311th entry in the response is? You can drill down in the response in the Javascript console, then paste in here what 311th entry is ...

As I don't know if its 0 based, 310 is also included:

By the way: I commented out the media_player in configuration.yaml and this error is gone. But the other error still occurs.

Here is the full error including all entities:
https://gist.github.com/neuhausf/dc1f9561b1e08672f75470a959932cf1

OK -- I think the issue is the unique_id field for the 311th entry is a number, and not a string as the card is expecting. It really should be a string as per the HA expectations:
https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/entity_registry.py#L119
... so this might be feedback to the developers of the "nuki" platform that they are using malformed unique_id in their entity. However, I think the card can also be more tolerant here.
As for the media_player.radio, can you clarify what that entity is? I think I probably also need to harden this logic, but want to know what entity type that is first.

Hm, the unique_id is from the Nuki integration. Any chance to change this?

As for the media_player:
It's from the frontier-silicon platform. I use it like this:
media_player:
  - platform: frontier_silicon
    host: <IP_ADDRESS>
    name: Radio

Hm, the unique_id is from the Nuki integration. Any chance to change this?

You could always shut down your HA instance, modify the entity registry file by hand, and change it to a string. That could very likely break that integration though, since it will be expecting a number. The real fix is (1) for the integration authors to not use a number, and (2) for the card to not care either way!
(2) will be an easy fix for me I suspect, so I wouldn't worry about it, and just give me a few days to get a fix together.
Thanks for the info on the media_player. I'll also fix that.

I tried to change the unique_id. Nuki still started, but added a duplicate entry with the wrong formatted ID again. I‘m gonna inform the maintainer.
So your fix is very welcome!
Thanks a lot for taking the time to track this down! Have a great week 😃

@neuhausf Try this build artifact and hopefully both of your issues are resolved: https://github.com/dermotduffy/frigate-hass-card/actions/runs/4462902003

You are correct: This build fixes both issues - no more errors in Chrome console.
Thank you very much for providing a fault-tolerant solution 😉 !
P.S.
The diagnostics menu seems to be broken in this build?

I do also have the same problem

@jahegu This issue is closed. Please open a new issue with debug information if you'd like assistance. Thanks!


chore: remove compose_bmm pass as it is not decomposed anymore

Description
remove compose_bmm pass as it is not decomposed anymore
Fixes https://github.com/pytorch/TensorRT/pull/1821
Type of change
Please delete options that are not relevant and/or add your own.

Bug fix (non-breaking change which fixes an issue)

Checklist:

[ ] My code follows the style guidelines of this project (You can use the linters)
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[ ] I have added tests to verify my fix or my feature
[ ] New and existing unit tests pass locally with my changes
[ ] I have added the relevant labels to my PR in so that relevant reviewers are notified

@frank-wei - should the code for compose_bmm be removed as well if the lowering pass is no longer used?


Input does not support arrow navigation

Pressing arrow key in Input will cause these characters to appear instead of moving cursor like expected.

On that note, popular shortcuts like ctrl-a, ctrl-e, alt-b, alt-e do not work as well. What has to be done to make this work? Is the underlying implementation available in console?

Yeah, console needs some work and then dialoguer.


Style/PreferredHashMethods did not find a has_key?

Expected behavior
Finding the has_key? method, and willing to replace it with key?
Actual behavior
Did not say anney thing about the has_key? method
Steps to reproduce the problem
I did not change anything to the default config of this cop.
Just run robocop, this is the code that got checked
  class Foo
      include ActionView::Helpers::TagHelper # content_tag
      include ActionView::Helpers::TextHelper # concat
      include ActionView::Helpers::FormOptionsHelper

      def initialize(form, value)
        @form = form
        @value = value
      end

      def method_missing(method, *args)
        value.fetch(method, '') || super
      end

      def respond_to_missing?(method_name, include_private = false)
        value.has_key?(method_name) or super
      end
  end

RuboCop version
$ rubocop -V
0.43.0 (using Parser <IP_ADDRESS>, running on ruby 2.3.1 x86_64-darwin14)

This works fine for me with the default config, I get the following offence:
x.rb:16:13: C: Style/PreferredHashMethods: Use Hash#key? instead of Hash#has_key?.
      value.has_key?(method_name) or super
            ^^^^^^^^

This seems fine for me on the v0.42.0 and v0.43.0 tags and on master. Try passing the --debug switch to see where your config is being inherited from.

be rubocop --debug app/dsls/widget_edit_form_creator/builder/base.rb

For /Users/dennisvandehoef/code/kp/cms: configuration from /Users/dennisvandehoef/code/kp/cms/.rubocop.yml
Inheriting configuration from /Users/dennisvandehoef/code/kp/cms/.rubocop_todo.yml
Default configuration from /Users/dennisvandehoef/.rvm/gems/ruby-2.3.1/gems/rubocop-0.43.0/config/default.yml
Inheriting configuration from /Users/dennisvandehoef/.rvm/gems/ruby-2.3.1/gems/rubocop-0.43.0/config/enabled.yml
Inheriting configuration from /Users/dennisvandehoef/.rvm/gems/ruby-2.3.1/gems/rubocop-0.43.0/config/disabled.yml
Inspecting 1 file
Scanning /Users/dennisvandehoef/code/kp/cms/app/dsls/widget_edit_form_creator/builder/base.rb
.

1 file inspected, no offenses detected
Finished in 0.686972149007488 seconds

.robocop_todo.yml
# Offense count: 2
# Configuration parameters: CountComments.
Metrics/ClassLength:
  Exclude:
  - app/models/experiment.rb

# This needs to be fixed before we can update tu Ruby 2.4
# https://github.com/bbatsov/rubocop/pull/3492
Lint/UnifiedInteger:
  Exclude:
  - lib/core_extensions/fixnum.rb
  - spec/lib/publisher/obfuscator_spec.rb

.rubocop.yml
# Longterm goal: Eliminate exemptions from this todo file
inherit_from: .rubocop_todo.yml

AllCops:
  TargetRubyVersion: 2.3
  Exclude:
    - db/**/*
    - config/**/*
    - bin/**/*
    - Rakefile
    - lib/generators/**/*
    - lib/tasks/spec.rake
    - playground/**/*
    - Gemfile

Documentation:
  Enabled: false
DotPosition:
  EnforcedStyle: 'leading'
AndOr:
  Enabled: false
Not:
  Enabled: false
SymbolProc:
  Enabled: false
ClassAndModuleChildren:
  Enabled: false
LineLength:
  Max: 79
Lint/UnneededDisable:
  Enabled: false
Style/AccessorMethodName:
  Exclude:
    - app/shortcodes/**/*
IfUnlessModifier:
  MaxLineLength: 79
Style/MultilineOperationIndentation:
  Enabled: false
Metrics/AbcSize:
  Max: 25
Metrics/ClassLength:
  Max: 150 # Don't increase!
Metrics/ModuleLength:
  Max: 120 # Don't increase!
Style/SpaceAroundOperators:
  AllowForAlignment:
    - '='
    - '=>'
    - '||='
    - '+='
Rails/TimeZone:
  Enabled: false
Rails/Date:
  Enabled: false
Style/FrozenStringLiteralComment:
  Enabled: false
Style/NumericPredicate:
  Enabled: false

# Enable in the > 0.43.0 version, it has to manny bugs now
Style/VariableNumber:
  Enabled: false


torch: passthru cudaCapabilities only when cudaSupport is true

Description of changes

Passthrough cudaCapabilities only when cudaSupport is true.
Additionally, move away from gpuTargetString to the more flexible cudaCapabilities, updating torchvision as necessary.
Remove the cudaSupport argument from torchvision because it must use whatever settings torch used.
Should fix #220586.
Should close #220377.
Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

cc @NixOS/cuda-maintainers

Can't run nixpkgs-review rn, but we need to in order to check other potential users of gpuTargetString. Otherwise lgtm

Can't run nixpkgs-review rn, but we need to in order to check other potential users of gpuTargetString. Otherwise lgtm

rg didn't show any users:
$ rg "gpuTargetString"
pkgs/development/python-modules/torch/default.nix
84:  # Create the gpuTargetString.
85:  gpuTargetString = strings.concatStringsSep ";" (
189:    export TORCH_CUDA_ARCH_LIST="${gpuTargetString}"
196:    export PYTORCH_ROCM_ARCH="${gpuTargetString}"

pkgs/development/libraries/science/math/magma/generic.nix
65:  gpuTargetString = strings.concatStringsSep "," (
106:assert (builtins.match "[^[:space:]]*" gpuTargetString) != null;
138:    "-DGPU_TARGET=${gpuTargetString}"

Result of nixpkgs-review pr 220609 --extra-nixpkgs-config '{ cudaCapabilities = [ "8.6" ]; }' run on x86_64-linux 1

Result of nixpkgs-review pr 220609 --extra-nixpkgs-config '{ cudaCapabilities = [ "8.6" ]; cudaSupport = true; }' run on x86_64-linux 1

LGTM. However, I kind of feel like we should be replacing torch.gpuTargetString with lib.warn "Use torch.cudaCapabilities instead" or something, because the attribute has been there for a while and people might use it out-tree as well

There's already a precedent for warnings in unused passthru:
❯ ag 'passthru.*lib.warn'
pkgs/stdenv/generic/default.nix
175:      passthru.tests = lib.warn "Use `stdenv.tests` instead. `passthru` is a `mkDerivation` detail." stdenv.tests;

Let's just add a warning that we'll drop the attribute in the next release

Result of nixpkgs-review pr 220609 run on x86_64-linux 1

ok just merged! we can make a TODO for https://github.com/NixOS/nixpkgs/pull/220609#issuecomment-1467460802 for the future
thanks @ConnorBaker and @SomeoneSerge !

ok just merged! we can make a TODO for #220609 (comment) for the future
thanks @ConnorBaker and @SomeoneSerge !

tracking in https://github.com/NixOS/nixpkgs/issues/221399

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/tweag-nix-dev-update-45/26397/1


How to use plugin without LSP

Hello, I am not using any LSP in my Neovim setup, so only wanted to use plugin for syntax highlight.
But when I install plugin - i see those kind of errors in every non KCL file.
Some screenshots

TOML

YAML

Python

I have fixed this issue now. You can configure the plugin according to the latest README. There are two main updates

Set filetype to not start the plugin on non-KCL files
If lsp is not installed locally, do not start lsp and only provide highlighting

@eshepelyuk I have fixed this issue now. You can configure the plugin according to the latest README. There are two main updates

Set filetype to not start the plugin on non-KCL files
If lsp is not installed locally, do not start lsp and only provide highlighting

Hello, but PR is not yet merged
https://github.com/kcl-lang/kcl.nvim/pull/8/files

@eshepelyuk I have fixed this issue now. You can configure the plugin according to the latest README. There are two main updates

Set filetype to not start the plugin on non-KCL files
If lsp is not installed locally, do not start lsp and only provide highlighting

Hello, but PR is not yet merged https://github.com/kcl-lang/kcl.nvim/pull/8/files

Done

Hello, looks liek working, thank you.


Doodle Jump

Describe the project you want to add with tech stack
The gameplay of Doodle Jump is straightforward and easy to understand. The Doodler automatically jumps upward, and players can control its left and right movements by tilting their device or using on-screen controls. The goal is to avoid various obstacles and enemies while ascending as high as possible.
Expected behavior
As players progress higher, the game becomes increasingly challenging. The platforms become narrower, enemies appear more frequently, and the speed of ascent increases, requiring quick reflexes and precise timing.
Screenshots (optional)

Additional context (optional )

Please assign me this issue under Gssoc'23.


[compiler][stream] iree-stream-schedule-execution produces an invalid partitioning with multiple devices

I ran into this input IR for the iree-stream-schedule-execution pass that results in an after-pass verification failure
error: partition set out of order; value captured declared as escaping below ...

Full error
/home/bpetkant/ws/iree/experiments/stream-partitioning-affinity-bug/iree-stream-schedule-execution-input.mlir:19:3: error: partition set out of order; value captured declared as escaping below: %63 = "stream.async.dispatch"(%6, %10, %43#1, %6, %10, %4, %13, %4, %4, %4) <{affinity = #hal.device.affinity<@__device_1>, entry_points = [@main$async_dispatch_16::@main$async_dispatch_16_elementwise_2x8_f32], operandSegmentSizes = array<i32: 2, 3, 1, 1, 1, 1, 1>, tied_operands = [-1 : index]}> : (index, index, !stream.resource<external>, index, index, index, index, index, index, index) -> !stream.resource<transient>
  util.func public @main$async(%arg0: !hal.buffer_view, %arg1: !hal.buffer_view, %arg2: !hal.buffer_view, %arg3: !hal.buffer_view, %arg4: !hal.fence, %arg5: !hal.fence) -> (!hal.buffer_view, !hal.buffer_view) attributes {inlining_policy = #util.inline.never, iree.abi.model = "coarse-fences", iree.abi.stub} {
  ^

Invocation of the iree-stream-schedule-execution pass
iree-opt \
  --pass-pipeline="builtin.module(util.func(iree-stream-schedule-execution))" \
  iree-stream-schedule-execution-input.mlir"

Compilation of the frontend input.
iree-compile \
    frontend-input.mlir \
    --iree-input-type=torch \
    --iree-hal-target-device=llvm-cpu[0] \
    --iree-hal-target-device=llvm-cpu[1] \
    -o output.vmfb

Here are the fronted input and the iree-stream-schedule-execution pass input.
The error appears on top of 643f7199058e12c5d32da5752b940f569a58c3c9.

I would like to debug this. I tried to create a smaller IR that exhibits the problem, but was unable so far. I will explore in more detail the partitioning algorithm.

PR  #18217 attempts to fix this.


Add option for myclipping.txt

Thank you for the plugin, but may I ask would it be possible to add an option for processing myclipping.txt from kindle instead of having to login the amazon account?

May I ask what is the use case that sees a user prefer to upload (?) their "My Clippings.txt" instead of logging with their Amazon login without the need for a physical Kindle to always be around?

Thank you for your quick reply.
Usually when i plugin my kindle to the computer side load new books, then i also copy myclipping.txt out. This help keep my highlights in my computer instead of having to log into amazon each time.
Because I use this process, I almost never connect my kindle to wifi, so myclipping.txt is not sync to Amazon database.

Got it. I had a read online to understand why many people gravitate to extracting their highlights through a physical connection to their Kindle. I think as you alluded to it, often people will use the Kindle to read material that is not on Amazon (e.g. side loaded books, articles, etc) and hence they won't be able to see any highlights on Amazon even if they logged in.
Makes so much sense. I will happily add this to the roadmap of the plugin. I'll leave this thread open and update you when I get this feature done.

Thank you so much!

I would love to see this feature added too! As it has been mentioned I use the Kindle to read content not available on Amazon. Nowadays I’m processing myclippings.txt with an awk script to make the md file for each book.

I should have it done by the end of the week. I already have a working prototype. Just need to make sure that I address some known edge cases in the workflow.

Yes, possibility to use myclippings would be great! Many countries doesn't have amazon ebook-store in their language, I for example prefer-side load my books through calibre rather  than sending them through email to amazon.

Wow! i just want to say that if you would add this functionality it would help me a lot because as many comments say not all of us use books directly from amazon on kindle. I was looking for a way to accomplish this all last week however several scripts i tried did not work correctly. I will keep an eye out for the next versions of your plugin.
Best regards.

Just implemented the requested feature of supporting upload of My Clippings.txt file as part of 0.1.0 release.

Thank you for implementing this feature!!!
Could you help guide me how to upload the Clipping.txt to Obsidian?

Thank you for implementing this feature!!!
Could you please help guide me how to upload the Clipping.txt to Obsidian?

nvm. i got it. click on the status bar.
Thank you!

Today I've processed my clippings file and it worked like a charm!
Thanks a lot!


AssertionError: AssertionFailed on augment_batches

Say I have a list of 10 images X and corresponding 10 masks y. I do the following:
b = ia.Batch(X, segmentation_maps=S)
g = g = seq.augment_batches([b])

next(g)

I get the following error:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-41-e734f8aca5ac> in <module>()
----> 1 next(g)

~/anaconda3/envs/linda/lib/python3.6/site-packages/imgaug/augmenters/meta.py in augment_batches(self, batches, hooks, background)
    266         for i, batch in enumerate(batches):
    267             if isinstance(batch, ia.Batch):
--> 268                 batch_copy = batch.deepcopy()
    269                 batch_copy.data = (i, batch_copy.data)
    270                 batches_normalized.append(batch_copy)

~/anaconda3/envs/linda/lib/python3.6/site-packages/imgaug/imgaug.py in deepcopy(self)
   6851             images=_copy_images(self.images_unaug),
   6852             heatmaps=_copy_augmentable_objects(self.heatmaps_unaug, HeatmapsOnImage),
-> 6853             segmentation_maps=_copy_augmentable_objects(self.segmentation_maps_unaug, SegmentationMapOnImage),
   6854             keypoints=_copy_augmentable_objects(self.keypoints_unaug, KeypointsOnImage),
   6855             bounding_boxes=_copy_augmentable_objects(self.bounding_boxes_unaug, BoundingBoxesOnImage),

~/anaconda3/envs/linda/lib/python3.6/site-packages/imgaug/imgaug.py in _copy_augmentable_objects(augmentables, clazz)
   6844             else:
   6845                 do_assert(is_iterable(augmentables))
-> 6846                 do_assert(all([isinstance(augmentable, clazz) for augmentable in augmentables]))
   6847                 augmentables_copy = [augmentable.deepcopy() for augmentable in augmentables]
   6848             return augmentables_copy

~/anaconda3/envs/linda/lib/python3.6/site-packages/imgaug/imgaug.py in do_assert(condition, message)
   1821     """
   1822     if not condition:
-> 1823         raise AssertionError(str(message))
   1824
   1825

AssertionError: Assertion failed.

Not sure what happens here, I think I followed everything I found in the documentation. X is a list of images of size 256x256x3,  and y is 256x256x1. Could be a bug. I will also dig a bit more through the code if I have time.

UPDATE: It seems the masks are not automatically cast to SegmentationMapOnImage. This means I have to do it manually prior to creating ia.Batch. Is this really necessary? I would find it very convenient to do it under the hood, after all we are explicetely defining them to be segmentation mapsas soon as we insert them in a parameter called segmentation_maps, right?

Yes, imgaug currently only allows images to be arrays and everything else has to be objects. Batch and augment_batches() are the only places where that could be changed. I guess the main reason so far to not do that was simply lack of time to implement it.
There is some minor risk though that people call the class/method via positional arguments, then mess up the order of these arguments and get completely wrong results that are hard to debug. Not sure how many people use positional arguments in such cases.

The latest version in master should now support this since PR #290, e.g. via
batch = ia.UnnormalizedBatch(images=<array>, segmentation_maps=<(N, H, W) array>)
batch_aug = seq.augment_batch(batch)

or
images_aug, segmaps_aug = seq.augment(images=<array>, segmentation_maps<(N, H, W) array>)


Please update repository with more detailed instructions for less-advanced users

I think you need some extended instructions, beyond what is needed to run the plugin-render, such as:
Where to load the pictures: local is www, and you should create a folder called floorplan and drop all the files there (from the render or the floorplan directory that is created)?

It's critical to better explain what do you do with the yaml file, or rather the entire floorplan output from the plugin, after it's done rendering. It should tell users to create a picture-element card in Home Assistant, to go to "Edit YAML" mode, and to cut and paste the plugin-generated floorplan.yaml contents into the picture elements yaml. Also, tell users where to put the render files (which directory) and if they need separate tools in HA (like File Editor) to do so. Right now, the plugin works, but just outputs images and yamls and it's very difficult for less advanced users to know what to do next.

Explain how to select the desired perspective for rendering. You have to set the SH3D 3d view to exactly how you want it, before activating the plugin.

Explain to users how to change the rendering settings for the plugin? You have to go to “Create photo…” in SH3D and change settings there. You don’t actually have to render anything or save anything, just make the changes there, and close the dialogue.

Explain better why “remove ceiling lights” should be selected? It doesn’t actually remove YOUR ceiling lights, just a global ceiling light for people who haven’t added lights to their floorplans.

Remind user to NOT MOVE the 3D view or make changes in SH3D while it’s rendering in the background! These will get captured by the plugin as it scripts the renders one by one. Hit the Start button and walk away.

This is well explained among the README file, specially in the FAQ section. What topic do you think is missing or you didn't understand clearly after reading all documentation?

Ah, I don't think the FAQ section was there when I last checked (a few weeks ago). I think it may have been updated per some feedback I left in the Home Assistant forums?  TY! This addresses most of my issues, please feel free to close!

Yeah, we have improved since then and I also took your opinion in HA Community thread regarding this plugin in consideration 😄

Thanks @ha-elguano for the suggestions and @guimatheus92 for updating the documentation!
I'm closing this issue for now and we can open a new one if anything else is needed.


test monitoring setup

Changes:

Update monitoring_client role
Update monitoring_server role
Add molecule scenarios for testing install_monitoring playbook

This has been tested by running the install_monitoring playbook with mirsg-linux as the monitoring server and ucl-test-xnat.cs.ucl.ac.uk as the client.

Apologies, @p-j-smith - I spotted a couple of other places where I hadn't updated to use the monitoring_host group.


Create common shader effects

[ ] Fill effect
[ ] Background blur effect
[ ] Emissive lit shader for bloom
[x] Translation based shaders

I think one of the issues with this is trying to figure out how to update all the material property blocks. A couple of things I can think of is:

By default all rendered elements should have a material property block. A small issue with this is that visually - it will be hard to see how UI shaders are applied in editor time until I figure that out

If there are only visual changes then the material property block can just be updated includes:

Translation/Rotation
Color Updates

Create custom material property params

The issue with this is that if you have multiple buffers and multiple systems to read the buffers and apply it a temporary material property that is only created and used in the OrthographicRenderFeature.

I'm leaning towards option 1 since I can deprecate systems to delete

Added a basic translation shader - need to try and mimic the default UI Shader and display the texture properly

Added stencil override support so that the new unlit shader looks similar to Unity's.

Vertical/Horizontal fill shaders added

Added support for radial fills :)

All fill options currently available. (Axis fill + 360 radial fill)


Feature add sde searchparameter

A lot of this is auto formatting.  The actual changes are pretty small.


NTR:  histone H3 containing nucleosome

NTR:  histone H3 containing nucleosome
A complex comprised of DNA wound around a multisubunit core and associated proteins containing the histone H3, which forms the primary packing unit of DNA into higher order structures.
is_a
GO:0000786   nucleosome
I  have  been meaning to request this for a while so that I can differentiate canonical histones from
GO:0043505    CENP-A containing nucleosome
PMID: 33155135

+[Term]
+id: GO:0140573
+name: histone H3-containing nucleosome
+namespace: molecular_function
+def: "A complex comprised of DNA wound around a multisubunit core and associated proteins containing the histone H3, which forms the primary packing unit of DNA into higher order structures." [PMID:33155135]
+synonym: "histone H3 containing nucleosome" EXACT []
+is_a: GO:0000786 ! nucleosome
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/20585 xsd:anyURI
+created_by: pg
+creation_date: 2021-01-04T16:22:43Z

+[Term]
+id: GO:0140573
+name: histone H3-containing nucleosome
+namespace: molecular_function
+def: "A complex comprised of DNA wound around a multisubunit core and associated proteins containing the histone H3, which forms the primary packing unit of DNA into higher order structures." [PMID:33155135]
+synonym: "histone H3 containing nucleosome" EXACT []
+is_a: GO:0000786 ! nucleosome
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/20585 xsd:anyURI
+created_by: pg
+creation_date: 2021-01-04T16:22:43Z


[App Insights/Operational Insights] Update config for Java, typescript, nodejs

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-java

Automation for azure-sdk-for-node

Can one of the admins verify this patch?

Automation for azure-sdk-for-go

This PR syncs up some tweaks/additions that I used for generating the typescript/node/java SDKs:
https://github.com/Azure/azure-sdk-for-java/pull/2113
https://github.com/Azure/azure-sdk-for-node/pull/3294
https://github.com/Azure/azure-sdk-for-java/pull/2314


enhanced typings

updated allowed values for css() params to match the clean() function

as usual, you're awesome :) thank you!

Thanks!


Update _content/mr from Lokalise

Im not sure what I am looking at here; but it looks like it needs a review?

@steesdale a translation into Marathi, not sure you can verify much here but you never stop to surprise me ;-)


Move function declaration out of for loop.

This is slightly more efficient and easier to read.

Looks like a straightforward cleanup -- thanks, @evykassirer.  Set to merge as soon as tests pass.

Actually, this looks to use idx in the function?

oopsie 🙈

👍


Fetching same aci twice failed with 1.25

Environment
rkt Version: 1.25.0
appc Version: 0.8.10
Go Version: go1.8
Go OS/Arch: linux/amd64
Features: -TPM +SDJOURNAL
--
Linux 4.10.13-1-ARCH x86_64
--
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
ID_LIKE=archlinux
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
--
systemd 232
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN

Fetching an aci already in the store fail :
# rkt image gc --grace-period=0s
...
# rkt   --debug --insecure-options=image,ondisk fetch --full aci.example.com/aci-common:5
image: searching for app image aci.example.com/aci-common
image: remote fetching from URL "https://aci.example.com/nexus/service/local/artifact/maven/redirect?r=releases&g=com.blablacar.aci.linux.amd64&a=aci-common&v=5&p=aci"
image: fetching image from https://aci.example.com/nexus/service/local/artifact/maven/redirect?r=releases&g=com.blablacar.aci.linux.amd64&a=aci-common&v=5&p=aci
Downloading ACI: [=============================================] 2.94 MB/2.94 MB
sha512-9c0f7a87c86171a89a075653d1bf03f5c4a8ec3de1c237d9e91c9146998bcbfb
# rkt   --debug --insecure-options=image,ondisk fetch --full aci.example.com/aci-common:5
image: searching for app image aci.example.com/aci-common
image: remote fetching from URL "https://aci.example.com/nexus/service/local/artifact/maven/redirect?r=releases&g=com.blablacar.aci.linux.amd64&a=aci-common&v=5&p=aci"
image: fetching image from https://aci.example.com/nexus/service/local/artifact/maven/redirect?r=releases&g=com.blablacar.aci.linux.amd64&a=aci-common&v=5&p=aci
fetch:
  └─error downloading ACI
    └─bad HTTP status code: 400
#

Working as expected on 1.24
# rkt   --debug --insecure-options=image,ondisk fetch --full aci.example.com/aci-common:5
image: searching for app image aci.example.com/aci-common
image: remote fetching from URL "https://aci.example.com/nexus/service/local/artifact/maven/redirect?r=releases&g=com.blablacar.aci.linux.amd64&a=aci-common&v=5&p=aci"
image: fetching image from https://aci.example.com/nexus/service/local/artifact/maven/redirect?r=releases&g=com.blablacar.aci.linux.amd64&a=aci-common&v=5&p=aci
sha512-9c0f7a87c86171a89a075653d1bf03f5c4a8ec3de1c237d9e91c9146998bcbfb

This is quite strange as I don't see any change in 1.25.0 which may result in this. The closest one is docker2aci bump, which shouldn't be involved in here as you are directly going for ACI download. Can you check on server side why the second run results in in a bad request response?


Expose startSpan in the public tracing API

Goal
Expose a new public method to create and start a span at the same time
Testing
Add all the tests at the right levels

Current dependencies on/for this PR:

master

PR #435   👈

This stack of pull requests is managed by Graphite.

I will add more docs to make this more clear 😅


Generate PInvokes txt files based on MSBuild property.

Fix #52.

I've defined this new property in AppVeyor so that we continue to get full build results there.

Perfect !!!


declaration type for typescript support

Added types file with declaration module for typescript support
Added the index.d.ts to packages files

Coverage remained the same at 89.979% when pulling 2d834c9a4b27188eece347c4002d94675515c711 on va2ron1:master into 721a4eebbde77040a1318e60aa9ef21229bbcf99 on vue-generators:master.

Any chance to get this merged?

@vue-generators Is there something blocking this from being merged?

I have problem with using this library because it has no typings, please merge it finally.


parametric/symbolic evaluation in quantum_info

A way to obtain Operators and evolve Statevectors in the qiskit.quantum_info module where some parameters are unknown. Example:
from qiskit.circuit import QuantumCircuit, ParameterVector
circ = QuantumCircuit(2)
theta = ParameterVector(name='θ', length=17)
circ.u3(theta[0], theta[1], theta[2], 0)
circ.u3(theta[3], theta[4], theta[5], 1)
circ.cx(0, 1)
circ.h(0)
circ.rz(theta[6], 1)
circ.h(1)
circ.rz(theta[7], 1)
circ.cx(0, 1)
circ.rz(theta[8], 0)
circ.h(0)
circ.rz(theta[9], 1)
circ.h(1)
circ.rz(theta[10], 1)
circ.cx(0, 1)
circ.u3(theta[11], theta[12], theta[13], 0)
circ.u3(theta[14], theta[15], theta[16], 1)
circ.draw('mpl', fold=500, scale=2)

This would be a 4x4 matrix whose parameters are mathematical expressions of θ.

Hi, I'd like to work on this if possible - would it be OK to use eg SymPy to perform symbolic calculation?

Great. Yeah I think Sympy is good but we should make it work with Qiskit’s parameterized circuits. So one would be able to do normal calculations like Operator(circuit), Statevector.evolve(circuit) but with parameters

On Jul 24, 2020, at 2:30 PM, a-kapila<EMAIL_ADDRESS>wrote:

Hi, I'd like to work on this if possible - would it be OK to use eg SymPy to perform symbolic calculation?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Cheers @ajavadia I'll update here once I've got something working

Hi @ajavadia ,@a-kapila  are you still working on it?
I took a look at this issue and i realized that now the code crashes after calling to_matrix() method of standard gates since the method expects the Parameters of the Gate to be binded. You can make this work but you will not be able to return a numpy array with complex entries. (the entries will be of dtype=object). The issue is that the Operator class strongly assumes that the _data field will be a numpy array with complex entries. So, i think it's better to make a new class rather than to mess a lot with the existing one. Any thoughts?

Hi @georgios-ts sorry, not working on it any more - found a workaround for what I needed so feel free to go for it yourself.

@georgios-ts @a-kapila sorry for the late response. this is still a good issue if you are interested to work on it. I was hoping we could make the Operator more flexible to consume unbound parameters (i.e. sympy values). But I haven't dug into much. @chriseclectic thoughts?

@ajavadia Yes, still interested. Though i think it's possible only after #4854 and #5192 merge, since they are necessary to express, for example, the entries of a rotation matrix with unbound parameters.

As @gerogios-ts says you can't just swap the numpy array for sympy as many things will break. I think it would be better to make a new parameterized operator class that matches the Operator API but can also be initialized from sympy array or parameterized quantum circuit and has extra methods for setting parameter values and converting to numeric operator.

One issue I would like to point out is whether it is if it is even worth doing something like this symbolically in the first place.
To take the circuit from the example and evaluating it symbolically in Mathematica, the U[0, 0] entry is:
1/4 E^(-(1/2)
    I (\[Theta][6] + \[Theta][7] + \[Theta][8] + \[Theta][
     9] + \[Theta][10])) (Cos[\[Theta][0]/
     2] (Cos[\[Theta][3]/
        2] (Cos[\[Theta][11]/
           2] ((1 + E^(I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) + E^(
               I (\[Theta][8] + \[Theta][9]))) Cos[\[Theta][14]/2] -
            E^(I (\[Theta][10] + \[Theta][16])) (1 + E^(
               I (\[Theta][7] + \[Theta][8])) - E^(
               I (\[Theta][7] + \[Theta][9])) - E^(
               I (\[Theta][8] + \[Theta][9]))) Sin[\[Theta][14]/2]) +
         E^(I \[Theta][13])
           Sin[\[Theta][11]/
           2] (E^(I \[Theta][10]) (-1 + E^(
               I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) - E^(
               I (\[Theta][8] + \[Theta][9]))) Cos[\[Theta][14]/2] -
            E^(I \[Theta][16]) (-1 + E^(
               I (\[Theta][7] + \[Theta][8])) - E^(
               I (\[Theta][7] + \[Theta][9])) + E^(
               I (\[Theta][8] + \[Theta][9]))) Sin[\[Theta][14]/2])) -
       E^(I (\[Theta][4] + \[Theta][6]))
        Sin[\[Theta][3]/
        2] (E^(I \[Theta][13])
           Sin[\[Theta][11]/
           2] (E^(I \[Theta][10]) (1 + E^(
               I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) + E^(
               I (\[Theta][8] + \[Theta][9]))) Cos[\[Theta][14]/2] -
            E^(I \[Theta][16]) (1 + E^(
               I (\[Theta][7] + \[Theta][8])) - E^(
               I (\[Theta][7] + \[Theta][9])) - E^(
               I (\[Theta][8] + \[Theta][9]))) Sin[\[Theta][14]/2]) +
         Cos[\[Theta][11]/
           2] ((-1 + E^(I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) - E^(
               I (\[Theta][8] + \[Theta][9]))) Cos[\[Theta][14]/2] -
            E^(I (\[Theta][10] + \[Theta][16])) (-1 + E^(
               I (\[Theta][7] + \[Theta][8])) - E^(
               I (\[Theta][7] + \[Theta][9])) + E^(
               I (\[Theta][8] + \[Theta][9]))) Sin[\[Theta][14]/
              2]))) +
   E^(I \[Theta][1])
     Sin[\[Theta][0]/
     2] (E^(I \[Theta][4])
        Sin[\[Theta][3]/
        2] (Cos[\[Theta][11]/
           2] (-(-1 + E^(I (\[Theta][7] + \[Theta][8])) - E^(
                I (\[Theta][7] + \[Theta][9])) + E^(
                I (\[Theta][8] + \[Theta][9]))) Cos[\[Theta][14]/2] +
            E^(I (\[Theta][10] + \[Theta][16])) (-1 + E^(
               I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) - E^(
               I (\[Theta][8] + \[Theta][9]))) Sin[\[Theta][14]/2]) -
         E^(I \[Theta][13])
           Sin[\[Theta][11]/
           2] (E^(I \[Theta][10]) (1 + E^(
               I (\[Theta][7] + \[Theta][8])) - E^(
               I (\[Theta][7] + \[Theta][9])) - E^(
               I (\[Theta][8] + \[Theta][9]))) Cos[\[Theta][14]/2] -
            E^(I \[Theta][16]) (1 + E^(
               I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) + E^(
               I (\[Theta][8] + \[Theta][9]))) Sin[\[Theta][14]/2])) +
       E^(I \[Theta][6])
        Cos[\[Theta][3]/
        2] (E^(I \[Theta][13])
           Sin[\[Theta][11]/
           2] (E^(I \[Theta][10]) (-1 + E^(
               I (\[Theta][7] + \[Theta][8])) - E^(
               I (\[Theta][7] + \[Theta][9])) + E^(
               I (\[Theta][8] + \[Theta][9]))) Cos[\[Theta][14]/2] -
            E^(I \[Theta][16]) (-1 + E^(
               I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) - E^(
               I (\[Theta][8] + \[Theta][9]))) Sin[\[Theta][14]/2]) -
         Cos[\[Theta][11]/
           2] ((-1 - E^(I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) + E^(
               I (\[Theta][8] + \[Theta][9]))) Cos[\[Theta][14]/2] +
            E^(I (\[Theta][10] + \[Theta][16])) (1 + E^(
               I (\[Theta][7] + \[Theta][8])) + E^(
               I (\[Theta][7] + \[Theta][9])) + E^(
               I (\[Theta][8] + \[Theta][9]))) Sin[\[Theta][14]/2]))))

@chriseclectic Good point. I think it's only valuable in circuits with a small number of qubits and parameters. For example, it's annoying when i have a 2q-circuit with a single unbound parameter and cannot inspect the unitary.

Update for Santa - QGoGP
:white_check_mark: Issue still valid! Statevector class and operators are not flexible enough to evolve parameterised operations. No PRs linked to this issue that have solved it completely as per OP's description. Issue is open to solve!
Will update comment/add more comments if cause is found/fixed!

Python version 3.9.7
qiskit-terra version: 0.19.1

If we implement this we might add a very big warning about the performance of this (and the nasty results). If a user starts looking at the unitary of some variational circuit for instance, this feature might create more frustration than it is useful 😅

Hmm interesting problems. Here is what I'm thinking about on how to do this programmatically.
def get_symb_express(base):
    class SymbolicGate(base):
        def __init__(self):
            pass

        def eval(self, symb):
            self.params = [symb]
            #import sympy as math
            return self.__array__()

        @property
        def params(self):
            """return instruction params."""
            return self._params

        #remove check to validate_params()
        @params.setter
        def params(self, parameters):
            self._params = parameters

    theta = sympy.Symbol("theta")
    return SymbolicGate().eval(theta)

get_symb_express(RXGate)

or something more direct
class foo():
    def __init__(self):
        self.params = [sympy.Symbol("theta")]
foo.__array__ = RXGate.__array__.__get__(foo())
foo.__array__()

Even if you are able to figure out the inheritance problem so that the parent classes of Gate decide to use the sympy library instead of math library for math.cos and math.sin functions (by doing something equivalent to math=sympy somewhere) , you still get problems for gates like RZGate, that cast params as float. I tried making a wrapper class on sympy.Symbol which overrides the float method to return itself, but python throws a type error and doesn't allow this.
Now a really ugly solution I'm thinking about is to use inspect.getsource() to grab the array definition from the parent class, but rewrite it so it removes calls to float and replaces math. with sympy.. I'm surprised there is no easier way to do this, but all the type-checking is making it tough. I'd very much like to be able to multiply operator matrices together without needing to instantiate gates with parameter values.

Ugly code but proof of concept:
from inspect import getsource
import re

class SymbolicGate():
    def __init__(self):
        pass

    def eval(self, base, symb):
        self.params = [symb]
        function_string =  getsource(base.__array__)
        function_string = function_string.replace("return", "self._temp=")
        function_string = function_string.replace("math", "sympy")
        function_string = function_string.replace(", dtype=dtype", "")
        function_string = function_string.replace("np.exp", "sympy.exp")
        function_formatted = ""
        for line in function_string.splitlines():
            if "def" in line:
                continue
            else:
                if "float" in line:
                    line = line.replace("float(", "")
                    line = line[:-1]
                #shift over from class indentation
                function_formatted += line[8:]
                function_formatted += "\n"

        #function_formatted = "import sympy\n" + function_formatted
        exec(function_formatted, {"sympy":sympy, "numpy":np, "self":self})
        return self._temp

theta = sympy.Symbol("theta")
print(SymbolicGate().eval(RXGate, theta))
print(SymbolicGate().eval(RZGate, theta))

Outputs:
[[cos(theta/2) -1.0Isin(theta/2)]
[-1.0Isin(theta/2) cos(theta/2)]]
[[exp(-0.5Itheta) 0]
[0 exp(0.5Itheta)]]

Another option might be that we do not allow the symbolic evaluation of circuits, but instead allow casting parameterized gates to a matrix. Then, the user would have to use SymPy directly to construct the parameterized unitary.

What about defining a specific "sub-library" for the symbolic representation of each quantum gate by using sympy? Do you think this would be a viable solution? What I mean is something like the following (limiting to the implementation of some basic single-qubit gates only):
from sympy import *
from sympy.matrices import Matrix

class SympyUGate:
    def __init__(self, t, p, l):
        self.t = t
        self.p = p
        self.l = l

    def eval(self):
        return Matrix([[cos(self.t/2), -exp(I*self.l) * sin(self.t/2)],
                       [exp(I*self.p) * sin(self.t/2), exp(I*(self.p+self.l)) * cos(self.t/2)]])

def id(): return SympyUGate(t=0, p=0, l=0).eval()
def x(): return SympyUGate(t=pi, p=0, l=pi).eval()
def y(): return SympyUGate(t=pi, p=pi/2, l=pi/2).eval()
def z(): return SympyUGate(t=0, p=0, l=pi).eval()
def h(): return SympyUGate(t=pi/2, p=0, l=pi).eval()
def rx(theta): return SympyUGate(t=theta, p=-pi/2, l=pi/2).eval()
def ry(theta): return SympyUGate(t=theta, p=0, l=0).eval()
def rz(phi): return SympyUGate(t=0, p=0, l=phi).eval()

symbolic_gates = {'id': id, 'x': x, 'y': y, 'z': z,
                  'h': h, 'rx': rx, 'ry': ry, 'rz': rz}

Then it would be possible to get the gate symbolic representation by implementing the method to_sympy() to the class qiskit.circuit.Gate:
from qiskit.circuit.library import *
from qiskit.circuit import Parameter

# add this method to the qiskit.circuit.Gate class
def to_sympy(self):
    return symbolic_gates[self.name](*(par.sympify() for par in self.params))

# example for RX rotation gate
theta = Parameter('θ')
rx = RXGate(theta)
rx.to_sympy()

$$
\begin{bmatrix}
\cos\left(\frac{\theta}{2}\right) & -i \sin\left(\frac{\theta}{2}\right)\
-i \sin\left(\frac{\theta}{2}\right) & \cos\left(\frac{\theta}{2}\right)
\end{bmatrix}
$$

Once this is done, in principle it would be possible to get the symbolic unitary matrix (or the final full statevector) representation out of any given parameterized quantum circuit.
A very raw but working implementation of this transformation (considering again single-qubit gates only) could be:
from qiskit.circuit.library import IGate
from sympy import KroneckerProduct

def get_sympy_operator(qc):
    num_layers = qc.depth()
    num_qubits = qc.num_qubits
    qc_layers = [[IGate() for q in range(num_qubits)]
                 for l in range(num_layers)]
    layer_index = [0] * num_qubits
    for gate in qc.data:
        i = gate.qubits[0]._index
        qc_layers[layer_index[i]][i] = gate.operation
        layer_index[i] += 1
    qc_layers = [[qc_layers[l][-q].to_sympy() for q in range(1, num_qubits+1)]
                 for l in range(num_layers)]
    sympy_operator = KroneckerProduct(*qc_layers[0])
    for j in range(1, num_layers):
        sympy_operator = KroneckerProduct(*qc_layers[j]) * sympy_operator
    return sympy_operator.doit()

Proof-of-concept example:
from qiskit.circuit import QuantumCircuit, Parameter

theta = Parameter('θ')
qc = QuantumCircuit(2)
qc.x(0)
qc.h(1)
qc.rx(theta, 0)

qc.draw('mpl')

get_sympy_operator(qc)

@ajavadia Any comment or suggestion about this? If this approach makes some sense, I would be glad to start working on this

@ajavadia @jakelishman: any comment or suggestion about this? If this approach makes some sense, I would be glad to start working on this

I'm very hesitant to add any further symbolic capabilities to Terra - even the quantum_info base probably wouldn't have hurt if it were managed as a separate package that's a dependency of Terra rather than inside it.  Terra now is most properly the owner of various API interfaces, and of circuit descriptions, manipulations and compilation, and quantum_info is kind of a part we'd rather somebody else could manage.
The way you're describing here sounds like it would be quite separate even to quantum_info.  That does sound like the most sensible way to implement something like this.  That also means, though, that it doesn't necessarily need to be in Terra - you could work on packaging it up yourself using Terra as a dependency, and consider submitting it to the Qiskit Ecosystem.  If it does become something that we think is good to merge into Terra, it's easier to go from a separate package into Terra than it is to deal with code that's merged to Terra when we don't have the manpower to maintain it.

Thank you for the suggestion... I started to work on that as a separate package: SimoneGasperini/qiskit-symbolic including qiskit-terra as a dependency. If anyone wants to help, please feel free to leave some suggestions here or open a new issue/pull request on the repo itself.

Thanks Simone - if you're interested in submitting it to the ecosystem I linked above, please feel free to do so, and one of the team there will help you out with the process.
I'll close this issue for now, because we don't really have a clear vision on whether the team as a whole wants to accept / maintain a PR to this effect in Terra.  We may re-open it in the future, but for now I think it's misleading people into thinking we're more willing to accept this than we actually are.


Update assessment header

Description:
This PR updates the assessment headers to match the styling and functionality to match the current Figma design. Relevant Trello ticket.
Screenshots:

Before

After

How to test:
Navigate to assessment, then navigate through the assessment flow. You will need to select different options to trigger the various warnings and prompts.

This looks like a duplicate of another commit, closing.


Authorization problems when using multiSig Contract

I fellow the example creating a multiSig account
function createAccount(){
    userProvidedKey = '5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 //EOSIO private key'
    eos.transaction(tr => {
        tr.newaccount({
            creator: 'eosio',
            name: 'jack23',
            owner: { threshold: 2,
                accounts: [ { permission: {actor:'bob',permission:'active'}, weight: 1 },{ permission: {actor:'alice',permission:'active'}, weight: 1 } ],
                waits: []},
            active: { threshold: 2,
                accounts: [ { permission: {actor:'bob',permission:'active'}, weight: 1 },{ permission: {actor:'alice',permission:'active'}, weight: 1 } ],
                waits: []},
        })

        tr.buyrambytes({
            payer: 'eosio',
            receiver: 'jack23',
            bytes: 8192
        })

        tr.delegatebw({
            from: 'eosio',
            receiver: 'jack23',
            stake_net_quantity: '10.0000 SYS',
            stake_cpu_quantity: '10.0000 SYS',
            transfer: 0
        })
    })
}

then I want to transfer some EOS to bob
(async function() {

    //bob put a propose
    userProvidedKey = '5JFsGvwD63dc8G2bzV7xmspHeRH1VbJpn2mmzUhd3UUi6RHNYVM'
    const transfer = await eos.transfer('jack23', 'bob', '1.0000 EOS', '', {broadcast: false, sign: false})
    transfer.transaction.transaction.max_net_usage_words = 0 //
    //console.log(transfer.transaction.transaction)

    msig = await eos.contract('eosio.msig')
    const randomName = String(Math.round(Math.random() * 100000)).replace(/[0,6-9]/g, '')
    const propose = await msig.propose('bob', 'jack2.' + randomName, [{actor: 'alice', permission: 'active'},{actor: 'bob', permission: 'active'}], transfer.transaction.transaction)
    //console.info(propose)

    //bob confirm the propose
    userProvidedKey = '5JFsGvwD63dc8G2bzV7xmspHeRH1VbJpn2mmzUhd3UUi6RHNYVM'
    const confirm1 = await msig.approve('bob','jack2.' + randomName,{actor: 'bob', permission: 'active'})

    //alice confirm the propose
    userProvidedKey = '5JvJVQwFSYRbVncoKi3HwbN85vW3x3dmm9TkVpXALJgJCUXLFia'
    eos = Eos({httpEndpoint,chainid,keyProvider: '5JvJVQwFSYRbVncoKi3HwbN85vW3x3dmm9TkVpXALJgJCUXLFia' })
    msig = await eos.contract('eosio.msig')
    const confirm2 = await msig.approve('bob','jack2.' + randomName,{actor: 'alice', permission: 'active'})

    //bob exec the propose
    userProvidedKey = '5JFsGvwD63dc8G2bzV7xmspHeRH1VbJpn2mmzUhd3UUi6RHNYVM'
    msig = await eos.contract('eosio.msig')
    const exec = await msig.exec('bob','jack2.' + randomName,'bob')

    })()

but I got this when Alice confirm the propose

2018-08-24T12:29:22.341 thread-0   http_plugin.cpp:475           handle_exception     ] FC Exception encountered while processing chain.push_transaction
2018-08-24T12:29:22.341 thread-0   http_plugin.cpp:476           handle_exception     ] Exception Details: 3090003 unsatisfied_authorization: Provided keys, permissions, and delays do not satisfy declared authorizations
transaction declares authority '{"actor":"bob","permission":"active"}', but does not have signatures for it under a provided delay of 0 ms, provided permissions [], and provided keys ["EOS6pRHvA2AsnV6YFuSKiqYM1opbT6pNWzQYrQRuRxF2e8xqwLxg6"]
    {"auth":{"actor":"bob","permission":"active"},"provided_delay":0,"provided_permissions":[],"provided_keys":["EOS6pRHvA2AsnV6YFuSKiqYM1opbT6pNWzQYrQRuRxF2e8xqwLxg6"],"delay_max_limit_ms":3888000000}
    thread-0  authorization_manager.cpp:411 check_authorization

Do alice need bob's key to confirm , or there is  some kind of cacahe in the Contract ?
I find that command line works cleos multisig approve bob jack2.42 '{"actor":"alice","permission":"active"}' -p alice@active
Please help me..

Try two permission levels (the first is for the smart contract, the last one is for eosjs).  Eosjs tries the first account name as the permission level but in this case it is not correct, bob is not the permission you need so just override it.
    const confirm2 = await msig.approve('bob','jack2.' + randomName,{actor: 'alice', permission: 'active'}, {actor: 'alice', permission: 'active'})

@jcalfee Thanks very much ,you solved my problem.
     const confirm2 = await msig.approve('bob','jack2.' + randomName,{actor: 'alice', permission: 'active'}, {authorization: 'alice@active'})


Introduce Source interface with Image implementation

This PR introduces a new Source interface that defines a method that various source types can implement to abstract fetching bundle content.
type Source interface {
	SourceContent(context.Context, *rukpakv1alpha1.Bundle) (*Result, error)
}

The design is a light abstraction around the current async process. It defines a Result type, which contains a state field that can carry Pending|Unpacking|Unpacked states.  One benefit of this approach is that an implementation could also just synchronously fetch the content and immediately return the Result with the Unpacked state and the bundle content.
The provisioner can populate the bundle status and make decisions about re-reconciling and/or returning an error based on the returned Result and error values.
Lastly this PR changes the bundle.status.digest field to a bundle.status.resolvedSource, which the source is able to populate via the Result type.
Closes #164
Signed-off-by: Joe Lanford<EMAIL_ADDRESS>

/hold
I realized this still doesn't fully decouple the provisioner from the source implementation. The provisioner sets up watches for pods owned by Bundles, but that detail should be the responsibility of the source not the provisioner.
I think I need to iterate on the Source and Sourcer types a bit more.

Updated to rebase onto main and pick up (and move) the new git source to a new Source implementation

/hold cancel


building fails due to missing libcleri header files (please update documentation)

While trying to build siridb-server, my build fails due to missing libcleri header files:
/usr/bin/make --directory=Release
make[2]: Entering directory '/<<PKGBUILDDIR>>/Release'

<cut unrelevant part>

Building file: ../src/test/test.c
Invoking: GCC C Compiler
gcc -I../include -O3 -Wall -Wextra -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -fmessage-length=0 -MMD -MP -MF"src/test/test.d" -MT"src/test/test.o" -o "src/test/test.o" "../src/test/test.c"
../src/test/test.c:21:10: fatal error: cleri/cleri.h: No such file or directory
 #include <cleri/cleri.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
src/test/subdir.mk:18: recipe for target 'src/test/test.o' failed

I guess that since the split of libcleri, the build now also depends on "libcleri-dev". This should be documented in the README.md file.

In the current README.md we have a section 'Compile from source' where we note the requirement for libcleri.

From version 2.0.19 libcleri is not included as part of this source anymore and needs to be installed separately. libcleri can be found here: https://github.com/transceptor-technology/libcleri

Maybe we should instead include the installation steps for libcleri inside the README.md?

No, I just think you should remove the quotes, i.e. make the letters black. The gray letters fooled me. Also, I jumped straight at "Linux", but that may be me.

Ehm, yes, maybe some installation steps.


Cache all operational command texts.

Setting this to done. This will be available on the next release above (v1.2.0)


Research Azure Bot Deployment

I've made progress on our project's infrastructure and workflow setup on the deployment branch:

Architecture Design Update: I have revised our architecture design, which is now documented and can be viewed in the docs section. This update aims to streamline our system's structure and improve overall efficiency.

Deployment Workflow Setup: The deployment workflow has been established, ensuring a smoother transition and automation for our deployment processes.

Remaining Task:

Azure Resource Group Issue: There is an outstanding issue where we are unable to create a resource group under our current Azure subscription. This needs to be addressed to ensure our infrastructure is correctly set up in the cloud.

Action Requested:

Please review the updated architecture design in the documentation and the deployment workflow setup.
Any assistance or insights into resolving the Azure Resource Group creation issue would be appreciated.

Final change: Azure to AWS.
We chose AWS over Azure primarily due to the advantages offered by AWS's free tier. In terms of size and resources, AWS provided a more generous free tier allowance compared to Azure, which allowed us to experiment with a wider range of services without incurring costs. Additionally, AWS offered more data storage capacity within its free tier, which was essential for our needs. Furthermore, Azure's limitations on creating resource groups and other restrictions with student accounts posed obstacles to experimentation and learning process. AWS's support for creating resource groups, along with the flexibility to utilize services like Lambda functions and EC2 instances, made it the preferred choice for our projects and educational endeavors.


Using nvim-notify messes up bufferline/statusline colors

https://user-images.githubusercontent.com/71196912/144071794-6d7ac33a-7a0d-4bd0-b1d8-77822feea87e.mov
After running something that triggers nvim-notify (in this case :PackerCompile, I use ivim-notify for vim.notify), the colors for my status line and buffer line get messed up.

That's a very odd bug, are you able to verify in another UI or in a terminal? When the colours change, what's the value of the highlight groups of your bufferline/statusline once they change? You can check with :hi <group name> to see the colours. If the colours are correct then I'd imagine it's a UI bug

Sin título.mov
Después de ejecutar algo que activa nvim-notify (en este caso, uso ivim-notify para ), los colores de mi línea de estado y línea de búfer se estropean.:PackerCompile``vim.notify

This is not an answer, but since you added so that nvim-notify works for you with the notifications of the status bar, I am curious XD

@shaunsingh how u have that smoooth mouse cursor??

The Neovide GUI does the cursor effects

You can check with :hi  to see the colours. If the colours are correct then I'd imagine it's a UI bug
Oddly enough the colors remain correct. What I recently did was get the colors for my BufferLine from my color scheme rather than from a Lua table, then the issue resolved itself.


Every @SpringBootTest starts couchbase container?

It either starts container for all @SpringBootTest or for none? Is it possible to have some @SpringBootTest to have containers loaded and some not?
application.yml does not override bootstrap.properties, and only bootstrap.properties can disable the behavior.
The normal convention for prop loading for official Spring is that properties normally back-off , here it it s not the case.
so if bootstrap.properties has:
embedded.couchbase.enabled=true
and only this file exactly controls what happens, no test properties can override it?

@antonalechnovic I'm having the same problem at the moment.
embedded.mongodb.enabled=false in the application.properties for the tests doesn't do anything. I have to add that property to the @SpringBootTest annotation.
How did you solve your issue?

embedded.mongodb.enabled should go to bootstrap.properties

@vasilievip But then it's not possible to override it in a test-specific profile, isn't it?
For context: I'd like to use two different profiles, one for unit tests without using embedded containers and one for integration tests with embedded Redis and MongoDB containers.
For this, I'd have these two properties files:
./src/test/resources/application.properties
embedded.redis.enabled=false
embedded.mongodb.enabled=false

./src/test/resources/application-integration-test.properties
embedded.redis.enabled=true
embedded.mongodb.enabled=true

With those, I hoped I could add the following annotation to my integration tests to enable the embedded containers while they're disabled by default.
@ActiveProfiles("integration-test")

Unfortunately this doesn't work when I have a bootstrap.properties with the following content:
embedded.redis.enabled=false
embedded.mongodb.enabled=false

But at the same time, it doesn't seem possible to override embedded.*.enabled in normal properties files.
Maybe I'm doing something wrong?

try bootstrap-integration-test.properties

@vasilievip Yay, that worked. Thank you very much!
In hindsight, that's also very obvious. 🤦♂

if you use maven, then there is another option to split unit and integration tests - using failsafe plugin. You just need to add special markers into test class names:

https://maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html
https://github.com/vasilievip/testcontainers-component-test/blob/master/pom.xml#L158

Regular tests executed by surefire:

https://github.com/vasilievip/testcontainers-component-test/tree/master/src/test/java/com/example/demo

Integration tests executed by failsafe:

https://github.com/vasilievip/testcontainers-component-test/tree/master/src/test/java/com/example/component

The maven build phase for IT tests will be different and you can use different spring profiles and configuration files to configure tests (like you are trying to do now). The different build phases allows you to actually build docker image and test not only spring configuration but resulting image as well.


Use the correct AdESFont when displaying the visible PAdES signature

Hello, from the code it's reasonable to think that AdESFont should be used for displaying the visible PAdES signature, but instead, the font '1' is used. The '1' font caused display errors: on non-Windows-encoded PDFs, in Adobe Reader the visible signature would be displayed as a square. When the font is switched to AdESFont, the display errors were resolved.
Regards,
Aleksandar

I pushed it, including some changes I 'd made to help with pdf size.

Very nice!


Thread safe whitespace

Closes #49
Re-implement mkSpace using an IORef to a map of threads to their white space parsers.

Strange bug atm.
In examples/ExprLang.hs, if I run parseProg "return (1 + 2)", the parser succeeds.
However, even though the program parser is defined in terms of expr, running parseExpr "(1 + 2)" fails (a now customised message) with the message:
Exception: GigaParsec.Internal.Token.Space.getMapRef: entry in `RefMap` not initialised for thread: 54
Somehow, the whitespace parsers are not being initialised in expr, but they are in program.
Should note that program is defined in terms of fully, which uses the lexical description, so perhaps that forces the initialisation.
Whereas expr is a precedence table that doesn't make an explicit reference to a lexical description.

Yes, without an explicit initSpace (or whatever it is), you need fully.

Ahh right. Perhaps then we should make this explicit in the docs? (I don't think it is already)
Or is there a way to automatically ensure initSpace is called?

Can't ensure it, but the wiki docs would point this out, see here


Added documentation around time drift issue in docker causing integration test failures.

Coverage remained the same at 75.82% when pulling 7928c148600a87f1ffa800ba9677976ba164aa29 on feature/time_drift_docker into eb624932c99e31a9fe413b06b5369beae9a93a9d on develop.

:shipit:


Support Mocha 4.x?

Would be great to be able to use the latest version of Mocha with this.

I'm using Mocha 4.0.1 and everything is working fine.

Great! I guess its just the peer dependencies and docs that would need updated then?

see #179

released with 1.0.0


docs: Proposal for FederatedCatalog distribution

What this PR changes/adds
Decision Record for new proposal for FederatedCatalog distribution (with Tractus-X).

wrong repository

wrong repository. EDC doesn't provide distributions.

yeah, noticed just now the mistake, apologies


Heap corruption after wifi_prov_mgr_deinit (in esp_bt_mem_release) (IDFGH-13349)

Answers checklist.

[x] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.2.2
Espressif SoC revision.
Chip is ESP32-D0WD-V3 (revision v3.1)
Operating System used.
Linux
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32-WROOM-32D
Power Supply used.
USB
What is the expected behavior?
I expect bluetooth provisioning library to init and deinit correctly
What is the actual behavior?
I added support for BLE provisioning in the same manner as in wifi_prov_mgr
I suffered from heap corruption in wifi_prov_mgr_deinit.
Later I decided to open example project wifi_prov_mgr and it has the same problem.
Steps to reproduce.

Create new wifi_prov_mgr example project
Enable debug log verbocity
Enable Comprehensive heap poisoning
Enable BLE provisioning
Add wifi_prov_mgr_deinit after provisioning completed
modify esp-idf/components/bt/controller/esp32/bt.c to highlight the problem bt.c.txt . Look for CHECK_HEAP macro in the file
run and watch for logs

Debug Logs.
I (98424) app: wifi_prov_mgr_deinit
D (98424) wifi_prov_mgr: Provisioning not running
D (98434) wifi_prov_mgr: execute_event_cb : 6
D (98484) wifi_prov_mgr: check heap func wifi_prov_mgr_deinit line 1482
D (98534) wifi_prov_mgr: check heap func wifi_prov_mgr_deinit line 1482
D (98584) wifi_prov_mgr: check heap func wifi_prov_mgr_deinit line 1482
D (98634) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 213
D (98684) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 213
D (98734) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 213
D (98784) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 234
D (98834) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 234
D (98884) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 234
D (98884) BTDM_INIT: check heap func esp_bt_mem_release line 1452
D (98894) BTDM_INIT: Release BT BSS [0x3ffc771c] - [0x3ffc92a8], len 7052
D (98894) BTDM_INIT: check heap func esp_bt_mem_release line 1454
D (98904) BTDM_INIT: check heap func esp_bt_mem_release line 1459
D (98914) BTDM_INIT: esp_bt_mem_release_areas data start = 0x3ffc0d94, data end = 0x3ffc1f90, cont_data start = 0x3ffc1f90, cont_data end = 0x3ffc1fb0
D (98914) BTDM_INIT: Release BT Data [0x3ffc0d94] - [0x3ffc1fb0], len 4636
D (98924) BTDM_INIT: check heap func esp_bt_mem_release line 1463
D (98934) BTDM_INIT: check heap func esp_bt_mem_release line 1469
D (98944) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1335
D (98954) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1341
D (98964) BTDM_INIT: DEBUG problem address = 0x3ffc1eb0, value ptr 0x3ffc1eb0, value -16843010
D (98964) BTDM_INIT: DEBUG i=0 mode = 3, btdm_dram_available_region[i].mode = -16843010
D (98964) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1345
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
D (98994) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1341
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
D (99004) BTDM_INIT: DEBUG problem address = 0x3ffc1eb0, value ptr 0x3ffc1ebc, value -16843010
D (99004) BTDM_INIT: DEBUG i=1 mode = 3, btdm_dram_available_region[i].mode = -16843010
D (99014) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1345
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
D (99044) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1341
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
D (99064) BTDM_INIT: DEBUG problem address = 0x3ffc1eb0, value ptr 0x3ffc1ec8, value -16843010
D (99064) BTDM_INIT: DEBUG i=2 mode = 3, btdm_dram_available_region[i].mode = -16843010
D (99074) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1345
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
D (99114) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1341
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
D (99134) BTDM_INIT: DEBUG problem address = 0x3ffc1eb0, value ptr 0x3ffc1ed4, value -16843010
D (99134) BTDM_INIT: DEBUG i=3 mode = 3, btdm_dram_available_region[i].mode = -16843010
D (99144) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1345
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
D (99184) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1341
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
D (99224) BTDM_INIT: DEBUG problem address = 0x3ffc1eb0, value ptr 0x3ffc1ee0, value -16843010
D (99224) BTDM_INIT: DEBUG i=4 mode = 3, btdm_dram_available_region[i].mode = -16843010
D (99234) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1345
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
D (99284) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1341
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
D (99324) BTDM_INIT: DEBUG problem address = 0x3ffc1eb0, value ptr 0x3ffc1eec, value -16843010
D (99324) BTDM_INIT: DEBUG i=5 mode = 3, btdm_dram_available_region[i].mode = -16843010
D (99334) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1345
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
D (99384) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1341
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
D (99434) BTDM_INIT: DEBUG problem address = 0x3ffc1eb0, value ptr 0x3ffc1ef8, value -16843010
D (99434) BTDM_INIT: DEBUG i=6 mode = 3, btdm_dram_available_region[i].mode = -16843010
D (99444) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1345
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
D (99504) BTDM_INIT: check heap func esp_bt_controller_rom_mem_release line 1386
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
D (99564) BTDM_INIT: check heap func esp_bt_mem_release line 1471
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
I (99614) app: Hello World!
D (99664) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 236
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
D (99764) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 236
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
D (99864) wifi_prov_scheme_ble: check heap func wifi_prov_scheme_ble_event_cb_free_btdm line 236
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
I (99914) wifi_prov_scheme_ble: BTDM memory released
D (99964) wifi_prov_mgr: check heap func wifi_prov_mgr_deinit line 1486
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
D (100064) wifi_prov_mgr: check heap func wifi_prov_mgr_deinit line 1486
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
D (100164) wifi_prov_mgr: check heap func wifi_prov_mgr_deinit line 1486
CORRUPT HEAP: Invalid data at 0x3ffc1eb0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ebc. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ec8. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ed4. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ee0. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1eec. Expected 0xfefefefe got 0xfefefefc
CORRUPT HEAP: Invalid data at 0x3ffc1ef8. Expected 0xfefefefe got 0xfefefefc
D (100214) event: running post WIFI_PROV_EVENT:6 with handler 0x400d7f38 and context 0x3ffd2b40 on loop 0x3ffbd7ec

More Information.
It seems that there is bug in memory free
I see
D (98914) BTDM_INIT: Release BT Data [0x3ffc0d94] - [0x3ffc1fb0], len 4636
Then, after that we modify our global static struct btdm_dram_available_region in esp_bt_controller_rom_mem_release
it has address 0x3ffc1eb0 which was mapped for malloc recently
Then when we modify it, heap corruption appears.
Looking into map file I see "0x3ffc1f58 btdm_dram_available_region" right after "0x3ffc0e39 _bt_data_start"
               0x3ffc0e39                        _coredump_dram_start = ABSOLUTE (.)
 *(.dram2.coredump .dram2.coredump.*)
                0x3ffc0e39                        _coredump_dram_end = ABSOLUTE (.)
 *libapp_trace.a:app_trace.*(.rodata .rodata.* .sdata2 .sdata2.* .srodata .srodata.*)
 *libapp_trace.a:app_trace_util.*(.rodata .rodata.* .sdata2 .sdata2.* .srodata .srodata.*)
 *libapp_trace.a:port_uart.*(.rodata .rodata.* .sdata2 .sdata2.* .srodata .srodata.*)
                0x3ffc0e3c                        . = ALIGN (0x4)
 *fill*         0x3ffc0e39        0x3
                0x3ffc0e3c                        _bt_data_start = ABSOLUTE (.)
 *libbt.a:(.data .data.*)
 .data          0x3ffc0e3c     0x111c esp-idf/bt/libbt.a(hli_vectors.S.obj)
 .data.btdm_dram_available_region
                0x3ffc1f58       0x54 esp-idf/bt/libbt.a(bt.c.obj)
 .data.ble_svc_gap_name
                0x3ffc1fac       0x20 esp-idf/bt/libbt.a(ble_svc_gap.c.obj)
 .data.ble_hs_cfg
                0x3ffc1fcc       0x28 esp-idf/bt/libbt.a(ble_hs_cfg.c.obj)
                0x3ffc1fcc                ble_hs_cfg
 .data.ble_uuid_base
                0x3ffc1ff4       0x10 esp-idf/bt/libbt.a(ble_uuid.c.obj)
 .data.__compound_literal$6
                0x3ffc2004        0x4 esp-idf/bt/libbt.a(ble_gatts.c.obj)
 .data.__compound_literal$5

It seems like it was introduced recently in https://github.com/espressif/esp-idf/commit/1d9559cc9dfc2d329eab446f82aca67b72a4eafa

Hi @eug-ev thanks for reporting this issue. I am able to reproduce it and will provide you my feedback after further debugging.

Hi @eug-ev , as you have pointed out, there is a bug in esp_bt_mem_release function on ESP32.

Cause of the issue:

In function esp_bt_mem_release, it first releases the memory for Bluetooth controller, Bluetooth host and .data/.bss sections of global variables in bt.c, and then calls esp_bt_controller_rom_mem_release to release the memory reserved for Bluetooth ROM code.
However,  function esp_bt_controller_rom_mem_release  uses global struct btdm_dram_available_region, btdm_dram_available_region should be released in earlier steps. Thus invalid memory region is observed during comprehensive heap memory check.

Proposed solution

Adjust the memory release order. First releases memory reserved for ROM code, then releases code for other regions. I have made some changes on bt.c based on your debugging version. Please refer to
bt.c.txt

If you agree with the proposed solution, I will raise bugfix merge requests targeted on master branch and other release branches of esp-idf

Im actually not an owner and I would be glad for solution merge, thanks!

Thanks for the fix!
Another question - I saw that in some other bt.c files rom memory release is still after areas.
I don't have hardware to test, just pointing if it could cause the same issue

Hi @eug-ev Thanks for your reminder. For other chips like ESP32-C3, there is no such variable btdm_dram_available_region.  esp_bt_controller_rom_mem_release is safe to be executed after the other Bluetooth .bss/.data areas are released.
I am backporting the bugfix for this issue for other release branches, including release/v5.0, release/v5.1, release/v5.2, and release/v5.3. I will provide you information after all the backports are finished.


[BACKLOG-14634] Restoring CompletableFuture to API now that RSA has f…

…ixed compatability

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f pdi-engine/api/pom.xml clean install && mvn -B -f pdi-engine/api/pom.xml site

Cleanup Commands
mvn -B -f pdi-engine/api/pom.xml build-helper:remove-project-artifact

Changed files
  pdi-engine/api/src/main/java/org/pentaho/di/engine/api/remote/Execution.java
  pdi-engine/api/src/main/java/org/pentaho/di/engine/api/remote/ExecutionManager.java

License header violations

:heavy_exclamation_mark: Couldn't find acceptable copyright on pdi-engine/api/src/main/java/org/pentaho/di/engine/api/remote/Execution.java

:heavy_exclamation_mark: Couldn't find acceptable license on pdi-engine/api/src/main/java/org/pentaho/di/engine/api/remote/Execution.java

:heavy_exclamation_mark: Couldn't find acceptable copyright on pdi-engine/api/src/main/java/org/pentaho/di/engine/api/remote/ExecutionManager.java

:heavy_exclamation_mark: Couldn't find acceptable license on pdi-engine/api/src/main/java/org/pentaho/di/engine/api/remote/ExecutionManager.java

Use https://github.com/pentaho/pentaho-kettle/pull/3591 instead