Compression stage issues

That being said, I got a little stuck at the compression stage. The stage said to handle input compression handling, but I also handled the case of sending packets compressed. It worked for all stages right up until the compression stage. I don't know if it was my implementation or the validator that was the incorrect party here. As the utilities that are installed on my machine does not send more than 1 question per packet. I did get through the stage by disabling sending back compressed packets.

Went digging why this could be happening and I was not able to replicate this. Can we ask the person reporting this issue to comment steps to reproduce?
Here are the steps I followed. I responded with a fixed data for stage-6 (handling compressed data).
Used this data:

request id 1234
question 1 -> abc.longassdomainname.com.
question 2 -> def.longassdomainname.com.

Responded with the following data. Also, added the changes you need to make it into a question i.e. what the tester was sending.
                let response_buffer = vec![
                    4, 210, // id
                    129, 132, // flags (when it is a question this is 1, 0)
                    0, 2, // question count
                    0, 2, // answer count (when it is a question this is 0, 0)
                    0, 0, // authority count
                    0, 0, // additional count
                    // Questions
                    // question 1
                    3, 97, 98, 99, 17, 108, 111, 110, 103, 97, 115, 115, 100, 111, 109, 97, 105,
                    110, 110, 97, 109, 101, 3, 99, 111, 109, 0, // abc.longassdomainname.com.
                    0, 1, 0, 1, // type and class
                    // question 2
                    3, 100, 101, 102, 192, 16, // def.longassdomainname.com. (jump)
                    0, 1, 0, 1, // type and class
                    // ----------------question truncates here.
                    // Answers
                    // answer 1
                    192, 12, // abc.longassdomainname.com. (jump)
                    0, 1, 0, 1, // type and class
                    0, 0, 1, 25, // ttl
                    0, 4, // len
                    216, 58, 211, 142, // ip
                    // answer 2
                    192, 43, // def.longassdomainname.com. (jump)
                    0, 1, 0, 1, // type and class
                    0, 0, 1, 25, // ttl
                    0, 4, // len
                    216, 58, 211, 142, // ip
                ];

The tester properly parsed this compressed packet. Can you share the exact byte sequence that your program responded with for which the tester was unable to parse this data?

Hello, this is the output for the compression stage. Sorry I can't format it as above, but I have to get going elsewhere.
--- Begin Input ---
5a 37 01 00 00 02 00 00 00 00 00 00 03 61 62 63 Z7...........abc
11 6c 6f 6e 67 61 73 73 64 6f 6d 61 69 6e 6e 61 .longassdomainna
6d 65 03 63 6f 6d 00 00 01 00 01 03 64 65 66 c0 me.com......def.
10 00 01 00 01                                  .....
--- End Input ---
--- Begin Output ---
5a 37 81 00 00 02 00 02 00 00 00 00 03 61 62 63 Z7...........abc
11 6c 6f 6e 67 61 73 73 64 6f 6d 61 69 6e 6e 61 .longassdomainna
6d 65 03 63 6f 6d 00 00 01 00 01 03 64 65 66 c0 me.com......def.
10 00 01 00 01 c0 0c 00 01 00 01 00 00 01 f4 00 ................
04 08 08 08 08 c0 2c 00 01 00 01 00 00 01 f4 00 ................
04 08 08 08 08                                  .....
--- End Output ---

Full Logs
[stage-7] Running tests for Stage #7: Parse compressed packet
remote: [stage-7] Starting DNS server on <IP_ADDRESS>:2053
remote: [stage-7] Running program
remote: [stage-7] DNS resolver listening on <IP_ADDRESS>:5354
remote: [stage-7] Connecting to <IP_ADDRESS>:2053 using UDP
remote: [your_program] --- Begin Input ---
remote: [your_program] 0a 70 01 00 00 01 00 00 00 00 00 00 0c 63 6f 64 .p...........cod
remote: [your_program] 65 63 72 61 66 74 65 72 73 02 69 6f 00 00 01 00 ecrafters.io....
remote: [stage-7] Querying the following in the same request (Messages with >> prefix are part of this log)
remote: [stage-7] >> ;abc.longassdomainname.com.	IN	 A
remote: [stage-7] >> ;def.longassdomainname.com.	IN	 A
remote: [stage-7] Sending Request: (Messages with >>> prefix are part of this log)
remote: [stage-7] >>> ;; opcode: QUERY, status: NOERROR, id: 23095
remote: [stage-7] >>> ;; flags: rd; QUERY: 2, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
remote: [stage-7] >>>
remote: [stage-7] >>> ;; QUESTION SECTION:
remote: [stage-7] >>> ;abc.longassdomainname.com.	IN	 A
remote: [stage-7] >>> ;def.longassdomainname.com.	IN	 A
remote: [stage-7] >>>
remote: [your_program] 01                                              .
remote: [your_program] --- End Input ---
remote: [your_program] --- Begin Output ---
remote: [your_program] 0a 70 81 00 00 01 00 01 00 00 00 00 0c 63 6f 64 .p...........cod
remote: [your_program] 65 63 72 61 66 74 65 72 73 02 69 6f 00 00 01 00 ecrafters.io....
remote: [your_program] 01 c0 0c 00 01 00 01 00 00 01 f4 00 04 08 08 08 ................
remote: [your_program] 2023-11-26T23:17:47.071069Z TRACE dns_request{source=<IP_ADDRESS>:45482}: dns_starter_rust: section="question" domain_name=codecrafters.io. type=A class=IN
remote: [your_program] 08                                              .
remote: [your_program] --- End Output ---
remote: [your_program] --- Begin Input ---
remote: [your_program] 5a 37 01 00 00 02 00 00 00 00 00 00 03 61 62 63 Z7...........abc
remote: [your_program] 11 6c 6f 6e 67 61 73 73 64 6f 6d 61 69 6e 6e 61 .longassdomainna
remote: [your_program] 6d 65 03 63 6f 6d 00 00 01 00 01 03 64 65 66 c0 me.com......def.
remote: [your_program] 10 00 01 00 01                                  .....
remote: [your_program] --- End Input ---
remote: [your_program] --- Begin Output ---
remote: [your_program] 5a 37 81 00 00 02 00 02 00 00 00 00 03 61 62 63 Z7...........abc
remote: [stage-7] DNS query failed: dns: bad rdata.
remote: [stage-7] If you are seeing this after a while then it is likely that your server is not responding with appropriate id
remote: [stage-7] Shutting down DNS resolver server...
remote: [stage-7] Test failed
remote: [stage-7] Terminating program
remote: [your_program] 11 6c 6f 6e 67 61 73 73 64 6f 6d 61 69 6e 6e 61 .longassdomainna
remote: [your_program] 6d 65 03 63 6f 6d 00 00 01 00 01 03 64 65 66 c0 me.com......def.
remote: [your_program] 10 00 01 00 01 c0 0c 00 01 00 01 00 00 01 f4 00 ................
remote: [your_program] 04 08 08 08 08 c0 2c 00 01 00 01 00 00 01 f4 00 ................
remote: [your_program] 04 08 08 08 08                                  .....
remote: [your_program] --- End Output ---
remote: [your_program] 2023-11-26T23:17:47.071742Z TRACE dns_request{source=<IP_ADDRESS>:42131}: dns_starter_rust: section="question" domain_name=abc.longassdomainname.com. type=A class=IN
remote: [your_program] 2023-11-26T23:17:47.071749Z TRACE dns_request{source=<IP_ADDRESS>:42131}: dns_starter_rust: section="question" domain_name=def.longassdomainname.com. type=A class=IN
remote: [stage-7] Program terminated successfully

@ocpu no problem! Thanks for getting back and closing the loop here 🙂


POX Controller goes down with "Exception reading connection None" when run in background

I'm conducting research using Mininet and the POX controller running locally in the same VM. To this end, I'm trying to launch the POX controller as a background process from a Bash script but the controller just shuts down as soon as I launch it this way.
For troubleshooting purposes, I was able to reproduce the issue using the following simple Bash script.
I run:
#!/bin/bash

cd pox/
sudo ./pox.py --verbose py forwarding.l2_learning host_tracker openflow.discovery openflow.of_01 --port=6633 &
wait
echo "Done"

The output I get is:
mininet@mininet-vm:~$ sudo ./s.sh
mininet@mininet-vm:~$ POX 0.7.0 (gar) / Copyright 2011-2020 James McCauley, et al.
INFO:host_tracker:host_tracker ready
DEBUG:core:POX 0.7.0 (gar) going up...
DEBUG:core:Running on CPython (3.6.9/Jan 26 2021 15:33:00)
DEBUG:core:Platform is Linux-4.15.0-159-generic-x86_64-with-Ubuntu-18.04-bionic
WARNING:version:Support for Python 3 is experimental.
INFO:core:POX 0.7.0 (gar) is up.
DEBUG:openflow.of_01:Listening on <IP_ADDRESS>:6633
Ready.
POX>
INFO:core:Going down...
INFO:core:Down.
ERROR:openflow.of_01:Exception reading connection None
Traceback (most recent call last):
  File "/home/mininet/pox/pox/openflow/of_01.py", line 1084, in run
    rlist, wlist, elist = yield Select(sockets, [], sockets, 5)
GeneratorExit
DEBUG:openflow.of_01:No longer listening for connections
Done

How can I successfully launch the POX controller and keep it running until I'm ready to kill it?
Thank you.

You're running the "py" component, which makes it interactive.  But then you're not running it interactively, so it has no stdin, so it shuts down.
Just remove the "py" from your command line.
As a sidenote, you may be interested in the misc.pidfile component, which can make it easier to kill later.

Thank you for the prompt reply!
I tried that but got:
sudo: pox: command not found
It seems, according to the docs, that I need the .py.
Am I missing something?

The other py in your commandline. :) The one following --verbose.  That's the one which runs the "py" component.

It just hit me haha! I'll try that, thanks.


I cannot edit by selecting different language.

I have tested in localhost and cannot edit by selecting different language.

As non Admin user, you need to be in a Space named as the language Code e.g. "DE"


Prompt users to not use spaces with project names

This issue deals with enhancing CLI Tools UX.
It may not be clear for users creating a new project to not add spaces or quotes with the project name. For example:
tbs project create --name 'Slack Project' --privacy false

