feat: new option to make ring tactic terminal

Currently, the ring tactic works by running an underlying terminal tactic ring1, and if this does not close the goal but the normalization tactic ring_nf succeeds then the user is offered a "Try this: ring_nf".
This PR implements an option ring.terminal, which preserves the existing behaviour if set to false (the default), but makes ring behave as ring1 (without the "try this") if set to true.
The motivation is for teaching: it's easier to have the tactic fail than to have to explain to students what ring_nf is.  I don't think there are any other uses, but this option is lightweight enough that I don't see any maintenance burden to adding it.

I discovered that it was easier than I thought to redefine ring in a dependent project, so I don't necessarily think we need this option any more.


[fmt] Update to 8.0.1

Describe the pull request
Updates fmt to 8.0.1

Does your PR follow the maintainer guide?

Yes

Edited Comment
I've made this PR before realising there are already PR's for this, sorry.

duplicate of https://github.com/microsoft/vcpkg/pull/18581


Deduplicate lines

Is your feature request related to a problem? Please describe.
Sometimes there are duplicate lines after sorting because people added lines at the bottom without checking if they were already present. They become apparent once the lines are sorted but must then be removed manually
Describe the solution you'd like
It would be nice to have an action to deduplicate lines. Also, it would be nice to have an additional action to deduplicate automatically after sorting.

Deduplicate lines
Sort Lines and Deduplicate

Oh, my bad... Was this feature added recently? I remember looking for it a few days ago but now I see it as well.

No, it is pretty old afaik.

Well, thanks for pointing this out :-)


Karma can't find unit tests in Angular 2 project

I have created an Angular 2 project with unit tests. However, when I run 'npm test' I get the following result even though an example test is included with the counter component.
Executed 0 of 0 ERROR (0.003 secs / 0 secs)

Can you give repro steps? For example, I just did the following:
mkdir myproject
cd myproject
yo aspnetcore-spa
npm test

... and get the expected result: Executed 2 of 2 SUCCESS
If those steps don't produce the same result on your machine, can you describe your environment in some more detail that might make it possible to reproduce the issue? Thanks!

I followed those same steps, with the following options:
Framework? Angular 2 Do you want to include unit tests? Y Your project name? myproject
OS: Windows 10
npm: 4.0.3
node: v6.9.2
Are there any other details that would be helpful?

@SteveSandersonMS  I am also receiving the same error.
OS: Windows 10
npm: 3.10.9
node: v6.9.2

Can you guys upgrade to the latest node 7.x and give it a shot by any chance? @Krishna-teja @danoleary
Also if you can, do a clean npm install as well.

@MarkPieszak Doing a clean install and upgrading to node 7.x worked. Thanks!

great, glad to hear it!

Is there a way to get this to work on Node 6 LTS?

@craigktreasure Have you confirmed that it really is an issue with Node 6? I know @Krishna-teja worked around it by installing Node 7, but maybe his Node 6 installation was just broken in some way.
If it really is an issue in Node 6, can you say what specifically about Node 6 causes the incompatibility?

@SteveSandersonMS I see the same behavior on two different Windows machines. Unfortunately, i don't know what causes the incompatibility right now. I assumed (and hoped) that the suggestion to try Node 7 meant that someone had a hint as to what it might be.

Unfortunately I don't know exactly what's causing it in 6, but I'd imagine in a minor release update within 6.x that it might be fixed. Fortunately on the dev-side using 7.x is safe enough, so whatever is happening there fixes the issue.

I'm running the latest patch release of 6 (6.9.2), so i don't believe it has been fixed. Not in a released build anyway.

I tracked it down. As suspected, it's nothing to do with your Node version. It's to do with your Chrome version. Newer versions of Chrome are stricter about the MIME types on script files, and the Karma config didn't specify a MIME type for .ts files.
To fix it, add the following to your karma.conf.js:
mime: { 'application/javascript': ['ts','tsx'] }

... as in this commit: https://github.com/aspnet/JavaScriptServices/commit/8c456aa0fcae61191e99fb691649fc7c6c4b3642

@SteveSandersonMS Great news since i just tried it with Node 7 and it still didn't work. Thanks so much! Any insights into how you discovered this?

I just opened the Chrome developer tools in the Karma window and saw a nice clear error message saying what the problem was :)

Odd. That was the first place i looked and it didn't say anything was wrong in the console or in the requests. Regardless, thanks for your help.


Renamed values directory to values-zh-rCN

OK. I renamed the values directory to values-zh-rCN.

Thanks for creating a PR! However, it seems your values directory has incorrect name, please rename it to values-zh-rCN instead.

Please remove string input_page_quote at line 85 and material_you_setting at line 112

Merged! Sorry for the delay & thanks for your contribution :)


Documentation

Need to write some more extensive documentation.

[x] General background
[x] How tools fit together assemble, call etc.
[ ] Use of more advanced features such as parallel tempering
[x] Worked examples with public data
[ ] Some examples of downstream analysis?
[ ] Atomizing haplotypes to get SNPs

Hello Tim,
Thank you for all of your work on MCHap! It's a really great tool. I am planning to use it on some Flex-Seq data generated in alfalfa, but I had a question that I thought might make a good documentation topic:
Do you have any recommended practices for upstream processing of the VCF used to identify SNVs? I use Freebayes for calling, typically followed by decomposition of primitive alleles using vcflib. However, I'm unsure of whether or not the input VCF should be filtered - e.g. is it best to filter by quality, missing data percentage, depth, MAF, etc.? The raw Freebayes output contains a lot of junk with very low allele frequencies or call rates - I'm not sure how MCHap would handle such variants.
Thank you!
Brian

Hi @etnite, thanks for the feedback! That's a good question and something that I need to investigate more thoroughly. In my PhD work I used a similar process to what you've described: Freebayes -> decomposition of primitive alleles -> Some filtering. However, these days I would suggest using minimal, if any, filtering. Then review the results and consider further filtering if necessary. If the results are very messy (lots of unique haplotypes, low posterior probabilities (GPH and PHPM)) then filtering the input SNVs is one option that may help cleaning up the result.
MCHap assemble will automatically exclude SNVs at the sample level if they have a very high probability of being homozygous (configured by the --mcmc-fix-homozygous argument). This essentially means that filtering by MAF shouldn't be necessary.
My understanding is that the QUAL score from FreeBayes is essentially a probability of some variation being present. So a low QUAL score shouldn't be too different from a low MAF.
Low read depth can be a real issue for MCHap and results in low confidence calls with many unique haplotypes. However, with targeted sequencing like Flex-seq, it's probably more robust to adjust the assembly windows (bed intervals) to exclude any low coverage areas.
I have come across sites with high QUAL scores and read depth, but low GQ scores. My assumption was that this may be indicative of some sort of copy number variation or misaligned/off-target sequences. MCHap won't handle either of these situations very well. Filtering these variants is an option, but in may just be masking the underlying issue. So, these days I'd recommend running MCHap without filtering. The MCI field reported by MCHap can be useful to help diagnose this sort of issue although it's not bulletproof.
Overall, I think filtering by depth is the best option if you do want to apply some filtering.
Hopefully that's helpful!

Many thanks @timothymillar. This all makes sense to me. You are correct that in our Flex-seq data depth doesn't tend to be much of an issue, though there are always a handful of targeted regions where the assay doesn't work very efficiently for whatever reason. As you mention it might be easiest to simply exclude these from the .bed file.
I watched your presentation for Polyploid Tools so I think I understand what the MCI field is reporting.
I'm looking forwards to testing MCHap on a few regions of particular interest - then I can try scaling up to the whole genome once I get some experience working with the output.

Just an update @etnite, I've released version 0.9.0 which includes a new tool mchap find-snvs. This is a very simplistic approach to finding putative SNVs for haplotype assembly but I find it much more strait forward than using FreeBayes or similar. I won't promise that it produces better results, but it allows you to filter based on depth as described above.


Migrate Tailscale to official k8s setup

Tailscale seems to have some semi-official docs for getting set up with k8s, including a Dockerfile and support for reading auth from a Secret.
They don't publish the k8s container image or have a helm chart though!
It might be worth reducing your maintenance overhead by aligning your helm chart with their code
https://github.com/tailscale/tailscale/tree/main/docs/k8s

absolutely, I am more than happy to work on it as this would be preferable for the community. I believe this is likely something in the pipe on their end though. @josharian would you happen to know what the plans are?

@maisem over to you


SnakeBG - interactive dynamic desktop backgrounds

This PR adds the ability to set a dynamic desktop background in SnakeWM, as well as a few example backgrounds to demonstrate how it works. Basically all you need to add is a Python script to the snakewm/snakebg/backgrounds folder that contains a drawbg(surface) function that accepts a Pygame Surface as an argument. You can then draw whatever you want to that surface, and it will act as a background. Your drawbg() function will get called each frame while your background is active.
Press ALT+D to bring up the SnakeBG menu. When you have a background selected, press ALT+D again to turn it off.
As far as I'm aware, we are the only OS that offers dynamic backgrounds to this level of interactivity and customizability :)

Very nice! This makes Snakeware the first official Vaporwave Linux distro then. I really like it. Just wait until Reddit sees this... :-)


Timeout on TcpDataSender (Openshift/Kubernetes)

