Print reason for failure during assess run

Description of changes:
We should probably convert this into a table format, but I think having the information is worthwhile. For this PR, the output of scan for the scan regression script looks like:
Running assess scan test:
... (redacted)
Assessed 2 successfully, with 2 failures.
Failed to assess packages:
  - `compile_error`: Failed to execute cargo (exit status: 101). Found 3 compilation errors.
  - `manifest_error`: Failed to get cargo metadata.

============================================
 Unsupported feature |   Crates | Instances
                     | impacted |    of use
---------------------+----------+-----------
 caller_location     |        2 |         2
 try                 |        2 |         2
============================================
... (redacted)

Resolved issues:
Fixes #2165
Related RFC:

Optional #ISSUE-NUMBER.
Call-outs:
There wasn't any change to the output when there is no failure.
Testing:

How is this change tested?

Is this a refactor change?

Checklist

[ ] Each commit message has a non-empty body, explaining why the change was made
[ ] Methods or procedures are documented
[ ] Regression or unit tests are included, or existing tests cover the modified code
[ ] My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

Is it Ok if I add the path if we run with verbose on. What do you think? For the top 100 crates I'm worried this is going to get way too verbose.

FYI, this is how the top 100 looks like:
Assessed 77 successfully, with 23 failures.
Failed to assess packages:
  - `serde_derive`: No supported targets were found.
  - `tokio`: Failed to execute cargo (exit status: 101). Found 5 compilation errors.
  - `tokio-util`: Failed to execute cargo (exit status: 101). Found 4 compilation errors.
  - `base64`: Failed to compile `base64` due to an internal compiler error.
  - `hyper`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `unicode-bidi`: Failed to execute cargo (exit status: 101). Found 2 compilation errors.
  - `serde_json`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `pin-project-lite`: Failed to compile `compiletest` due to an internal compiler error.
  - `itertools`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `bitflags`: Failed to compile `bitflags` due to an internal compiler error.
  - `futures`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `futures-util`: Failed to execute cargo (exit status: 101). Found 6 compilation errors.
  - `syn`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `quote`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `crossbeam-epoch`: Failed to compile `crossbeam-epoch` due to an internal compiler error.
  - `smallvec`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `toml`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `http`: Failed to compile `http` due to an internal compiler error.
  - `tracing`: Failed to execute cargo (exit status: 101). Found 0 compilation errors.
  - `url`: Failed to execute cargo (exit status: 101). Found 2 compilation errors.
  - `idna`: Failed to execute cargo (exit status: 101). Found 2 compilation errors.
  - `thiserror-impl`: No supported targets were found.
  - `thiserror`: Failed to compile `test_source` due to an internal compiler error.

I need to figure out what is up with the 0 compilation errors. The ones that worry me the most though are the ICE ones.

Maybe I should try to sort the output by either the crate name of the error message. @tedinski what do you think?

Ah, the 0 compilation errors seem related with project configuration issues. E.g.:
error: There are multiple `quote` packages in your project, and the specification `quote` is ambiguous.
error: no test target named `subscriber`.

I'll create an issue to track those.

Would you prefer if I print it after the table about the tests or before?
I was initially printing the error information after the unsupported constructs table, but I thought it looked a bit odd since it was in between the two tables.

Oh, I didn't realize there were more tables after the first one. Then I'm OK with the PR as is.

Thanks, @celinval ! This is good information to have as well.
Also, what do you think about printing the failures after the table? IMO it would look cleaner.

That was my initial thought too, but I thought it looked a bit odd when we run the unit tests too

Oh, I didn't realize there were more tables after the first one. Then I'm OK with the PR as is.

Yeah, it depends whether we pass --only-codegen or not.

FYI, the output is now sorted by the name of the package.


Allow then(fulfillment, rejection) for no-floating-promises

Related to #2774

@vilic Is there a reason you're not using async/await instead?

@JoshuaKGoldberg usually the outermost entrance, like:
main().then(() => process.exit(), error => ...);

Fixed by #3048


chore: add numerous AVT tests

Contributes to #5066 #5069 #5070 & #5071
also makes small adjustment to formatter command and pre-commit

@annawen1 fixt


[Keyvault] Test to create a secret failing intermittently

The test can get a secret (Non Existing) in keyvault secrets is failing intermittently

cc @sadasant

I haven't been able to reproduce this. I'm trying though.

Closing this issue as we no longer see this failing


search as primary CTA JIRA ID CXPUI-4

OLD: Search bar was below the guided install tile
NEW:Moved the search bar into the header, below the ‘Our quickstarts bundle everything…’ text and also removed the Grid/List view button
Old view:

New view:

JIRA: https://newrelic.atlassian.net/browse/CXPUI-13
Description:Demo Feedback-Search box design to be changed
Steps to testins: verified search box  UI with different resolutions
Old view:

New View:

Closing and reopening to trigger a build now that they are available

Hey @sjyothi54! This looks good to merge, it just has a merge conflict from the last PR that went in. Could you resolve that conflict? Then we can get this in!

Hi @aswanson-nr , I have resolved conflicts and updated this branch with newrelic:main 👍


Implemented fix: Error with input parameter insertion when using msnodesqlv8 driver

Implemented solution suggested by Gravey92
https://github.com/patriksimek/node-mssql/issues/346

This corrected migration issues for me using knex.js

Thank you for the PR, I'm closing this because the PR is incompatible with v4 branch. Feel free to open a pull request in v4. Anyway, I would preffer to discuss what is really happening in the referenced issue. The fix doesn't make sense to me.


Fix: expand textarea height

This PR introduces a fix to make textarea elements expandable based on content/query height

Post-merge ACK - nice job @IgboPharaoh


feat: implement validation for native script definitions

depends on https://github.com/WopsS/RED4ext.SDK/pull/102
my c++ isn't very good, feel free to make commits here if you don't like something
the overview is:

red4ext now pulls redscript as a dependency (for a single C header)
redscript now ships with a scc_shared.dll file which can be used to interact with the compiler

if you want to test it, download the latest redscript artifact

red4ext ExecuteProcess has been updated to dynamically load this dll when it's present, use it to compile scripts and then finally retrieve information necessary to map all native definitions to source files (which we use later)
I've added a basic SourceRefRepository class for management of source references, it uses a string interner to store strings as an optimiation, because paths and class names are going to repeat a lot
I've added a new ValidateScripts hook, which invokes existing script validation that's already implemented in the game, parses the validation errors into a simple structure, and then finally converts that into a nice error message notifying the user about the problematic scripts

I've cleaned up the code and updated some things @WopsS.
The popup now looks like this:

It's meant to be readable for regular users. The logs contain detailed information with source file references and line numbers:
[2023-12-14 11:09:34.661] [RED4ext] [info] scc invoked successfully, 49 source refs were returned
[2023-12-14 11:09:34.905] [RED4ext] [error] Script validation error: Missing native function 'ChangeResource' in native class 'IComponent' at C:\Games\Cyberpunk 2077\r6\scripts\Test.reds:173
[2023-12-14 11:09:34.905] [RED4ext] [error] Script validation error: Missing native class 'Dupa' at C:\Games\Cyberpunk 2077\r6\scripts\Test.reds:168
[2023-12-14 11:09:34.905] [RED4ext] [error] Script validation error: Missing base class 'Dupa' of native class 'BraindanceDissolveComponent' at C:\Games\Cyberpunk 2077\r6\scripts\Test.reds:176
[2023-12-14 11:09:34.905] [RED4ext] [error] Script validation error: Native class 'BraindanceDissolveComponent' has declared base class 'Dupa' that is different than current one 'entIComponent' at C:\Games\Cyberpunk 2077\r6\scripts\Test.reds:176
[2023-12-14 11:09:34.905] [RED4ext] [error] Script validation error: Imported property 'BraindanceDissolveComponent.dissolveRadius' type 'Int32' does not match with the native one 'Float'. at C:\Games\Cyberpunk 2077\r6\scripts\Test.reds:177
[2023-12-14 11:09:34.905] [RED4ext] [error] Script validation error: Missing native property 'event2' in native class 'audioAudEventStruct' at C:\Games\Cyberpunk 2077\r6\scripts\Test.reds:181
[2023-12-14 11:09:34.905] [RED4ext] [error] Script validation error: Missing native global function 'Ahgjadshgkjdas' at C:\Games\Cyberpunk 2077\r6\scripts\Test.reds:171

@WopsS addressed all your comments

Thanks!

RIP, I think this may crash or cause other issues if path contains unicode chars as mentioned in comment...

Probably not an issue for regular installs, but if someone put their legit copy in some weird path this is an issue... Probably not for majority though... Should still be patched.


fix exception: private method set_output' called for #<LiveKit::Egress…

fix exception:  …ServiceClient:0x000055f15cca5cf8>  :42
issue #39 https://github.com/livekit/server-sdk-ruby/issues/39

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


Throw error on incorrect cairo linting

Need to throw error if the code was not correctly linted so that the linting github action will fail in that scenario. The -c param is required for this.

I added a commit which does two things:

Add a check-format script to the package.json file, and renamed the lint script to format. This way developers can run yarn format to actually format the files, and our CI can use check-format to ensure correct formating.
Modify our github action to call check-format rather than lint :)

I've force-pushed the branch because I tested my work with two dummy commits that i removed to keep a clean history. Here's a screenshot to prove my claim https://imgur.com/a/IpznhxJ


CVE-2016-6595

CVE-2016-6595 was raised against Docker
http://seclists.org/oss-sec/2016/q3/198
Docker swarmkit is used to form a swarm, coordinating tasks. Once a machine joins, it becomes a Swarm Node. Nodes can
either be worker nodes or manager nodes.
 I found a vulnerability in docker of the latest version which could cause a Denial of Service, it results in a machine
could not join the swarm cluster after another node’s repeatedly
joining and quitting the swarm for many times(taking my testing as example , it should need at least one thousand
times. )Moreover, the docker debugging info indicates
the Dispatcher is stopped and ca server may exited sometimes.

# docker version
Client:
Version:      1.12.0-dev
API version:  1.25
Go version:   go1.6.3
Git commit:   9c1be54-unsupported
Built:        Fri Jul 29 15:40:52 2016
OS/Arch:      linux/amd64

Server:
Version:      1.12.0-dev
API version:  1.25
Go version:   go1.6.3
Git commit:   9c1be54-unsupported
Built:        Fri Jul 29 15:40:52 2016
OS/Arch:      linux/amd64

# docker swarm init
Swarm initialized: current node (23m6ksr96whsvuo8lzokenju3) is now a manager.

To add a worker to this swarm, run the following command:
    docker swarm join \
    --token SWMTKN-1-30f6ibzpscqh05qqdog85ktr8ptcw7ttn4wy5cwixy1wfchhb9-aljewtdn5727g1pldxnevjh51 \
    xx.xx.xx.xx:2377

To add a manager to this swarm, run the following command:
    docker swarm join \
    --token SWMTKN-1-30f6ibzpscqh05qqdog85ktr8ptcw7ttn4wy5cwixy1wfchhb9-0p086z2sdbnpvognjmu76gpi6 \
    xx.xx.xx.xx :2377