Returns:
{
    "collaborators": [
        "foo"
    ],
    "id": "42fa4dec-5d1a-4e91-be08-ab5ee8d7a63a",
    "last_updated": "2017-07-26T17:29:07.303480Z",
    "name": "Slack",
    "owner": "foo",
    "private": true
}

If the user would like to add the project name with spaces, he/she may be inclined to add quotes:
tbs project create --name 'Slack Project' --privacy false

Returns:
Error: There was an error creating project: [POST /v1/{namespace}/projects/][400] projectsCreateBadRequest  &{Collaborators:[] Description:[] ID:[] LastUpdated:[] Name:[You can use only alphanumeric characters.] NonFieldErrors:[] Owner:[] Private:[]}

I tested and verified that the desired behavior is now present. Closing.


Use predicate on primitives

Hi,
I don't know if it's the right place to post this, but I made some researches online and I couldn't find an answer, so I though to go straight to the source.
I'm using JsonPath to define a filter condition in Confluent SMT Filter
In particular I would like to filter the messages applying the predicate on the keys (that are simple strings).
I tried many combination here but none of them seem to work.
Below an example of what I'm talking about:
JSONPath: $[?(@ =~ /.*2048-.*/)]
Input:    "31:-2048-12-12:PIA"

Since a string is a valid JSON, I thought it could be very simple to do so, but maybe I'm wrong and this behaviour it's not even implemented.
Hope you guys can help me
Best regards
Mauro
EDIT
I also tried here and I get this error:
Filter: [?] can not be applied to primitives. Current context is: 31:-2048-12-12:PIA

Does someone know if there is a way to filter on primitives, if it's a feature in roadmap or if exists a workaround?

Hi there. I make an little experiment, and find that '?' can only be applied to an array or a map, not a primitive.
Why? Because it's a filter, which means filter some elements from a container, and cannot be applied to a primitive.
Confluent filters deem each record as an element in a stream and the stream itself a container, so '?' can be used; but a single String cannot.
You can test it like this:
DocumentContext parse = parse("{\"name\": [\"31:-2048-12-12:PIA\"]}");
System.out.println(parse.read("$.name[?(@ =~ /.*2048-.*/)]", String[].class)[0]);


Timeunit is off by 1000x

Should've used us instead of ms for time unit display