Hi :)
Description
I try to pass pinpoint in Openshift. All is ok but i have timeout errors on the agent side and i don't know why. The connection between agent and collector seems like ok. Needs more specific ports?
Connection ok:
2018-05-11 15:12:23 [DEBUG](.p.r.c.DefaultPinpointClientHandler) ping write success. channel:[id: 0x9adb8c03, /<IP_ADDRESS>:60466 => pinpoint-collector/<IP_ADDRESS>:9994] 2018-05-11 15:12:23 [DEBUG](c.n.p.r.c.PacketDecoder            ) receive pong. [id: 0x9adb8c03, /<IP_ADDRESS>:60466 => pinpoint-collector/<IP_ADDRESS>:9994]
Error:
2018-05-11 15:12:44 [INFO ](c.n.p.p.AgentInfoSender            ) Sending AgentInfo TAgentInfo(hostname:pinpoint-test-6-mw7tw, ip:<IP_ADDRESS>, ports:, agentId:app-in-docker, applicationName:app, serviceType:1010, pid:1, agentVersion:1.7.2, vmVersion:1.8.0_171, startTimestamp:1526051237821, serverMetaData:TServerMetaData(serverInfo:Apache Tomcat/8.5.30, vmArgs:[-Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties, -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager, -javaagent:/usr/local/pinpoint-agent/pinpoint-bootstrap-1.7.2.jar, -Dpinpoint.agentId=app-in-docker, -Dpinpoint.applicationName=app, -Djdk.tls.ephemeralDHKeySize=2048, -Djava.protocol.handler.pkgs=org.apache.catalina.webresources, -Dorg.apache.catalina.security.SecurityListener.UMASK=0027, -Dignore.endorsed.dirs=, -Dcatalina.base=/usr/local/tomcat, -Dcatalina.home=/usr/local/tomcat, -Djava.io.tmpdir=/usr/local/tomcat/temp], serviceInfos:[TServiceInfo(serviceName:Catalina/localhost/, serviceLibs:[jstl-api-1.2.jar, jackson-databind-2.4.4.jar, spring-webmvc-4.1.7.RELEASE.jar, jcl-over-slf4j-1.7.5.jar, jackson-annotations-2.4.0.jar, spring-context-4.1.7.RELEASE.jar, spring-expression-4.1.7.RELEASE.jar, httpcore-4.3.3.jar, jstl-impl-1.2.jar, spring-web-4.1.7.RELEASE.jar, jackson-core-2.4.4.jar, aopalliance-1.0.jar, spring-aop-4.1.7.RELEASE.jar, spring-core-4.1.7.RELEASE.jar, slf4j-api-1.7.5.jar, commons-io-2.4.jar, commons-codec-1.6.jar, commons-logging-1.1.3.jar, slf4j-log4j12-1.7.5.jar, log4j-1.2.17.jar, spring-beans-4.1.7.RELEASE.jar, standard-1.1.2.jar, httpclient-4.3.6.jar]), TServiceInfo(serviceName:Catalina/localhost/manager, serviceLibs:[]), TServiceInfo(serviceName:Catalina/localhost/docs, serviceLibs:[]), TServiceInfo(serviceName:Catalina/localhost/host-manager, serviceLibs:[])]), jvmInfo:TJvmInfo(version:0, vmVersion:1.8.0_171, gcType:PARALLEL)) 2018-05-11 15:12:47 [WARN ](c.n.p.p.AgentInfoSender            ) request timed out while waiting for response.
Environment

Pinpoint version: 1.7.2
Openshift 1.5.1

Additional Info
Agent log
Agent pinpoint.config

hi LeSingeFou
This is not a network issue between (agent <-> collector), because it accepts pong messages.
If a timeout occurs only for a specific message. then It seems to be a problem of hbase.
Please check the hbase that is connected to the collector.
thanks.

Hi koo-taejin,
Thx for your response. In collector side, no error in logs. In debug mode i have that :
`2018-05-16 17:09:13 DEBUG Use SIMPLE authentication for service ClientService, sasl=false
| 2018-05-16 17:09:13 DEBUG Not trying to connect to pinpoint-hbase/<IP_ADDRESS>:45108 this server is in the failed servers list
  | 2018-05-16 17:09:13 DEBUG Reading reply sessionid:0x16369e8bd0b0006, packet:: clientPath:null serverPath:null finished:false header:: 91,4  replyHeader:: 91,4068,0  request:: '/hbase/meta-region-server,F  response:: #ffffffff0001a726567696f6e7365727665723a3435313038ffffffd7ffffffd7ffffffa2ffffffcfffffffdd48ffffffcbffffff8350425546a1bae70696e706f696e742d686261736510ffffffb4ffffffe0218ffffffa2ffffff97ffffffa3ffffffcfffffffb62c100183,s{2134,2134,1526490261505,1526490261505,0,0,0,0,68,0,2134}
  | 2018-05-16 17:09:13 DEBUG Reading reply sessionid:0x16369e8bd0b0006, packet:: clientPath:null serverPath:null finished:false header:: 92,8  replyHeader:: 92,4068,0  request:: '/hbase,F  response:: v{'replication,'meta-region-server,'rs,'splitWAL,'backup-masters,'table-lock,'flush-table-proc,'region-in-transition,'online-snapshot,'master,'running,'recovering-regions,'draining,'namespace,'hbaseid,'table}
`
Log files :
pinpoint-quickstart-1-nq6c0.log
pinpoint-hbase-6-wnh06.log
pinpoint-collector-1-zz069.log

Hello,
I can understand that but i dont really know the pinpoint architecture ans maybe someone have a help.
I would like share my kubernetes/Openshift pinpoint adaptation All are ready, i have just this problem.
So if you have tips to help me (like tools for debug or spécifications configuration) it's can be good.
Thanks

@LeSingeFou Hello, did you manage to make it work, please? I have the same problem.


Issue with k8s.io/id/docs/concepts/configuration/overview/ for Bahasa Indonesia

Some sentences remain in English, we have to translate and clean up the format on this page.

Ref: https://kubernetes.io/id/docs/concepts/configuration/overview/ (select Bahasa Indonesia)
/language id

/kind cleanup

Hi @girikuncoro do we still have this problem?

Most likely yes, we can generate specific issue for this and keep the easy ones open for docs contributor workshops


[FEATURE] - UI graph of commits like the dead gmaster

Hi,
is it possible to add a graph like the following.  Seems so much more clean.