Login machine A1 and join the swarm ,and then quitted the swarm.
-----------------------------------------------------
# docker swarm join --token SWMTKN-1-30f6ibzpscqh05qqdog85ktr8ptcw7ttn4wy5cwixy1wfchhb9-aljewtdn5727g1pldxnevjh51
xx.xx.xx.xx:2377
This node joined a swarm as a worker.
# docker swarm leave --force
Node left the swarm.

Login machine A2 , repeatedly join and quit the swarm for 1000 times.
-----------------------------------------------------
# for i in {1..1000}; do docker swarm leave --force ; docker swarm join --token
SWMTKN-1-30f6ibzpscqh05qqdog85ktr8ptcw7ttn4wy5cwixy1wfchhb9-aljewtdn5727g1pldxnevjh51 xx.xx.xx.xx:2377 ;done
This node joined a swarm as a worker.
Node left the swarm.
This node joined a swarm as a worker.
Node left the swarm.
This node joined a swarm as a worker.
Node left the swarm.
This node joined a swarm as a worker.
Node left the swarm.
This node joined a swarm as a worker.
Node left the swarm.

After finishing that, Login machine A1 again and attempt to join the swarm, it failed.
--------------------------------------------------------
# docker swarm join --token SWMTKN-1-30f6ibzpscqh05qqdog85ktr8ptcw7ttn4wy5cwixy1wfchhb9-aljewtdn5727g1pldxnevjh51
xx.xx.xx.xx:2377
Error response from daemon: Timeout was reached before node was joined. Attempt to join the cluster will continue in
the background. Use "docker info" command to see the current swarm status of your node.

  Some debugging information of docker daemon.
  ---------------------------------------------------------
time="2016-07-29T15:24:02.374560815+08:00" level=error msg="failed to remove node" error="rpc error: code = 10 desc =
dispatcher is stopped" method="(*Dispatcher).Session" node.id=b11ta5p8g2wgy10vyzgsi6ocm
node.session=1aph8scsewn89j3h5o3emgdql
time="2016-07-29T15:24:02.374604898+08:00" level=error msg=" session failed" error="rpc error: code = 1 desc = context
canceled" module=agent
         time="2016-07-29T15:24:14.069347074+08:00" level=debug msg="heartbeat expiration"
time="2016-07-29T15:24:14.069428834+08:00" level=error msg="failed deregistering node after heartbeat expiration"
error="rpc error: code = 10 desc = dispatcher is stopped"
… …

Please assign CVE IDs for the security issue ?

The response from our security team is as follows:
Thank you for your email. This CVE was assigned without us being informed/having the opportunity to respond.
What is happening is that the manager is running out of memory since nodes are joining and never being removed. At some point, the manager obviously stops being able to accept new nodes. Given that for nodes to join they require a secret token, this means that no adversary can simply join nodes and exhaust manager resources.
We can't do anything about a manager running out of memory and not being able to add new legitimate nodes to the system, and therefore, we believe this works as intended and this is not CVE worthy.

As we do not consider this an issue, as the user already has been granted secret access tokens,  am closing this.

/cc @tianon @diogomonica @NathanMcCauley FYI

I'll try get this CVE rescinded.

Email sent to mitre:
To whom it may concern,

A few days ago (Aug 4, 2016), a CVE (CVE-2016-6595) describing a DoS on docker swarm got issued. We believe this not to be an issue, and would like to have the CVE rescinded.

The person reporting this "vulnerability" is exhausting the resources of a remote manager by doing hundreds of join/leave operations without removing the state that is left by old nodes. At some point the manager obviously stops being able to accept new nodes, since it runs out of memory. Given that for nodes to join they require a secret token, this means that no adversary can simply join nodes and exhaust manager resources.

We can't do anything about a manager running out of memory and not being able to add new legitimate nodes to the system. This is merely a resource provisioning issue, and definitely not a CVE worthy vulnerability.

Thank you,
Diogo Monica


userLookup-onFailure ~ java.net.SocketTimeoutException: failed to connect to /192.XXX.XXX.XXX (port 8080) after 10000ms

Solution: Extend Connection timeout with Retrofit to be more a second or remove it.
This may be a problem in the future with the DNS Server from my data provider. When server changes IP-addresses and the DNS Server was not yet updated...

Set Timeout? https://codedump.io/share/JJNv8msNPrw/1/how-to-set-a-timeout-in-retrofit-library

UNDERSTANDING THE ISSUES INVOLVED: https://packetzoom.com/blog/youre-using-okhttp-wrong-same-thing-with-volley-picasso-retrofit-fresco-et-al.html

https://github.com/square/retrofit/issues/641

https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Destination_unreachable

http://stackoverflow.com/questions/29380844/how-to-set-timeout-in-retrofit-library


elm-review-simplify should never remove elm/json

The Elm compiler gets really unhappy if elm/json is removed, and it's hard-ish to fix

Maybe you wanted to open this issue in https://github.com/jfmengels/elm-review-unused/tree/1.2.0?

Should I reopen https://github.com/jfmengels/elm-review-unused/issues/30 or open a new issue?


Service down !

Describe the bug
hello, how are you today ?
prompt is too long: 204129 tokens > 200000 maximum
Link to the Bolt URL that caused the error
https://bolt.new/
Steps to reproduce
hello, how are you today ?
prompt is too long: 204129 tokens > 200000 maximum
Expected behavior
show fine thanks !
Screen Recording / Screenshot
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

Appreciate the feedback! We are aware of this issue and are tracking it here: #1322.


What is the limit of this sheet ?

I would like to ask, that whether the sheet is capable of handling more than 100 request a time, because the google website mentions this.
Reference : https://support.google.com/a/users/answer/9305987

Reference : https://support.google.com/docs/answer/2494822?hl=en&visit_id=636973141922655348-330596984&rd=2

@Meet-Miyani I think those restrictions are only for the web interface. Did you get any limit error?

Not yet, actually I wanted to make a production app with it, and for that reason I need to know the limits. Anyways its fine

Cool


MB-12730 only owners can edit and delete

Jira ticket for this change
Summary
This PR introduces the concept of user identity based resource restriction.
Requirements

Only users who created certain resources should be able to edit/delete them

e.g. QAE/CSR users can only edit their own comments

other users can view these resources

I decided not to use the permissions model for this work as it did not quite fit. Permissions as they are currently setup are based on actions, objects and roles. Users with a given role are assigned a list of actions they can take on specifics objects. Both the FE and BE are able to leverage this concept well.
However to remain secure and meet the above requirements we need more context just than a role or general object. We need to know the original owner of the object, which means a DB lookup. Because of this I reasoned that putting these checks at the service level made the most sense, where we would already have the context we needed: the current user, and the original creator of the comment.
Setup to Run Your Code

checkout this code and regen your swagger files
rebuild and reboot your server + client
permissions were already enforced on the FE, so just make sure if you go through the flow of updating or deleting a comment it still works with no errors in the console or elsewhere
also check that you do not have access to update or delete other users comments (as QAE/TOO)

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 2b65a1d2380146a90f3192bf91ec761dbbe4dc98

I'm a little late on this one but, looks good to me too! Nice test changes, I love to see less stuff mocked/more precise mocks

I'm a little late on this one but, looks good to me too! Nice test changes, I love to see less stuff mocked/more precise mocks

@mboren thank you - it took me forever to figure out how to use those mocks correctly 😭 so it feels good to hear this


[logging] Add tests for cases where we don't send any metadata and improve debuggability

This isn't passing tests, and also the error message is near useless to figure out what's going on:

Ah I forgot to fix this test.
The trick to debugging these is to look at the matchers and see which one didn't match, and then compare what the expectation was and what was actually sent.

Fixed it, and improving the error message as well.

Approving with reservations: I think we're leaning on testing frameworks too heavily here, and we'd have a better test of we wrote some of these expectations directly.

Yeah, I think you are right. I'll switch these over.


feat(extractors/services): add mastodon service

This contains the mastodon service, with the colored svg icon. I tested by changing the complex example and building the docs.
I don't think you can host a non https instance of mastodon, as acme certs are an assertion when creating the service.
So the info is
https://{localDomain}

The force push is to add the viewbox, i forgot to.
The viewbox dimentions were 0 0 75 79 due the the icons kinda weird shape. I have just changed the smaller one to 79 to make it square.

There is the example (before the mastodon viewbox was set).

Thanks! LGTM


Discuss daemonset state removal

In the current system, the daemon set sets states in instance allocation to created (when mig slice is created on GPU with configmap added to pod namespaces) and deleted (when mig slice is deleted from the GPU with configmap deleted from the namespace).
The controller can listen to config map events and move allocation to ungated when a config map create event occurs or remove allocation when a config map delete event occurs. This approach reduces the ping-pong for changing allocation status by two controllers for a pod.

The events in k8s are not guaranteed to arrive in sequence. So in a rapidly starting and stopping, the deleted event may arrive before created one.

/assign

Here is the web sequence diagram of the existing Stateful Daemonset behavior

Following is the proposal/design to avoid updating the allocation status of the Instaslice object by the Daemonset

@asm582 , Let me know your thoughts on the new workflow


Add inventory-storage.items.collection.get perm

Needed for GET on inventory/instances/{id} as of Juniper release. Didn't track it down to the root cause, but commented on MODINV-492 seeking clarification.
Hat tip to @damien-git for identifying and reporting this bug.

@starsplatter I added this permission to the set in our dryrun but need to do the same for our other environments.

Permission set updated on prod, test, and training


gobuster: 3.3.0 -> 3.4.0

Description of changes

Things done

Built on platform(s)

[ ] 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

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

1 package built:

gobuster

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

1 package built:

gobuster


Fix random issues when handling multiple cloudinit volumes

Sometimes the libvirt provider fails with cryptic messages when multiple cloudinit volumes are being used.
libvirtd contains several messages like internal error: pool has asynchronous jobs running. This seems to be caused by invoking pool.Refresh() while a volume is being uploaded.
This commit introduces a new structure that can be used to synchronize operations involving storage pools.
From my testing this solves the issues we have experiences so far.

LGTM

LGTM


Remove relative url path

This matches the rest of the document and means that clicking the link on any site other than influx's will work

Thanks @Ultimation


OTG Test - TE-14.1: gRIBI Scaling

OTG conversion of TE-14.1: gRIBI Scaling test
Test log output found here
Fixes #577

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 72.664%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1462

Relevant Lines:
2012

💛  - Coveralls

/gcbrun


How do you use a10_file_glm_license ?

How do I use a10_file_glm_license module.
I keep getting values incorrect for file_handle variable.
I've tried
file_handle: "{{lookup('file', 'path/to/file')}}"

and
file_handle: "/path/to/file"

but it doesn't work.
My task:
- name: set license
    a10_file_glm_license:
      a10_host: "{{ ip }}"
      a10_username: "{{ a10_username }}"
      a10_password: "{{ a10_password }}"
      a10_port: "{{ a10_port }}"
      a10_protocol: "{{ a10_protocol }}"
      file: "{{ vm_name }}.lic"
      file_handle: "{{lookup('file', a10_license)}}"
      action: "import"

Instead of using the license file, use the (License) Entitlement Token.
This can be found by the following steps:

Navigate glm.a10networks.com
Click on the "Organizations" tab in the top right hand corner
Choose the organization where the license for the device was created
Click the "Licenses" tab on the left side bar
Click on the license name
There under the info tab you'll find the "Entitlement Token" section
Copy this token and replace "EXAMPLE_TOKEN" with it in the following playbook below

- name: Add a glm license example
  connection: local
  hosts: all
  tasks:
  - name: Authenticate via token
    a10_glm:
      a10_host: "{{ a10_host }}"
      a10_username: "{{ a10_username }}"
      a10_password: "{{ a10_password }}"
      a10_protocol: "{{ a10_protocol }}"
      a10_port: "{{ a10_port }}"
      token: "EXAMPLE_TOKEN"
      use_mgmt_port: 0
  - name: Request license
    a10_glm:
      a10_host: "{{ a10_host }}"
      a10_username: "{{ a10_username }}"
      a10_password: "{{ a10_password }}"
      a10_protocol: "{{ a10_protocol }}"
      a10_port: "{{ a10_port }}"
      use_mgmt_port: 0
      send:
        license-request: 1

Set use_mgmt_port to 1 if the vThunder has only one network interface.

You can also test whether or not you need this by ssh'ing into the device and pinging <IP_ADDRESS> with the commands: ping <IP_ADDRESS> and then ping <IP_ADDRESS> use-mgmt-port if the first command returns Network unreachable

@hthompson6  works like a charm! Thanks for the detailed guide.


Added ExportorphoJLandmarkFile utility

Input the extension Export MorphoJLandmarkFile for the utility of exporting MorphoJ formatted csv files.

@smrolfe

Thanks for your contribution @stevenagl12


How to deal with matcher restart/multiple matchers?

Hi there,
I've been reading your netcode spec and I got some questions about the matchers: they're using a nonce (incremented for every token generated) and a private key (known by the game server).
As far as I know, a nonce and a key should be used together only once to prevent security breaches.
So what about matchers restart (after a system/application crash)? Is it a big deal its nonce restarts at 0 (which means it already have been used)? Should the key be regenerated?
How about multiple matchers (for load balancing/failover/etc)? Should each matcher gets its own private key? How does the game server should handle this?
Thank you

I believe that we widened the nonce for the connect token such that it much wider than 64bits and is a randomly generated number. This makes it safe on restarts, and for multiple instances of the matcher!

While the nonce for the packets themselves are 64bit sequence numbers, and yes, these start at 0 and increase with each packet sent... but we make this work by having different private keys per-client/server connection.

Please let me know if this is not the case in the standard, or if it is not clear, and we can fix it. I believe that this is what we did by design though, and that the nonce is randomly generated each time before creating a connect token, hence the reset to 0 is just clearing it and has no effect.

Thank you for your reply.
I understand the game packets themselves are secure due to the newly pair of keys generated for each token, I'm talking about the token (private part) encryption by the matcher using the fixed private key and the matcher sequence.
The nonce used for encryption is a 64 bit sequence number that starts at zero and increases with each connect token generated. The sequence number is extended by padding high bits with zero to create a 96 bit nonce.
Since all matchers share the same private key, using the same nonce twice with different inputs can be dangerous (afaik, I may be wrong though). So they should use a different private key? Should they share the same nonce (using a database like Redis to atomically increment it)? Should they generate a random nonce at launch and then increment it?
I may be missing something here.
Thank you for your time

You are correct about using the same nonce being reused being bad. I will investigate further for you.
cheers

An alternative would be to use XChacha20 instead of Chacha20 for private token data encryption, since this use 192bits nonce which allows for random nonce to be safely used.
From: https://libsodium.gitbook.io/doc/secret-key_cryptography/aead/chacha20-poly1305/xchacha20-poly1305_construction

Ah yes, now I remember. In another project derived from netcode.io I switched to private/public key encryption of the equivalent tokens rather than symmetric, which in libsodium has a wide enough nonce for random. That is what caused my confusion...

Sure 😃, but I won't have time until this weekend.
I guess version info also has to be changed to "NETCODE 1.02"?
I'll take care of that.

Yes, we must bump up the minor version!

Just for information, I have to update libsodium since the bundled version (1.0.10) doesn't have xchacha20 (introduced in 1.0.12), this is not a problem for Windows but it can be for some linux distributions (like Debian, which on its stable repository has only libsodium 1.0.11).
Should I do something special about this or is it fine to tell Debian users to build libsodium themselves?

Also, do you want netcode_generate_connect_token to take the nonce by argument or do you want it to generate the nonce internally?

I like it generating it internally now that it's random, since this removes the possibility for user error!


"tag" field of token's user object  disappear

If leave user‘s tag field blank, token's user object return from server will not contain "tag" field. Why "homepage" field don't like it.

I guess it's related to the #28 . As the current casdoor is returning a new reduced-size token, the current rust-sdk version is by more than a whole year outdated.

Fixed, please use:

Latest Casdoor v1.426.0+: https://github.com/casdoor/casdoor/releases/tag/v1.426.0
Latest Casdoor Rust SDK v1.3.0+: https://github.com/casdoor/casdoor-rust-sdk
Refer to the example code: https://github.com/casdoor/casdoor-rust-example


Getting the smoke testing pipeline green again

Ignore a sample that's clearly intended to only be run with caution and manually in form-recognizer
Create the first ignore for communication-administration package, just to be helpful (hopefully)

/azp run js - smoke-tests

@0rland0Wats0n , @DominikMe - hopefully this is okay. I've been working with @benbp to get our smoke tests pipeline green again. Rather than try to suss out why the releasePhoneNumber sample is failing (I imagine it's because it requires some setup) I'm just adding it to the ignored list.
@witemple-msft  - I'm just ignoring that one form recognizer sample that clearly sees itself as dangerous :)


Add the Scientific Value Agent

@maffettone this still needs some work but here's the first draft!
This agent tries to gain a dynamic understanding of now "new" some observations are relative to those previously observed, and can be used with e.g. Expected Improvement to sample regions where high changes in some observed quantity are observed.

@maffettone updated!

This is looking sharp. My suggestion is instead of making the Agent a child class of agents.base.Agent, make it a mixin class.   This way it can be mix and matched with beamline specific needs, and abused without rewriting things.
A simple example here is the SequentialAgentMixin, https://github.com/NSLS-II-PDF/mmm-experiments/blob/428814ae2efadfa8aa94d994b01660b0c93c470c/mmm_experiments/agents/base.py#L352-L376
and how that get's dropped into a PDF specific sequential agent in agents.pdf.SequentialAgent
https://github.com/NSLS-II-PDF/mmm-experiments/blob/428814ae2efadfa8aa94d994b01660b0c93c470c/mmm_experiments/agents/pdf.py#L98-L110

@maffettone ok so if I understand correctly you're saying basically don't inherit the Agent class and instead write something like akin to SequentialAgentMixin? That way we can just inherit the ValueAgentMixin class and deploy the methods on various beamlines. Am I following?

Bingo! Sorry if I pointed you in the wrong direction at the start. But this will let us make a BMMValueAgent and PDFValueAgent in 2 lines each.
And should leave room to get jazzy with the MonarchSubject stuff.

@maffettone I attempted to implement the changes as requested. I basically cleaned up the init and made use of the attributes that I'm assuming will be defined (see the doc string). Let me know what you think!

This is all looking great! I outlined a couple changes that will probably raise bugs. Without diving too deep into the rest, I think it's ready for a class in agents.pdf. Make sure to rebase off main first.

Will do!

Poke around and test with that for comfort. You'll probably immediately hit kafka errors, because the offline stuff isn't merged in. So when you're ready, I'm ready, and we can find some of the bugs on the day off.

Sure I can try. I haven't really attempted to do anything with this "online" so to speak. Do you have a good resource/tutorial where I can play around in a sandbox-like environment?

Unfortunately not. For the element of time, I'm going to start pushing on this and adding an offline mode asap.

@maffettone understood- next time. You're running on Thursday, right? I'm available all day over Teams/phone if you need anything on my end.

Kicking off tomorrow through Thursday

Ok got it. Well in any case I'm available should you need anything 👍


CRLF to LF for *.png