Hi, I met the error below, I think it might be caused by this issues.
While importing:
Error: Unit us is not supported.
    at TraceEventImporter.storeDisplayTimeUnit_ (chrome://tracing/tracing.js:6336:495)
    at new TraceEventImporter (chrome://tracing/tracing.js:6272:90)
    at Import.createImporter_ (chrome://tracing/tracing.js:2023:8)
    at chrome://tracing/tracing.js:2015:167
    at Task.run (chrome://tracing/tracing.js:3266:95)
    at runAnother (chrome://tracing/tracing.js:3269:371)
    at runTask (chrome://tracing/tracing.js:3031:57)
    at processIdleWork (chrome://tracing/tracing.js:3036:116)
    at window.requestIdleCallback.timeout (chrome://tracing/tracing.js:3029:81)

Hi @lucasleesw , thanks for submitting the issue.
This is a bug that I will fix today. However, fixing the bug does not fix the underlying issue(which was the cause of this bug) - Perfetto is not fully backward-compatible with the Catapult trace viewer(which is what chrome://tracing is).
Could you tell me why are you using chrome://tracing instead of vizviewer or Perfetto, or the HTML output which is actually legacy UI. In my point of view, chrome://tracing has no advantage now.
For many reasons, we are transitioning to Perfetto(vizviewer) from Catapult trace viewer, and I'll try to make the transition as smooth as possible. But if there is a compatibility issue, you should expect the json file works on Perfetto, not Catapult trace viewer(chrome://tracing).
In the future when everything is mature, I'll probably move chrome://tracing out of supported tools unless I can make it reasonably work and there's a good reason to leave it there.
Please let me know if you have more problems!

Thanks for your detailed response. I change the version to 0.12.0 and every thing works fine for me. You are right that I could give up chrome://tracing and tune to vizviewer. I think the only reason is that the viztracer is installed in the server and I want to check the trace in my personal computer without connection to the server. But in this case HTML output should works fine as well and I will try that. Thank you again for your valuable explanation.

@lucasleesw I would not recommend using an old version, as there might be known bugs. However, if an older version works for you, it's totally up to you if you want to use that. Just keep in mind that, as of now, there won't be any bug fixes merging back to old version.
It's a valid reason that you want to open the report on your personal computer. There are a couple of suggestions:

Use https://ui.perfetto.dev instead of chrome://tracing
Install viztracer locally and use vizviewer to view the json report generated from the server
As you said, use HTML output, even though it would be MB-level larger than json file

Hope this answers your question!


🐛 [Bug] TS test_runtime_thread_safety failed

Bug Description
In TRT 10.3 upgrade, TorchScript tests/cpp/test_runtime_thread_safety.cpp failed due to the error:
[  FAILED  ] CppAPITests.RuntimeThreadSafety
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: 1.000000
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: 1.000000
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: -0.017096
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: 1.000000
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: -0.010219
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: 1.000000
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: 1.000000
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: 1.000000
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: 1.000000
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
[Torch-TensorRT - Debug Build] -
[Torch-TensorRT - Debug Build] - Cosine Similarity score: 1.000000
[Torch-TensorRT - Debug Build] - Acceptable Threshold: 0.990000
tests/cpp/test_runtime_thread_safety.cpp:84: Failure
Value of: flag
Actual: false
Expected: true
To Reproduce
bazel test //tests/cpp:test_runtime_thread_safety --compilation_mode=dbg --test_output=all --test_timeout=8000 --jobs 4 --config=pre_cxx11_abi --cxxopt='-std=c++17'

@zewenli98 can you rebase on main and test again? There were some fixes for the runtime recently

Thanks. I confirm this bug was fixed.


Vim suspends in some times

I'm using yadr in Mac and Debian at the same time. But sometimes especially in hidden files (dotfiles) it crashes and suspends immediately. and all command prompt goes down until opening a new terminal
~ ❯❯❯   vim .yadr/git/gitconfig
.yadr/git/gitconfig" 134L, 4252C[1]  + 25862 suspended (tty output)  vi .yadr/git/gitconfig

When I open same file's link in my home ~/.gitignore it dont gives me any error.
And also I use vim as commit editor. It also crashes on editing a commit message.
I use it in both OS'es Mac and Debian

When I use CTRL-D or CMD-D it runs as well but when I enter :wq or :q it closes terminal as well

I tried also in tmux. Same issue.

Uploading myVim.log…

 3522 autocommand if g:colors_name != "solarized" | silent! aunmenu Solarized | else | call SolarizedMenu() | endif
 3523
 3524 autocommand if g:colors_name != "solarized" | silent! aunmenu Solarized | else | call SolarizedMenu() | endif
 3525
 3526 Error detected while processing ColorScheme Autocommands for "*":

@Zaryob That's quite old and nasty bug.  As per this comment, you may want to add to ~/.vimrc.after
" use login shell instead of interactive shell
if executable('zsh')
  set shell=/usr/bin/zsh\ -l
endif

Worked for me.


Bug: No volume unless bypass enabled after previous update

Describe the bug
Since the most recent update, while running eqMac, volume only plays with bypass enabled. With bypass enabled, volume will only play (for less than one second) when switching the output source or clicking the 'Reset Audio Engine' button.
Steps to Reproduce
Steps to reproduce the behaviour (feel free to change the placeholder as you need):

Does not matter if audio is playing before or after eqMac is opened
audio will stop, but progress bar on music apps will continue to move
enable bypass for audio to resume
OR, click 'Reset Audio Engine' or change output source for audio to resume for one second, then stop again

Expected behaviour
For audio to play as normal and allow me to use eqMac as intended
Setup information:

Audio device used for playback: Logitech desktop speakers OR various bluetooth headphones/earbuds
Audio transmission interface: 3.5mm Jack OR Bluetooth
macOS Version: Ventura 13.2 (b)
eqMac Version (Driver): 2.4.0
eqMac Version (App): 1.7.4

Additional information
I have been using the free version of eqMac for a few years now, and this is the first time I have ever had any sort of issue with the application.

+1, I am having this exact same issue. The bug described is identical to my experience.

I fixed it. Well, this worked for me. I removed any and all files/directories relating to eqMac. I have, however, lost all of my presets because of this. :(
Make sure you export them before doing this! I wish I did...
# Delete the app
rm -rf /Applications/eqMac.app

# Delete the audio driver
sudo rm -rf /Library/Audio/Plug-Ins/HAL/eqMac.driver/

# Delete all of this output
# Take care of the directory names with spaces in them. They won't get deleted with this command.
sudo find /Users/${USER}/Library -iname "*eqmac*" | xargs sudo rm -rf

# I had to change directory to remove this one for some reason
cd "/Users/${USER}/Library/Application Support/"
sudo rm -rf com.bitgapp.eqmac

Keep running the find commands until there is nothing left. Quit (not stop) anything that would be using your audio driver (spotify/youtube web browser, for example).
Then reinstall (I use brew install eqmac).
Now I need to set up all of my eq presets again :/
Hope this helps others.

+1 really would like a fix that doesnt require complete install

@Hickory420 thanks for instructions. Helped in my case as well ;)

Seems like cleaning eqMac up and reinstall it worked. I would close this issue for now.


Syntax error in new version

https://github.com/ganlanyuan/tiny-slider/blob/63e2cf22ecf8afb443cbeb1015097b4a03252581/src/helpers/calc.js#L12
There is a small syntax error in the new version that is breaking everything: a semicolon at eol, which causes div to not be defined.

Oh, yes, thanks.
I will update this tomorrow.
Sent from ProtonMail mobile
-------- Original Message --------
On Oct 2, 2017, 10:17 PM, Matheus Grieger wrote:

https://github.com/ganlanyuan/tiny-slider/blob/63e2cf22ecf8afb443cbeb1015097b4a03252581/src/helpers/calc.js#L12
There is a small syntax error in the new version that is breaking everything: a semicolon at eol, which causes div to not be defined.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you!

Fixed in v2.2.2.


Integrate the utility ZoomIt from Sysinternals

Description of the new feature / enhancement

Consider integrating the following utility into PowerToys:

https://learn.microsoft.com/en-us/sysinternals/downloads/zoomit
Scenario when this would be used?

Specially for meetings in Microsoft Teams when you need to share the screen
It is very useful to write notes and explain concepts / details better during meetings

Supporting information
No response

/dup #149


Doesn't work with multiple files like the example in the web docs.

The website that shows basic usage for deno doc shows the following example:
$ deno doc --html --name="My library" ./sub1/mod.ts ./sub2/mod.ts

Which “supposedly” generates the HTML documentation for such two mod files. This doesn't happen when using the following command:

For a single file the command works fine:

$ deno doc --html --name=MyLibrary --output=./docs ./lib/mod.ts

Problem starts when using more than one file to generate docs:

$ deno doc --html --name=MyLibrary --output=./docs ./lib/mod.ts ./types/mod.ts

This is better shown using the --lint flag if your library is not 100% documented:
Single file usage
Task lint-docs deno doc --html --lint --name=SLSy --output=./docs ./lib/mod.ts
error[private-type-ref]: public type 'Slsy.prototype.slsy' references private type 'Request'
  --> ./lib/mod.ts:77:5
   |
77 |     public slsy(request: Request, response: Response): Response {
   |     ^
   = hint: make the referenced type public or remove the reference
   |
38 | export class Request {
   | - this is the referenced type

  info: to ensure documentation is complete all types that are exposed in the public API must be public

error[private-type-ref]: public type 'Slsy.prototype.slsy' references private type 'Response'
   --> ./lib/mod.ts:77:5
    |
 77 |     public slsy(request: Request, response: Response): Response {
    |     ^
    = hint: make the referenced type public or remove the reference
    |
113 | export class Response {
    | - this is the referenced type

  info: to ensure documentation is complete all types that are exposed in the public API must be public

error: Found 2 documentation lint errors.

Multi file usage
Here Deno just goes blind:
Task lint-docs deno doc --html --lint --name=SLSy --output=./docs ./lib/mod.ts ./types/mod.ts
Written 70 files to "./docs"

I also noticed running the command multiple times results in different results without touching code at all. Here's a screenshot for proof:

I modified my deno.json to print the time when the commands were excecuted:

I checked this with the following variations:

Using --lint and omitting --lint
Terminal Command (Just in case it was the name="" section)
deno.json task.
Regexps/patterns to include all .ts files (Didn't work)

System information

Deno 1.43.6 installed from Deno website
OS: Gnu/Linux x86_64

I read some issues here but couldn't find something similar. I did not read all issues though.
Any ideas on how to fix this? :thinking:

Update:
I suspected this was due to my library desing where lib/ and types/  were in the same level. After adjusting it to lib/ and lib/types/ the reproducibility error is still present.


Upgrading to go v1.9 causes execution to hang at gathering facts

Is this a BUG REPORT or FEATURE REQUEST?:
A bit of both?
What happened:
Glide v0.11.1 fails on macOS 10.13.0.
Upgrading Glide to v0.12.3 requires go v1.9 to handle dependencies properly.
Go 1.9 causes the execution of ./kismatic install apply to hang during Gathering facts (possibly related to #635).
What you expected to happen:
I just want to spin up a cluster man.

Vagrant

OS (e.g. from /etc/os-release):
macOS 10.13.0 High Sierra

Kernel (e.g. uname -a):
Darwin 17.0.0

This only seems to happen on vagrant.

@emmetthitz i ran this from Master and didn't seem to get an issue.

Yeah, I'm going to close this.

I was going to do a PR to upgrade to using Golang 1.9.2, happy for me to do this?

👍


#13398: Dataparallel suppport for MNIST model

Ticket
Link to the GitHub Issue
Problem description
Data Parallel implementation for MNIST model- WIP.
What's changed
TheMNIST model is configured to run on either N150 or N300, depending on the available machine.
Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] Device performance regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

You have not had a successful device perf run yet. You can move up the invocation of your test in the script to validate, since there are currently issues with that pipeline in main.
Your e2e perf test seems to have a tight bound. You had to re-run to get it to pass.

@tt-rkim
I have moved the test invocation earlier in the script for validation, as suggested. I’ve triggered the CIs, and I’ll post the links as soon as I have them.

CI links:

(Single-card) Demo tests  :
- n150 (mnist passed)
- n300(mnist passed)
- n300performance<Fail -CompleteRunner>
Nightly fast dispatch tests : (mnist passed)
- e150
- n150
- n300
All post commits :
- link
(single card )device perf :
- e150<Fail -CompleteRunner> ,
- n300 (In progress)
(Single card) Model perf -
- Link (updated and re-triggered this failed CI)

Please let us know once you have device perf passing for WH
Will reboot GS device perf machine
In models perf: you have an error: ERROR: file or directory not found: models/demos/wormhole/mnist/tests/test_perf_mnist.py

Why are there so many ONNX errors? So weird...
I've retried both single card perf pipes

I'm also unsure about the source of the ONNX errors—it’s definitely unusual. I have re-triggered the CIs, but the issue continues to persist specifically in my branch. I'll keep looking into it. Please let me know if you have any suggestions or specific areas to focus on.

Do you still see it now?
We were seeing network errors last night

It seems that everything is fine with the main. I've resolved the conflicts and triggered the CIs, but the issue still persists.

Have you tried locally on your branch?
Please try tests/ttnn/integration_tests/bert_tiny/test_bert_tiny.py

Currently blocked due to reshape issue: https://github.com/tenstorrent/tt-metal/issues/15422 (expected to be fixed by this week, as mentioned by @naif)
cc: @boris-drazic , @uaydonat , @tt-rkim


feature-wip(step2) FE support Arrow Flight server

Proposed changes
This is a POC, the design documentation will be updated soon
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

build all

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall


Create khm.txt

official and only university domain: khm.de
https://en.khm.de/exMedia_experimentelle_informatik/  #experimental informatics course
all email addresses (students and staff) have the format of<EMAIL_ADDRESS>- see i.e. https://en.khm.de/lehrende/id.21401.prof-dr-georg-trogemann/

@stucksubstitute Pull request merged. Thank you!


tiltfile2: basic test for loading a docker compose manifest

@maiamcc any other assertions I should add for this basic test?
I also changed the docker compose yaml path to be absolute to match how we treat other files that we read and store in memory.

hmm do we want a docker compose client that we can mock out for tests so we don't actually have to call dc?

@maiamcc in my opinion not right now- we only use docker-compose here to read the YAML, not do any execution. It's similar to how this test suite depends on kustomize. But probably in the Upper we'll want a mock, yeah.

@maiamcc in my opinion not right now- we only use docker-compose here to read the YAML, not do any execution. It's similar to how this test suite depends on kustomize. But probably in the Upper we'll want a mock, yeah.

docker-compose config VALIDATES the config as well as reading it so it does rely on our test fixture having a valid DC setup, which is maybe not ideal / muddies the test / makes set up more of a pain? but also eh, i agree that we can wait til we need it.


Add Uniquifier to rename downloads with the same name

Description
Uses base::GetUniquePath(target_path) to "uniquify" a given filepath.
For example:
If hello.jpeg already exists, then it will append (1) before the extension = hello (1).jpeg
For hello (1).jpeg it will increment the unique number.
Limitations
This is limited to 100, see kMaxUniqueFiles in the file GetUniquePath() is in.
See here for more limitations of this solution.
Proof it works:
https://user-images.githubusercontent.com/20916043/191872921-c498e9d1-64b2-4074-83a2-76d997e823cb.mov

I found an interesting function with an ANDROID Build flag: https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/download/chrome_download_manager_delegate.cc;l=1497;drc=a432cd59d51281057ba2a2673ca645a9600bb927?q=OnDownloadTargetDetermined

CreateReservation also has a bunch of ANDROID flags and this deals with possibly uniquifying the path as well: https://source.chromium.org/chromium/chromium/src/+/main:components/download/internal/common/download_path_reservation_tracker.cc;l=346;drc=a432cd59d51281057ba2a2673ca645a9600bb927

A few days ago, I actually found a really good uniquifer function that renames using a timestamp when the appended number is too big (greater than 100).
However, I'm failing to figure out how to activate it as it is never called according to my log statements.


Why GPLv3?

Just wanted to know why you changed the license from MIT to GPL v3 on November 11th 2018?
Maybe you can share your thoughts on this?
GPLv3 definitly limits the potential usage of the library (aside from hobby activities), since this kind of license is very restrictive.
Personally I have been considering to use that library for an upcoming app... but unfortunately I would have to use quite old source code as a starting point that was still under MIT. Not sure if it is really worth the effort to do so. But disclosing my whole app's source is definitly also no option for me.

Since I do only need small portions of the overall functionality anyway, I will most likely write my own implementation based on the protocol description.
GPLv3 is incompatible with most of the permissive licenses (e.g. Apache 2.0), so I'd not be able to use it along with other libraries I depend on.
BTW, BouncyCastle is licensed under MIT, which I would also consider to be incompatible with GPLv3. That alone would be reason enough for you to consider re-licensing under MIT.

You are right, GPL v3 is way too restrictive.
The license was changed to MIT.

https://www.youtube.com/watch?v=I25UeVXrEHQ


Resources Sections to the bottom

I don't like 'Resources' as a section title, I don't think it describes what is in that section or why it is there.
We need a title that makes clear what the purpose of that section is, i.e. it's to help people new to these technologies.

I've renamed the "Resources" section to "Community Resources" like the React people has → https://reactjs.org/community/support.html
I think is generic and targeted enough so we can add inside more interesting resources for the community
We could add inside for example a "Team" section where we could explain who the DevRel Team are, some key contributors to the code, some key contributors to the community, and so on

Hmm, Community Resources implies a list of links to things that other people have done, which is what the React one is. The JavaScript and React sections aren't really community resources as they've been produced in-house.
It's a good idea to have a 'Community Resources' section with relevant external links like the React one does, but I'm not sure the JS and React sections belong under it.

@mburridge I think you're right "Community Resources" implies resources done by the Community
In that case, I think just "Resources" is generic enough to include these "Javascript" & "React" sections that are not directly related to the Frontity product
Inside this "Resources" section we also can include some "resources" related to:

Git & Github → https://github.github.com/training-kit/downloads/github-git-cheat-sheet/
CSS-in-JS as it is an important part of how frontity handles styles
Isomorphic apps  → as it is what a React Frontity app really is
Wordpress Custom Fields  → as it is something you can use to really enhance a Frontity site

OK, let's go with "Resources" for now. We can always change it if we think of a better title later on.
I like the idea of adding additional content here such as you suggest in your bullet list. 👍


TCPPortMapper Client inits with the PortMapperVersion type instead of a value

Trying a TCP connection to an Agilent, I got stopped by a packing error:
[...]
    p.pack_callheader(xid, self.prog, self.vers, proc, cred, verf)
  File "/usr/local/lib/python2.7/dist-packages/pyvisa-py/protocols/rpc.py", line 144, in pack_callheader
    self.pack_uint(vers)
  File "/usr/lib/python2.7/xdrlib.py", line 54, in pack_uint
    self.__buf.write(struct.pack('>L', x))
struct.error: cannot convert argument to integer

After some investigation I noticed that "vers" was a PortMapperVersion (the type, not a value), so it wouldn't pack like an integer, and it was being inserted as self.vers in the Client class from here:
class TCPPortMapperClient(PartialPortMapperClient, RawTCPClient):
    def __init__(self, host):
        RawTCPClient.__init__(self, host, PMAP_PROG, PortMapperVersion, PMAP_PORT)
        PartialPortMapperClient.__init__(self)

Shouldn't this be a value?

I have just merged a PR of TCPIP Does it work for you?

Works for me!


Deploying full Entra ID (AAD) catalog in DAAS

Hi
We are trying to deploy a machine catalog on Azure, using native Azure AD.
The code seems to work, the machines are created and register, but we have an error message and it seems terraform stops the deployment, therefore skipping the next items (DVG, apps, policies, …)
_**When applying changes to citrix_machine_catalog.AZ-ITOR-POOL, provider "provider("registry.terraform.io/citrix/citrix"]" produced an unexpected new
value: •provisioning_scheme.machine_domain_identity: was null, but now cty.ObjectVal(map[string)cty.Value{"domain":cty.NullVal(cty. strinmin_ou":cty.MullVal (cty.String), "service_account" cty. NulVal (cty.String), "service account_password":cty.ulVel (cy.String))
This is a bug in the provider, which should be reported in the provider’s own issue tracker**_.
As we use AAD, the machine_domain_identity schema is not appropriate and seems to cause this error, but we couldn’t find the correct parameters for our use case
thanks for your help
Best regards

Hi @lordavid86,
Thank you for bringing this issue to our attention. We are looking into fixing this issue and it should be available in the next release.
Aneesh

Thank you !
I have another question related to this scenario we are trying to achieve. When restricting access to apps or desktops, what is the correct format for username ? We tried<EMAIL_ADDRESS>and<EMAIL_ADDRESS>as doc specify to use domain\user but it returns an error
Thanks
Regards

Hi @lordavid86,
For now, we only support restricting users from Active Directory. We are working on supporting users from Azure AD and also add the missing parameters that you mentioned. These will be available in a future release.
We will tag this as a bug to fix the original issue first. Once we have the bug fix, we will change it to enhancement.
Thanks,
Aneesh


I seem to be running into network problems?

When I configure the environment to run the script there is a problem：

This is information about my environment.

How should I solve this problem, please?

Hi @ooooooover, what happens if you switch to another port, e.g. set "master_port" in the script to 01097?

Thank you for replying so quickly!
But I still report the original error after setting master_port to 01097, here's my script, I set batch_size to 1 for convenience

Do I need to use a vpn?

Hi @ooooooover, what happens if you switch to another port, e.g. set "master_port" in the script to 01097?
Thank you for replying so quickly!
But I still report the original error after setting master_port to 01097, here's my script, I set batch_size to 1 for convenience

Do I need to use a vpn?

Hi @ooooooover, what happens if you switch to another port, e.g. set "master_port" in the script to 01097?

Thank you for replying so quickly!
But I still report the original error after setting master_port to 01097, here's my script, I set batch_size to 1 for convenience

Do I need to use a vpn?

I am not sure. Below are some possible attempts FYI from GPT-4:

Update accelerate.

Verify accelerate Configuration: Make sure that your accelerate configuration is correctly set up. The configuration for distributed environments can sometimes be tricky. You can initialize or check your configuration by running accelerate config in your terminal and ensuring all parameters are correct for your environment.

Check if the necessary environment variables for distributed training are set, particularly those related to communication like MASTER_ADDR and MASTER_PORT. An incorrect setup here can lead to communication issues.

If the error is related to initializing ciphers, it might be a network issue. Ensure that there are no firewall or network policies blocking the communication ports used by PyTorch's distributed processes.

If you're using secure connections, check the setup for SSL/TLS including certificates and keys. Make sure that they are correctly configured and accessible by PyTorch.

I'll leave this issue open for a while and others may be able to help.

2. accelerate config

Thank you for your answer; it worked fine after I reset the accelerate config


Dependency constraints on subprojects breaking artifact transforms with dependencies

Original issue: https://issuetracker.google.com/195441712
Using dependency_constraints.zip project and running ./gradlew clean && ./gradlew :module011:assembleDebug --max-workers 16 causes flaky behaviour (it seems to be more frequent with clean and assembleDebug run in the same invocation) . In the top-level build.gradle file there are dependency constraints added for all subprojects, and this seems to cause issues with operation ordering. More specifically, I'm seeing build operation that resolves:module011:debugRuntimeClasspath (needed for the dexing transform dependencies) being completed before all producing tasks are complete. Also, I'm seeing some bundleLibRuntimeToJarDebug tasks being up-to-date although I ran clean before assembling the APK. I'm not sure if these are related, but this project reproduces both issues.
Here is an example of execution:
> Transform classes.jar (project :module003) with DexingWithClasspathTransform
Dexing /Users/gavra/AndroidStudioProjects/sns-project/module003/build/intermediates/runtime_library_classes_jar/debug/classes.jar at time =<PHONE_NUMBER>550
Failed to create provider for /Users/gavra/AndroidStudioProjects/sns-project/module010/build/intermediates/runtime_library_classes_jar/debug/classes.jar

> Task :module010:bundleLibRuntimeToJarDebug
Verified all entries for /Users/gavra/AndroidStudioProjects/sns-project/module010/build/intermediates/runtime_library_classes_jar/debug/classes.jar at time =<PHONE_NUMBER>620

Dexing transform with dependencies was running at<PHONE_NUMBER>550 millis (as reported by System.currentTimeMillis()), but the producing task was still running at<PHONE_NUMBER>620 i.e its worker action.
The attached project has added logging in buildSrc for easier tracking. Every produced jar is validated that it can be opened as a ZipFile.
I've verified that this also fails with Gradle built from f38fc3e5788b23b0de1b03395359903a93a5c174 and I've also tried disabling file watching (because of the up-to-date task issue), but it had no effect.

@gradle/execution could you please take a look?

@adammurdoch is going to look into this.

This is still a problem, please don't close this issue.

@adammurdoch you ok?

I wonder if this is still the same thing as #29147

@big-guy it seems very similar, yes. Unfortunately I wasn't able to run the reproducer project with the latest nightly to verify the behavior:
* What went wrong:
An exception occurred applying plugin request [id: 'org.jetbrains.kotlin.jvm', version: '1.4.21']
> Failed to apply plugin 'org.jetbrains.kotlin.jvm'.
   > Could not register artifact transform DiscoverScriptExtensionsTransformAction (from {artifactType=jar} to {artifactType=script-files-extensions}).
      > Could not generate a decorated class for type DiscoverScriptExtensionsTransformAction.
         > Cannot use @InputArtifact annotation on property DiscoverScriptExtensionsTransformAction.getInputArtifact() of type java.io.File. Allowed property types: org.gradle.api.provider.Provider<org.gradle.api.file.FileSystemLocation>.

Let's check with Google if this is still an issue after https://github.com/gradle/gradle/issues/29147 has been fixed.


Fix another two memory leak points in Cronet transport

In response to Allo's report. Integration tested with Allo.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Failed tests:
Portability Tests Linux [Build Only] (internal CI) - Tests passed; Kokoro failure
Artifact Build Windows (internal CI) - #12049


glibcLocales: enable parallel building

Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

That's indeed a good difference - on my machine the build went from 7m5 to 1m41!
Unfortunately since this change the result is no longer reproducible (#245360). Let's see if we can get the best of both worlds somehow :)


Search string is empty

I've followed the instructions within the readme and set my local as eco.test and remote as my live site but it is saying that the string is empty. My local database has the values eco.test in so I know it's in there. Any ideas? Thanks
l_web_addr=eco.test
r_web_addr=ecoclub.store
/usr/bin/php -q srdb.cli.php -h localhost -u wpuser -n wordpress_db -p [password hidden] -c utf-8 -s eco.test -r ecoclub.store
search: Search string is empty

Ok so it works when I remove the charset attributes "-c utf-8"


cluster,storage: save execIDs in storage, no containerID in exec methods

Codecov Report

Merging #39 into master will increase coverage by 0.28%.
The diff coverage is 92.72%.

@@            Coverage Diff             @@
##           master      #39      +/-   ##
==========================================
+ Coverage   83.58%   83.87%   +0.28%
==========================================
  Files           9        9
  Lines        1255     1302      +47
==========================================
+ Hits         1049     1092      +43
- Misses        139      141       +2
- Partials       67       69       +2

Impacted Files
Coverage Δ

cluster/cluster.go
71.75% <ø> (ø)
:arrow_up:

storage/mongodb/mongodb.go
92.18% <100%> (+0.9%)
:arrow_up:

cluster/map_storage.go
94.88% <100%> (+0.49%)
:arrow_up:

cluster/container.go
86.3% <73.33%> (-1.25%)
:arrow_down:

Continue to review full report at Codecov.

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


attempt to call a field error

I have this error:

Can you file the bug report template and post this as an issue please


docs: Update README with the latest changes

This documents the recent changes made to the behavior and user interface.

I removed the shell output from the usage section to avoid inconsistencies with the current version.


Unbilled Expenses Refresh

You loose the react if you refresh the unbilled expenses page.

Nm, couldn't get it to happen again.


Build latex definition in CI

To insure that the latex file are not corrupted, let's build them in the CI
Closes: #1111

With the way this is set up this doesn't actually run the action on this PR. Can you make a small trivial change in the tex files so that it will actually run and we can check it works correctly?

@GabrielBruno24 , I added a commit with a broken tex file. It was run and detected properly. I'll remove the commit, but you can see it with hash 24ffc70


Milestone 2 Feedback

Congratulations on finishing milestone 2! Below is the grading scheme for this deliverable.
Mechanics: 3/4
o	Missing link to the app in canvas submission
Developing your Shiny App: mechanics: 15/15, quality: 5/5, viz: 13/15, accuracy: 7/7
o	The elements of the app aren't organized effectively. -2 viz
I would consider rearranging the plots, they are the main focus of the app. When I first opened the app because the map was the largest and most eye-catching aspect, I figured this was a visualization, but it is just a filtering tool.
On your plots, you should only allow integers to be displayed on the axis.
Reflection: reasoning: 4/6
o	The reflection-milestone2.md file is much less than 500 words -2 reasoning
README: reasoning: 4/6
o	README.md: It is not prepared for potential collaborators. There is no information included on how to install the app and run it locally. -2 reasoning
Grade 51/58. Great work! Please let me know if you have any questions.

@ogarland Thank you for the feedback ! The point regarding the apps not being organized effectively is very useful and we will try to fix that in the upcoming milestone. However could you please look into these issues below for which we had points deducted -
1. Mechanics: 3/4
o Missing link to the app in canvas submission

I went through the milestone 2 page (https://pages.github.ubc.ca/MDS-2022-23/DSCI_532_viz-2_students/materials/assignments/milestone2.html) and nothing is mentioned in the submission instructions about submitting a link to the app. Only a release had to be created and submitted.

2. Reflection: reasoning: 4/6
o The reflection-milestone2.md file is much less than 500 words -2 reasoning

The insrructions under the reflection section of milestone in the above link say that "This section should NOT be more than 500 words and the reflection-milestone2.md document should live in your GitHub.com repo in the doc folder." So I believe we were supposed to keep the Reflection document under 500 words. There was no lower word limit and we tried to make it as concise as possible and I believe the content of the Reflection document covers what was asked of us.

README: reasoning: 4/6
o README.md: It is not prepared for potential collaborators. There is no information included on how to install the app and run it locally. -2 reasoning

Our Readme.md  has a section called "Installation" which tells you how to install and run the app locally.

Hi @manvirsingh96! I'll follow up with Florencia regarding the first 2 points you have noted about discrepancies in the rubric versus the instructions given to students. As for the last point, that's my mistake, I have added the points back in canvas, please let me know if you do not see an update within the next few hours. You're updated grade, for now, should be 53/58.


Add new loader for GitHub, utilizing fetchTarball

This can use Nix 2.0’s builtins.fetchTarball if it is available. If
not, it will fall back on old behavior.
The benefit of builtins.fetchTarball is that we don't need to
import Nixpkgs just for fetchTarball. This means that we
should use less memory for each evaluation.

@matthewbauer @3noch are we waiting on further changes here?

@ali-abrar This new loader uses builtins.fetchGit which @ryantrinkle wants to avoid until it's fixed in nix.

Yeah I can rework it to not use fetchGit

Merged into #594


updated chocolat (3.2.1)

Closes #17577.

Thank you for the contribution. It was merged directly as 5df1175781e30afca9e4079951569f419e048ebd to keep commit history cleaner. Your contribution is still credited to you.


GHC panic when installing

`WARNING: Ignoring lambdacube-compiler's bounds on aeson (>=1.1 && <1.3); using aeson-<IP_ADDRESS>.
Reason: allow-newer enabled.
WARNING: Ignoring lambdacube-gl's bounds on JuicyPixels (>=3.2.8 && <3.3); using JuicyPixels-3.3.4.
Reason: allow-newer enabled.
WARNING: Ignoring lambdacube-gl's bounds on containers (>=0.5.7 && <0.6); using containers-<IP_ADDRESS>.
Reason: allow-newer enabled.
WARNING: Ignoring lambdacube-gl's bounds on vector-algorithms (>=0.7 && <0.8); using vector-algorithms-<IP_ADDRESS>.
Reason: allow-newer enabled.
ghc: panic! (the 'impossible' happened)
(GHC version 8.6.5 for x86_64-unknown-linux):
Prelude.chr: bad argument:<PHONE_NUMBER>
Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
--  While building simple Setup.hs (scroll up to its section to see the error) using:
/home/matthew/.stack/programs/x86_64-linux/ghc-tinfo6-8.6.5/bin/ghc-8.6.5 -rtsopts -threaded -clear-package-db -global-package-db -hide-all-packages -package base -main-is StackSetupShim.mainOverride -package Cabal-<IP_ADDRESS> /home/matthew/.stack/setup-exe-src/setup-mPHDZzAJ.hs /home/matthew/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs -o /home/matthew/.stack/setup-exe-cache/x86_64-linux-tinfo6/tmp-Cabal-simple_mPHDZzAJ_<IP_ADDRESS>_ghc-8.6.5
Process exited with code: ExitFailure 1`
Possibly related to this issue:
https://gitlab.haskell.org/ghc/ghc/-/issues/19452

As per the linked issue deleting all the .hi and .o files in ~/.stack/setup-exe-src seems to fix things.

As per the linked issue deleting all the .hi and .o files in ~/.stack/setup-exe-src seems to fix things.


Error: Cannot find module 'react-google-places-suggest'

I have installed this package in my project but when I try to import it into one of my React classes, it says that it cannot find the module.
I have searched for the folder in the node_modules folder and it is there.
Is there anything else I should do?

It is very strange. Could you give me a bit of code ?

I got this same issue, figured out it is happening because of an erroneous property in the package.json file:
https://github.com/xuopled/react-google-places-suggest/blob/master/package.json#L23
"browser": "./dist/index.js",
This is replacing the main entrypoint with /dist/index.js , which does not exist.
Remove this entry, or correct it to lib/index.js to resolve the issue. I manually modified the package's file and removed the browser property in my project and it works now, but work with other developers so patiently awaiting the fix on this project so I don't have to tell them to manually remove the line.
Info on browser property: https://github.com/defunctzombie/package-browser-field-spec#spec

Hi, sorry for the delay. My prepublish script launch the npm run dist command so dist/index.js should be here. I don't understand why it's not here for you.

I remove the "browser" field. It should be good now. Thank you


updated assign role - experimental-upstream-ironic-JS-16.1-00

I am closing this pull request in favor of #618.


Add support for NetworkPolicy.

NetworkPolicy support would be a nice addition to this chart. Here is a implementation proposal, open to discussion, where I strictly separate http and transport ports.

[x] Chart version not bumped (the versions are all bumped and released at the same time)
[x] README.md updated with any new values or changes
[x] Updated template tests in ${CHART}/tests/*.py
[x] Updated integration tests in ${CHART}/examples/*/test/goss.yaml

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

Up?

Upvoting for NetworkPolicy, @desaintmartin thank you :)

I can rebase if you are interested into this feature. ;)

Not stale... Is this PR wanted?

cc @jmlrt maybe ?

Hi @desaintmartin, thanks for this PR. This is still something that we want to merge but don't have workload for a proper review and tests currently.

Done! Let's see what the CI says.

jenkins test this please

jenkins test this please

Updated!

Updated!

jenkins test this please

jenkins test this please


Title: Text-Based Emotion Detection Using Machine Learning

Initiative (Required)
GSSoC (Girl Script Summer of Code) 🌸
Is your proposal related to a problem? Please describe.
The project aims to create a machine learning-based application capable of detecting emotions from textual input. This will involve preprocessing text data, building a classifier model, and implementing a user interface to display emotion predictions. The project will focus on providing accurate results for emotions like joy, sadness, anger, fear, and others.
Key Features:
Text Preprocessing: Tokenization, removal of stopwords, and stemming/lemmatization.
Model Training: Using algorithms like Logistic Regression or Support Vector Machines for classification.
User Interface: An interactive frontend for users to input text and receive emotion predictions.
Documentation: Clear steps for installation and usage, plus an overview of the ML pipeline.
Add any other context or screenshots about the proposal request here.

I am mentor of this project.
Hello @Balaji91221
I appreciate your pull issue , can you give working video and thank you for your contribute!!!

Definitely i will send as soon as possible

@SakiraAli1115
https://drive.google.com/file/d/1ycwN-Ez039GnlXf2OXzSQoCgM02edyff/view?usp=sharing

Hi @SakiraAli1115,
Could you please review my pull request at your earliest convenience? I’m available to make any adjustments as needed and would love to help move this forward.
Thank you so much for your time!


Fix README quick examples

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup

This is only needed in shell-environments, where [ and ] can have special meaning?


Bring Main up to lastest

Update the main branch with latest code

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: DouglasAdler:x: Douglas AdlerDouglas Adler seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Update Main branch


CMake errors linking ITK modules

Overview
Initial files in PR 1 fail to build with CMake.
Description
PR 1 adds an ITK external module created with cookiecutter from the ITK external module template, along with header, template, and wrapping files for Mesh3DProcrustesAlignFilter. itk-module.cmake is updated with ITK module dependencies. Attempting to build with CMake yields an error indicating that ITK modules are not linked successfully to allow the headers to be built.
Expected behavior
External module builds without error.
Observed behavior
CDash failures:

include/itkMesh3DProcrustesAlignFilter.h:5:10: fatal error: itkAffineTransform.h: No such file or directory

Contents of CMakeError.log:

Performing Test ITK_UNDEFINED_SYMBOLS_ALLOWED failed with the following output:

(no output follows)

Most recent CDash run fails to include module library:

/usr/bin/ld: cannot find -lMesh3DProcrustesAlignFilter

@thewtex This issue is similar to Issue 2 in the ITKOptimizationMonitor external module, which was resolved last week but root cause was not definitively found. Any thoughts on the best way to investigate?

Resolved in two steps:

Remove CMakeLists.txt line directing project to look for .lib files (which are not expected in a header-only module)
Rebuild against a full, clean build of ITK


added spanish

This is my first contributtion, i wish it can help!. I added Spanish Locale, with "es" index.

@Viper5niper please check 200fbaa


How to use the onnx export file of the nllb model for inference

There are three onnx export files for the nllb model: decoder_madel.onnx decoder_with_past_model.onnx  encoder_model.onnx ， How should I use these three files for reasoning？Do you have any code examples？

I'm sorry, but as I said in the other issue a tutorial on how to do the inference of these models would be very long, and at the moment I don't have much free time, you could read the source code of the app to understand a bit better how the inference works (this to be precise), and do some research online.


Add view tab to display resolve window.

Currently, the window just displays a text showing a success and
will block all inputs. The view tab is to be removed once the
product is finished

#54

You guys can consider squashing the various commits before merging.


grpc/api performance issue

This is bit of a weird one; we are experiencing delays when using the chirpstack grpc api when doing multiple requests over the same connection.
The first request always seem fast (sub ms); but subsequent requests over the same connection suffer from a extra 40-50ms delay.
The chirpstack api logs always show sub ms latency. But on the client we experience these extra delays.
I have been able to rule out our AWS infrastructure as a local chirpstack instance (docker) shows the exact same behaviour; even with only one device in its database.
I have written a simpe test case (in golang) that reproduces the issue:
package main

import (
	"context"
	"crypto/tls"
	"fmt"
	chirpstack "github.com/chirpstack/chirpstack/api/go/v4/api"
	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials"
	"google.golang.org/grpc/credentials/insecure"
	"os"
	"strings"
	"time"
)

type APIToken string

func (a APIToken) GetRequestMetadata(ctx context.Context, url ...string) (map[string]string, error) {
	return map[string]string{
		"authorization": fmt.Sprintf("Bearer %s", a),
	}, nil
}

func (a APIToken) RequireTransportSecurity() bool {
	return false
}

func connect(server string, token string) *grpc.ClientConn {
	serverCredentials := credentials.NewTLS(&tls.Config{})
	if strings.HasPrefix(server, "http://") {
		server = server[7:]
		serverCredentials = insecure.NewCredentials()
	} else if strings.HasPrefix(server, "https://") {
		server = server[8:]
	}

	dialOpts := []grpc.DialOption{
		grpc.WithBlock(),
		grpc.WithPerRPCCredentials(APIToken(token)),
		grpc.WithTransportCredentials(serverCredentials),
	}

	conn, err := grpc.Dial(server, dialOpts...)
	if err != nil {
		panic(err)
	}
	return conn
}

func main() {
	server := os.Args[1]
	token := os.Args[2]
	device := os.Args[3]

	start := time.Now()
	conn := connect(server, token)
	for i := 0; i < 100; i++ {
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device})
		deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device})
	}
	conn.Close()
	elapsed := time.Since(start)
	fmt.Printf("[single-connection] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())

	start = time.Now()
	for i := 0; i < 100; i++ {
		conn := connect(server, token)
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device})
		deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device})
		conn.Close()
	}
	elapsed = time.Since(start)
	fmt.Printf("[connection-per-iteration] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())

	start = time.Now()
	for i := 0; i < 100; i++ {
		conn := connect(server, token)
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device})
		conn.Close()
		conn = connect(server, token)
		deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device})
		conn.Close()
	}
	elapsed = time.Since(start)
	fmt.Printf("[connection-per-call] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())
}

^ When I run this with ./test http://chirpstack.docker.local:8080 $token $deveui from another container I get the following results:
[single-connection] Retrieved 100 devices in 7375 ms
[connection-per-iteration] Retrieved 100 devices in 3615 ms
[connection-per-call] Retrieved 100 devices in 2265 ms

When running it in the same container as chirpstack (eliminating docker network overhead) (./test http://<IP_ADDRESS>:8080 $token $deveui) I get this:
[single-connection] Retrieved 100 devices in 4676 ms
[connection-per-iteration] Retrieved 100 devices in 3256 ms
[connection-per-call] Retrieved 100 devices in 2109 ms

This is very counter intuitive and I have no idea where to start investigating this ..
But we have a production chirpstack instance with > 8000 devices where we need the retrieve the device details (including the devAddr + NwkSEncKey in order to sync our helium routes), and retrieving these details for all devices now take 5-10 minutes :-o

I have a similar script to try reproduce in python... it seems once the rpc is pushed the postgres db cant handle the connections in my case. on average the rpc is around 1.2 to 1.5ms per request before it starts to get overwhelmed.
Here is the script i ran if anyone else wants to try reproduce.
import os
import asyncio
import grpc
from time import perf_counter_ns
from google.protobuf.json_format import MessageToDict
from chirpstack_api import api

api_token = [('authorization', f'Bearer {os.getenv("CHIRPSTACK_APIKEY")}')]
chirpstack_server = os.getenv('CHIRPSTACK_SERVER')

async def get_device(dev_eui: str):
    async with grpc.aio.insecure_channel(chirpstack_server) as channel:
        client = api.DeviceServiceStub(channel)
        req = api.GetDeviceRequest()
        req.dev_eui = dev_eui
        resp = await client.Get(req, metadata=api_token)
    return MessageToDict(resp)['device']

async def get_device_activation(dev_eui: str):
    async with grpc.aio.insecure_channel(chirpstack_server) as channel:
        client = api.DeviceServiceStub(channel)
        req = api.GetDeviceActivationRequest()
        req.dev_eui = dev_eui
        resp = await client.GetActivation(req, metadata=api_token)
    return MessageToDict(resp)

if __name__ == '__main__':
    async def main():
        device_eui = '0102030405060708'  # <- device eui
        iterations = 1000

        start = perf_counter_ns()
        device = [asyncio.create_task(get_device(device_eui)) for _ in range(iterations + 1)]
        await asyncio.gather(*device)
        stop = perf_counter_ns()
        print(f'[devices * {iterations}] {stop - start}')

        start = perf_counter_ns()
        da = [asyncio.create_task(get_device_activation(device_eui)) for _ in range(iterations + 1)]
        await asyncio.gather(*da)
        stop = perf_counter_ns()
        print(f'[device activations * {iterations}] {stop - start}')

asyncio.run(main())

Thanks for reporting this issue + providing code to reproduce the issue :+1: I will look into this.

Interestingly someone reported (on the helium #openlns discord) that they can't reproduce the issue with my test code
They got this result on a mac with a stock chirpstack-docker setup
[single-connection] Retrieved 100 devices in 487 ms
[connection-per-iteration] Retrieved 100 devices in 1758 ms
[connection-per-call] Retrieved 100 devices in 2625 ms

^ this is inline with what I would expect; re-using the connection should be way faster
If I try it with the stock chirpstack-docker setup on my laptop I get this:
[single-connection] Retrieved 100 devices in 5268 ms
[connection-per-iteration] Retrieved 100 devices in 4153 ms
[connection-per-call] Retrieved 100 devices in 2923 ms

:thinking:

If I look at the cpu usage; I don't see anything else then chirpstack itself using significant cpu.
For the single connection case it uses about 5-6% cpu
for the connection-per-iteration case it uses about 40% cpu
for the connection-per-call it uses about 100% cpu
So to me this looks like a scheduling issues where the first case should be the most performant one; but due to some scheduling constraints it is mostly waiting .. not sure at what level the scheduling is problem .. if that is tokio or the kernel in combination with docker/cgroups

if i run my code with 10k iterations, the performance drop in my case seems to be leaning towards postgres.
testing up too 1k provided no performance difference but when i jumped to 10k it started lagging and continues to lag while ever the db is in the state it says in my screenshot. the rpc log was a 1k interation started a minute after the 10k finished so the lag is still apparent even with no cpu load in my case.

@ederuiter there might be an issue in your code, I noticed that in the connection per request, I only see the get device request, not the device-activation:
2023-10-26T10:38:09.642526Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=843.107µs
2023-10-26T10:38:09.682910Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=2.286304ms
2023-10-26T10:38:09.723034Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=1.636893ms
2023-10-26T10:38:09.762236Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=3.023554ms
2023-10-26T10:38:09.801645Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=2.652606ms
2023-10-26T10:38:09.838785Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=1.466393ms
2023-10-26T10:38:09.879835Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=2.73546ms
2023-10-26T10:38:09.917381Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=2.781738ms
2023-10-26T10:38:09.955536Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=1.524599ms
2023-10-26T10:38:09.995187Z  INFO gRPC{uri=/api.DeviceService/Get}: chirpstack::api: Finished processing request status="200" latency=3.298623ms

Putting some error-handling around your code:
		if _, err := deviceClient.GetActivation(context.Background(), &chirpstack.GetDeviceActivationRequest{DevEui: device}); err != nil {
			panic(err)
		}

I get this:
Get device
Get activation
panic: rpc error: code = Canceled desc = grpc: the client connection is closing

Let me make some edits to your code and see if I can reproduce the issue after that.
As a side-note, the next release includes some API optimizations that should give some significant performance boosts on large databases:

https://github.com/chirpstack/chirpstack/commit/ce5b9fbfd04f0730a72d014995a0aaaf3b18bbf3
https://github.com/chirpstack/chirpstack/commit/c7e586a3263bbae2faf14d69202dcf6c42df8061

@ederuiter
package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"os"
	"strings"
	"time"

	chirpstack "github.com/chirpstack/chirpstack/api/go/v4/api"
	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials"
	"google.golang.org/grpc/credentials/insecure"
)

type APIToken string

func (a APIToken) GetRequestMetadata(ctx context.Context, url ...string) (map[string]string, error) {
	return map[string]string{
		"authorization": fmt.Sprintf("Bearer %s", a),
	}, nil
}

func (a APIToken) RequireTransportSecurity() bool {
	return false
}

func connect(server string, token string) *grpc.ClientConn {
	serverCredentials := credentials.NewTLS(&tls.Config{})
	if strings.HasPrefix(server, "http://") {
		server = server[7:]
		serverCredentials = insecure.NewCredentials()
	} else if strings.HasPrefix(server, "https://") {
		server = server[8:]
	}

	dialOpts := []grpc.DialOption{
		grpc.WithBlock(),
		grpc.WithPerRPCCredentials(APIToken(token)),
		grpc.WithTransportCredentials(serverCredentials),
	}

	conn, err := grpc.Dial(server, dialOpts...)
	if err != nil {
		panic(err)
	}
	return conn
}

func main() {
	server := os.Args[1]
	token := os.Args[2]
	device := os.Args[3]

	start := time.Now()
	conn := connect(server, token)
	for i := 0; i < 100; i++ {
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		if _, err := deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device}); err != nil {
			panic(err)
		}
		if _, err := deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device}); err != nil {
			panic(err)
		}
	}
	conn.Close()
	elapsed := time.Since(start)
	fmt.Printf("[single-connection] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())

	start = time.Now()
	for i := 0; i < 100; i++ {
		conn := connect(server, token)
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		if _, err := deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device}); err != nil {
			panic(err)
		}
		if _, err := deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device}); err != nil {
			panic(err)
		}
		conn.Close()
	}
	elapsed = time.Since(start)
	fmt.Printf("[connection-per-iteration] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())

	start = time.Now()
	for i := 0; i < 100; i++ {
		conn := connect(server, token)
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		if _, err := deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device}); err != nil {
			panic(err)
		}
		conn.Close()

		conn = connect(server, token)
		deviceClient = chirpstack.NewDeviceServiceClient(conn)
		if _, err := deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device}); err != nil {
			panic(err)
		}
		conn.Close()
	}
	elapsed = time.Since(start)
	fmt.Printf("[connection-per-call] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())
}