not possible :( ?

Yes, at least not planned in the near future


revert(jellyfinapi): reverts #450 as it broke library sync support for local accounts using LDAP

Description
Reverted #450 which addressed the issue where the automatic grouping enabled libraries were not functioning correctly. The previous fix inadvertently caused a bug for Jellyfin LDAP users, preventing library syncing with a 401 error. Reverting this change temporarily until support for automatic library grouping can be re-implemented
This PR can be tested using the tag preview-pr524
Screenshot (if UI-related)
To-Dos

[x] Successful build yarn build

Issues Fixed or Closed

Fixes #489

Tested with clean config and issue has been fixed.

:tada: This PR is included in version 1.8.0 :tada:
The release is available on:

v1.8.0
GitHub release

Your semantic-release bot :package::rocket:


potential data integrity issue if storage options are customized during role execution

I think have found an issue if this role is used together with custom storage options designed to enable direct-lvm mode  https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/
The issue arises because after the DOCKER_OPTS variable is configured, there is no restart of the docker daemon. As a result, the initial install of the docker daemon will be running with the thin pool device mapped to the loop back device instead of the thin pool device of the intended volume group. When the docker daemon is subsequently restarted the thin pool device implied by the storage options will be used which, of course, is a different device.

For example, here is a case where lsblk shows that the docker pool device is mapped across loopback devices when it should be mapped across logical volumes from the datavg volume group
NAME                            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                               8:0    0  29.3G  0 disk
└─sda1                            8:1    0  29.3G  0 part /
sdb                               8:16   0    14G  0 disk
└─sdb1                            8:17   0    14G  0 part /mnt
sdc                               8:32   0   512G  0 disk
├─datavg-spherestack (dm-0)     252:0    0   128G  0 lvm  /var/lib/sphere-stack
├─datavg-backups (dm-1)         252:1    0   128G  0 lvm  /var/lib/backups
├─datavg-docker--data (dm-2)    252:2    0   128G  0 lvm
└─datavg-docker--meta (dm-3)    252:3    0     4G  0 lvm
sdd                               8:48   0   128G  0 disk
└─sdd1                            8:49   0   128G  0 part
sr0                              11:0    1   1.1M  0 rom
loop0                             7:0    0   100G  0 loop
└─docker-8:1-528619-pool (dm-4) 252:4    0   100G  0 dm
loop1                             7:1    0     2G  0 loop
└─docker-8:1-528619-pool (dm-4) 252:4    0   100G  0 dm

I did some more digging. The issue is not so much that the docker daemon is restarted - it is. The problem is that the thin pool device is not torn down so that when docker restarts with the new storage options, the thin pool device is still bound to the loop back devices.
So:
$ sudo dmsetup table
datavg-spherestack: 0 268435456 linear 8:32 276826112
datavg-docker--data: 0 268435456 linear 8:32 2048
docker-8:1-528625-pool: 0 209715200 thin-pool 7:1 7:0 128 32768 1 skip_block_zeroing
datavg-docker--meta: 0 8388608 linear 8:32 268437504
datavg-backups: 0 268435456 linear 8:32 545261568
$ lsblk
NAME                            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                               8:0    0  29.3G  0 disk
└─sda1                            8:1    0  29.3G  0 part /
sdb                               8:16   0    14G  0 disk
└─sdb1                            8:17   0    14G  0 part /mnt
sdc                               8:32   0   512G  0 disk
├─datavg-spherestack (dm-0)     252:0    0   128G  0 lvm  /var/lib/sphere-stack
├─datavg-backups (dm-1)         252:1    0   128G  0 lvm  /var/lib/backups
├─datavg-docker--data (dm-2)    252:2    0   128G  0 lvm
└─datavg-docker--meta (dm-3)    252:3    0     4G  0 lvm
sdd                               8:48   0   128G  0 disk
└─sdd1                            8:49   0   128G  0 part
sr0                              11:0    1   1.1M  0 rom
loop0                             7:0    0   100G  0 loop
└─docker-8:1-528625-pool (dm-4) 252:4    0   100G  0 dm
loop1                             7:1    0     2G  0 loop
└─docker-8:1-528625-pool (dm-4) 252:4    0   100G  0 dm

Ok, the issue in  my case is that my host is ubuntu 14.04 and these lines:
- name: Set docker daemon options
  copy:
    content: "DOCKER_OPTS=\"{{ docker_opts.rstrip('\n') }}\""
    dest: /etc/default/docker
    owner: root
    group: root
    mode: 0644
  notify:
    - Reload docker
  when: docker_opts != "" and ansible_distribution_version|version_compare(15.04, '<')

don't actually result in the restart of the docker daemon with the new storage options. That is: "Reload docker" silently fails. "Restart docker" would likely have the desired effect, which I will now test.

Closed by #90


TORCH_LIBRARY_FRAGMENT build error

🐛 Bug

To Reproduce
Steps to reproduce the behavior:
1.sudo python3 setup.py install
2. vision/torchvision/csrc/vision.cpp:31:23: error: expected constructor, destructor, or type conversion before ‘(’ token

Expected behavior

Environment
Please copy and paste the output from our
environment collection script
(or fill out the checklist below manually).
You can get the script and run it with:
wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
# For security purposes, please check the contents of collect_env.py before running it.
python collect_env.py

PyTorch / torchvision Version (1.7.0 / 0.8.1):
OS (e.g., Linux): arm ubuntu 18.10
How you installed PyTorch / torchvision (conda, pip, source):  pytorch whl/vision source
Build command you used (if compiling from source):
Python version: 3.6.8
CUDA/cuDNN version:10.2
GPU models and configuration:
Any other relevant information:

Additional context

checkout a specific version first
git checkout v0.8.2

switching to v0.8.2 did not help. here is my build environment:
PyTorch version: 1.8.0a0+7245d2c
Is debug build: True
CUDA used to build PyTorch: 11.2
ROCM used to build PyTorch: N/A

OS: Arch Linux (x86_64)
GCC version: (GCC) 10.2.0
Clang version: 11.0.0
CMake version: version 3.19.2

Python version: 3.9 (64-bit runtime)
Is CUDA available: True
CUDA runtime version: Could not collect
GPU models and configuration: GPU 0: GeForce RTX 2080 Ti
Nvidia driver version: 455.45.01
cuDNN version: Probably one of the following:
/usr/lib/libcudnn.so.8.0.5
/usr/lib/libcudnn_adv_infer.so.8.0.5
/usr/lib/libcudnn_adv_train.so.8.0.5
/usr/lib/libcudnn_cnn_infer.so.8.0.5
/usr/lib/libcudnn_cnn_train.so.8.0.5
/usr/lib/libcudnn_ops_infer.so.8.0.5
/usr/lib/libcudnn_ops_train.so.8.0.5
HIP runtime version: N/A
MIOpen runtime version: N/A

Versions of relevant libraries:
[pip3] numpy==1.19.4
[pip3] torch==1.8.0a0
[conda] Could not collect

checkout a specific version first
git checkout v0.8.2

I use pytorch 1.7.0, so it should be torchvision 0.8.1,i back to 0.8.0, it compiled successful

switching to v0.8.2 did not help. here is my build environment:
PyTorch version: 1.8.0a0+7245d2c
Is debug build: True
CUDA used to build PyTorch: 11.2
ROCM used to build PyTorch: N/A

OS: Arch Linux (x86_64)
GCC version: (GCC) 10.2.0
Clang version: 11.0.0
CMake version: version 3.19.2

Python version: 3.9 (64-bit runtime)
Is CUDA available: True
CUDA runtime version: Could not collect
GPU models and configuration: GPU 0: GeForce RTX 2080 Ti
Nvidia driver version: 455.45.01
cuDNN version: Probably one of the following:
/usr/lib/libcudnn.so.8.0.5
/usr/lib/libcudnn_adv_infer.so.8.0.5
/usr/lib/libcudnn_adv_train.so.8.0.5
/usr/lib/libcudnn_cnn_infer.so.8.0.5
/usr/lib/libcudnn_cnn_train.so.8.0.5
/usr/lib/libcudnn_ops_infer.so.8.0.5
/usr/lib/libcudnn_ops_train.so.8.0.5
HIP runtime version: N/A
MIOpen runtime version: N/A

Versions of relevant libraries:
[pip3] numpy==1.19.4
[pip3] torch==1.8.0a0
[conda] Could not collect

My CUDA version is 11.2.0. I don't know why the script couldn't get that.

maybe you could try this  https://github.com/yqlbu/jetson-packages-family "Set CUDA Path"

doesn't resolve it,  any update?

doesn't resolve it,  any update?

Hi,
If you want to compile torchvision from master, you need to have a recent enough nightly version of PyTorch installed in your system.
Let us know if with the latest PyTorch nightly you are not able to compile torchvision from source.

Hi,
If you want to compile torchvision from master, you need to have a recent enough nightly version of PyTorch installed in your system.
Let us know if with the latest PyTorch nightly you are not able to compile torchvision from source.

it‘s my fault, i check the error version

it‘s my fault, i check the error version


ERROR when creating default NumParMM

some dependency/environment issue with NelderMead()

#77 solved it. not very elegant, might need something more sophisticated


Constant Schemas/Literal Types are not consistent between mgmt and dpg

I started the discussion here: https://github.com/Azure/autorest.csharp/pull/3036#discussion_r1089877428
Mgmt plane handles the constants in ctor initializers, like
public Foo()
{
   Constant = StringConstant.Default;
}

public StringConstant Constant {get;}

while DPG generates literal types (equivalent of constants) using property default values, like
public Foo()
{
}
public string Constant {get;} = "default";

And when a property has a literal type, it will be skipped in deserialization therefore it will not show up in the constructor.
We should align these two.

Related with https://github.com/Azure/autorest.csharp/issues/3178

Come up with a matrix of constants/literals for mgmt and dpg when it is string/non string, property and parameter

On my side, I believe the current implementation in DPG for optional literal is not correct, it is never "optional" because we always send a value for that property or parameter and the customer never has a chance to change them.

Literal is not the same as Constants. Literal is to define an type, more like a Fixed enum. Constant talk about a variable. Current we tried to map a type to a variable, there will be some gap. And I think the semantic of optional property of an literal type is not quite clear. What value of a optional property with literal type is when the property is not set?

Some background knowledge:
How is constant defined in swagger?
Swagger actually does not have a constant type. The model v4 transforms the "sealed enum with only one value" into ConstantSchema which is also a type, therefore this is the swagger equivalent to LiteralType, because it is a type as well. FYI @chunyu3
"bar": {
"type": "string",
"enum": ["default"],
"x-ms-enum": {"modelAsString": false}
}

How is literal types defined in typespec?
Typespec has native support for literal types
model Foo
{
bar: "default"; // stands for a property `bar` with the literal type of `default`
}

@ArcturusZhang thanks a ton for putting this together.  Can you add one more column to the matrix above to explain what dataplane target does today and then schedule a sync to talk through this.

@ArcturusZhang thanks a ton for putting this together. Can you add one more column to the matrix above to explain what dataplane target does today and then schedule a sync to talk through this.

I updated the matrix.
Actually we already have a test project for various cases of the constant for HLC: https://github.com/Azure/autorest.csharp/tree/feature/v3/test/TestServerProjects/constants
Now looks like we have kind of an alignment between HLC and DPG - they did not differentiate optional and required constants or different types of the constant.
But my opinion is that our behaviour on optional constant is wrong - we never give the customer a choice of not putting the value into the request, especially when it is a query. We have got an explicit complain from the storage team which is the direct reason that we added the "extensible enum" wrapping mechanism.

Actions and proposals for mgmt/hlc and dpg:

combination
mgmt diff
hlc diff
dpg diff
proposal

required string constant in model property
remove setter
remove setter
make publicchange assignmentinclude in deserialization
publicextensible enum : optinitializer in ctorno setterinclude in serializationinclude in deserialization

optional string constant in model property
no-op
introduce extensible enumremove the initialization in ctor
make publicintroduce extensible enumchange assignmentadd setterinclude in deserialization
publicextensible enum: alwaysno initializer in ctor or default property assignmentsetterinclude in serializationinclude in deserialization

required string constant in method parameter
no-op
no-op
no-op
not show up in the methodhardcode in requestno extensible enum

optional string constant in method parameter
no-op
add it to the methodno longer hardcode in requestadd extensible enum
add it to the methodno longer hardcode in requestadd extensible enum
show up in the method with defaultextensible enum (always)should not hardcode in request

I only listed "string" constant, because I did not think non-string constant will have any difference.

@ArcturusZhang thank you for all the detailed investigation here.  In your last table I am curious why we decided to have extensible enum be a generator option for a required property but when its optional its required?  Is this because we need a setter and therefore the hint on what values are known is important?
I am also curious on why we chose ctor assignment for required and property assignment for optional?
For the optional case would the default be null or the single value?
For parameters I agree with the proposal.

We have an issue because mgmt and HLC diverges on this part:

mgmt already has the extensible enum and when it is an optional constant parameter, the default behavior is null, like:

public Response Foo(ExpandType? expand = null)

HLC never has the extensible enum therefore when it is an optional constant parameter, the default behavior is "always have the value"

public Response Foo() // the operation
// when creating the request
private CreateFooRequest()
{
builder.AppendQuery("foo", "value", false); // it always append the query
}

After the alignment, mgmt and HLC should have a same behavior, either default to null or default to the only value, but whichever we choose, we have a behavioral change in the other plane.
Which behavior should we take? We might need some discussion on this. @m-nash

If I undserstand correctly before the constant was just hard coded in but after we swap to extensible enum the default value becomes null and we no longer pass the query param?
If so can we add a transform to add a default value so it matches the old behavior in the HLC case?

Since this change will introduce breaking changes, I moved this to 2.0 GA


BugFix: Cancel correctly pending operation

It was not possible to cancel an operation for which the app was waiting for the connection.

Interesting.
LGTM


Mail attempts to decode a  mail message twice when using exim

When trying the basic example in the readme with exim, I only received and error:

NoMethodError: undefined method encoded' for #String:0x0000000947f9d8 from /home/mark/.rvm/gems/ruby-2.0.0-p247/gems/mail 2.5.4/lib/mail/network/delivery_methods/exim.rb:46:inblock in call'

The mail message should have been an instance of the Mail class which respond to 'encoded', not a string.
It turns out the encoded is being called twice, once in the super class(Mail::Sendmail) and once in the subclass Mail::Exim.

Thanks for this. Are you able to write a test that demonstrates this behavior?

Hi Ben
I could but I have time pressure right now. How much time to I have.
Regards
Mark
On 15 January 2015 at 14:14, Benjamin Fleischer<EMAIL_ADDRESS>wrote:

Thanks for this. Are you able to write a test that demonstrates this
behavior?
—
Reply to this email directly or view it on GitHub
https://github.com/mikel/mail/issues/814#issuecomment-70037733.

same question
/root/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/mail-2.6.4/lib/mail/network/delivery_methods/exim.rb:47:in `block in call': undefined method `encoded' for #<String:0x007f8fd34eec28> (NoMethodError)
        from /root/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/mail-2.6.4/lib/mail/network/delivery_methods/sendmail.rb:73:in `popen'
        from /root/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/mail-2.6.4/lib/mail/network/delivery_methods/sendmail.rb:73:in `popen'
        from /root/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/mail-2.6.4/lib/mail/network/delivery_methods/exim.rb:46:in `call'
        from /root/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/mail-2.6.4/lib/mail/network/delivery_methods/sendmail.rb:57:in `deliver!'
        from /root/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/mail-2.6.4/lib/mail/message.rb:253:in `deliver!'
        from email.rb:17:in `<main>'

Fixed by 67ac9bb7128c3e3f74ee4f8e7115a00727652876, backport of #689.


When will there be an ALiBi?

When will there be an ALiBi? This is valuable?When will there be ALiBi? This is valuable, especially when it comes to long text, and can effectively reduce the consumption of video memory.

The triton implementation supports attention bias, so it should work with ALiBi.

The MosaicML examples LLM model uses Alibi with the triton implementation

:facepalm: my bad, sorry. Do you mind if I prepare a PR with a similar linear_attention_bias scheme in fmha_*_launch_template.h?

🤦 my bad, sorry. Do you mind if I prepare a PR with a similar linear_attention_bias scheme in fmha_*_launch_template.h?

I'm not sure how easy it is to do. For FlashAttention the product QK^T is stored in registers in a "permuted layout" to match the accumulator of the matrix multiply (mma) instruction. E.g. thread 0 holds elements at column 0, 1, 8, 9, etc, thread 1 holds elements at column 2, 3, 10, 11, etc. The layout is described in Nvidia's docs here. So when we read in the linear bias we'll need to take this "permuted layout" into account (it's not a straightforward thread 0 uses bias[0], thread 1 uses bias[1], etc.)
If you figure it out then ofc a PR would be very welcome.

Alibi is supported in FlashAttention as of v2.4.0


Not being Able To Perform Any Actions On Gitlab Provider

Is your feature request related to a problem? Please describe.
Not sure how to reproduce, but user is not able to pull or perform any action like switching branches - watch video.
Additional context
User's video

Closing this ticket as this is no longer reproducible in Prod 1.38.9 and Beta V2-rc5


bug: Paused Protocol Engine protocol is reported as ready-to-run instead of paused

Steps to reproduce

Upload a Python protocol through the HTTP API.metadata = {"apiLevel": "2.11"}

def run(protocol):
    tip_rack = protocol.load_labware("opentrons_96_tiprack_20ul", 1)
    well_plate = protocol.load_labware("biorad_96_wellplate_200ul_pcr", 2)
    pipette = protocol.load_instrument("p20_single_gen2", "left", tip_racks=[tip_rack])

    pipette.pick_up_tip()
    pipette.move_to(well_plate.wells_by_name()["A1"].top())
    pipette.drop_tip()

Create a protocol session for that protocol.
Issue a start action for that protocol session.
Wait until the robot moves to pick up a tip, and then issue a pause action.

Current output
(Here I paused and played a couple of times.)
{
    "links": null,
    "data": [
        {
            "id": "70adfbbc-f4bd-453b-8e58-9a1a6d8720e5",
            "sessionType": "protocol",
            "createdAt": "2021-09-27T21:46:04.219624+00:00",
            "status": "ready-to-run",
            "createParams": {
                "protocolId": "1edf36f6-bfe6-48a5-9694-0e67926298bf"
            },
            "actions": [
                {
                    "id": "deb4c98b-b1fc-447e-82e7-16b9e9a96f2b",
                    "createdAt": "2021-09-27T21:46:10.521808+00:00",
                    "actionType": "play"
                },
                {
                    "id": "5ab66875-bc76-488f-a190-38a702c13eb9",
                    "createdAt": "2021-09-27T21:46:30.720929+00:00",
                    "actionType": "pause"
                },
                {
                    "id": "15635724-b8c6-4fe5-b510-f07cf93bdf05",
                    "createdAt": "2021-09-27T21:47:27.566500+00:00",
                    "actionType": "play"
                },
                {
                    "id": "81acb009-e8ac-4222-a500-eb314d0dcc6e",
                    "createdAt": "2021-09-27T21:47:32.118505+00:00",
                    "actionType": "pause"
                }
            ],
            "commands": [],
            "pipettes": [],
            "labware": [
                {
                    "id": "fixedTrash",
                    "loadName": "opentrons_1_trash_1100ml_fixed",
                    "definitionUri": "opentrons/opentrons_1_trash_1100ml_fixed/1",
                    "location": {
                        "slot": 12
                    }
                }
            ]
        }
    ]
}

Note that status is ready-to-run and commands is empty.

Oops, miscommunication. This is currently expected with PAPIv2 protocols, as noted in #8339

Without commands in state, session status doesn't yet work
I'm asking to punt proper status reported to 8374

#8374 is still in progress. You should see PAPIv2 status reporting working in the draft of #8402


Can filters be used for Encoding?

Hallo,
Can your filters be used while encoding video? Is there any Software that can use your glsl-filters and apply them in the encoding process?
Asking because I have a HTPC in my living room with only an Intel GPU that is to weak to play files with shaders enabled.
I tied to use mpv to encode a video on my ubuntu-machine with the following:

mpv input.mkv --vf=gpu="w=1280:h=720" --glsl-shaders="/shaders/Anime4K_Upscale_CNN_L_x2_Denoise.glsl:/shaders/Anime4K_Auto_Downscale_Pre_x4.glsl:/shaders/Anime4K_Deblur_DoG.glsl:/shaders/Anime4K_DarkLines_HQ.glsl:/shaders/Anime4K_ThinLines_HQ.glsl:/shaders/Anime4K_Upscale_CNN_M_x2_Deblur.glsl"--o=output.mkv

The result does not look as good as the original file in mpv with shaders enabled.
Is there a way to properly apply + reencode a video-file with your shaders? If I would need another Program or Windows instead of Linux that’s also fine by me.
THX for your help ;)