Changes the CRLF line-ending to LF on gcp-cloud-run/*.png .
When repo is checkout on osx git always threat these files as modified.

Fixed by #40


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit 17a72ac:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[MODFISTO-483] - Added extra test cases for new budget encumbrance sql script

Purpose
https://folio-org.atlassian.net/browse/MODFISTO-483
Approach

Added new transaction for credits field
Updated budget before rollover


Build status doesn't change from BUILDING when minio task fails

I noticed that the status of a bulid does not get updated from BUILDING to FAILED when a minio task fails.
I pasted a traceback of the minio failure below. I saw the same behavior when incorrect s3 credentials were passed to minio and the task had failed. You should be able to reproduce this issue by setting incorrect s3 credentials in the conda store settings. There doesn't seem a way to cancel a build, so I had to manually delete the record from the build table.
Traceback (most recent call last):
File "/opt/conda-store-server/conda_store_server/build.py", line 175, in build_conda_environment
set_build_completed(conda_store, build, output.encode("utf-8"), packages)
File "/opt/conda-store-server/conda_store_server/build.py", line 79, in set_build_completed
conda_store.storage.set(
File "/opt/conda-store-server/conda_store_server/storage.py", line 133, in set
self.internal_client.put_object(
File "/opt/conda/envs/conda-store-server/lib/python3.9/site-packages/minio/api.py", line 1787, in put_object
raise exc
File "/opt/conda/envs/conda-store-server/lib/python3.9/site-packages/minio/api.py", line 1741, in put_object
return self._put_object(
File "/opt/conda/envs/conda-store-server/lib/python3.9/site-packages/minio/api.py", line 1598, in _put_object
response = self._execute(
File "/opt/conda/envs/conda-store-server/lib/python3.9/site-packages/minio/api.py", line 406, in _execute
return self._url_open(
File "/opt/conda/envs/conda-store-server/lib/python3.9/site-packages/minio/api.py", line 389, in _url_open
raise response_error
minio.error.S3Error: S3 operation failed; code: XMinioStorageFull, message: Storage backend has reached its minimum free disk threshold. Please delete a few objects to proceed., resource: /conda-store/logs/448a12f002aac20ba1673d5de067377bbf66c2d4ac0a039c74642a62ac1bdb88-20210924-164948-645244-11-maria-test3.log, request_id: 16A7D07DFCBB6581, host_id: f2778deb-a65a-4ba5-b52a-cde414bcac2e, bucket_name: conda-store, object_name: logs/448a12f002aac20ba1673d5de067377bbf66c2d4ac0a039c74642a62ac1bdb88-20210924-164948-645244-11-maria-test3.log

My hypothesis on this error is that the build is failing and then triggers https://github.com/Quansight/conda-store/blob/main/conda-store-server/conda_store_server/build.py#L176-L183. But the  set_build_failed does not work since s3 credentials are not set and then causes another exception to be raised.

@costrouc is this still valid?


Migrate workflows to reuse workflows from ballerina-standard-library

Purpose
part of : ballerina-standard-library/issues/4778
Examples
Checklist

[x] Linked to an issue
[ ] Updated the specification
[ ] Updated the changelog
[ ] Added tests
[ ] Checked native-image compatibility

This will be merged after removing the workflows for release to the previously used one


RequestCacheMiddleware: add a local memory cache instance as request.cache.

This is useful for those times when a single request will need to perform a very expensive operation multiples times, but the results of that operation are specific to the current request. Unlike all other caching mechanisms provided by Django, RequestCache's data will be garbage collected alongside the request object.
This PR is part of the functionality from #2463, which @gasman asked me to split into multiple PRs to make it easier to review.

To be revisited once the refactoring of #2463 (currently under way in #2869) is far enough down the line that we can see what our requirements for caching are. (As per https://github.com/torchbox/wagtail/pull/2463#issuecomment-226042250, I'd really like to avoid introducing a new middleware.)

Is there a non-middleware alternative to a pre-request cache? I'm not sure that Django supports anything else. My original solution was a longer-lived cache, but it over-complicated the entire system pretty badly, which was why it was suggested that a pre-request cache be used instead.

@coredumperror At this point I'm reserving judgement about whether we need caching at all... if I'm not mistaken, the left menu nav is the only query that needs to fetch more than a single "slice" of the tree at once (and there's a rewrite of that on the horizon... #2297), so my suspicion is that all the recurring queries are simple enough (or can be made simple enough) that we don't gain much by holding on to the results.
If we do need to cache results, then informally stashing them in a template variable (as we do here: https://github.com/torchbox/wagtail/blob/fb4a3621dcaeb0d3ff8080bbc087ed3afa93fd31/wagtail/wagtailadmin/templatetags/wagtailadmin_tags.py#L112) might be sufficient.

As I recall from my testing, the function that builds the list of permitted paths frequently gets called 3-4 times in a typical request to the Explorer UI. That's why it felt like caching the results made sense.
As for using a context variable as a poorman's cache, that would work. The request object already gets passed down to every function that calls the cached function, since it's what owns the cache itself.

Heck, now that I think about it, all the work I did to squash memory leaks in RequestCache (compared to the original version of the code I found on StackOverflow) means we don't need to call any cleanup functions on egress. So there isn't any reason to use a middleware at all. We could  just attach a RequestCache instance to the request during the first run of _get_permitted_page_paths().
Should I make these changes to my PR over at #2463? The existence of #2869 makes me wonder if I should.

Closing this now, as I think we're far enough down the line with implementing limitations on tree browsing (and related work such as the React explorer) to be confident that a per-request cache isn't required.


Is there a way to access ZF?

Hi, I am emulating some instructions and I have one instruction which is test eax, eax.
I would like to check if ZF is set. I have tried to access the key 'zf' because I read that it is a type of flag register, but received this error KeyError: 'zf'. So, I would like to ask if there is a way to access ZF?

i dont see zf, eflags, nor rflags accessible here: https://github.com/fireeye/flare-emu/blob/master/flare_emu.py#L1046
@jtbennett-fe?

flare-emu currently does not expose the EFLAGS register that contains the Zero Flag (ZF) bit you are looking for. You can access the Unicorn engine directly through the flare-emu EmuHelper object, though. You could do something like:
from unicorn.x86_const import *

eh = flare_emu.EmuHelper()
eflags = eh.uc.reg_read(UC_X86_REG_EFLAGS)
zf = (eflags >> 6) & 1 # ZF is the 6th bit

Hi @jtbennett-fe.
Thank you for the code example :) I managed to get the ZF! ^^


Mana Regen using Spirit as MP5 equivalent.

The following line seems incorrect, and if it is incorrect is overvaluing Spirit in the Simulation.
mps+= while_casting * spi;
According to https://wowwiki-archive.fandom.com/wiki/Spirit, the formula should be the following at Lvl 70.
Mana Regen = 5 * (0.001 + sqrt(Int) * Spirit * 0.009327) * 0.60  (rounded up) (*Note the .6 here is not the Mage Armor + Aracane Meditation)

The spirit based mana regen is currently the formula you posted without the 0.6 at the end.
That 0.6 has no reliable source. The source cited in your link doesn't mention the 0.6 and has just magically appeared in the wowwiki article.
The current formula without the 0.6 is also confirmed on the beta.
The cited post:
https://web.archive.org/web/20080401233141/http://elitistjerks.com:80/634066-post55.html
The basis for the post:
https://web.archive.org/web/20080401233146/http://elitistjerks.com/635940-post114.html


runlog and out.txt save to wrong location

Hi Rob,
Hopefully,  this is not user error this time. run.log and out.txt save to project_dir rather than project_dir/temp. I'm not sure if this is intentional, but I think it would be better to save to the temp folder. Here is a MWE:
using CmdStan

ProjDir = @__DIR__
cd(ProjDir)
stan_path = "/home/dfish/cmdstan"

  bernoullimodel = "
  data {
    int<lower=1> N;
    int<lower=0,upper=1> y[N];
  }
  parameters {
    real<lower=0,upper=1> theta;
  }
  model {
    theta ~ beta(1,1);
    y ~ bernoulli(theta);
  }
  ";

  observeddata = Dict("N" => 10, "y" => [0, 1, 0, 1, 0, 0, 0, 0, 0, 1])

  # Preserve these variables outside cd/do block.
  global stanmodel, rc, samples, cnames, df

  stanmodel = Stanmodel(name="bernoulli", model=bernoullimodel,
    printsummary=false, output_format = :mcmcchains);

  rc, samples, cnames = stan(stanmodel, observeddata, ProjDir,
    CmdStanDir=stan_path);

Thanks for getting back to me. I am switching to stansample. The only thing
that threw me off is that nchains is a vector. Is there a reason for that?
On Wed, Oct 13, 2021, 10:27 AM Rob J Goedman @.***>
wrote:

Hi Chris,
Yes, that would definitely be better (and has been taken care of in
StanSample.jl).
If you really need it, I can try to set some time aside to fix this, but I
would really suggest to switch to StanSample.jl.
I've kept CmdStan.jl around mainly for DiffEqBayes.jl, but DiffEqBayes has
now also switched to StanSample.jl. I believe Turing doesn't use it anymore
either (like they did until 1 or 2 years ago?).
But nothing is cast in concrete...
Let me know what you think. Below the StanSample version of your example
(I think!).
Rob
using StanSample, MCMCChains
bernoulli_model = "
data {
int<lower=1> N;
int<lower=0,upper=1> y[N];
}
parameters {
real<lower=0,upper=1> theta;
}
model {
theta ~ beta(1,1);
y ~ bernoulli(theta);
}
";
bernoulli_data = Dict("N" => 10, "y" => [0, 1, 0, 1, 0, 0, 0, 0, 0, 1])
Keep tmpdir across multiple runs to prevent re-compilation
#tmpdir = joinpath(@DIR, "tmp")
sm = SampleModel("bernoulli", bernoulli_model;
#tmpdir = tmpdir,
);
rc = stan_sample(sm; data=bernoulli_data);
if success(rc)
chns = read_samples(sm, :mcmcchains)
chns |> display
println()
read_summary(sm) |> display
end
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/StanJulia/CmdStan.jl/issues/119#issuecomment-942363249,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACJ2TADIXIRDZ3LFQSE3KS3UGWJMLANCNFSM5F42IH7Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I believe I can't change it later on after the SampleModel is created. I would love to get rid of this and just turn it into an Int.


Add support for AppleClang

The compiler ID in recent CMake report AppleClang on Mac OS X, breaking the script.
This simple patch keep support for the old Clang (and it is probably the one needed for clang under linux) and add support for the clang under Mac OS X.

thanks


Release 2023.01.20: sensor.luxtronik2_additional_heat_generator_amount_counter is missing

This change in release 2023.01.20 causes sensor.luxtronik2_additional_heat_generator_amount_counter to go missing on my system:

Detection: Use visibility id for additional_heat_generator_amount_counter

This counter is definitely present on my system, and worked fine in the previous release.

I use more and more the original luxtronik visibilities. But it seems that many heatpumps has a wrong visibility config.
I have changed the behavior in the latest pre-release 2023.01.25.
Only two sensors based on newer firmware are not created. All other sensors should always be created but not enabled if the luxtronik underlying visibility reports "hidden".
Currently I'm focusing on the new code base, but I try to implement those "specials":
https://github.com/BenPru/luxtronik/blob/core-preview/custom_components/luxtronik/sensor_entities_predefined.py#L278


KATA-3442: Standalone Script for retrieval of RVPS From SE PODVM

Description of the problem which is fixed/What is the use case
We are trying to retrieve some of the parameters from PODVM SE image which can be used for remote attestation. with this approach we can facilitate to automate the kbs deployment.

What I did
--> A standalone script was created which will ask user to input the details of SE PODVM image and will generate RVPS values

How to verify it
--> Download the repo
--> Run 'GetRvps.sh' From 'Rvps-Extraction' to get it. For the complete step, please follow RVPS_Reference.md

Description for the changelog
--> Additional script was added

Testing was successful for both the options -
a) RVPS calculation based on local SE image. Below are the log excerpts -
[root@a3elp36 COCO-1010]# ./GetRvps.sh
Updating Subscription Management repositories.
Last metadata expiration check: 2:00:02 ago on Mon 07 Oct 2024 11:33:52 AM CEST.
Package python3-3.9.18-3.el9_4.5.s390x is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Updating Subscription Management repositories.
Last metadata expiration check: 2:00:07 ago on Mon 07 Oct 2024 11:33:52 AM CEST.
Package python3-cryptography-36.0.1-4.el9.s390x is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Updating Subscription Management repositories.
Last metadata expiration check: 2:00:11 ago on Mon 07 Oct 2024 11:33:52 AM CEST.
Package kmod-28-9.el9.s390x is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Updating Subscription Management repositories.
Last metadata expiration check: 2:00:15 ago on Mon 07 Oct 2024 11:33:52 AM CEST.
Package kernel-5.14.0-362.8.1.el9_3.s390x is already installed.
Dependencies resolved.
Nothing to do.
Complete!
1) Generate the RVPS From Local Image from User pc
2) Generate RVPS from Volume
3) Quit
Please enter your choice: 1
Enter the Qcow2 image with Full path
/root/gaurav-rvps-test/se-podvm-b7e5e2a-gaurav-s390x.qcow2
/dev/nbd3 disconnected
SE header found at offset 0x014000
SE header written to '/root/gaurav-rvps-test/COCO-1010/output-files/hdr.bin' (640 bytes)
Magic: IBMSecEx
phs: 640
========Host Key Document Hash used in this slot=========
  Key Slot: 1:
  image_phkh: 92d0aff6eb86719b6b1ea0cb98d2c99ff2ec693df3efff2158f54112f6961508
  wrapped_key: 91b906c07967042a698721d6993838f958384c9045d0dc01e78fc2e195db4fd2
  tag: 4bf9ca28291f7e9d4222afe23b31828f
========Host Key Document Hash used in this slot=========
  Key Slot: 1:
  wrapped_key: 91b906c07967042a698721d6993838f958384c9045d0dc01e78fc2e195db4fd2
HKD tag: 4bf9ca28291f7e9d4222afe23b31828f
  Copy below value and set in rvps
  ================================================
  se.image_phkh: 92d0aff6eb86719b6b1ea0cb98d2c99ff2ec693df3efff2158f54112f6961508
  se.version: 256
  se.tag: a8a938f4ea3f9453da005574e0e75434
  se.attestation_phkh: 92d0aff6eb86719b6b1ea0cb98d2c99ff2ec693df3efff2158f54112f6961508
a8a938f4ea3f9453da005574e0e75434
92d0aff6eb86719b6b1ea0cb98d2c99ff2ec693df3efff2158f54112f6961508
92d0aff6eb86719b6b1ea0cb98d2c99ff2ec693df3efff2158f54112f6961508
provenance = ewogICAgInNlLmF0dGVzdGF0aW9uX3Boa2giOiBbCiAgICAgICAgIiA5MmQwYWZmNmViODY3MTliNmIxZWEwY2I5OGQyYzk5ZmYyZWM2OTNkZjNlZmZmMjE1OGY1NDExMmY2OTYxNTA4IgogICAgXSwKICAgICJzZS50YWciOiBbCiAgICAgICAgIiBhOGE5MzhmNGVhM2Y5NDUzZGEwMDU1NzRlMGU3NTQzNCIKICAgIF0sCiAgICAic2UuaW1hZ2VfcGhraCI6IFsKICAgICAgICAiIDkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnVzZXJfZGF0YSI6IFsKICAgICAgICAiMDAiCiAgICBdLAogICAgInNlLnZlcnNpb24iOiBbCiAgICAgICAgIjI1NiIKICAgIF0KfQo=
rw-rr-. 1 root root 640 Oct  7 13:34 /root/gaurav-rvps-test/COCO-1010/output-files/hdr.bin
rw-rr-. 1 root root 449 Oct  7 13:34 /root/gaurav-rvps-test/COCO-1010/output-files/ibmse-policy.rego
rw-rr-. 1 root root 565 Oct  7 13:34 /root/gaurav-rvps-test/COCO-1010/output-files/se-message

hdr.bin, se-message, and ibmse-policy.rego were generated successfully ***
Please enter your choice:
1) Generate the RVPS From Local Image from User pc
2) Generate RVPS from Volume     3) Quit
Please enter your choice: 3
[root@a3elp36 COCO-1010]#

b) RVPS calculation based on SE image uploaded on libvirt volume. Below are the log excerpts -
root@a3elp36 COCO-1010]# ./GetRvps.sh
***Installing necessary packages for RVPS values extraction ***
Updating Subscription Management repositories.
Last metadata expiration check: 2:21:46 ago on Wed 09 Oct 2024 11:01:14 AM CEST.
Package python3-3.9.18-3.el9_4.5.s390x is already installed.
Package python3-cryptography-36.0.1-4.el9.s390x is already installed.
Package kmod-28-9.el9.s390x is already installed.
Package kernel-5.14.0-362.8.1.el9_3.s390x is already installed.
Dependencies resolved.
Nothing to do.
Complete!
***Installation Finished ***
1) Generate the RVPS From Local Image from User pc  3) Quit
2) Generate RVPS from Volume
Please enter your choice: 2
Enter the Libvirt Pool Name
fa-pp
Enter the Libvirt URI Name
qemu+ssh://root@<IP_ADDRESS>/system?no_verify=1Enter the Libvirt Volume Name
fa-pp-vol
Downloading from PODVM Volume...
mount: /mnt/myvm: special device /dev/nbd3p1 does not exist.
Error: Failed to mount the image. Retrying...
/dev/nbd3 disconnected
/dev/nbd3 disconnected
SE header found at offset 0x014000
SE header written to '/root/gaurav-rvps-test/COCO-1010/output-files/hdr.bin' (640 bytes)
se.tag:  f9666c521614f4520f3269d77bdd6800
se.image_phkh:  92d0aff6eb86719b6b1ea0cb98d2c99ff2ec693df3efff2158f54112f6961508
provenance = ewogICAgInNlLmF0dGVzdGF0aW9uX3Boa2giOiBbCiAgICAgICAgIjkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnRhZyI6IFsKICAgICAgICAiZjk2NjZjNTIxNjE0ZjQ1MjBmMzI2OWQ3N2JkZDY4MDAiCiAgICBdLAogICAgInNlLmltYWdlX3Boa2giOiBbCiAgICAgICAgIjkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnVzZXJfZGF0YSI6IFsKICAgICAgICAiMDAiCiAgICBdLAogICAgInNlLnZlcnNpb24iOiBbCiAgICAgICAgIjI1NiIKICAgIF0KfQo=
rw-rr-. 1 root root 640 Oct  9 13:25 /root/gaurav-rvps-test/COCO-1010/output-files/hdr.bin
rw-rr-. 1 root root 446 Oct  9 13:25 /root/gaurav-rvps-test/COCO-1010/output-files/ibmse-policy.rego
rw-rr-. 1 root root 561 Oct  9 13:25 /root/gaurav-rvps-test/COCO-1010/output-files/se-message
Please enter your choice: 3
[root@a3elp36 COCO-1010]

do you have an example of the generated se-message content?

Here is the updated result from the change done as per review comments :-
[root@a3elp61 COCO-1010]# ./GetRvps.sh
***Installing necessary packages for RVPS values extraction ***
Updating Subscription Management repositories.
Last metadata expiration check: 0:53:47 ago on Wed Oct 30 10:59:26 2024.
Package python3-3.9.18-3.el9_4.6.s390x is already installed.
Package python3-cryptography-36.0.1-4.el9.s390x is already installed.
Package kmod-28-9.el9.s390x is already installed.
Dependencies resolved.
Nothing to do.
Complete!
***Installation Finished ***
1) Generate the RVPS From Local Image from User pc  3) Quit
2) Generate RVPS from Volume
Please enter your choice: 2
Enter the Libvirt Pool Name
pp-pool
Enter the Libvirt URI Name
qemu+ssh://root@<IP_ADDRESS>/system?no_verify=1
Enter the Libvirt Volume Name
pp-volume
Downloading from PODVM Volume...

mount: /mnt/myvm: special device /dev/nbd3p1 does not exist.
Error: Failed to mount the image. Retrying...
Mounting on second attempt passed
/dev/nbd3 disconnected
SE header found at offset 0x014000
SE header written to '/root/OCISecretPull-Private/COCO-1010/output-files/hdr.bin' (640 bytes)
se.tag:  633a440078fa18918900805d29109889
se.image_phkh:  92d0aff6eb86719b6b1ea0cb98d2c99ff2ec693df3efff2158f54112f6961508
provenance = ewogICAgInNlLmF0dGVzdGF0aW9uX3Boa2giOiBbCiAgICAgICAgIjkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnRhZyI6IFsKICAgICAgICAiNjMzYTQ0MDA3OGZhMTg5MTg5MDA4MDVkMjkxMDk4ODkiCiAgICBdLAogICAgInNlLmltYWdlX3Boa2giOiBbCiAgICAgICAgIjkyZDBhZmY2ZWI4NjcxOWI2YjFlYTBjYjk4ZDJjOTlmZjJlYzY5M2RmM2VmZmYyMTU4ZjU0MTEyZjY5NjE1MDgiCiAgICBdLAogICAgInNlLnVzZXJfZGF0YSI6IFsKICAgICAgICAiMDAiCiAgICBdLAogICAgInNlLnZlcnNpb24iOiBbCiAgICAgICAgIjI1NiIKICAgIF0KfQo=
-rw-r--r--. 1 root root 640 Oct 30 11:54 /root/OCISecretPull-Private/COCO-1010/output-files/hdr.bin
-rw-r--r--. 1 root root 446 Oct 30 11:54 /root/OCISecretPull-Private/COCO-1010/output-files/ibmse-policy.rego
-rw-r--r--. 1 root root 561 Oct 30 11:54 /root/OCISecretPull-Private/COCO-1010/output-files/se-message
Please enter your choice: 3
[root@a3elp61 COCO-1010]# sdiff -s /root/OCISecretPull-Private/COCO-1010/output-files/se-message /root/OCISecretPull-Private/COCO-1010/output-files-BACK/
[root@a3elp61 COCO-1010]# sdiff -s /root/OCISecretPull-Private/COCO-1010/output-files/ibmse-policy.rego /root/OCISecretPull-Private/COCO-1010/output-files-BACK/
[root@a3elp61 COCO-1010]#


Native extraction of Steel loops

Extends #228 with extraction of other Steel loops.
The code path and signatures are exactly the same as for the Steel.ST loops.

Thanks Jonathan for the comments. I added tests in SteelLoops and confirmed that the outputs looked like expected.
I also cleaned up slightly the test Makefile to be less agressive in the number of Steel files that need to be filtered.


Make a Senate/House toggle on the Map component

going to be borrowing from Brian's implementation for this https://github.com/bhrutledge/ma-legislature/blob/main/index.html

going to be borrowing from Brian's implementation for this https://github.com/bhrutledge/ma-legislature/blob/main/index.html

Following up from a discussion with @bhinebaugh, I recommend "rebooting" Map.jsx with the code from https://github.com/bhrutledge/ma-legislature/, rather than trying to build on what's already there, which was based on https://github.com/actonmass/campaign-map. I spent a decent amount of time refactoring the actonmass code to support both chambers, and removed everything that was specific to that campaign.
Ideally, I think this would wait until @mvictor55 has a complete Google Sheet for one piece of legislation (i.e., ranking of support for both chambers), because that will impact how the data is loaded and transformed. However, in the interest of making progress, I think porting the ma-legislature code as-is would give a good base to build on. I'm optimistic that I could do it relatively quickly, but would happily let somebody else tackle it. If somebody else picks this up, I think familiarity with Leaflet is helpful, and I'm happy to review the PR.

Following up from a discussion with @bhinebaugh, I recommend "rebooting" Map.jsx with the code from https://github.com/bhrutledge/ma-legislature/, rather than trying to build on what's already there, which was based on https://github.com/actonmass/campaign-map. I spent a decent amount of time refactoring the actonmass code to support both chambers, and removed everything that was specific to that campaign.
Ideally, I think this would wait until @mvictor55 has a complete Google Sheet for one piece of legislation (i.e., ranking of support for both chambers), because that will impact how the data is loaded and transformed. However, in the interest of making progress, I think porting the ma-legislature code as-is would give a good base to build on. I'm optimistic that I could do it relatively quickly, but would happily let somebody else tackle it. If somebody else picks this up, I think familiarity with Leaflet is helpful, and I'm happy to review the PR.


Shadow is not synchronized

Hi there, I've experienced an issue while trying to synchronize the shadow between IoT core and shadow manager component.
The problematic behaviour is following:
I have a following shadow document describing a rtsp stream that should be processed by EDGE device running Greengrass.
{
  "state": {
    "desired": {
      "state": "ENABLED",
      "uuid": "c65c7502-514c-41f8-af33-bbd58ad8afa9",
      "mode": "PERSON",
      "url": "rtsp://...."
      "configVersion": "1704190617045"
    },
    "reported": {
      "state": "ENABLED",
      "uuid": "c65c7502-514c-41f8-af33-bbd58ad8afa9",
      "mode": "PERSON",
      "url": "rtsp://...."
      "configVersion": "1704190617045"
    }
  }
}

The problem happens when I want to "clear" the shadow due to device reconfiguration.
eg. i'd like to get to the following state:
{
  "state": {
    "desired": {
    },
    ....
  }
}

When our API updates the "desired" object the change is successfully saved in IoT core.
Desired object written by our API:
{
  "state": {
    "desired": {
      "state": null,
      "uuid": null,
      "mode": null,
      "url": null,
      "configVersion": null
    },
    "reported": ...
  }
}

And that is when the problem happens. According to greengrass.log file the shadow synchronization is invoked, cloud version of shadow is incremented (it corresponds to iot core), but the local version stays the same.
I've dicovered that it is connected to the modification of the "state" property of the desired object.
We're able to clear (by setting to null) one or more fields (and the change is successfully synchronized to the shadow manager as long as it does not include the "state" field. When the "state.desired.state" field is set to null the synchronization between IoT core and local shadow is not performed.
Please confirm if this is expected behaviour, eg. state is some protected field name that can't be used in child objects or if it is a bug.
Nucleus 2.12.1
Shadow manager 2.3.5
Thank you very much and have a happy new year!
Tomas

Hello,
What is the content of the shadow that you retrieve locally on Greengrass? You said what the value is in the IoT Shadow service, but not the local copy.
To truly clear the shadow state update with {"state": null}

Hi,
the desired status read from our component stays un-updated. After we publish this from our API:
{
  "state": {
    "desired": {
      "state": null,
      "uuid": null,
      "mode": null,
      "url": null,
      "configVersion": null
    },
    "reported": ...
  }
}

The shadow manager adds a log to greengrass.log file that cloud version was incremented, but the local version of the shadow stayed the same
this means that even after the update was published and has a correct value in aws iot core, the device still reads the original value (below)
{
  "state": {
    "desired": {
      "state": "ENABLED",
      "uuid": "c65c7502-514c-41f8-af33-bbd58ad8afa9",
      "mode": "PERSON",
      "url": "rtsp://...."
      "configVersion": "1704190617045"
    },
    "reported": {
      "state": "ENABLED",
      "uuid": "c65c7502-514c-41f8-af33-bbd58ad8afa9",
      "mode": "PERSON",
      "url": "rtsp://...."
      "configVersion": "1704190617045"
    }
  }
}

but when we publish this (omitting the state property of desired object):
{
  "state": {
    "desired": {
      "uuid": null,
      "mode": null,
      "url": null,
      "configVersion": null
    },
    "reported": ...
  }
}

the synchronization between cloud and local copy is fine and our component reads this:
{
  "state": {
    "desired": {
      "state": "ENABLED",
    },
    "reported": {
       ....
    }
  }
}

Long story short, we're not able to clear the state propery by setting it to null and when it is set to null it also blocks the synchronization of other fields to local shadow copy.
component configuration is below:
    config: {
      strategy: {
        type: 'realTime',
      },
      rateLimits: {
        maxOutboundSyncUpdatesPerSecond: 1000,
        maxTotalLocalRequestsRate: 1000,
        maxLocalRequestsPerSecondPerThing: 1000
      },
      synchronize: {
        coreThing: {
          classic: false,
          namedShadows: [
            'Attributes',
            'DetectorInfo',
            'DeviceInfo',
         ]
       }
    }
}

Thank you for the details.
Yes this is a bug. You can avoid this by setting the entire state to null, rather than individual keys.
We will work to address this shortly.

Thank you! 🤩

@tomikpik,
This issue should now be fixed in Shadow Manager 2.3.6, please try out that version.
Closing the ticket now, but reopen it if needed.
Thank you again for reporting the problem

thank you @MikeDombo


46 updated use GitHub codespaces

Start a Fresh Codespace ( ~ 5 minutes )

Open a new branch from an issue
Click on the 'Code' Dropdown arrow
Click on the '...' to the right of 'Codespaces'
Select 'New with Options'
Select the proper branch for the issue you will work on > region that is closest to you > then choose '8 core with 32 gb'
Create Codespace & wait for everything to load ( around 5 minutes )
A terminal should open that says ' Finishing up > Running postCreateCommand > and Running PostStartCommand'
Once the 'PostStartCommand' has a Green checkmark > we then follow the next steps

Run the Codespace ( ~ 15 minutes )
Steps based on the 'Quick Start' guide from the 'Getting Started' documentation
https://github.com/CodeWithAloha/uipa/blob/main/docs/Getting-Started.md

In a terminal window, run docker ps. (if this is not running, then run docker-compose up)
In another terminal window, yarn build.
In another terminal window, run bash data/seed/init_db.sh.
Enter your email address ( or random fake email ) > Enter a username > Enter at least a 9-character password
In that same terminal window, run python manage.py runserver.
Click on the 'Open in Browser' prompt on the bottom right of your codespace for http://<IP_ADDRESS>:8000/ .

Opening the 46-Update-use-github-codespaces branch in a codespace results in no joy. I can open a terminal but python manage.py check results in an error:
(venv) @russtoku ➜ /workspaces/uipa (46-Updated-use-github-codespaces) $ python manage.py check
/workspaces/uipa/uipa_org/settings/base.py:105: SyntaxWarning: invalid escape sequence '\.'
  greetings=[rec(u"Aloha (?:Mr\.?|Ms\.? .*?)")],
/workspace/venv/lib/python3.12/site-packages/floppyforms/__init__.py:20: UserWarning: Unable to import floppyforms.gis, geometry widgets not available
  warnings.warn(
Traceback (most recent call last):
  File "/workspaces/uipa/manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
  File "/workspace/venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/workspace/venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 416, in execute
    django.setup()
  File "/workspace/venv/lib/python3.12/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/workspace/venv/lib/python3.12/site-packages/django/apps/registry.py", line 116, in populate
    app_config.import_models()
  File "/workspace/venv/lib/python3.12/site-packages/django/apps/config.py", line 269, in import_models
    self.models_module = import_module(models_module_name)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/auth/models.py", line 3, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/auth/base_user.py", line 57, in <module>
    class AbstractBaseUser(models.Model):
  File "/workspace/venv/lib/python3.12/site-packages/django/db/models/base.py", line 143, in __new__
    new_class.add_to_class("_meta", Options(meta, app_label))
  File "/workspace/venv/lib/python3.12/site-packages/django/db/models/base.py", line 371, in add_to_class
    value.contribute_to_class(cls, name)
  File "/workspace/venv/lib/python3.12/site-packages/django/db/models/options.py", line 243, in contribute_to_class
    self.db_table, connection.ops.max_name_length()
                   ^^^^^^^^^^^^^^
  File "/workspace/venv/lib/python3.12/site-packages/django/utils/connection.py", line 15, in __getattr__
    return getattr(self._connections[self._alias], item)
                   ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/workspace/venv/lib/python3.12/site-packages/django/utils/connection.py", line 62, in __getitem__
    conn = self.create_connection(alias)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/venv/lib/python3.12/site-packages/django/db/utils.py", line 193, in create_connection
    backend = load_backend(db["ENGINE"])
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/venv/lib/python3.12/site-packages/django/db/utils.py", line 113, in load_backend
    return import_module("%s.base" % backend_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/db/backends/postgis/base.py", line 7, in <module>
    from .adapter import PostGISAdapter
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/db/backends/postgis/adapter.py", line 5, in <module>
    from django.contrib.gis.geos import GEOSGeometry
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/geos/__init__.py", line 5, in <module>
    from .collections import (  # NOQA
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/geos/collections.py", line 6, in <module>
    from django.contrib.gis.geos.geometry import GEOSGeometry, LinearGeometryMixin
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/geos/geometry.py", line 8, in <module>
    from django.contrib.gis import gdal
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/gdal/__init__.py", line 28, in <module>
    from django.contrib.gis.gdal.datasource import DataSource
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/gdal/datasource.py", line 40, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/gdal/driver.py", line 5, in <module>
    from django.contrib.gis.gdal.prototypes import ds as vcapi
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/gdal/prototypes/ds.py", line 9, in <module>
    from django.contrib.gis.gdal.libgdal import lgdal
  File "/workspace/venv/lib/python3.12/site-packages/django/contrib/gis/gdal/libgdal.py", line 64, in <module>
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal", "GDAL", "gdal3.6.0", "gdal3.5.0", "gdal3.4.0", "gdal3.3.0", "gdal3.2.0", "gdal3.1.0", "gdal3.0.0", "gdal2.4.0", "gdal2.3.0", "gdal2.2.0"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.

There are libraries that are missing in the dev container.
The database and search engine are not accessible from the dev container.

What state do we want the dev container to be in after it's been started up and attached to by the GitHub web interface?
I think that there are two audiences with different needs:

Developer (frontend, backend, and full-stack)
Non-developer (user testing, documentation writer, etc.)

The non-developer would like to be able to go to the web app and start playing with it; not open a terminal window and type commands in.
The developer should be OK with opening a terminal window and typing in commands.
I think that both can be accomodated.
It's very important that a document that provides guidance be provided so that new contributors can come up to speed quickly and easily.


broken connections on the pool

Relate to https://github.com/redisson/redisson/issues/2043
Expected behavior
When using a fixed connection pool of min=64 and max=64 to every node (masters and slaves) on cluster config. Redisson is able to open a healthy connection pool of 64 to each of the nodes
Actual behavior
Connection never recover
Redis version
4.0.8 and use utils/create-cluster to create local cluster
Redission version
3.11.5
Reproduce step
Redisson configuration
		connectTimeout = 500
		timeout = 100
		masterConnectionMinimumIdleSize = 1 <== just to make it easier to reproduce.
		masterConnectionPoolSize = 1
		slaveConnectionMinimumIdleSize = 1
		slaveConnectionPoolSize = 1
		retryAttempts = 3
		retryInterval = 25
		keepAlive = true
		tcpNoDelay = true
		readMode = MASTER_SLAVE
		pingConnectionInterval = 2000
		nodeAddresses = [
							"redis://<IP_ADDRESS>:30001",
							"redis://<IP_ADDRESS>:30002",
							"redis://<IP_ADDRESS>:30003",
							"redis://<IP_ADDRESS>:30004",
							"redis://<IP_ADDRESS>:30005",
							"redis://<IP_ADDRESS>:30006"
		]
					}

and request controller, each HTTP GET request will fetch 100 keys from Redis cluster in batch mode.
	@GetMapping(path = "/get/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
	public CompletionStage<Map<String, String>> get(@PathVariable("id") int id) {

		Set<String> req = new HashSet<>();
		for (int i = 0; i< 100; i++) {
			req.add("test"+ (id * 100  + i));
		}
		CompletionStage<Map<String, String>> test = myRedisClusterWithPrefix.getAllAsync(req);
		test.thenAccept(mm -> {
			//System.out.println("return "+ mm);
		});
		return test;
	}

stress test 100 concurrency
ab -n 10000  -c 100 http://localhost:8080/rapid-samples-minimal-spring-boot/get/5
just after running about 20 seconds and stop the stress test tool.
then I call curl http://localhost:8080/rapid-samples-minimal-spring-boot/get/5 again
it will already return an error and never recover.
error log is
17:34:10.813 [DEBUG] r.s.o.r.c.ClusterConnectionManager - slot 3699 for api:rapid:test:test560
17:34:10.813 [DEBUG] r.s.o.r.c.RedisExecutor - connection released for command null and params null from slot NodeSource [slot=null, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=1, freeSubscribeConnectionsCounter=value:50:queue:0, freeConnectionsAmount=1, freeConnectionsCounter=value:1:queue:0, freezed=false, freezeReason=null, client=[addr=redis://<IP_ADDRESS>:30004], nodeType=MASTER, firstFail=0]]] using connection RedisConnection@9214847 [redisClient=[addr=redis://<IP_ADDRESS>:30004], channel=[id: 0x25f4bc57, L:/<IP_ADDRESS>:53318 - R:<IP_ADDRESS>/<IP_ADDRESS>:30004], currentCommand=null]
17:34:10.846 [DEBUG] r.s.o.r.c.RedisExecutor - attempt 1 for command null and params null
17:34:10.846 [DEBUG] r.s.o.r.c.RedisExecutor - attempt 1 for command null and params null
17:34:10.881 [DEBUG] r.s.o.r.c.RedisExecutor - attempt 2 for command null and params null
17:34:10.881 [DEBUG] r.s.o.r.c.RedisExecutor - attempt 2 for command null and params null
17:34:10.916 [DEBUG] r.s.o.r.c.RedisExecutor - attempt 3 for command null and params null
17:34:10.917 [DEBUG] r.s.o.r.c.RedisExecutor - attempt 3 for command null and params null
17:34:10.957 [ERROR] c.r.r.e.h.RapidSpringErrorHandler - Unable to process unhandled exception
rapid.shaded.org.redisson.client.RedisTimeoutException: Unable to acquire connection! Increase connection pool size and/or retryIntervalNode source: NodeSource [slot=null, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=1, freeSubscribeConnectionsCounter=value:50:queue:0, freeConnectionsAmount=1, freeConnectionsCounter=value:1:queue:0, freezed=false, freezeReason=null, client=[addr=redis://<IP_ADDRESS>:30005], nodeType=MASTER, firstFail=0]]], command: null, params: null after 0 retry attempts
	at rapid.shaded.org.redisson.command.RedisExecutor$2.run(RedisExecutor.java:191)
	at rapid.shaded.io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:680)
	at rapid.shaded.io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:755)
	at rapid.shaded.io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:483)
	at rapid.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:834)

Connection status, still connected.
~ » lsof -P -p `jps |grep Application |awk '{print $1}'` |grep IPv     |grep 3000                                                         yinchin.chen@P49945
java    14825 yinchin.chen  237u     IPv6 0x3dec6b4ca72da4d1        0t0      TCP localhost:53301->localhost:30001 (ESTABLISHED)
java    14825 yinchin.chen  239u     IPv6 0x3dec6b4ca72dcd11        0t0      TCP localhost:53302->localhost:30006 (ESTABLISHED)
java    14825 yinchin.chen  241u     IPv6 0x3dec6b4ca72db051        0t0      TCP localhost:53303->localhost:30004 (ESTABLISHED)
java    14825 yinchin.chen  243u     IPv6 0x3dec6b4ca72dd2d1        0t0      TCP localhost:53304->localhost:30005 (ESTABLISHED)
java    14825 yinchin.chen  245u     IPv6 0x3dec6b4ca8fb3611        0t0      TCP localhost:53305->localhost:30002 (ESTABLISHED)
java    14825 yinchin.chen  246u     IPv6 0x3dec6b4ca8fb3051        0t0      TCP localhost:53306->localhost:30003 (ESTABLISHED)
java    14825 yinchin.chen  247u     IPv6 0x3dec6b4ca8fb3bd1        0t0      TCP localhost:53309->localhost:30001 (ESTABLISHED)
java    14825 yinchin.chen  248u     IPv6 0x3dec6b4ca8fb4191        0t0      TCP localhost:53311->localhost:30002 (ESTABLISHED)
java    14825 yinchin.chen  249u     IPv6 0x3dec6b4ca8fb4751        0t0      TCP localhost:53307->localhost:30001 (ESTABLISHED)
java    14825 yinchin.chen  250u     IPv6 0x3dec6b4ca8fb2a91        0t0      TCP localhost:53310->localhost:30003 (ESTABLISHED)
java    14825 yinchin.chen  253u     IPv6 0x3dec6b4ca8fb24d1        0t0      TCP localhost:53314->localhost:30005 (ESTABLISHED)
java    14825 yinchin.chen  254u     IPv6 0x3dec6b4ca8fb4d11        0t0      TCP localhost:53315->localhost:30006 (ESTABLISHED)
java    14825 yinchin.chen  255u     IPv6 0x3dec6b4ca8fb1f11        0t0      TCP localhost:53308->localhost:30005 (ESTABLISHED)
java    14825 yinchin.chen  256u     IPv6 0x3dec6b4ca8fb1951        0t0      TCP localhost:53313->localhost:30004 (ESTABLISHED)
java    14825 yinchin.chen  260u     IPv6 0x3dec6b4ca8fb52d1        0t0      TCP localhost:53316->localhost:30006 (ESTABLISHED)
java    14825 yinchin.chen  261u     IPv6 0x3dec6b4ca9512611        0t0      TCP localhost:53312->localhost:30004 (ESTABLISHED)
java    14825 yinchin.chen  277u     IPv6 0x3dec6b4ca9513751        0t0      TCP localhost:53318->localhost:30004 (ESTABLISHED)
java    14825 yinchin.chen  279u     IPv6 0x3dec6b4ca9513d11        0t0      TCP localhost:53319->localhost:30006 (ESTABLISHED)
java    14825 yinchin.chen  380u     IPv6 0x3dec6b4cabc0da91        0t0      TCP localhost:53419->localhost:30005 (ESTABLISHED)

test in single-mode and it doesn't happen.
only in cluster mode.

could reproduce by
package com.rakuten.rapid.sample.minimal.controller;

import org.redisson.Redisson;
import org.redisson.api.BatchOptions;
import org.redisson.api.RBatch;
import org.redisson.api.RedissonClient;
import org.redisson.client.codec.Codec;
import org.redisson.codec.JsonJacksonCodec;
import org.redisson.config.Config;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CompletionStage;

import static com.rakuten.rapid.utils.CommonUtils.uncheckedCast;

public class TestRedis {

	static  RedissonClient client;
	public static void main(String[] args) throws InterruptedException {
		new TestRedis();
	}

	public TestRedis() throws InterruptedException {
		initRedisCluster(); // test cluster
		//initRedisSingle(); // test single
		crash();
		Thread.sleep(10000);
		test();
		Thread.sleep(100000000);
	}

	private void test() {

		new Thread(() -> {
			try {
				while (true) {
					System.out.println("start test");
					try {
						System.out.println("=========== test thread ==================");
						System.out.println("get normal mode " + client.getBucket("api:rapid:test:test10").get());

						get().thenAccept((map) ->{
							System.out.println("get batch mode");
							map.forEach((k, v)-> {
								System.out.print("k:" + k + " v:"+ v + ",");
							});

						});
						System.out.println("end test");
						Thread.sleep(2000);
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}).start();
	}
	private void crash () {

		for (int i =0 ; i< 100 ; i++)  {

			System.out.println("start thread "+ i);
			final int ii = i;
			new Thread(new Runnable() {
				@Override
				public void run() {
					for (int j = 0 ; j < 1000; j++) {
						get();
					}
					System.out.println("finish thread "+ ii);
				}
			}).start();
		}
	}
	private void initRedisSingle() {
		Config config = new Config();
		Codec jsonCodec = new JsonJacksonCodec();
		config.setCodec(jsonCodec);
		config.useSingleServer()
				.setAddress("redis://<IP_ADDRESS>:6379")
				.setConnectTimeout(500).setPingConnectionInterval(2000)
				.setTimeout(100).setRetryAttempts(0).setRetryInterval(20);
		client  = Redisson.create(config);
	}
	private void initRedisCluster() {
		Config config = new Config();
		Codec jsonCodec = new JsonJacksonCodec();
		config.setCodec(jsonCodec);
		config.useClusterServers()
				.setConnectTimeout(500).setPingConnectionInterval(2000)
				.addNodeAddress("redis://<IP_ADDRESS>:30001", "redis://<IP_ADDRESS>:30002", "redis://<IP_ADDRESS>:30003",
						"redis://<IP_ADDRESS>:30004", "redis://<IP_ADDRESS>:30005", "redis://<IP_ADDRESS>:30006")
				.setMasterConnectionMinimumIdleSize(1).setMasterConnectionPoolSize(1)
				.setSlaveConnectionMinimumIdleSize(1).setSlaveConnectionPoolSize(1)
				.setTimeout(100).setRetryAttempts(0).setRetryInterval(20);
		client  = Redisson.create(config);
	}

	public CompletionStage<HashMap<String, String>> get() {
		RBatch batch = client.createBatch(BatchOptions.defaults());

		List<String> keys = new ArrayList();
		for (int i = 0; i< 100; i++) {
			String key = "api:rapid:test:test"+ (5 * 100  + i);
			keys.add(key);
			batch.getBucket(key).getAsync();
		}
		return batch.executeAsync().thenApply(objects -> {
			List<?> responses = objects.getResponses();

			if (responses.size() != keys.size()) {
				throw new IllegalStateException("Cache bulk get returned less keys than requested");
			}
			final Iterator<?> iterator = responses.iterator();

			HashMap<String, String> result = new HashMap<>();
			for (String key : keys) {
				final Object value = iterator.next();
				result.put(key, uncheckedCast(value));
			}
			return result;
		});
	}
}

after crashed,  get by one key still work but doesn't work by fetching in batch mode

Did you stop any Redis node during test execution?

Thanks for the provided test. Unfortunately it didn't help to reproduce the issue.
I attached used java class and log output.
test.log
StressTest.zip

it shows the normal response.
if replace initRedisCluster(); =>   initRedisSingle();
the log didn't show exception  :(
but it also didn't return the result.

Did you stop any Redis node during test execution?

no

in my test I use cluster environment

in my test I use Redis cluster

=========== test thread ==================
end test
start test
=========== test thread ==================

is not normal,
normal response is
=========== test thread ==================
get normal mode testx10end test
get batch mode
k:api:rapid:test:test558 v:testx558,k:api:rapid:test:test559 v:testx559,k:api:rapid:test:test554 v:testx554,k:api:rapid:test:test555 v:testx555,k:api:rapid:test:test556 v:testx556,k:api:rapid:test:test557 v:testx557,k:api:rapid:test:test550 v:testx550,k:api:rapid:test:test551 v:testx551,k:api:rapid:test:test552 v:testx552,k:api:rapid:test:test553 v:testx553,k:api:rapid:test:test547 v:testx547,k:api:rapid:test:test548 v:testx548,k:api:rapid:test:test549 v:testx549,k:api:rapid:test:test543 v:testx543,k:api:rapid:test:test544 v:testx544,k:api:rapid:test:test545 v:testx545,k:api:rapid:test:test546 v:testx546,k:api:rapid:test:test540 v:testx540,k:api:rapid:test:test541 v:testx541,k:api:rapid:test:test542 v:testx542,k:api:rapid:test:test536 v:testx536,k:api:rapid:test:test537 v:testx537,k:api:rapid:test:test538 v:testx538,k:api:rapid:test:test539 v:testx539,k:api:rapid:test:test532 v:testx532,k:api:rapid:test:test533 v:testx533,k:api:rapid:test:test534 v:testx534,k:api:rapid:test:test535 v:testx535,k:api:rapid:test:test530 v:testx530,k:api:rapid:test:test531 v:testx531,k:api:rapid:test:test529 v:testx529,k:api:rapid:test:test525 v:testx525,k:api:rapid:test:test526 v:testx526,k:api:rapid:test:test527 v:testx527,k:api:rapid:test:test528 v:testx528,k:api:rapid:test:test521 v:testx521,k:api:rapid:test:test522 v:testx522,k:api:rapid:test:test523 v:testx523,k:api:rapid:test:test524 v:testx524,k:api:rapid:test:test520 v:testx520,k:api:rapid:test:test518 v:testx518,k:api:rapid:test:test519 v:testx519,k:api:rapid:test:test514 v:testx514,k:api:rapid:test:test515 v:testx515,k:api:rapid:test:test516 v:testx516,k:api:rapid:test:test517 v:testx517,k:api:rapid:test:test510 v:testx510,k:api:rapid:test:test598 v:testx598,k:api:rapid:test:test511 v:testx511,k:api:rapid:test:test599 v:testx599,k:api:rapid:test:test512 v:testx512,k:api:rapid:test:test513 v:testx513,k:api:rapid:test:test594 v:testx594,k:api:rapid:test:test595 v:testx595,k:api:rapid:test:test596 v:testx596,k:api:rapid:test:test597 v:testx597,k:api:rapid:test:test590 v:testx590,k:api:rapid:test:test591 v:testx591,k:api:rapid:test:test592 v:testx592,k:api:rapid:test:test593 v:testx593,k:api:rapid:test:test507 v:testx507,k:api:rapid:test:test508 v:testx508,k:api:rapid:test:test509 v:testx509,k:api:rapid:test:test503 v:testx503,k:api:rapid:test:test504 v:testx504,k:api:rapid:test:test505 v:testx505,k:api:rapid:test:test506 v:testx506,k:api:rapid:test:test587 v:testx587,k:api:rapid:test:test500 v:testx500,k:api:rapid:test:test588 v:testx588,k:api:rapid:test:test501 v:testx501,k:api:rapid:test:test589 v:testx589,k:api:rapid:test:test502 v:testx502,k:api:rapid:test:test583 v:testx583,k:api:rapid:test:test584 v:testx584,k:api:rapid:test:test585 v:testx585,k:api:rapid:test:test586 v:testx586,k:api:rapid:test:test580 v:testx580,k:api:rapid:test:test581 v:testx581,k:api:rapid:test:test582 v:testx582,k:api:rapid:test:test576 v:testx576,k:api:rapid:test:test577 v:testx577,k:api:rapid:test:test578 v:testx578,k:api:rapid:test:test579 v:testx579,k:api:rapid:test:test572 v:testx572,k:api:rapid:test:test573 v:testx573,k:api:rapid:test:test574 v:testx574,k:api:rapid:test:test575 v:testx575,k:api:rapid:test:test570 v:testx570,k:api:rapid:test:test571 v:testx571,k:api:rapid:test:test569 v:testx569,k:api:rapid:test:test565 v:testx565,k:api:rapid:test:test566 v:testx566,k:api:rapid:test:test567 v:testx567,k:api:rapid:test:test568 v:testx568,k:api:rapid:test:test561 v:testx561,k:api:rapid:test:test562 v:testx562,k:api:rapid:test:test563 v:testx563,k:api:rapid:test:test564 v:testx564,k:api:rapid:test:test560 v:testx560,start test
=========== test thread ==================

I don't know why there is no exception.

You don't catch it.
You need to add into get() method:
		batch.executeAsync().exceptionally(e -> {
			e.printStackTrace();
			return null;
		});

I reproduced the issue. Thanks for test case

I reproduced the issue. It affects only RBatch objects in cluster mode. Thanks for test case

Can you inform us which operation or param will trigger this bug and is there any workaround?

comment out this code block:
https://github.com/redisson/redisson/blob/7dc4cfe8341789973fec4e2af67760fa1292a3ca/redisson/src/main/java/org/redisson/command/RedisExecutor.java#L152-L155

Fixed!


added some more training data to the moodbot

The accuracy was not very good. In fact it responded to "I'm sad" with "Great, carry on".
Proposed changes:

...

Status (please check what you already did):

[ ] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog

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

Thanks - good idea. Do you mind signing the contributors agreement please?

Signed it. Yesterday, server was not available when I tried.
Am 20.12.2017 3:06 nachm. schrieb "Tom Bocklisch"<EMAIL_ADDRESS>
:

Thanks - good idea. Do you mind signing the contributors agreement please?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/RasaHQ/rasa_core/pull/140#issuecomment-353071690, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHT9O95ggqtfjWiDumHYmAsLnwoCPG6eks5tCRRYgaJpZM4RHRO7
.

Zhanks a lot 🚀


github actions workflow for publishing documentation

Description
Publish documentation to github pages with a github action
Addresses comments from earlier version: https://github.com/oneapi-src/oneMKL/pull/482

Thank you! I really appreciate the PR!
The built documentation looks different (probably the theme?):

Ping @fitchbe for the command to build documentation.

Hi, @dnhsieh-intel! I recommend referring to the oneMKL DPC++ reference repo (https://github.com/intel-innersource/libraries.performance.math.onemkl.documentation.dpcpp-devref) as a model for set-up and build instructions. Regarding themes, the convention is to use the Sphinx "book" theme for Intel-proprietary product documentation on intel.com (IDZ) and the Sphinx "read-the-docs" theme for open-source projects.

The conf.py is using sphinx_book_theme, but the doc looks like default alabaster to me. I might be missing a plugin in the install.

The built documentation looks different (probably the theme?):

It turns out that the cmake build of the doc was broken. The original 0.1 commit had a conf.py and a conf.py.in. The cmake build used the conf.py.in. After 0.1, there were changes to the conf.py and it is clear that the published documentation was built using it, but not using cmake. I deleted conf.py and put the changes in conf.py.in + some additional changes so the cmake build would work and fixes for some warnings.
There are still some warnings about undefined references. It looks like the API part of the doc needs to be updated.

@dnhsieh-intel : Using the current onemkl versions did not work: https://github.com/oneapi-src/oneMKL/actions/runs/9174663052/job/25225986051
I think it would require pinning all the versions, not just the top level.
I installed the latest versions and did a pip freeze to capture all the dependencies in the requirements.txt. Dependabot will keep them up to date.

Big thanks! It worked when I tested on a local machine, probably because the environment is not "clean enough"...

@Rbiessy, @mkrainiuk : I think this is ready to merge, but needs another approval


dll with RazorPages lead to FileNotFound exception

Is this a Bug or Feature request?:
Its a bug:
I have a dll with Razor views and RazorPages. This dll gets loaded as plugin on Startup() via ApplicationPartManager.ApplicationParts.Add(new CompiledRazorAssemblyPart(assembly)); on my main ASPNET.Core application.
When i access the normal views they get displayed. But the RazorPages lead to
FileNotFoundException: Could not load the specified file.
System.Runtime.Loader.AssemblyLoadContext.ResolveUsingEvent(AssemblyName assemblyName)

FileNotFoundException: Could not load file or assembly 'Tenants.FirstOne, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
System.Signature.GetSignature(Void* pCorSig, int cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
System.Reflection.RuntimePropertyInfo.get_Signature()
System.Reflection.RuntimePropertyInfo.get_PropertyType()
Microsoft.AspNetCore.Mvc.RazorPages.Internal.DefaultPageApplicationModelProvider.CreateModel(PageActionDescriptor actionDescriptor, TypeInfo pageTypeInfo)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.DefaultPageApplicationModelProvider.OnProvidersExecuting(PageApplicationModelProviderContext context)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.DefaultPageLoader.Load(PageActionDescriptor actionDescriptor)
Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvokerProvider.OnProvidersExecuting(ActionInvokerProviderContext context)
Microsoft.AspNetCore.Mvc.Internal.ActionInvokerFactory.CreateInvoker(ActionContext actionContext)
Microsoft.AspNetCore.Mvc.Internal.MvcAttributeRouteHandler+<>c__DisplayClass12_0.<RouteAsync>b__0(HttpContext c)
Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

I am using 2.1.301
Edit: The RazorPages are getting displayed when i add the project of the plugin as project reference to the main project.

Thanks for contacting us, @seriouz.We will need a repro project to investigate this. Can you please share it as a repo in GitHub?
/cc @pranavkm, can you please look into this when a repro will be provided?

Sure, i'll upload a sample project!

Hi @seriouz.
After another review of this ask it seems this is more related to the way module management is organized in your app. At this point, our guidance is to look at a module system such as the one Orchard Core provides. Orchard Core modules allow you to build modules as NuGet packages that can be added to your application on the fly. And you can use them as a low level framework without adopting the entire Orchard CMS infrastructure. Check out https://github.com/OrchardCMS/OrchardCore.Samples to see what this looks like.


[CI] Ensure mac unit and mac interface are running correctly on m1 instance

…comment out part of Jenkinsfile for faster debug
Submission Checklist

[ ] Run unit tests: ./runTests.py src/test/unit
[ ] Run cpplint: make cpplint
[ ] Declare copyright holder and open-source license: see below

Summary
WRT https://github.com/stan-dev/ci-scripts/issues/24 we've got a new M1 instance that we need to test our CI on to ensure everything is working fine.
Intended Effect
How to Verify
Results should be consistent with the older Mac Instance.
Side Effects
Documentation
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Toptal
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

I think it is probably a newer version of clang which is emitting deprecation warnings.
The right thing to do is probably have the quality gate ignore anything which is under lib/ (meaning all of math, and math's dependencies)

Huh, it seems like the formatting of the output values is different (the numbers themselves look correct)

I think the cleanest solution would be to ignore the category ,excludeCategory.
Seems to be working fine.

I think we would still this to fail if we are using deprecated functions in code we control, though. So using excludeFile (which claims it accepts a pattern, so maybe ./lib/**/* will work?) or something else seems better

I don't know why I thought a pattern won't work in excludeFile -.- seems to work fine, thanks!
I'll uncomment to make this ready.

Is there any reason not to have the label request just be osx after this? In theory it would be fine for either the newer or older machine, no?


Introduce workflow for codecov upload

Codecov Report

Merging #3787 (08d0e6b) into main (4801d37) will not change coverage.
Report is 3 commits behind head on main.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #3787   +/-   ##
=======================================
  Coverage   61.80%   61.80%
=======================================
  Files         513      513
  Lines        9925     9925
  Branches     2168     2168
=======================================
  Hits         6134     6134
  Misses       3788     3788
  Partials        3        3

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4801d37...08d0e6b. Read the comment docs.