[single-connection] Retrieved 100 devices in 2370 ms
[connection-per-iteration] Retrieved 100 devices in 2721 ms
[connection-per-call] Retrieved 100 devices in 3303 ms

This is without using Docker. I will do an additional test against Docker (using the chirpstack-docker example).

@ederuiter this is an update to your code with an 4th option that is a lot more performant. It spawns each request in a separate go-routine. I added this to the top (most performance -> least performant):
package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"os"
	"strings"
	"sync"
	"time"

	chirpstack "github.com/chirpstack/chirpstack/api/go/v4/api"
	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials"
	"google.golang.org/grpc/credentials/insecure"
)

type APIToken string

func (a APIToken) GetRequestMetadata(ctx context.Context, url ...string) (map[string]string, error) {
	return map[string]string{
		"authorization": fmt.Sprintf("Bearer %s", a),
	}, nil
}

func (a APIToken) RequireTransportSecurity() bool {
	return false
}

func connect(server string, token string) *grpc.ClientConn {
	serverCredentials := credentials.NewTLS(&tls.Config{})
	if strings.HasPrefix(server, "http://") {
		server = server[7:]
		serverCredentials = insecure.NewCredentials()
	} else if strings.HasPrefix(server, "https://") {
		server = server[8:]
	}

	dialOpts := []grpc.DialOption{
		grpc.WithBlock(),
		grpc.WithPerRPCCredentials(APIToken(token)),
		grpc.WithTransportCredentials(serverCredentials),
	}

	conn, err := grpc.Dial(server, dialOpts...)
	if err != nil {
		panic(err)
	}
	return conn
}