I am closing the issue, found solution:
Need to set a Constant Rate Factor with --ovcopts=crf=VALUE and need to set higher resolution --> 720p to 1080p.
Also need to set --vf=format=yuv420p for working hw-decoding.

i have the same problem,please help!!

I have installed Ubuntu on an hard drive and it worked on it


Support annotated git tags in hub release

Is it possible to have hub release create [TAG] use the same message as the referenced tag?  I don't want it to open the editor for me to add a message when I already added a tag.
I imagine I can create a sub script to load the tag message and then use hub release create -m $tag-message, but is there any chance this feature already exists and I couldn't find it?

Hi thank you for your suggestion! To clarify: are you talking about annotated git tags, and your proposed flow would be that hub release create TAG would re-use the title and message from the annotated tag without opening the editor?
Would you be open to the idea that hub would instead pre-populate the contents of the text editor with the message from the git tag, but still open the text editor unless you passed some flag such as --no-edit? The reason I suggest this is that I think it would be confusing that hub release create sometimes opens the text editor, and sometimes not.

Yes, annotated git tags. As you probably Github Releases doesn't generate annotated tags (nor does it gives us options to do so). To use annotated tags, then, I tag manually
At the end of the process, I have to copy/paste the tag title/message, manually open Github Releases and create a new one based on the recently pushed annotated tag. Having the possibility of the Release use the tag's title/message automatically would help automate this process. There are more people around the web with the same problem.

Would you be open to the idea that hub would instead pre-populate the contents of the text editor with the message from the git tag, but still open the text editor unless you passed some flag such as --no-edit?

Yes, absolutely. I totally understand the UX concerns and I agree, it needs to be coherent. In my use case, though, I would only use --no-edit and I'd probably only use the editor when manually calling hub.
p.s.: for context, I currently run a bin/release script I created which will form release notes based on past commits and then create an annotated tag (among other things) with it as message. If hub created annotated tags, I'd probably bypass the git tag part entirely and just use hub standalone.

To programatically create a GitHub Release by reusing the subject & body of an annotated git tag:
git for-each-ref --format="%(subject)%0a%0a%(body)" refs/tags/<TAG> | \
  hub release create -F- <TAG>

This assumes that the tag was already pushed to the remote. You could incorporate this into your release process.
I agree that this is unwieldy. I'll keep this issue open as a todo item to explore how hub could better support annotated tags. Thank you for the suggestion!

Just want to add another alternative to the list

This utilize git tag --list. For example:
TAG=${GITHUB_REF##*/} # in case you use it in github action

git tag --list ${TAG} --format='%(contents:subject)%0a%0a%(contents:body)' | hub release create --draft -F- ${TAG}


Setting custom errors in Decoder.SetErr

I'm struggling with this code:
// SetErr sets the Decoder's error if it has not already been set. SetErr should
// only be called from DecodeFrom methods.
func (d *Decoder) SetErr(err error) {
	if err != nil && d.err == nil {
		d.err = err
		// clear d.buf so that future reads always return zero
		d.buf = [len(d.buf)]byte{}
	}
}

I'm writing a compat code where I'm reading a struct that may or may not contain a field. If it doesn't contain that field, I need to set d.err to nil or a custom error that will indicate upstream that the compat code has executed. Currently this is not possible, because changing the d.err value is only possible when it's nil, but in my case it's EOF.

SetErr is not allowing overwriting errors on purpose, because doing so might hide the root error causing an issue.
When dealing with versioning the ideal solution is usually storing/sending the version first and then continue decoding accordingly.
If that is not possible, another approach is to first try and decode into the new type and if that fails try to decode into the old type. If the latter succeeds you know it was the old one. That's not as nice as the first approach but works usually.


performance degradation on tunneled connection

I've experienced performance degradation when upgraded from 2.2.2 to 2.3.7.
see measurements in attachment which was made by Spark application calling spark.catalog.listTables().
newer WD is 3 times slower impacting the ssh-tunneled connections (see highlighted rows) the most.

how much can it be eliminated?

@bAndie91 , @patduin: I did some investigation and found this:
Test Case 1 - listTables on non-tunneled connection

wd version
run-1
run-2

2.3.0
20 s
19 s

2.3.1
20 s
23 s

2.3.2
25 s
24 s

2.3.3
36 s
32 s

2.3.4
28 s
25 s

2.3.5
44 s
56 s

2.3.6
48 s
46 s

Test Case 2 - listTables on tunneled connection

wd version
run-1
run-2

2.3.0
5 m 37 s
4 m 52 s

2.3.1
4 m 59 s
5 m 04 s

2.3.2
5 m 15 s
5 m 11 s

2.3.3
7 m 27 s
7 m 12 s

2.3.4
5 m 14 s
5 m 15 s

2.3.5
13 m 02 s
13 m 27 s

2.3.6
12 m 33 s
13 m 07 s

Summary
I had 2 runs for both test cases, the test durations are pretty much consistent between runs and we can observe ~150% performance degradation between 2.3.4 and 2.3.5 releases.
IMPORTANT: The performance degradation does not seem to be specific to tunneled connection, the same trend can be observed in both cases.

Excellent work!
Got one more questions in your WD configuration are all metastores reachable and responding or is one of them down?

@bAndie91 can you please answer the question above?
I also checked the spark logs if they can contain any unusual error.
I have seen this error many times in the logs starting from v2.3.3:

This might be also interesting.

I think I know what is going on. A change I made related to #73 . Does an extra call to verify the connection is open.

Can I ask you to try and build/run this branch: https://github.com/HotelsDotCom/waggle-dance/tree/issue-115
I suspect the changed line is what is causing the issue or at least I want to rule this out.
I'll also make an internal ticket for us to setup performance tests as we should be catching these issues. Apologies for that.

@patduin Sure, will check that branch and get back to you with the results.

@patduin all the metastore connections are AVAILABLE during the tests run.

ok thanks really helpful! We'll need to find some other way to fix #73 without introducing the performance hit. Not sure yet how but at least we know what is going on :)

cheers, let us know when the fix is available, we are happy to take a quick look at the performance.

Will do and thanks!

@patduin sure, will take a look and get back to you with results.

@patduin : test executed on 4791baf and added the result to the chart.

I can see some performance degradation in both cases, but it's not so critical than in v2.3.5.

yeah I can't really account for that. We merged the PR with the changes and try to make a release this week.

This is adressed in 2.4.2 release, if the performance is still an issue please reopen or open a new ticket, closing this.


better validate commandline options

validate whether the import file exists early so we can error out
before attempting to connect the server
if we have a --file argument don't swallow unused option.

this improves the useability as seen in https://github.com/arangodb/arangodb/issues/12649

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/12227/


Add Half Cauchy

Codecov Report

Merging #81 (5f3749d) into main (1fcec9d) will increase coverage by 0.51%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #81      +/-   ##
==========================================
+ Coverage   71.06%   71.58%   +0.51%
==========================================
  Files          15       15
  Lines        1431     1457      +26
==========================================
+ Hits         1017     1043      +26
  Misses        414      414

Impacted Files
Coverage Δ

preliz/distributions/__init__.py
100.00% <ø> (ø)

preliz/tests/test_distributions.py
100.00% <ø> (ø)

preliz/tests/test_mle.py
100.00% <ø> (ø)

preliz/distributions/continuous.py
98.48% <100.00%> (+0.07%)
:arrow_up:

preliz/tests/test_maxent.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Performance of loading Summary stats page

go to https://www.ebi.ac.uk/gwas/downloads/summary-statistics
The table for published studies with Summary stats data takes ~12 seconds to load. Curators have mentioned that the page has taken ~1 minute to load in some cases

The published studies table pulls data from both the Search UI data and from the SumStats REST API and there may have been some recent updates to the architecture for getting this data, any of which could be a cause in the slow response to load the table. As more studies with Summary stats are collected, I'd gather this table will become slower to load.

Need to add a "loading" icon for the prepublished table to make it behave the same as the published table

url for page where loading icon needed https://www.ebi.ac.uk/gwas/downloads/summary-statistics


shell step: how to escape double qoutes

Hi,
How one can escape double quotes f.eks. to be able to call a command line path with space?
Many thanks
Aleksandar

Hi Aleksandar,
Any of the below should work, interchangeably:
  - name: pypyr.steps.shell
    in:
      cmd: '"dir with space/file with space"'

  - name: pypyr.steps.shell
    in:
      cmd: '"dir with space"/"file with space"'

  - name: pypyr.steps.cmd
    in:
      cmd: ./"dir with space"/"file with space"

To explain what's going on here a bit more. . . To add the outside "extra" quote really is just because if the string starts with a quote as the first character, yaml thinks this is a structural marking to indicate the start of a string. If you want to pass "extra" quotes to the underlying value you then put these inside the outside "yaml" quotes.
If the string value does NOT start with a quote, then you can actually just add the quotes you want to pass in the middle of the string and it's fine (like the last example).
As a final note. . . notice the difference between pypyr.steps.shell and pypyr.steps.cmd -  shell executes the sub-process by starting the system's default shell first, but you ONLY need this if you're actually using shell features like ~ expansion or | pipes. If you're just trying to execute a cmd like in the simplified examples I give here, you can just use pypyr.steps.cmd instead. But tt doesn't really matter, it's just a tiny bit more performant not to invoke the shell unless you actually need it. But I don't think it's anything a human eye is likely to notice :-)

moving this to the discussion board - feel free to respond there if you have further questions :-)