func main() {
	server := os.Args[1]
	token := os.Args[2]
	device := os.Args[3]

	start := time.Now()
	conn := connect(server, token)
	{
		var wg sync.WaitGroup
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		for i := 0; i < 100; i++ {
			wg.Add(1)
			go func() {
				if _, err := deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device}); err != nil {
					panic(err)
				}
				if _, err := deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device}); err != nil {
					panic(err)
				}
				wg.Done()
			}()
		}
		wg.Wait()
		elapsed := time.Since(start)
		fmt.Printf("[single-connection with goroutines] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())
	}
	conn.Close()

	start = time.Now()
	conn = connect(server, token)
	for i := 0; i < 100; i++ {
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		if _, err := deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device}); err != nil {
			panic(err)
		}
		if _, err := deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device}); err != nil {
			panic(err)
		}
	}
	conn.Close()
	elapsed := time.Since(start)
	fmt.Printf("[single-connection] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())

	start = time.Now()
	for i := 0; i < 100; i++ {
		conn := connect(server, token)
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		if _, err := deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device}); err != nil {
			panic(err)
		}
		if _, err := deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device}); err != nil {
			panic(err)
		}
		conn.Close()
	}
	elapsed = time.Since(start)
	fmt.Printf("[connection-per-iteration] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())

	start = time.Now()
	for i := 0; i < 100; i++ {
		conn := connect(server, token)
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		if _, err := deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device}); err != nil {
			panic(err)
		}
		conn.Close()

		conn = connect(server, token)
		deviceClient = chirpstack.NewDeviceServiceClient(conn)
		if _, err := deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device}); err != nil {
			panic(err)
		}
		conn.Close()
	}
	elapsed = time.Since(start)
	fmt.Printf("[connection-per-call] Retrieved 100 devices in %d ms\n", elapsed.Milliseconds())
}

The difference is significant:
[single-connection with goroutines] Retrieved 100 devices in 131 ms
[single-connection] Retrieved 100 devices in 2240 ms
[connection-per-iteration] Retrieved 100 devices in 2665 ms
[connection-per-call] Retrieved 100 devices in 3416 ms

These are my results when using Docker:
[single-connection with goroutines] Retrieved 100 devices in 130 ms
[single-connection] Retrieved 100 devices in 3170 ms
[connection-per-iteration] Retrieved 100 devices in 2713 ms
[connection-per-call] Retrieved 100 devices in 3085 ms

This was an error in the original script:
		conn := connect(server, token)
		deviceClient := chirpstack.NewDeviceServiceClient(conn)
		deviceClient.Get(context.TODO(), &chirpstack.GetDeviceRequest{DevEui: device})
		conn.Close()
		conn = connect(server, token)
		deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device})
		conn.Close()

It should have been:
		conn.Close()
		conn = connect(server, token)
		deviceClient := chirpstack.NewDeviceServiceClient(conn)

In the original script, the deviceClient.GetActivation(context.TODO(), &chirpstack.GetDeviceActivationRequest{DevEui: device}) was never executed because the client was associated with the old conn and thus would always error that the connection was closed.
In summary:
Do you still think there is a performance issue with the ChirpStack API? I prefer to look at the non-Docker results as Docker has some internal networking magic / translation between host and running container(s). The more magic we can take out, the better. However, the results looking at the requests using go-routines is the same between Docker / non-Docker.

:+1: Thanks for the investigation!
For sure the separate go-routine per request is the winner; in my tests I can retrieve ~10.000 devices this way in ~3700ms (in a different container; over the network). Retrieving 10.000 devices with a single connection without go-routines takes ~720000ms om my machine :open_mouth:
I still don't understand why the the non-parallel requests with a single connection have so much overhead; even when running the script in the same container and connecting to localhost it is significantly slower than than opening new connections :thinking: Adding cross container networking in the mix; the overhead becomes larger.
So I still suspect there is something going on .. maybe it is an limitation of tokio / tonic that is just more optimized for parallel requests than serial; or it might be scheduler (kernel) related
But I now have a way of working around it; so I consider it good enough for now as I don't have much time in the next weeks to investigate further. So I'll close the issue for now.
But I might come back to this as I really want know what is going on here and what could cause this :nerd_face:


Library goes into an infinite loop

The KMS library seems to go into an infinite loop if I retrieve authorizations for a resource that has more than 110 or so bound users. Here is the stacktrace that I saw:
kms: retrieved authorization list
kms: request timed out; request id: cf570fcf-2071-486b-b24f-2ffeb78fa971; timeout: 6000
kms: request error KmsError: undefined
KMS_REQUEST_ID: cf570fcf-2071-486b-b24f-2ffeb78fa971
at KmsError.ExtendableBuiltin (/Users/avinkum2/CS/onboarding/app/node_modules/@ciscospark/common/dist/exception.js:50:44)
at KmsError.Exception (/Users/avinkum2/CS/onboarding/app/node_modules/@ciscospark/common/dist/exception.js:97:142)
at new KmsError (/Users/avinkum2/CS/onboarding/app/node_modules/@ciscospark/internal-plugin-encryption/dist/kms-errors.js:54:123)
at /Users/avinkum2/CS/onboarding/app/node_modules/@ciscospark/internal-plugin-encryption/dist/kms-batcher.js:161:20
at process._tickCallback (internal/process/next_tick.js:109:7)

Is this the same issue as #747?

Nope, #747 is about the case when the caller is not authorized to the resource. In that case we see a crash with an out of memory error.
In this case the caller is authorized to the resource, but the resource has like 110 authorizations on it. So what I see is that the library tries to fetch the authorizations, eventually times out and runs in to “KmsError: undefined” problem. After that the library goes into an infinite loop. But unlike #747 there is no out of memory crash this time.
I can show the problem if needed.. its reproducible every time.
From: Ian Remmel<EMAIL_ADDRESS>Reply-To: ciscospark/spark-js-sdk<EMAIL_ADDRESS>Date: Wednesday, November 15, 2017 at 1:41 PM
To: ciscospark/spark-js-sdk<EMAIL_ADDRESS>Cc: "Avinash Kumar (avinkum2)"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [ciscospark/spark-js-sdk] Library goes into an infinite loop (#748)
Is this the same issue as #747https://github.com/ciscospark/spark-js-sdk/issues/747?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/ciscospark/spark-js-sdk/issues/748#issuecomment-344688079, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AX29HSEEJLydA394UriN_VzuWrkBEFtiks5s2zBogaJpZM4QfVM7.

Sorry, I think I may have mean #749. It looks like the original reason for opening #749 has been resolved. Is this still an issue?

I can test again and let you know. Is there a specific version you would like to validate on? These are the versions that we use right now:
"@ciscospark/internal-plugin-encryption": "1.16.0",
"@ciscospark/spark-core": "1.14.3",

Latest, please.
At present, that appears to be
"@ciscospark/internal-plugin-encryption": "1.19.9",
"@ciscospark/spark-core": "1.19.9",

I still see the same problem. Here is what I have in the logs:
spark-store: constructing boundedStorage
spark-store: retrieving Device:@
storage: getting binding for Device
memory-store-adapter: returning binding
spark-store: retrieving Credentials:@
storage: getting binding for Credentials
memory-store-adapter: returning binding
plugin-storage(Device): waiting to init key @
plugin-storage(Device): initing @
spark-store: retrieving Device:@
storage: made binding for Device
storage: made binding for Credentials
memory-store-adapter: reading @
memory-store-adapter: reading @
memory-store-adapter: reading @
storage(Device): no data for @, continuing
plugin-storage(Device): no data for @, continuing
storage(Credentials): no data for @, continuing
device: registering
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): initing @
spark-store: retrieving Credentials:@
storage: getting binding for Credentials
storage: found binding for Credentials
memory-store-adapter: reading @
plugin-storage(Credentials): no data for @, continuing
spark-store: setting Credentials:@
storage: getting binding for Credentials
storage: found binding for Credentials
memory-store-adapter: writing @
device: received registration payload
mercury: connecting
mercury: executing connection attempt 0
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
socket: creating WebSocket
socket: waiting for server
spark-store: setting Device:@
storage: getting binding for Device
storage: found binding for Device
memory-store-adapter: writing @
socket: connected
socket: authorizing
socket: sequence number:  1
socket: ping dd758302-28ac-41fa-a014-add6b10adc31
socket: authorized
mercury: connected
kms: creating context
kms: retrieving KMS static public key
kms: fetching KMS details
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
socket: sequence number:  2
socket: pong dd758302-28ac-41fa-a014-add6b10adc31
kms: fetched KMS details
kms: creating local ephemeral key
kms: retrieving KMS cluster
kms: submitting ephemeral key request
mercury: already connected, will not connect again
kms: wrapping ephemeral key request
kms: retrieving KMS cluster
kms: batched-request-length 1
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
socket: sequence number:  3
kms: received kms message
kms: retrieving KMS static public key
kms: received ecdhe message
kms-batcher: received kms message
kms: deriving final ephemeral key
kms: derived final ephemeral key
kms: wrapping kms request
kms: retrieving KMS cluster
kms: batched-request-length 1
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
kms: request timed out; request id: b6480082-2a96-4559-ac13-9e3808d7cf68; timeout: 6000
(node:5832) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 9): KmsError: [object Object]
KMS_REQUEST_ID: b6480082-2a96-4559-ac13-9e3808d7cf68
mercury: already connected, will not connect again
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
kms: wrapping kms request
kms: retrieving KMS cluster
kms: batched-request-length 1
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
socket: ping dcba93a3-f8ab-4b7b-9551-9c429eb45c35
socket: sequence number:  4
socket: pong dcba93a3-f8ab-4b7b-9551-9c429eb45c35
kms: request timed out; request id: d3ea0a53-624c-4e80-b2f2-2f76c1c48e3c; timeout: 12000
mercury: already connected, will not connect again
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
kms: wrapping kms request
(node:5832) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 12): KmsError: [object Object]
KMS_REQUEST_ID: d3ea0a53-624c-4e80-b2f2-2f76c1c48e3c
kms: retrieving KMS cluster
kms: batched-request-length 1
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
socket: ping 82c60a93-6a65-435a-ac1f-0d767382a2d4
socket: sequence number:  5
socket: pong 82c60a93-6a65-435a-ac1f-0d767382a2d4
kms: request timed out; request id: 2f876809-8793-4418-9c80-78a887ff4693; timeout: 24000
kms: exceeded maximum KMS request retries; negotiating new ecdh key
mercury: already connected, will not connect again
kms: creating context
kms: retrieving KMS static public key
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
kms: creating local ephemeral key
kms: retrieving KMS cluster
kms: submitting ephemeral key request
mercury: already connected, will not connect again
kms: wrapping ephemeral key request
(node:5832) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 15): KmsError: [object Object]
KMS_REQUEST_ID: 2f876809-8793-4418-9c80-78a887ff4693
kms: retrieving KMS cluster
kms: batched-request-length 1
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
socket: sequence number:  6
kms: received kms message
kms: retrieving KMS static public key
kms: received ecdhe message
kms-batcher: received kms message
kms: deriving final ephemeral key
kms: derived final ephemeral key
kms: wrapping kms request
kms: retrieving KMS cluster
kms: batched-request-length 1
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
socket: ping 71527dbb-9e23-4efa-b761-f61900ab6a3a
socket: sequence number:  7
socket: pong 71527dbb-9e23-4efa-b761-f61900ab6a3a
ccc-status.refreshStatus called
REDIS NOT AVAILABLE: Running locally
kms: request timed out; request id: 22646ec2-c1a3-436b-90ef-f3fc94cda209; timeout: 6000
mercury: already connected, will not connect again
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
kms: wrapping kms request
(node:5832) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 18): KmsError: [object Object]
KMS_REQUEST_ID: 22646ec2-c1a3-436b-90ef-f3fc94cda209
kms: retrieving KMS cluster
kms: batched-request-length 1
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Device): waiting to init key @
plugin-storage(Device): already inited @
plugin-storage(Credentials): waiting to init key @
plugin-storage(Credentials): already inited @
From: Ian Remmel<EMAIL_ADDRESS>Reply-To: ciscospark/spark-js-sdk<EMAIL_ADDRESS>Date: Monday, December 4, 2017 at 12:31 PM
To: ciscospark/spark-js-sdk<EMAIL_ADDRESS>Cc: "Avinash Kumar (avinkum2)"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [ciscospark/spark-js-sdk] Library goes into an infinite loop (#748)
Latest, please.
At present, that appears to be
"@ciscospark/internal-plugin-encryption": "1.19.9",
"@ciscospark/spark-core": "1.19.9",
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/ciscospark/spark-js-sdk/issues/748#issuecomment-349038630, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AX29HXEMrM2DX3DTPWIs8Vl6q3IPCOlfks5s9Cx2gaJpZM4QfVM7.

What does the unencrypted request payload look like? How do you know how many authorizations the resource has? Have you confirmed with the server folks that KMS is responding in a timely fashion?
There are a lot of cases where, rather than supplying an error back to the client, the client simply receives no response. The only steps the client (i.e. the sdk) can take are to retry the request. Once we've retried with a timeout up to 32000ms, the only thing we can assume is that our ecdh token is somehow invalid and therefore renegotiate ecdh and start the process over.

The only difference between the working and non-working cases is the number of authorizations on the resource. List authorizations stops working if the number of authorizations on the resource is more than 110 or so.
I can IM you details of my test account and the resource if you want to take a closer look into the problem. I see this failure every time.

As far as I can tell, this is a limitation of the service and not something we can address in the sdk. I'm going to close this as wontfix and defer to the server team to propose a new API to address the problem.

I understand the limitation on the service side. But shouldn’t the SDK client handle it gracefully instead of going into an infinite loop?

ideally, yes, but there's really nothing we can do. This is one of many error conditions where we don't get any response of any kind from the service. Without a response, the only the we can do is assume the ECDH key is somehow invalid, negotiate a new one, and try again.


Additional components

[x]  Progress bar
[x]  Alert
[x]  Counter
[x]  Popover
[x]  Overflow Menu (Compose Popover. On Mobile should slide a menu from bottom)
[x]  PhoneNumberInput
[x]  ListItem
[ ]  CodeInput
[ ]  SearchBar
[ ]  Sliders
[ ]  Steps
[ ]  Skeleton
[ ]  Calendar (Days, Week, Month)
[ ]  Time Picker
[ ]  Calendar
[ ]  ~Collapsible~ (Not suited for mobile)
[ ]  ~Pagination~ (Not suited for mobile)
[ ]  ~Radio~ (Not suited for mobile)

@bkniffler delivered ListItem https://wetrustplatform.github.io/paramount/#/src-components-list-item-list-item

Thats pretty cool, and so fast! Will definitely try and use paramount for my cross platform app that I'm working on. Btw the Theme interface link seems broken here: https://wetrustplatform.github.io/paramount/#/docs-customize-theme#1-use-themeprovider (on the left and in the text)


replace rhumsaa/uuid by ramsey/uuid

it's the same repository behind.
this commit will prevent the line bellow to be display each times you install this lib
Package rhumsaa/uuid is abandoned, you should avoid using it. Use ramsey/uuid instead

Thanks! Hadn't notices yet

:+1:


warning:root:baseengine is not launched, fail to sync seed to engine!

Hi,
Thanks a lot for your great work of the simulator! I have explored the simulator for a while and have met some questions, Could you please help me with my problems?

I tried to run a MAPPO algorithm with local observation (IPPO) with fixed number of agents in Metadrive (I changed the termination condition in MARLenv), and it has multiple roll out threads. I found an warning:"root:baseengine is not launched, fail to sync seed to engine!" I checked one thread and found out that after env.step() function the rewards are all zeros. Is that warning related to the BaseEngine can only be created once?
I have changed the termination condition to fix the number of agents, and the 'crash' or 'out of road' brings large penalty while not terminating the agent. I found it seems hard to train a good policy with this setting. I'm wondering have you tried to train with fixed number of agents and did it work out successfully before? I just want to make sure this setting is feasible.

I appreciate it a lot if you can help! Thanks for your time!

Hi @jiw18020

I tried to run a MAPPO algorithm with local observation (IPPO) with fixed number of agents in Metadrive (I changed the termination condition in MARLenv), and it has multiple roll out threads. I found an warning:"root:baseengine is not launched, fail to sync seed to engine!" I checked one thread and found out that after env.step() function the rewards are all zeros. Is that warning related to the BaseEngine can only be created once?

Can you ensure that the reward for all agents at all time steps are all 0? I think it is possible that at the first step and the actions are all [0, 0], the reward is 0.

I have changed the termination condition to fix the number of agents, and the 'crash' or 'out of road' brings large penalty while not terminating the agent. I found it seems hard to train a good policy with this setting. I'm wondering have you tried to train with fixed number of agents and did it work out successfully before? I just want to make sure this setting is feasible.

You can set the penalty to a smaller value to avoid this.


Collect billing details for AWS

Describe the issue
Due to billing requirements we need to collect billing details for AWS
Support Budget Creation Efforts
Definition of done
Report of Current Cloud Bills - (untangle expenses that need to be moved to our budget)
estimate remainder of year's budget for technology expense

Details collected


Could not figure out the format of the value returned after connecting and reading a specific  characteristic

uuid : "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
value : "CAIBAQAAAAAAAAAAAAAAAAAAAAA=↵" ...
Any insights onto this would help

You should check documentation before asking questions:
https://polidea.github.io/react-native-ble-plx/#characteristic
Values are in Base64 format.

Yeah . Apologies  but i am unable to convert the Value i mentioned above from base64 to integer. Gets an NaN error using base64-int32 module

Your value looks fine and can be decoded as LE or BE int32 value:
var base64 = require("base64-js")
const array = base64.toByteArray("CAIBAQAAAAAAAAAAAAAAAAAAAAA=").buffer
const intLE = new DataView(array).getInt32(0, true)
const intBE = new DataView(array).getInt32(0, false)
console.log("LE: ", intLE, ", BE: ", intBE)