Update init script to use correct Babel preset

Update Babel preset in init app.

cc: @rafeca

cc @janicduplessis since you first mentioned this in https://github.com/facebook/react-native/issues/20327

Going to close this one as we are experimenting inside 0.57-stable anyway. Once it starts working there, I'll resubmit another PR with better, working, solution.


Discord Service Deployment - Staging Env

This issue ticket is to keep track of the deployment of the discord service
How to setup discord bot?
https://github.com/Real-Dev-Squad/discord-service/blob/develop/SETUP.md
How to run discord service using docker?
https://github.com/Real-Dev-Squad/discord-service/blob/develop/SETUP.md

@joyguptaa Both the links points to the same documentation?


add generating bic function

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.59 :warning:

Comparison is base (5eb4afc) 99.63% compared to head (72e5b51) 99.04%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #31      +/-   ##
==========================================
- Coverage   99.63%   99.04%   -0.59%
==========================================
  Files          19       19
  Lines         823      841      +18
==========================================
+ Hits          820      833      +13
- Misses          3        8       +5

Impacted Files
Coverage Δ

src/Finance.cpp
100.00% <100.00%> (ø)

src/FinanceTest.cpp
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Unable to instal cocoapods

Then try install pods via cocoapods 1.2.1. This is the output:
[!] Unable to find host target(s) for Database, Storage, Auth, Facebook, Google, Phone, Twitter. Please add the host targets for the embedded targets to the Podfile.
Certain kinds of targets require a host target. A host target is a "parent" target which embeds a "child" target. These are example types of targets that need a host target:

Framework
App Extension
Watch OS 1 Extension
Messages Extension (except when used with a Messages Application)

This is a known bug in CocoaPods. You can work around it by using CocoaPods master (pre-release).

It doesn't help.

You'll need to specify CocoaPods from git source, not just using prerelease gems. Take a look at this Gemfile and have a look at the bundler docs if you're unfamiliar with bundler.

I really don't understand what we have to do here in order to make the pod install work. Install bundler?

Install bundler, run bundle install, and then prefix all your gem commands with bundle exec. So your pod install invocation should look like
bundle exec pod install

Upgrading to CocoaPods 1.3.0.beta.1 also worked for me.


remove kubedns versions and images

kubedns versions and images has already been defined in roles/download/defaults/main.yml,there are two different versions in roles/download/defaults/main.yml and roles/kubernetes-apps/ansible/defaults/main.yml now.

ci check this


Using BRAMs instead of LUTRAMs for big cfu storage

Hi @alanvgreen , @tcal-x ,
I just wanted to know if theres any way in which we can force the synthesis tool to use BRAMs for certain specific cfu storage variables instead of FFs or LUTRAMs. The issue is sometimes I hit an LUT resource usage limiit in 'place' under place & route, since I think all CFU storage is implemented as LUTRAMs.
Please let me know about this soon.. This could be helpful for some large designs of mine.
Thanks,
Bala.

Hi Bala, this is dependent on the synthesis tool.   If you're writing the Verilog for the CFU directly, you probably need to add attributes to the declaration of the memory block.   Please refer to the users manual for the synthesis tool you are using.
The VexRiscv has added some attributes; I'm not sure if they're supported by ALL tools or just some:
  (* no_rw_check , ram_style = "block" *) reg [22:0] ways_0_tags [0:63];

Another example at https://github.com/google/CFU-Playground/blob/main/soc/vexriscv/VexRiscv_FomuCfu.v#L1098
The no_rw_check attribute is specific for Yosys targetting Lattice FPGAs.   Other tools will just ignore it.


Unable to recognize an issue.

Hello, first off I like the app! I just downloaded it and it seems to be recognizing most of my issues without a problem, however, it fails to recognize an older issue of mine.
My intuition tells me that it has something to do with being an older issue. For instance, maybe, there is a range of issues that get displayed, but older ones get left out as to not clutter the issue log? Regardless, I thought I would let you know about it incase it is a bug! :smile:
Here is the issue of mine that is not being displayed. I will provide a screen shot of my atom.io editor below:

I am not sure, what the problem could be. But, I hope you could address it quickly. Keep up the good work! 😎

Hi! Glad you like the package!
In the dropdown menu at the top-right, have you tried changing "Open" to either "Closed" or "All"? The issue you linked to is closed, so it would not show up in the default view (which is only "Open" issues).
I'll leave this issue open since there's some non-intuitive UI behavior here that can be improved upon.

Version 0.9.3 now displays a small message when a filter is applied. The previous behavior was too confusing since issues were simply missing with no explanation.

Ah, let me do better to document the failure mode. I had closed that linked issue since I was working on it at the time and had finished it. It did not occur to me that closing the issue would interfer with this trouble shooting process because I had forgot that I linked it to you. 😆
The root cause could have been, as you mentioned, that I had the issue closed all along. It is a too tricky to say since we don't know exactly when I had closed the issue. But, this may very well have been the case. ( I would not have been the first to commit user error in my lifetime. 😉 )
Howeveer, here is another failure to recognize an issue. In this case my issue can be seen here.

Issues
Atom.io

As you can see in the Atom.io Issue #6 is now showing up. I can change the filters between Open, Closed, and All, but that issue still doesn't show up.
I do realize that I have the older version. I will update the version in a moment, but I wanted to show you this first. I think that that the change that you made in v0.9.3 is a good touch though. Please, if you have any questions let me know! 😄

I think I see the problem! Looks like there are more issues than can fit on one page of API results. Currently quick-issues only fetches a single page. I'll have to think about how best to handle this but at least it's clear now what the problem is.


Remove libraries.python2.vm

I think it is time to completely get rid of Python 2. Having only one libraries.python package saves as some work as we don't have to try to keep them in sync. After merging, we should remove this package from MyGet.
This has been discussed in https://github.com/mandiant/VM-Packages/issues/308

This is not related to #278. I want to get rid of our python2 libraries package as we hav the same package for python3. Installing libraries that require python2 is still possible the python2 metapackage as #278 does. Although this should be only done if the tool does not work on python3.


implementation?

Hey so im making  probebly the first IRC botnet in golang
https://github.com/Dontmindmes/Go-IRC-Botnet
and was woundering if you would like to help me implement more features such as actuall ddos

sure, i'm finding a way to build a p2p botnet with golang. Now is the way :)

Alrighty :) I just managed to implement your flood in to it, I'll upload the code when I'm home!

Now i have a problem, how could we run the client background?I havs done the ddos modules(dns query flood,httpflood),but i can't run it in background(i don't know why it will not get into irc-server ),And i have a suggestion is try to not use the randstring() because it will be the same on other  Machine.

My ambition is not only x86 and x86_64 windows . Such as ppc, arm ,mips are more suitable for iot botnet.

By running in the background you mean running with out any GUI or Console is that correct? If so I'm pretty sure golang has a build option to disable all GUI features
I'll change Rand right now, thanks for pointing that out
And yes since golang is ment for cross development it will be easy getting it to run on other OS, Linux, Mac I will update the code in a bit

Yes i was able to make a build that runs in back ground! do you have discord?

Yes i have : Leeon123#5277

Great i have sent you friend request on discord, send me amessage when you add me back


QGAN unit tests re-use same instance for backend checks

Environment

Qiskit Machine Learning version: 0.4.0
Python version: 3.10.0
Operating system: macOS Monterrey (12.2.1)

What is happening?
Most of the QGAN unit tests are supposed to check that the resulting relative entropies with qasm_simulator and statevector backends match, but instead of creating 2 separate instances of the QGAN class, what is done in test_qgan.py is:
trained_statevector = self.qgan.run(self.qi_statevector)
trained_qasm = self.qgan.run(self.qi_qasm)
self.assertAlmostEqual(trained_qasm["rel_entr"], trained_statevector["rel_entr"], delta=0.1)

This code retrains the QGAN with a different backend, without resetting the parameters in between, so it's not really performing the check it should.
How can we reproduce the issue?
Run unit tests (test_qgan.py) and print the entropy/parameter values, to see that the qasm_simulator run is not trained from scratch.
What should happen?
The 2 QGAN instances should be decoupled and run independently.
Any suggestions?
Store 2 copies of the QGAN instance, and run the tests like:
trained_statevector = self.qgan_statevec.run(qi_statevector)
trained_qasm = self.qgan_qasm.run(qi_qasm)

This issue has already been discussed with @Zoufalc and @ebermot, and is connected to

A comment here. With algorithms they are supposed to be able to be re-used; e.g call the run() multiple times and it should behave as if the parameters were set just the same way on a brand new instance. I.e. run() should not depend on any prior state. As such running with a different quantum instance is legitimate in my mind. It it somehow passes due to saved state then it would be bad though so testing re-use is important in that area to ensure algorithms can be re-used but that runs are independent and not influenced by any state that might be saved/used.

The QGAN implementation is deprecated in #495. Unlikely this issue will be fixed.

Closing this issue as the original QGAN implementation has been removed.


Branch 3.2 fix ctas create table timeout

Why I'm doing:
cherry-pick:
What I'm doing:
Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[x] This is a backport pr

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

Hi @zenoyang if this is a cherry-pick from main branch, the title should end with (backport #pr-id-in-main). Please change the title.

Hi @zenoyang if this is a cherry-pick from main branch, the title should end with (backport #pr-id-in-main). Please change the title.

Thanks for the reminder, it has been modified


cob_hardware_config: added laser-calibration data for raw3-3

needs ipa320/cob_common#156 and ipa320/cob_calibration_data#80

I see the need for this, however, I have some concerns about the way it is done...
The main problem is the way our base.xacro's are provided in our description packages, i.e. that the scanners are (hardcoded) parts of the bases without a chance of providing calibration/mounting parameters to them.
In particular, this line somewhat introduces a dependency from cob_common to cob_robots....which is undesirable!
As we had in mind to restructure the base.xacro's anyway in the near future (e.g. provide separate xacros for the IPA Fahrdrehmodul instead of having the ancient PR2-wheel-based xacro), the calibration aspect for the laser scanner should be considered then, too.
In addition, as a minor comment, I would prefer to have full 6D calibration properties, i.e. x,y,z,roll,pitch,yaw rather than only x,y,yaw - even if z,roll and pitch are 0.0 for now...

I created an issue to record this: https://github.com/ipa320/cob_common/issues/157

superseded by #305
@ipa-frm

integrated into https://github.com/ipa320/cob_robots/pull/306


chore: annihilate business tests

WHAT
ANNIHILATE business tests, as all they ever tested is covered by:

jvm-based e2e tests
deployment tests
test in upstream EDC
DSP protocol will be tested in EDC through the TCK

WHY
Not needed anymore
FURTHER NOTES
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Closes # <-- insert Issue number if one exists

\cc: @jimmarino

:axe:

:axe:


fork recipe module dependencies owned by other team to flutter

Our recipes depend on modules built by other teams and we need to copy those over to flutter, so that we can control updates and changes.

gsutil: https://flutter-review.googlesource.com/c/recipes/+/38802

I have no plans to do this


keyserver timeout

keyserver appears to be down?
when I run sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xAB17C654 it just hangs until gpg: keyserver receive failed: No name

Does this work?
$ sudo apt install curl # if you haven't already installed curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

yes that works.


[Feature] ProjectReference's under the Choose msbuild element are ignored

Is your feature request related to a problem? Please describe.
ProjectReference's under the Choose msbuild element are ignored by the enforce-module-boundaries check.
<Choose>
  <When Condition="'$(UseA)' == 'true'">
    <ItemGroup>
      <ProjectReference Include="..\ProjectA.csproj"/>
    </ItemGroup>
  </When>
  <Otherwise>
    <ItemGroup>
      <ProjectReference Include="..\ProjectB.csproj"/>
    </ItemGroup>
  </Otherwise>
</Choose>

Describe alternatives you've considered
As a workaround, I'm currently setting the condition on the ProjectReference's itself but this can become quite tedious if you also have multiple property groups under the When branches

Why should these not be part of the module boundaries checks? If these are adding one or the other references to the project, than they should be part of the boundaries.


using precompiled otp

Pull Request Test Coverage Report for Build e00b694c8d1b84979be0d1e53c0be81addf50b09-PR-18
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build 768a9d6440586d8684171705ee8332c4195653ca:
0.0%

Covered Lines:
197

Relevant Lines:
312

💛  - Coveralls


How can I suppress info messages in Jupyter?

Conda install python 3 environment. Jupyterlab additionally installed.
I’ve tried the normal methods (setting the root logger settings and using the Jupyter magics), but I can’t seem to hide them. A one day backtest generates hundreds of info messages- how can I hide them?

Hi @chrism2671, in order to pre define your log level you need to add an environment variable called 'CATALYST_LOG_LEVEL' with either one of the following numbers:
CRITICAL = 15
ERROR = 14
WARNING = 13
NOTICE = 12
INFO = 11
DEBUG = 10
TRACE = 9
make sure to restart your'e notebook before using it.

And for future reference, Catalyst sets the default at the INFO level.

I tried doing it with the magics:
%env CATALYST_LOG_LEVEL = 15
Should that work?

I suppose it will work..

I did try it, unfortunately it doesn't seem to get picked up, although I think it should.

I tried it as well and it seems that the only way it works is if you define it permanently as an environment variable. make sure to restart the terminal after defining it.


Remove module debug info logging

Summary:
Module debug info logging was added temporarily, cleaning this up while analyzing TurboModuleRegistry API
changelog: [internal] internal
Differential Revision: D48621199

Closing as abandoned internally


Initial hello world tutorials

[x] I agree that my contribution may be licensed either under MIT or any version of LGPL license.

I have created a basic hello world tutorial to help people getting started.

Thanks I will take a look in the coming days.

It makes sense to concentrate on Gtk first as that is what Libadwaita is built on top of and some people only want to make Gtk apps and people who want Libadwaita it's easy to transfer over once you are up and running with Gtk.
I have removed the Libadwaita tutorial section and updated the Gtk tutorial to have full project files so it can be setup with CI to test the tutorial code works.
I have started on a second follow up tutorial using Gtk.Box to add a label and having the button click change the label text as a second tutorial demonstrating using the Box layout widget with multiple widgets on the screen.
I then plan to look at using things like the following:

Gtk.HeaderBar with a Gtk.MenuButton with AboutDialog option to click.
Traditional Gtk.Menubar
Gtk.ToolBar
using other widgets

I tried to use Gtk.AlertDialog but could not get it to work with GirCore. I have used the gtkmm book tutorial for alert dialog as well as either vala or pygobject I can't remember which. I cannot seem to get a GtkAlertDialog to work in GirCore, I got Gtk.MessageDialog to work with GirCore, but that is deprecated from Gtk 4.10 so it makes sense to use Gtk.AlertDialog.
Another thing I think that would be worth covering is how easy it is for the GirCore tooling to create new C# api for gtk. What happens when gtk 5 comes out for example is the GObject introspection going to make it easy to upgrade and how much manual work needs to be done for things that don't use GObject.
I looked at github issues from GtkSharp and how that project died and left a few upset people stuck on a framework no longer being updated/maintained and there may be people hesitant to use GirCore wondering if they will get stuck with something that is not updating like GtkSharp project did. (I am kind of wondering that myself)
Anyway, just some of my plans for contributing as I learn the basics of GirCore and Gtk and some of my thoughts on what I think new potential users would want to know.

@anthonyirwin82  Can you check what is wrong with the solution file?

Not sure what happened with the solution file. I did do some manual editing, and the solution file opened in both rider and visual studio without errors.
I have taken the raw solution file from the main branch and made the changes again using only the tooling provided in the ide so that the ide is making the changes to the solution file.
Hopefully this resolves the issue.

Thanks for your contribution :+1:


source Map

Describe the bug
Print while developing the environment
console.log() source code location is incorrect
Input code
Print while developing the environment

console.log() source code location is incorrect

Config
{
    "sourceMaps": true,
    "inlineSourcesContent": true,
    "jsc": {
        // 编译规则
        "target": "es5", // 输出js的规范
        "parser": {
            // 除了 ecmascript，还支持 typescript
            "syntax": "ecmascript",
            // 是否解析jsx，对应插件 @babel/plugin-transform-react-jsx
            "jsx": false,
            // 是否支持装饰器，对应插件 @babel/plugin-syntax-decorators
            "decorators": true,
            // 是否支持动态导入，对应插件 @babel/plugin-syntax-dynamic-import
            "dynamicImport": true
            // ……
            // babel 的大部分插件都能在这里找到对应配置
        },
        "minify": {} // 压缩相关配置，需要先开启压缩
    },
    "env": {
        // 编译结果相关配置
        "targets": {
            // 编译结果需要适配的浏览器
            "ie": "11" // 只兼容到 ie 11
        },
        "corejs": "3" // corejs 的版本
    },
    "minify": true // 是否开启压缩
}

Playground link
No response
Expected behavior
Hope the source Map is located correctly
Actual behavior
No response
Version
"swc-loader": "^0.2.3",

Additional context
"dependencies": {
"@swc/core": "^1.3.62",
"cache-loader": "^4.1.0",
"case-sensitive-paths-webpack-plugin": "^2.4.0",
"clean-webpack-plugin": "^4.0.0",
"compression-webpack-plugin": "^10.0.0",
"copy-webpack-plugin": "^11.0.0",
"cross-env": "^5.1.1",
"css-minimizer-webpack-plugin": "^5.0.0",
"directory-named-webpack-plugin": "^4.0.1",
"dotenv": "^16.0.1",
"esbuild": "^0.17.19",
"esbuild-loader": "^3.0.1",
"extended-define-webpack-plugin": "^0.1.3",
"friendly-errors-webpack-plugin": "^1.7.0",
"glob": "^10.2.7",
"happypack": "^5.0.1",
"html-webpack-plugin": "^5.5.1",
"json-loader": "^0.5.7",
"less-loader": "^11.1.2",
"mini-css-extract-plugin": "^2.7.6",
"postcss-loader": "^7.3.2",
"raw-loader": "^4.0.2",
"sass": "^1.63.2",
"sass-loader": "^13.3.1",
"source-map-loader": "^4.0.1",
"style-loader": "^3.3.3",
"swc-loader": "^0.2.3",
"terser-webpack-plugin": "^5.3.9",
"thread-loader": "^4.0.2",
"typescript": "^5.1.3",
"url-loader": "^4.1.1",
"webpack": "^5.86.0",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.0",
"webpack-hot-plugin": "^0.0.3",
"webpack-node-externals": "^3.0.0",
"webpackbar": "^5.0.2"
},

Closing as duplicate

Closing as duplicate

This is a bug and I don't understand why you shut it down without fixing it.

You may print me a journal。I open the log, do not know this log source in which position? Isn't that a bug? babel knew where the log was in the source code when he was developing it。
My swc configuration ： https://github.com/ygs-code/wepback-swc-esbuild  ，You download it.
There are also problems with swc and copy-webpack-plugin plug-ins

This issue is completely useless, so I closed it. See https://github.com/swc-project/swc/issues/7506


Help make the docs more inclusive (Finance)

Replace gendered pronouns in the dev docs according to our style guide.
Only work in this folder:
https://github.com/MicrosoftDocs/dynamics-365-unified-operations-public/tree/live/articles/finance
Using the instructions here:
https://docs.microsoft.com/en-us/style-guide/bias-free-communication
Please leave a note if you are working on this issue so that we don't duplicate effort.
Thanks!

I'll work on this folder. Thanks!

Is this something I can work on, or is this only open to Microsoft employees?

Hi Terence - It's not limited to Microsoft employees. Please feel free to work on it!
Let me know if you are planning to work on it, so that we don't duplicate efforts.
Thanks!

Great! In that case, please put my name down as the person working on this issue, thank you.

It's all yours. 👍

@RobinARH PR #2898 shows the updates I made. Let me know if this is what was intended.

Look great. Thanks! Hoping it gets counted in time!


Enhancement tips

Hey! you didn't defined any contribution guideline, so I'm writing this issue without any specifications in mind.
So, the thing that is annoying me the most is that you aren't consistent with the naming convention on your code. You defined sendMessage using a case that is not appropriate to methods. Instead, you should use snake_case here. I understand that in the API, it's in PascalCase, however, you're writing a python program, therefore you should follow the python convention for naming.
You should probably annotate your code, since it is a library. This way the user can understand more easily what is happening with their code. A typechecker that i use is pyright, it's fast 🙂
Also, run a formatter on your code before uploading it to github. For automating this, you probably want to use github actions. I personally recommend black as a formatter.

Hello!
Thank you for your ideas of how I can improve my library as it is important for me and community :)
I will take your suggestions and will improve it within time
Also will be glad to hear your thoughts on defining decorators like command, callback, etc.
Thank you!


agent snapshot package from oss.sonatype.com  not working on Java

i am using this agent project for my akka application base on Java 1.8
but the 0.5.1 snapshot jar download from sonatype seem like not fat jar, they don't package scala library or typesafe library into it.
so when i tring to agent my Java application, they throw NoClassFound exception when premain method call.
i could change the build.sbt and repackage the agent jar to fix this issue. but i am thinking it is better way that  releases a fat jar to gain more compatibility ?
this is my `build.sbt`. they work as well for my local machine.
lazy val agent = (project in file("agent"))
  .settings(
    name := "mesmer-akka-agent",
    libraryDependencies ++= {
      openTelemetryInstrumentation ++
      akka.map(_ % "provided") ++
      logback ++
      byteBuddy ++
      typesafeConfig ++
      scalatest ++
      akkaTestkit ++
      jackson ++
      slf4jApi ++
      reflection(scalaVersion.value)
    },
    Compile / mainClass := Some("io.scalac.mesmer.agent.Boot"),
    Compile / packageBin / packageOptions := {
      (Compile / packageBin / packageOptions).value.map {
        case MainClass(mainClassName) =>
          ManifestAttributes(List("Premain-Class" -> mainClassName): _*)
        case other => other
      }
    },
    assembly / test            := {},
    assembly / assemblyJarName := "mesmer-akka-agent.jar",
    assembly / assemblyOption ~= { _.withIncludeScala(true) },
    assemblyMergeStrategySettings,
    Test / fork              := true,
    Test / parallelExecution := true,
    Test / testGrouping := ((Test / testGrouping).value flatMap { group =>
      group.tests.map { test =>
        Tests.Group(name = test.name, tests = Seq(test), runPolicy = group.runPolicy)
      }
    }),
    Test / testOnly / testGrouping := (Test / testGrouping).value
  )
  .settings(addArtifact(Compile / assembly / artifact, assembly).settings: _*)
  .dependsOn(core, extension)

but when i publish my  java application on Kubernetes Environment, the agent was not working.  mesmer-agent won't collect any mertics anymore.
I'm new to the Scala languag.  any tips on running this agent on a java program would be greatly appreciated!
Best regards

but when i publish my java application on Kubernetes Environment, the agent was not working. mesmer-agent won't collect any mertics anymore.

oops.  It seems that the configuration I used when I published to Kubernetes did not have akka.actor.typed.extensions configured.
It works fine on Kubernetes now, but I have to manually build the agent package from source

It works fine on Kubernetes now, but I have to manually build the agent package from source

they only export cluster metrics. like this.     :(
# HELP akka_cluster_shard_regions_on_node Amount of reachable nodes
# TYPE akka_cluster_shard_regions_on_node gauge
akka_cluster_shard_regions_on_node{node="akka://application@<IP_ADDRESS>:2551",} 1.0<PHONE_NUMBER>246
# HELP akka_cluster_reachable_nodes Amount of shard regions on node
# TYPE akka_cluster_reachable_nodes gauge
akka_cluster_reachable_nodes{node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>246
# HELP akka_cluster_node_down_total Counter for node down events
# TYPE akka_cluster_node_down_total counter
akka_cluster_node_down_total{node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>246

but the metrics more than that.
when i using IDEA running application with same agent jar, they working  as well
# HELP akka_cluster_reachable_nodes Amount of shard regions on node
# TYPE akka_cluster_reachable_nodes gauge
akka_cluster_reachable_nodes{node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
# HELP akka_system_terminated_actors_total Amount of actors terminated measured from Actor System start
# TYPE akka_system_terminated_actors_total counter
akka_system_terminated_actors_total{node="akka://application@<IP_ADDRESS>:2551",} 46.0<PHONE_NUMBER>495
# HELP akka_actor_mailbox_time_avg Tracks the minimum time of an message in an Actor's mailbox
# TYPE akka_actor_mailbox_time_avg gauge
akka_actor_mailbox_time_avg{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 1459.0<PHONE_NUMBER>495
# HELP akka_actor_mailbox_time_min Tracks the maximum time of an message in an Actor's mailbox
# TYPE akka_actor_mailbox_time_min gauge
akka_actor_mailbox_time_min{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 2.0832292E7<PHONE_NUMBER>495
# HELP akka_actor_processing_time_sum Tracks the amount of processed messages
# TYPE akka_actor_processing_time_sum gauge
akka_actor_processing_time_sum{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 1635.0<PHONE_NUMBER>495
# HELP akka_cluster_node_down_total Counter for node down events
# TYPE akka_cluster_node_down_total counter
akka_cluster_node_down_total{node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
# HELP akka_actor_failed_messages_total Tracks the sum of failed messages in an Actor
# TYPE akka_actor_failed_messages_total counter
akka_actor_failed_messages_total{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
akka_actor_failed_messages_total{actor_path="/user",node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
# HELP akka_actor_mailbox_size Tracks the size of an Actor's mailbox
# TYPE akka_actor_mailbox_size gauge
akka_actor_mailbox_size{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
akka_actor_mailbox_size{actor_path="/user",node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
# HELP akka_actor_received_messages_total Tracks the sum of received messages in an Actor
# TYPE akka_actor_received_messages_total counter
akka_actor_received_messages_total{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 1636.0<PHONE_NUMBER>495
akka_actor_received_messages_total{actor_path="/user",node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
# HELP akka_actor_processed_messages_total Tracks the sum of processed messages in an Actor
# TYPE akka_actor_processed_messages_total counter
akka_actor_processed_messages_total{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 1636.0<PHONE_NUMBER>495
akka_actor_processed_messages_total{actor_path="/user",node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
# HELP akka_actor_mailbox_time_sum Tracks the count of messages in an Actor's mailbox
# TYPE akka_actor_mailbox_time_sum gauge
akka_actor_mailbox_time_sum{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 2099.0<PHONE_NUMBER>495
# HELP akka_cluster_shard_regions_on_node Amount of reachable nodes
# TYPE akka_cluster_shard_regions_on_node gauge
akka_cluster_shard_regions_on_node{node="akka://application@<IP_ADDRESS>:2551",} 1.0<PHONE_NUMBER>495
# HELP akka_actor_sent_messages_total Tracks the sum of sent messages in an Actor
# TYPE akka_actor_sent_messages_total counter
akka_actor_sent_messages_total{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 460.0<PHONE_NUMBER>495
akka_actor_sent_messages_total{actor_path="/user",node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495
# HELP akka_actor_stashed_total Tracks stash operations on actors
# TYPE akka_actor_stashed_total counter
akka_actor_stashed_total{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 23.0<PHONE_NUMBER>495
# HELP akka_system_created_actors_total Amount of actors created measured from Actor System start
# TYPE akka_system_created_actors_total counter
akka_system_created_actors_total{node="akka://application@<IP_ADDRESS>:2551",} 197.0<PHONE_NUMBER>495
# HELP akka_actor_processing_time_max Tracks the sum processing time of an message in an Actor's receive handler
# TYPE akka_actor_processing_time_max gauge
akka_actor_processing_time_max{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 2.225551595E9<PHONE_NUMBER>495
# HELP akka_actor_mailbox_time_max Tracks the sum time of the messages in an Actor's mailbox
# TYPE akka_actor_mailbox_time_max gauge
akka_actor_mailbox_time_max{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 2.0077513713E10<PHONE_NUMBER>495
# HELP akka_actor_processing_time_avg Tracks the miminum processing time of an message in an Actor's receive handler
# TYPE akka_actor_processing_time_avg gauge
akka_actor_processing_time_avg{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 625.0<PHONE_NUMBER>495
# HELP akka_actor_processing_time_min Tracks the maximum processing time of an message in an Actor's receive handler
# TYPE akka_actor_processing_time_min gauge
akka_actor_processing_time_min{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 1.9946292E7<PHONE_NUMBER>495
# HELP akka_actor_dropped_messages_total Tracks the sum of dropped messages in an Actor
# TYPE akka_actor_dropped_messages_total counter
akka_actor_dropped_messages_total{actor_path="/system",node="akka://application@<IP_ADDRESS>:2551",} 0.0<PHONE_NUMBER>495

Best regards

but the 0.5.1 snapshot jar download from sonatype seem like not fat jar, they don't package scala library or typesafe library into it.

Did you try using 0.5.0 version (last release)? - 0.5.1 wasn't released (not planned to be) and will probably be skipped. The 0.5.0 should work for you (nothing really changed between 0.5.1 and 0.5.0 besides some minor cleanups).

It works fine on Kubernetes now, but I have to manually build the agent package from source

so when i tring to agent my Java application, they throw NoClassFound exception when premain method call.

Let me know if you still get NoClassFound with 0.5.0.

Also, where did you get the 0.5.1 snapshots from?

To avoid misinformation from other environments.
1. i am using Lightbend shopping cart service exmaple and follow the Readme doc.
There is my step:
Step 1: add dependency  like this
        <dependency>
            <groupId>io.opentelemetry</groupId>
            <artifactId>opentelemetry-exporter-otlp-metrics</artifactId>
            <version>1.7.0-alpha</version>
        </dependency>
        <dependency>
            <groupId>io.scalac</groupId>
            <artifactId>mesmer-akka-extension_${scala.binary.version}</artifactId>
            <version>0.5.0</version>
        </dependency>

Step 2: add this config on `application.conf`
akka.actor.typed.extensions= ["io.scalac.mesmer.extension.AkkaMonitoring"]

Step 3: setup the opentelemetry before original main method
it's mean that  before     ActorSystem<Void> system = ActorSystem.create(Behaviors.empty(), "ShoppingCartService");
    OtlpGrpcMetricExporter metricExporter = OtlpGrpcMetricExporter.getDefault();

    MetricReaderFactory factory =
        PeriodicMetricReader.create(metricExporter, Duration.ofSeconds(1));

    SdkMeterProvider.builder().registerMetricReader(factory).buildAndRegisterGlobal();

Step 4: package the application
mvn clean package -DskipTests

Step 5: exec application via agent
❯ java -javaagent:/Users/roiocam/Downloads/agent/mesmer-akka-agent.jar -jar target/shopping-cart-service-1.0.jar

and then i got the stack trace on terminal
Exception in thread "main" java.lang.reflect.InvocationTargetExceptionr -jar target/shopping-cart-service-1.0.jar
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
        at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.NoClassDefFoundError: com/typesafe/config/ConfigFactory
        at io.scalac.mesmer.agent.Boot$.premain(Boot.scala:23)
        at io.scalac.mesmer.agent.Boot.premain(Boot.scala)
        ... 6 more
Caused by: java.lang.ClassNotFoundException: com.typesafe.config.ConfigFactory
        at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        ... 8 more
FATAL ERROR in native method: processing of -javaagent failed
[1]    70149 abort      java -javaagent:/Users/roiocam/Downloads/agent/mesmer-akka-agent.jar -jar

when i using IDEA run the main method. the JVM won't complain anything. but the logback print those error:
[2022-03-01 10:39:14,561] [INFO] [akka.cluster.Cluster] [] [ShoppingCartService-akka.actor.default-dispatcher-6] - Cluster Node [akka://ShoppingCartService@<IP_ADDRESS>:2551] - No seed nodes found in configuration, relying on Cluster Bootstrap for joining
[2022-03-01 10:39:14,566] [INFO] [akka.cluster.sbr.SplitBrainResolver] [] [ShoppingCartService-akka.actor.default-dispatcher-6] - SBR started. Config: strategy [KeepMajority], stable-after [20 seconds], down-all-when-unstable [15 seconds], selfUniqueAddress [akka://ShoppingCartService@<IP_ADDRESS>:2551#-511592655452660114], selfDc [default].
[2022-03-01 10:39:14,951] [ERROR] [akka.actor.typed.ActorSystem] [] [main] - No global configuration found for akka-actor - check if agent is installed.
[2022-03-01 10:39:14,951] [ERROR] [akka.actor.typed.ActorSystem] [] [main] - No global configuration found for akka-actor - check if agent is installed.
[2022-03-01 10:39:14,954] [ERROR] [akka.actor.typed.ActorSystem] [] [main] - No global configuration found for akka-http - check if agent is installed.
[2022-03-01 10:39:14,955] [ERROR] [akka.actor.typed.ActorSystem] [] [main] - No global configuration found for akka-persistence - check if agent is installed.
[2022-03-01 10:39:14,976] [INFO] [akka.management.internal.HealthChecksImpl] [] [ShoppingCartService-akka.actor.default-dispatcher-15] - Loading readiness checks [(cluster-membership,akka.management.cluster.scaladsl.ClusterMembershipCheck), (sharding,akka.cluster.sharding.ClusterShardingHealthCheck)]
[2022-03-01 10:39:14,976] [INFO] [akka.management.internal.HealthChecksImpl] [] [ShoppingCartService-akka.actor.default-dispatcher-15] - Loading liveness checks []

2. i am using the same step on my application.
there is the application environment

base on:  org.springframework.boot:2.0.1.RELEASE
base on Akka 2.6.14
base on: scala 2.13

there is same exception when exec java -jar via agent
❯ java -javaagent:/Users/roiocam/Downloads/agent/mesmer-akka-agent.jar -jar path-to-my-jar
Exception in thread "main" java.lang.reflect.InvocationTargetExceptionr -jar path-to-my-jar
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
        at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.NoClassDefFoundError: com/typesafe/config/ConfigFactory
        at io.scalac.mesmer.agent.Boot$.premain(Boot.scala:23)
        at io.scalac.mesmer.agent.Boot.premain(Boot.scala)
        ... 6 more
Caused by: java.lang.ClassNotFoundException: com.typesafe.config.ConfigFactory
        at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        ... 8 more
FATAL ERROR in native method: processing of -javaagent failed
[1]    70925 abort      java -javaagent:/Users/roiocam/Downloads/agent/mesmer-akka-agent.jar -jar

Let me know if you still get NoClassFound with 0.5.0.

Actually they both unavailable on scala and Java.
The Lightbend shopping cart service exmaple scala version not working either.
I think they can’t work outside the project. Whether the agent jar is downloaded from a remote repository or repackaged by executing the 'sbt agent/assembly' or package from the source.
this is scala project log.
 Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513)
        at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:525)
Caused by: java.lang.NoClassDefFoundError: io/scalac/mesmer/core/util/LibraryInfo$
        at io.scalac.mesmer.agent.Boot$.premain(Boot.scala:33)
        at io.scalac.mesmer.agent.Boot.premain(Boot.scala)
        ... 6 more
Caused by: java.lang.ClassNotFoundException: io.scalac.mesmer.core.util.LibraryInfo$
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 8 more
*** java.lang.instrument ASSERTION FAILED ***: "result" with message agent load/premain call failed at src/java.instrument/share/native/libinstrument/JPLISAgent.c line: 422

I'd love to help fix this issue, but I'm not familiar with the java agent or bytebuddy, so I'm counting on you guys to fix it.
Best regards

In fact, they are not available on both scala and Java when executed via "java - jar".
i am using the same project by scala version. When work that exec Main.scala by IDEA. but fail on exec java -jar
this is the exception log.
 java -javaagent:/Users/roiocam/Downloads/agent/mesmer-akka-agent.jar -jar target/scala-2.13/shopping-cart-service_2.13-HEAD-20220301-1538.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513)
        at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:525)
Caused by: java.lang.NoClassDefFoundError: com/typesafe/config/ConfigFactory
        at io.scalac.mesmer.agent.Boot$.premain(Boot.scala:23)
        at io.scalac.mesmer.agent.Boot.premain(Boot.scala)
        ... 6 more
Caused by: java.lang.ClassNotFoundException: com.typesafe.config.ConfigFactory
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 8 more
*** java.lang.instrument ASSERTION FAILED ***: "result" with message agent load/premain call failed at src/java.instrument/share/native/libinstrument/JPLISAgent.c line: 422
FATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed
[1]    81064 abort      java -javaagent:/Users/roiocam/Downloads/agent/mesmer-akka-agent.jar -jar

Thanks! That's plenty for me to work on. I will investigate get back to you.

I was able to run 0.5.0 version with lightbend example after doing some pom.xml tweaks. I observed both cluster and persistence metrics. I think that you have to add the following plugin configuration in order to have an executable jar with proper dependencies on the classpath:
 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>
                <outputDirectory>
                    ${project.build.directory}/lib
                </outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <!-- Build an executable JAR -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
                <mainClass>shopping.cart.Main</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

After that you can run it like this:
 java -javaagent:mesmer-akka-agent_2.13-0.5.0.jar -Dconfig.resource=local1.conf -jar target/shopping-cart-service-1.0.jar

I think the IDE may have a different way of providing the dependencies to the classpath and that's the reason it worked for you. I'm not a maven expert and not sure if this is the only way. LMK if this is helpful.

Side note: did you see this discussion: https://github.com/ScalaConsultants/mesmer-akka-agent/discussions/272? We're going to migrate to opentelemetry agent in the next release. Depending on your needs, this might be important.

Side note: did you see this discussion: #272? We're going to migrate to opentelemetry agent in the next release. Depending on your needs, this might be important.

I didn't notice the discussions, but it was important for me.
In fact I have tried Opentelemetry agent
I will continue to follow this epic.

I think the IDE may have a different way of providing the dependencies to the classpath and that's the reason it worked for you. I'm not a maven expert and not sure if this is the only way. LMK if this is helpful.

Thank you for taking the trouble to answer this elementary question.
I think I don't know enough about how Jar packages work. So i tried to unpack to see the diffrence bewteen the basic Lightbend example Jar and the Jar with the plugin, plus the Spring Boot way of packaging jar.
For IDEA Why it works, it load jar from FileSystem.
For Spring Boot, they dependency jar to the inside of jar, and using they own dependency library path and ClassLoader.
But agent execute before Spring Launched, so they can not using Spring custom ClassLoader load the dependency from BOOT-INF/lib, and failure execute on my application.
For maven-dependency-plugin  and maven-jar-plugin, they using same way as IDEA.
At the moment, I haven't found a better way to make Agent and Spring Boot work together.
I think this issue can be closed. your answer solve my issue, and i know why they does not working. Thanks again for your help!

Glad we could help. Feel free to reach us again anytime. :)


have you reproduced the performance?

@YanqingWu implemented performance is updated here:
https://docs.google.com/spreadsheets/d/1XTRk_KxMOokiY4ZEgFMvU7efdmHw1ofcau6K-HFOVz8/edit#gid=0


Update README with coverage

Refactor GitHub Actions workflow: streamline test coverage reporting and update README with installation instructions

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
:information_source: You can also turn on project coverage checks and project coverage reporting on Pull Request comment
Thanks for integrating Codecov - We've got you covered :open_umbrella: