Fix casing

This was causing a problem on Linux (case-sensitive filesystem) but worked fine on MacOS.
Fixes #
Description
Correct case (uppercase) of import declaration
Specific Changes
Change import declaration case to match filename (first letter is uppercase)
Testing
Tested in client application on bot MacOS and Linux.

Pull Request Test Coverage Report for Build 82336

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 87.229%

Totals

Change from base Build 82305:
0.0%

Covered Lines:
4633

Relevant Lines:
5111

💛  - Coveralls

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

This file is in-process of being deleted by changing coming this week. @carlosscastro is driving those changes. For now, I'm going to close this PR out, as it's not needed.

I have confirmed this file no longer exists.


Fix unsound get_buffer_data signatures

The way get_buffer_data and get_buffer_data_mut were exposed to Rust is unsafe for 3 reasons. It's unsound to expose those behaviors as safe-to-call to Rust.

If the caller passes a non-mutable slice to get_buffer_data_mut, the implementation ends up creating a rust::Slice with a null data ptr, which is UB.

The lifetime of the output reference is totally unconstrained. The caller is responsible for not retaining a reference to the slice beyond when the underlying buffer is destroyed, which would be UB.

Obtaining multiple overlapping mutable slices is UB. A caller could just call get_buffer_data_mut twice with clones of the same SharedPtr and thereby end up with overlapping slices.

The first commit makes both methods unsafe-to-call with documentation of the reasons above.
The second commit resolves reason 2 by attaching the lifetime of the output reference to the SharedPtr it originates from.
@irakliyk

@dtolnay - thank you so much for this! Will review and merge tomorrow.


Increase the number of max open requests

At the moment we divide the number of parallel requests across 3 stores that use CouchDB client: entity, authstore and activationStore, thanks to the fact that the number of requests is shared across all flow materialisations as per this doc:
https://doc.akka.io/docs/akka-http/current/scala/http/configuration.html
This PR should help to prevent dropping the connections if the number of parallel requests to couchdb exceeds the max number of open connections.

Common causes of pool overload:
There are peaks in the request rate (prevent peaks by tuning the client application or increase max-open-requests to buffer short-term peaks)
https://doc.akka.io/docs/akka-http/current/scala/http/client-side/pool-overflow.html

@bwmcadams please correct me if this is not correct.
Thanks.

@vvraskin That sounds correct based on my recollection as well as review of the docs. ( I don't believe you can configure separate pools for each connection set which would be my first connection ).
Is 512 too much / not enough? Any benchmark concerns with it? (I don't see it causing a memory or performance limit, as the connection overhead should be low… call it curiosity)

@bwmcadams we have a Buffer in front of the pools holding up to 16k outstanding requests anyway so.... I believe that new value isn't going to matter much?

@markusthoemmes No, it shouldn't. You're right. I'm just being paranoid.

PG3/1352 🔵


Added new ALTER CHANGEFEED  to v22.1 docs

Fixes DOC-2753 DOC-2918 DOC-2601 DOC-2737

Added ALTER CHANGEFEED sql page
Updated CDC overview page to mention
Create and Configure changefeed page updated
Changefeed sink page

A few things to follow-up on, not 100%:

The known limitations might need some adjusting (e.g. the SHOW output limitation, are we considering it that way?)
The SQL diagram will be updated in either a fast-follow to this PR or while the reviews are completing (in process now).

This change is

Hey @amruss, @sherman-grewal Here are the docs for ALTER CHANGEFEED. Few things to note, the SQL diagram will be updated in either a fast-follow PR, or, I will be able to add it into this PR next week. Also, the known limitations definitely need your eyes! I gathered those from issues and such, thanks

Hey @sherman-grewal, I'm going to push this through to docs team review, but feel free to add further feedback, if you have any.

TFTR Andrew, I pretty much incorporated all of your feedback. Yes, it's unfortunate re the UNSET sql highlighting — I wonder if there are examples of that elsewhere in code examples. That is, a keyword not highlighting. Re initial_scan I have linked out to the options table on CREATE CHANGEFEED, which will provide some more color, but I do think backfills and scanning in changefeeds is something that we might build out in the coming releases for docs.
But yes, thanks for tightening up that language. It's funny when you want to create a changefeed, modify a changfeed, pause a changefeed, use options, many options, changefeed, changefeed in one sentence... it gets quite hypnotic! So thanks for that :-)


Clipboard not working when using --xwayland

Hey, thanks for this script to make my life easier.
I am having issues with clipboard not working whenever I run x11docker with --xwayland, I need it because the electron app does not play nicely without gpu even with --gpu args passed, but this break the clipboard sharing (bi-directional) functionality, so currently I am using the shared "file" workaround in which I saved clipboard contents in a file which is accessible from both container and host.

Does clipboard sharing work e.g. with Xephyr?

Yeah, clipboard works with xephyr, but I wanted to use xwayland, since the GPU acceleration is better there.

Odd that it works in Xephyr, but not in Xwayland.
Just tried to reproduce and found that since my recent update to Debian bookworm the weston window with Xwayland does not show Xwayland at all, however, no error appears. So I cannot check the clipboard immediately.
I'll have to check and fix that first before I can check the clipboard issue.

I use hyprland (Wayland compositor) and it has support for xwayland, that's what I use for running my custom docker image based on debian with xfce.


Prometheus-operator support

Hello guys,
Do you plan to support prometheus-operator specific things like ServiceMonitor or PrometheusRule? If so, would you accept PR for this?

No plans to do this. It also feels kind of weird to manage thirdPartyResources for a specific monitoring tool directly in an unrelated helm chart. It seems like most of the charts doing this are actually hard-coding the monitoring rules into the chart too. Going down this path would mean there would be a future where a whole bunch of thirdPartyResources were being defined and managed. Not only would that be very hard to test and support, it would also get really messy.
How would you feel about having a more generic value that allows a user to specify whatever templated resources they want? This would allow them to specify thirdPartyResources with templating and define it exactly how they want without adding any extra complexity to the chart.

I understand.
With the current state of helm, wouldn't adding thirdPartyResources with templating become a mess to maintain and understand?

So I didn't mean specifically trying to template thirdPartyResources. More just giving a free form variable for users to dump other templatable resources for it to be managed by the chart itself.
So having a separate file that includes a variable which can contain templating:
{{ tpl .Values.extraYaml . }}

The user could then do something like (this is just a copy pasted example that isn't tested)
extraYaml: |
  ---
  apiVersion: monitoring.coreos.com/v1
  kind: PrometheusRule
  metadata:
    name: {{ template "fullname" . }}
    labels:
      "app.kubernetes.io/name": '{{ template "name" .}}'
      "helm.sh/chart": "{{ .Chart.Name }}-{{ .Chart.Version }}"
      "app.kubernetes.io/managed-by": "{{ .Release.Service }}"
      "app.kubernetes.io/instance": "{{ .Release.Name }}"
      "app.kubernetes.io/component": "{{ .Values.master.componentName }}"
  spec:
    groups:
  {{ toYaml .Values.prometheus.alertingrules | indent 2 }}

So nothing specific about thirdPartyResources or PrometheusRule.

After a bit of thoughts, deploying an elasticsearch-exporter does the trick, and having a hat chart works well (with a few hardcodes in the values.yaml). Closing.


coverage: Handle numerous other expression types in coverage.js

Certain expressions, like for (... in), for (... of), yield,
array comprehensions, logical expressions (a || b), etc were not
being traversed. These could contain function declarations. This
fixes numerous cases where an assertion might be raised by the
coverage machinery where the debugger enters a function it does
not know about.
Fixes #742535

@smspillaz Should also be attached to https://bugzilla.gnome.org/show_bug.cgi?id=742535 after these comments are addressed.


Comment question

Please follow the guide below

Issues submitted without this template format will be ignored.
Rlease read them carefully and answer completely.
Do not post screenshots of error messages or code.
Put an x into all the boxes [ ] relevant to your issue (==> [x] no spaces).
Use the Preview tab to see how your issue will actually look like.
Issues about reverse engineering is out of scope and will be closed without response.
Any mention of spam-like actions or spam-related tools/libs/etc is strictly not allowed.

Before submitting an issue, make sure you have:

[x] Updated to the lastest version v1.5.7
[x] Read the README and docs
[x] Searched the bugtracker for similar issues including closed ones
[x] Reviewed the sample code in tests and examples

Which client are you using?

[x] app (instagram_private_api/)

Describe your Question/Issue:
Please make sure the description is worded well enough to be understood with as much context and examples as possible.
Hello,
After using this plugin to post a photo, how could I get the media id of the photo just posted and then post a comment to it?

This is not a plugin.
The response after posting already contains the media ID.

  After the photo is posted all I see is UserWarning: This endpoint has not been fully tested.
warnings.warn('This endpoint has not been fully tested.', UserWarning)

client.post_photo() returns a dict that contains the ID.
This is a very basic coding question. You're better off looking to other places like stackoverflow for questions like this.


refactor(dummy_perception_publisher): rework parameters

Description
Implement the ROS Node configuration layout described in https://github.com/orgs/autowarefoundation/discussions/3371
Tests performed
Package built and launch locally.
Effects on system behavior
More reliable and faster parameter configuration file creation.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[x] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@batuhanbeytekin
Can you rebase the commits not related to your PR?

@batuhanbeytekin
Can your resolve conflicts?

@batuhanbeytekin Can your resolve conflicts?

I updated my branch and there seems to be no problem now. Thank you for your feedback.

@MasatoSaeki
Can you review this PR?

@batuhanbeytekin
This commit and this commit is already rebased(merged), therefore could you remove their commit?

@batuhanbeytekin ae2ee04 and f7d66c9 is already rebased(merged), therefore could you remove their commit?

Thank you for your feedback, I just updated my branch.


[Bug]: FormError is invoked only once on Qwik v1.4.5

The issue:
I am trying to throw an error when the username already exists (after the server tries querying the db on form submit). However, i have noticed this weird bug where, if the user changes the username value, and the username already exist, then i try to throw a new FormError. it won't work... That is the field.error will return nothing.
It works at first though, then all the subsequent errors will not show.
// eslint-disable-next-line @typescript-eslint/no-unused-vars
    const [state, { Form, Field, }] = useForm<Form>({
        loader: useFormLoader(),
        validate: valiForm$(Schema),
    });

    const handleSubmit = $<SubmitHandler<Form>>(async (values) => {
        const response = await fetch('/account', {
            method: "POST",
            headers: {
                "Content-Type": "application/json",
            },
            body: JSON.stringify(values)
        })
        const user = await response.json()

        if (user) {

        } else {
            console.log("username error")
            throw new FormError<Form>({
                name: 'An account with this username already exists.'
            });
        }
    });

Oh, and if i try to do it on the server (same exact code but using useFormAction) no errors will be shown.

Funny, if i use the form.response.message, instead of the scoped field.error to get display the error 'An account with this username already exists., it works... even when i change the value multiple times, and the username exists.
so here is my work around
throw new FormError<Form>('An account with this username already exists.',);
            // {
            //     name: 'An account with this username already exists.'
             It can be your real name or a pseudonym.</p>
         </>
       )}
</Field>

Here is my two cents, i think it has to do with how you guys handle the field errors. It looks like disrupting the field state after:

throwing an error on submission,
throw another error if the form validation does not work
then try to throw another error when on user submission will return a blank field error.

Thanks for your great work, Fabian. :)

Looks like a signal bug or problem in Qwik or do you thing it is related to our source code?

I am not using any Qwik useSignal code anywhere (from my snippet) so it most likely is stemming from somewhere in your source code.
How do you handle errors on submission per field?

In encountering myself some wired signal behavior in Qwik. I hope this gets better with v2. I am in exchange with the Qwik team. If you provide me with a minimal reproduction on StackBlitz I can try to investigate the problem. Here is a template: https://stackblitz.com/edit/modular-forms-qwik?file=src/routes/login/index.tsx


Customized output cannot start with a field value

What is wrong with the website or needs to be cleaned?
On trying to add a custom rule to falco, it should be noted that the custom output text cannot start with a field value.
If the first word of the output is an evaluation of a field, the yaml does not parse.
I think it is worth mentioning this as a note admonition in the Supported Fields for Conditions and Outputs, particularly because this page is heavily referred in competitive certification exams.
Example of custom rule which ends in error: (see the output field)

rule: Terminal shell in container
desc: >
A shell was used as the entrypoint/exec point into a container with an attached terminal. Parent process may have
legitimately already exited and be null (read container_entrypoint macro). Common when using "kubectl exec" in Kubernetes.
Correlate with k8saudit exec logs if possible to find user or serviceaccount token used (fuzzy correlation by namespace and pod name).
Rather than considering it a standalone rule, it may be best used as generic auditing rule while examining other triggered
rules in this container/tty.
condition: >
spawned_process
and container
and shell_procs
and proc.tty != 0
and container_entrypoint
and not user_expected_terminal_shell_in_container_conditions
output: %evt.type
priority: NOTICE
tags: [maturity_stable, container, shell, mitre_execution, T1059]

Error
Dec 19 14:46:35 kubeworker01 falco: 14:46:35.499499693: Critical Falco internal: hot restart failure: /etc/falco/falco_rules.local.yaml: Invalid#0121 Errors:#012In rules content: (/etc/falco/falco_rules.local.yaml:0:0)#012    value for: (/etc/falco/falco_rules.local.yaml:15:10)#012------#012  output: %evt.type#012          ^#012------#012LOAD_ERR_YAML_PARSE (YAML parse error): yaml-cpp: error at line 16, column 11: unknown token#012 ()

To make it work, the expression has to be entered one line below, like this
  output: >
    %evt.time,%user.name,%container.name,%container.id

Another option is to enclose the variables in quotes
output: "%evt.time,%user.name,%container.name,%container.id"

This is not a defect. Closing the issue.


Adapt CWA to new COVID-19-Schutzmaßnahmen-Ausnahmenverordnung

Verordnung zur Änderung der COVID-19-Schutzmaßnahmen-Ausnahmenverordnung und der Coronavirus-Einreiseverordnung from 14. January 2022 made changes to the Verordnung zur Regelung von Erleichterungen und Ausnahmen von Schutzmaßnahmen zur Verhinderung der Verbreitung von COVID-19 (COVID-19-Schutzmaßnahmen-Ausnahmenverordnung - SchAusnahmV).
The changes came into effect on 15.01.2022.
The changes can be found in an easy & understandable way here: https://www.bundesgesundheitsministerium.de/service/gesetze-und-verordnungen/vo-aend-covid-19-schausnahmv-und-coronavirus-einreisev.
I don't feel qualified enough to make statements about what this means for CWA (e.g. if this means that one shot after J&J is no longer a booster), but what's sure is that the recovery status will only last for 3 months now, see also https://www.welt.de/vermischtes/article236274326/Corona-RKI-verkuerzt-Genesenenstatus-auf-drei-Monate.html.
@dsarkar @thomasaugsten @mlenkeit I think it would make sense to raise this issue ASAP, so that the legal department can make sure CWA does not make false statements. I guess the Sprint for 2.16 is closed, but maybe a hot fix is possible?

Internal Tracking ID: EXPOSUREAPP-11451

The publisher is aware of the situation. Do you see any statements in the CWA which are wrong at the moment?

@thomasaugsten
Okay thanks! Recovery certificates are shown as valid for 6 months, however, they should only be valid 3 months.

This is encoded in the certificate. For adjustments either it needs new business rules or reissuing of the certificates

@thomasaugsten Ah yes, right. I guess new business rules will come anyways, as CovPassCheck needs to reject recovery certificates which certify an infection which took place more than 3 months ago.
Maybe a booster notification can be created to inform about this?
I don't see any other statements which are wrong, besides this statement:
https://github.com/corona-warn-app/cwa-app-ios/blob/a91392a6aaa3ec1cfdda4b107d82327776ba8a9d/src/xcode/ENA/ENA/Resources/Localization/de.lproj/Localizable.strings#L3053

Es handelt sich hier um einen Impfstoff, bei dem nur eine Impfdosis erforderlich ist oder um eine Impfung für Genesene, die nur eine Impfdosis benötigt.

There are no vaccines which only require one dose atm, so this should be removed. Do you want me to provide a PR for this under iOS?

The topic is much more complex I don’t think it is enough to change this text line

@thomasaugsten
Exactly, this is why I opened this issue, so that the team makes sure everything is correct. Maybe you can mirror it to JIRA or link a ticket where these things are tracked?

The RKI reference page for the regulations on Fachliche Vorgaben des RKI für COVID-19-Genesenennachweise is updated and says:
"c) das Datum der Abnahme des positiven Tests darf höchstens 90 Tage zurückliegen"
Nothing published so far that I have seen addresses existing Genesenenzertifikate (Certificates of Recovery). These contain the field r/du: Certificate valid until which the EU json spec allows to be up to 180 days after the positive test.  Is there "Bestandsschutz" for existing certificates or does the new regulation affect these certificates as well?
I could not find any website which has already been updated to the 90 day rule.

https://reopen.europa.eu/en/map/DEU/7001 still lists 6 months
https://www.zusammengegencorona.de/
https://www.coronawarn.app/en/faq/#glossary_validity

Is the software used by doctors, pharmacies, etc. to generate certificates of recovery already changed to limit new certificates to 90 days of validity?

@MikeMcC399
Thanks for your comment! I really appreciate it!
Would you like to open a new issue in the cwa-website repo reg. https://www.coronawarn.app/en/faq/#glossary_validity?

@Ein-Tim

Would you like to open a new issue in the cwa-website repo reg.

I would wait for some clarification from the product owner how they will handle this change. It may need a blog announcement. Business rules, the app and the website could all be affected.

@MikeMcC399 Yeah, you're right!

There are a couple of places in the Android 2.16 app where 180 days is hard-coded. It seems that RKI can change the parameters on https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Genesenennachweis.html at any time, without notice. The app on the other hand is not set up to follow this dynamically as far as I can see.

@MikeMcC399 It would definitely make sense to have this as dynamic values. These can be adjusted much faster.

Thanks for your report @Ein-Tim. Internal Tracking ID: EXPOSUREAPP-11451

Corona-Warn-App Open Source Team

It gets more complex:
https://www.mdr.de/nachrichten/sachsen/corona-genesen-nachweis-ablauf-doppelt-geimpft-100.html:

"Die Ablauffrist von drei Monaten gilt nur für ungeimpfte Personen", stellte das RKI auf Nachfrage von MDR SACHSEN klar. "Das liegt daran, dass doppelt geimpfte und genesene Personen einen besseren Immunschutz haben als ungeimpfte Genesene."

I think this is not what is written on https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Genesenennachweis.html, or am I wrong?

@thomasaugsten

Do you see any statements in the CWA which are wrong at the moment?

One J&J shot is shown as "2G" but it should be shown as nothing 😅

Streit um Genesenenstatus: "Lauterbach behält Drei-Monats-Regel bei" reports about political discussions regarding the length of validity of certificates of recovery for international travel (180 days) and for national use in Germany (90 days).

FYI: https://github.com/Digitaler-Impfnachweis/covpass-ios/issues/97#issuecomment-1032259634

FYI: Digitaler-Impfnachweis/covpass-ios#97 (comment)
I guess this will be a new business rule and also affect CWA, or?

This will be reflected in CCL for now.

@mlenkeit
Okay, thanks. CCL isn't live yet, is it?

@mlenkeit
Okay, thanks. CCL isn't live yet, is it?

@Ein-Tim not yet, will be part of 2.18.

So, for the record: The entry rules for Germany have been updated to reflect that the recovery status is only valid for 90 days, see https://distribution.dcc-rules.de/rules/DE/71b10c1d78bcdd9e0f27afb6368a4a086d6d558616a1cd890765f6b1178d3325.
However, in contradictory to CovPass, CWA still shows "Genesenenzertifikat gültig bis..." while CovPass shows "Genesenenzertifikat höchstens gültig bis..." which makes more sense.

CWA
CovPass

We are working on an alignment for 2.20

The CWA is planning to remove the "gültig bis" text in the Detail view this is only visible in the pdf export.

@thomasaugsten Ah yes, I saw PRs for this! This definitely improves the situation!

@Ein-Tim
The regulations changed again on March 18, 2022.

https://www.bgbl.de/xaver/bgbl/start.xav#__bgbl__%2F%2F*[%40attr_id%3D'bgbl122s0466.pdf']__1647763312928
https://www.bgbl.de/xaver/bgbl/start.xav#__bgbl__%2F%2F*[%40attr_id%3D'bgbl122s0478.pdf']__1647763393530

I don't know if this means that there are changes needed for CWA but it seems that the regulations are no longer dependent on the content of the RKI and PEI websites. The link you quoted (https://www.gesetze-im-internet.de/schausnahmv/BJNR612800021.html) has not yet edited the changes into the document.

Thank you @MikeMcC399
I don't think the new regulations changed something which is needs adjustment in the CWA.
I'm only leaving this issue open until version 2.20 is released, so that I can verify the changed wording for recovery certificates ("Gültig bis" is changed to "Positiver Test vom").

@Ein-Tim

I don't think the new regulations changed something which is needs adjustment in the CWA.

I don't know if that is true. The new § 22a Impf-, Genesenen und Testnachweis bei COVID-19; COVID-19-Zertifikate; Verordnungsermächtigung of the  Infektionsschutzgesetz - IfSG changed on March 18, 2022 is quite complicated and has some built in changes which come into effect on Oct 1, 2022.
I suggest anyway not to try to follow the new changes in this issue. If necessary there should be a new issue opened, otherwise it will be very difficult to follow.
I checked by the way in the pre-release of Android 2.20 and I can see the changes for certificates of recovery, which you are waiting for, already implemented.

I suggest anyway not to try to follow the new changes in this issue. If necessary there should be a new issue opened, otherwise it will be very difficult to follow.

Agreed! I'll close this issue when 2.20 is released.

I checked by the way in the pre-release of Android 2.20 and I can see the changes for certificates of recovery, which you are waiting for, already implemented.

Thank you!

@Ein-Tim

Agreed! I'll close this issue when 2.20 is released.

I don't have a certificate of recovery to test with so unfortunately I can't assist with checking.

I have one and can confirm that this has been changed.
Closing.


Unlocked Achievements Count (SUGGESTION)

built in unlocked Achievements counter so can be easily displayed in master/default view. Maybe like so:
<?php $count = Auth::user()->unlockedAchievementsCount(); ?>
with will in return display the count of all the unlocked Achievements that user has?

The method unlockedAchievements() returns an instance of Illuminate\Database\Eloquent\Collection, so you can just use the method count(), as in $achiever->unlockedAchievements()->count(). :)

thanks!

Fyi: if all you need is a count and not the collection, it is faster for the database to do a count operation then to grab the whole list of records and then tally them up in php. Look up the operations in the eloquent query builder in the manual.

Thought I would share here what I have done to complete this task and how I have used this package in my WIP app. Code is for the navbar trophy. Pic links of full system below. Big thanks for the 100th time to @gabriel-simonetti for this package.

                  <?php $count = Auth::user()->unlockedAchievements()->count() ?>
                    <?php $achievements = Auth::user()->unlockedAchievements()->take(10) ?>
                      {{ $count }}

Recent Achievements

 @foreach($achievements as $a)

{{ $a->details->name }} >>
                          Unlocked

                        @endforeach

                     Auth::user()->username, 'id' => Auth::user()->id)) !!}">View All

http://www.ultraimg.com/image/pfeE
http://www.ultraimg.com/image/pfes
http://www.ultraimg.com/image/pfeR


Unable to update the dynamic configuration

Need Help!!!
Hi Team,
I am unable to update the dynamic configuration. Getting the below error. And also I cannot save the configuration when I click on save dynamic configuration. Nothing happens and after sometime I get the below error.
Oops! There was a problem.
There was an error processing your request: Could not connect to the endpoint URL: "http://CONSOLEME-DYNAMODB:8005/"

Hi, I'm going to remove the screenshot here because your ConsoleMe instance is set up for development mode. It bypasses authentication and allows users to become an administrator. The cause of this problem is the same as #9101 . I'll close this issue and let's use #9101 to address it.

Hi,
Thank you for the details. I have updated the docker networking so that now I am able to update the dynamic configuration. Also the DynamoDB tables were empty and I have created all the necessary tables. We are able to view the roles and policies in the ConsoleMe dashboard, however after couple of minutes the page will be empty and we get the below from docker logs. We suspect that this information is not able to get cached but is available in the DB.
Kindly request you to suggest for this.
{"asctime": "2021-05-18T07:38:37Z+0000", "name": "consoleme", "processName": "MainProcess", "filename": "exceptions.py", "funcName": "init", "levelname": "ERROR", "lineno": 14, "module": "exceptions", "threadName": "MainThread", "message": "Unable to retrieve expected data.", "eventTime": "2021-05-17T23:52:33.987081-07:00", "hostname": "e19b737030d4", "timestamp": "2021-05-18T07:38:37Z+0000"}
{"asctime": "2021-05-18T07:38:37Z+0000", "name": "consoleme", "processName": "MainProcess", "filename": "init.py", "funcName": "retrieve_credential_authorization_mapping", "levelname": "ERROR", "lineno": 60, "module": "init", "threadName": "MainThread", "message": null, "function": "CredentialAuthorizationMapping.retrieve_credential_authorization_mapping", "error": "Error loading cloud credential mapping. Returning empty mapping: Unable to retrieve expected data.", "exc_info": "Traceback (most recent call last):\n  File "/apps/consoleme/consoleme/lib/cloud_credential_authorization_mapping/init.py", line 50, in retrieve_credential_authorization_mapping\n    self.authorization_mapping = await retrieve_json_data_from_redis_or_s3(\n  File "/apps/consoleme/consoleme/lib/cache.py", line 169, in retrieve_json_data_from_redis_or_s3\n    raise DataNotRetrievable("Unable to retrieve expected data.")\nconsoleme.exceptions.exceptions.DataNotRetrievable: Unable to retrieve expected data.", "eventTime": "2021-05-17T23:52:33.987081-07:00", "hostname": "e19b737030d4", "timestamp": "2021-05-18T07:38:37Z+0000"}
{"asctime": "2021-05-18T07:38:37Z+0000", "name": "consoleme", "processName": "MainProcess", "filename": "base.py", "funcName": "authorization_flow", "levelname": "ERROR", "lineno": 447, "module": "base", "threadName": "MainThread", "message": "No eligible roles detected for user. But letting them continue", "function": "Basehandler.authorization_flow", "ip": "<IP_ADDRESS>", "request_path": "/api/v2/user_profile", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36", "request_id": "e2131767-14d4-4c0f-8c72-b3dd8e090f94", "eventTime": "2021-05-17T23:52:33.987081-07:00", "hostname": "e19b737030d4", "timestamp": "2021-05-18T07:38:37Z+0000"}
{"asctime": "2021-05-18T07:38:37Z+0000", "name": "consoleme", "processName": "MainProcess", "filename": "base.py", "funcName": "authorization_flow", "levelname": "DEBUG", "lineno": 457, "module": "base", "threadName": "MainThread", "message": "Successfully authorized user.", "function": "Basehandler.authorization_flow", "ip": "<IP_ADDRESS>", "request_path": "/api/v2/user_profile", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36", "request_id": "e2131767-14d4-4c0f-8c72-b3dd8e090f94", "eligible_roles": 0, "eligible_accounts": 0, "eventTime": "2021-05-17T23:52:33.987081-07:00", "hostname": "e19b737030d4", "timestamp": "2021-05-18T07:38:37Z+0000"}
2021-05-18 07:38:37,793 - INFO - tornado.access - [web.py:2239 - log_request() ] - 200 GET /api/v2/user_profile (<IP_ADDRESS>) 4.81ms


chore: Run tests in parallel -- Will fail [DO NOT MERGE]

Related issue(s)

Resolves #
Description
Using this as barometer to see how much we look to gain.
Summary of changes

Dependency additions / changes

Test additions / changes

Checklist

[ ] I have tested the changes locally.
[ ] I have formatted the changes with Prettier and/or cargo fmt with default settings.
[ ] I have linked this PR to the issue(s) that it resolves.
[ ] I have reviewed the changes on GitHub, line by line.
[ ] I have ensured all changes are covered in the description.

Documentation needs

[ ] This PR requires documentation updates when merged.

Additional context

CI's locked to a single thread btw so adding rayon here doesn't do anything.

CI's locked to a single thread btw so adding rayon here doesn't do anything.

Ahh totally forgot

Ah, you managed to catch that before I deleted it. I'm a little unsure that this is relevant actually. That flag is to tell Rust to run tests sequentially but that doesn't have to mean that each test is itself singlethreaded.

For Rayon its usually RAYON_NUM_THREADS=1 but I changed it just incase as Rayon may read that environment variable too


How can I use the python-sdk inside docker?

Hi,
I'm working with the python azure-cognitiveservices-speech-package.
I'm building a service that is using the speech_recognizer to transcript speech - it's basically the same as in the examples.
Running the service works fine, but I want to use it inside a docker container.
Usually I should get some RECOGNIZED-events and after the whole text is processed I receive a CLOSING-event. When I'm running inside docker I don't receive any RECOGNIZED-events.
This looks like the sdk can't reach the azure backend, maybe there are some ports that need to be forwarded. But actually I have no clue which ports should be forwarded. So, does the SDK use REST-calls or is it establishing some kind of socket-connection? And if, which ports is it using? Or is there some kind of best-practice to use the sdk inside docker?

we use websockets, currently don't make any REST calls
the only port we need / access is the standard https port 443

I'm forwarding that port already. But it's still not working. Is there a possibiltiy to run the SpeechRecognizer or start_continuous_recognition() in verbose or debug mode? Or is there any logging I could access? Because I only get no results and no error-msg.
I also tried running the service outside a docker-container without any internet-connection and then it behaves differently from running inside docker, so I think that there must be some kind of connection when running inside docker.

Is it a DNS thing in the container?
For example, Docker may add <IP_ADDRESS> as DNS, but you could be operating in a networking environment where this is blocked.
https://docs.docker.com/v17.09/engine/userguide/networking/default_network/configure-dns/

I'm not very familiar with networks but I don't think so.
When you try to resolve e.g. google.com inside the container it's working:
root@linuxkit-025000000001:/# nslookup google.com
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	google.com
Address: <IP_ADDRESS>
Name:	google.com
Address: 2a00:1450:4001:808::200e

And also when resolving westeurope.stt.speech.microsoft.com you can figure out an IP-Address but then you run into some kind of mistake (see other comment)

There's no difference between the two in terms of connection.
recognize_once() is however meant only for single-shot reco, up to 15 s.
So .. potentially you have silence longer than 15 seconds at the beginning.
Could you clarify whether recognize_once() works as expected on the host? I.e., is there any difference between host and Docker setup?
For cases that don't work as expected, can you provide more details, e.g., cancellation event defailts, or return values, as well as speech region and Session IDs? You can pick up session IDs from the session_started event (hopefully), similar to here:
https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/88dcad0c96e765da7fe546bcbf0975974d39e1bf/samples/python/console/speech_sample.py#L205

(If you still suspect networking difference within/outside the Docker container, maybe you could also go through these steps to validate your subscription in both environments: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/troubleshooting#validate-your-subscription-key)

recognize_once() runs identically on the host and inside docker.
My host system is MacOS and docker is ubuntu:18.04.
The region I'm working on is westeurope. I will provide logs from the service using start_continuous_recognition().
Outside docker:
INFO - Start recognition
INFO - SESSION STARTED: SessionEventArgs(session_id=BF5C52D0B9154CB993E3024432A9E549)
INFO - Read 626624 bytes
INFO - Write to azure
INFO - Read 0 bytes
INFO - Closed streams
INFO - RECOGNIZED: SpeechRecognitionEventArgs(session_id=BF5C52D0B9154CB993E3024432A9E549, result=SpeechRecognitionResult(result_id=B06FE79DF53140F0A31FF580BAB83773, text="SOME TEXT", reason=ResultReason.RecognizedSpeech))
INFO - RECOGNIZED: SpeechRecognitionEventArgs(session_id=BF5C52D0B9154CB993E3024432A9E549, result=SpeechRecognitionResult(result_id=F2A7414BFBC245A0884D9568447FF755, text="SOME TEXT", reason=ResultReason.RecognizedSpeech))
INFO - RECOGNIZED: SpeechRecognitionEventArgs(session_id=BF5C52D0B9154CB993E3024432A9E549, result=SpeechRecognitionResult(result_id=36690B7E7F224125B3B980AC61D5AA10, text="SOME TEXT", reason=ResultReason.RecognizedSpeech))
INFO - RECOGNIZED: SpeechRecognitionEventArgs(session_id=BF5C52D0B9154CB993E3024432A9E549, result=SpeechRecognitionResult(result_id=47BD7E6A71ED4948937AB76B4AA42611, text="SOME TEXT", reason=ResultReason.RecognizedSpeech))
INFO - CLOSING on SpeechRecognitionCanceledEventArgs(session_id=BF5C52D0B9154CB993E3024432A9E549, result=SpeechRecognitionResult(result_id=4B3B2F5BFCB3441E8A48AFF7F85761FA, text="", reason=ResultReason.Canceled))
INFO - STOPPED: SessionEventArgs(session_id=BF5C52D0B9154CB993E3024432A9E549)

There are also RECOGNIZING-Events but I removed them to make the logs clearer.
Inside docker:
INFO - Start recognition
INFO - SESSION STARTED: SessionEventArgs(session_id=0f6acfcb80e54ff2ab4704ef71f3be8e)
INFO - CLOSING on SpeechRecognitionCanceledEventArgs(session_id=0f6acfcb80e54ff2ab4704ef71f3be8e, result=SpeechRecognitionResult(result_id=d82b81a920ce467a86dce11dd292a12e, text="", reason=ResultReason.Canceled))
INFO - Read 628672 bytes
INFO - Write to azure
INFO - Read 0 bytes
INFO - Closed streams

So the SpeechRecognizer fires a CANCELED-Event even before I start to write something to the Input-Stream.
So I started debugging inside docker. And speech_recognizer.start_continuous_recognition() results in:
INFO - SESSION STARTED: SessionEventArgs(session_id=0f6acfcb80e54ff2ab4704ef71f3be8e)
INFO - CLOSING on SpeechRecognitionCanceledEventArgs(session_id=0f6acfcb80e54ff2ab4704ef71f3be8e, result=SpeechRecognitionResult(result_id=d82b81a920ce467a86dce11dd292a12e, text="", reason=ResultReason.Canceled))

Running the curl-command from your second comment is working inside docker:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to westeurope.api.cognitive.microsoft.com (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [236 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [89 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [3275 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [365 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [102 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=*.cognitive.microsoft.com
*  start date: Nov 29 11:22:55 2017 GMT
*  expire date: Nov 29 11:22:55 2019 GMT
*  subjectAltName: host "westeurope.api.cognitive.microsoft.com" matched cert's "*.api.cognitive.microsoft.com"
*  issuer: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation; OU=Microsoft IT; CN=Microsoft IT TLS CA 2
*  SSL certificate verify ok.
} [5 bytes data]
> POST /sts/v1.0/issueToken HTTP/1.1
> Host: westeurope.api.cognitive.microsoft.com
> User-Agent: curl/7.58.0
> Accept: */*
> Ocp-Apim-Subscription-Key: <MY-SUBSCRIPTION-KEY>
> Content-type: application/x-www-form-urlencoded
> Content-Length: 0
>
{ [5 bytes data]
< HTTP/1.1 200 OK
< Cache-Control: no-cache
< Pragma: no-cache
< Content-Length: 779
< Content-Type: application/jwt; charset=us-ascii
< Expires: -1
< X-AspNet-Version: 4.0.30319
< X-Powered-By: ASP.NET
< apim-request-id: 7ba2edb3-ea29-48ff-94f8-a7117bededee
< Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
< x-content-type-options: nosniff
< Date: Fri, 08 Mar 2019 09:35:30 GMT
<
{ [779 bytes data]
100   779  100   779    0     0   3286      0 --:--:-- --:--:-- --:--:--  3300
* Connection #0 to host westeurope.api.cognitive.microsoft.com left intact
<MY-TOKEN>

Is there a way to see what happens on start_continuous_recognition()? Something like Debug or logging-mode?

To clarify: recognize_once() works on host and docker. start_continuous_recognition() only works on host. Not inside docker :)
The details from the cancellation-event:
DEBUG - Error-Code: 5
DEBUG - Error-Details: Connection failed (no connection to the remote host). Internal error: 1. Error details: -2. Please check network connection, firewall setting, and the region name used to create speech factory.
DEBUG - Reason: CancellationReason.Error

@mahilleb-msft any ideas?
I tested something else: I turned off WIFI and let the service run on the host (MacOS) which has been working so far and expected to see the same behaviour as running inside docker. But the program just hang:
INFO - SESSION STARTED: SessionEventArgs(session_id=BF5C52D0B9154CB993E3024432A9E549)
INFO - Read 626624 bytes
INFO - Write to azure
INFO - Read 0 bytes
INFO - Closed streams

(Nothing happend for some time so I canceled the service)

For comparison: I've provided the log of normal and docker behaviour in a previous comment

I'm cleaning up some of our git hub issues that have been open for a long time, and have not seen any traffic on this issue in some time.  If this is still an issue, please re-open this thread.
Thanks,
Brian.

We have a Docker container with python-sdk inside.  Get it here: docker pull antsu/on-prem-client:latest

I am surprised Azure have this limitation of not enabling their users to run the speech sdk / rest api in a container.
Why?
The only solution available is to run the actual azure speech language model in a container that requires a ridiculous amount of minimum hardware requirement to run.

I am having the same issue, when using recognize_once in local it works properly and in docker it stops.
Local ->

SESSION STARTED: SessionEventArgs(session_id=b63ca589739c460c94b47692ee066ff9)
Recognizing ... (works properly)
SESSION STOPPED SessionEventArgs(session_id=b63ca589739c460c94b47692ee066ff9)
CLOSING on SessionEventArgs(session_id=b63ca589739c460c94b47692ee066ff9)

Docker ->

SESSION STARTED: SessionEventArgs(session_id=7f1ef1cb891747c78fb13e8a95bec444)
CANCELED SpeechRecognitionCanceledEventArgs(session_id=7f1ef1cb891747c78fb13e8a95bec444, result=SpeechRecognitionResult(result_id=1cd796403d0048e18db6c36c157b36fc, text="", reason=ResultReason.Canceled))
SESSION STOPPED SessionEventArgs(session_id=7f1ef1cb891747c78fb13e8a95bec444)

My DockerFile goes like this

FROM python:3.10

WORKDIR /code

COPY ./requirements.txt /code/requirements.txt

RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get install -y ffmpeg

EXPOSE 8000

COPY ./app /code/app

CMD ["gunicorn", "app.main:servicio" ,"--workers", "4", "--worker-class" ,"uvicorn.workers.UvicornWorker" , "--bind", "<IP_ADDRESS>:8000"]

@Matias222 can you get the cancellation details for why the recognition canceled?
Somehting like:
            cancellation_details = result.cancellation_details
            print(f"Speech Recognition was canceled: {cancellation_details.reason}")

            if cancellation_details.reason == speechsdk.CancellationReason.Error:
                print(f"Error details: {cancellation_details.error_details}")

@rhurey Sure here are my logs
INFO CANCELED CancellationDetails(reason=CancellationReason.Error, error_details="Runtime error: Failed to initialize platform (azure-c-shared). Error: 2153 SessionId: 85886b76fe1e4cd1ba1c36cc819e75f9")

Are you running on Ubuntu 22.04 by chance?

My local machine is running Windows 11 and the docker "Debian GNU/Linux 12 (bookworm)"

Well I have modified the Dockerfile to follow this guide https://learn.microsoft.com/en-us/azure/ai-services/speech-service/quickstarts/setup-platform?pivots=programming-language-python&tabs=linux%2Cubuntu%2Cdotnetcli%2Cdotnet%2Cjre%2Cmaven%2Cnodejs%2Cmac%2Cpypi and now it looks like this
FROM ubuntu:22.04

RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get update && apt-get install -y python3.10 python3.10-dev python3-pip

WORKDIR /code

COPY ./requirements.txt /code/requirements.txt

RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
RUN apt-get install -y ffmpeg
RUN apt-get install -y build-essential libssl-dev ca-certificates libasound2 wget

EXPOSE 8000
EXPOSE 443

COPY ./app /code/app

CMD ["gunicorn", "app.main:syntax" ,"--workers", "4", "--worker-class" ,"uvicorn.workers.UvicornWorker" , "--bind", "<IP_ADDRESS>:8000"]

and still I am getting the same error "Failed to initialize platform (azure-c-shared). Error: 2153 SessionId: f2e5e721c1fc444a9aac34dd38878afb")"

In Unbntu 22.04 you'd need to get an OpenSSL 1.1 installed to use the SDK. We're working on OpenSSL 3.0 support, but it hasn't been released yet.

In Unbntu 22.04 you'd need to get an OpenSSL 1.1 installed to use the SDK. We're working on OpenSSL 3.0 support, but it hasn't been released yet.

Sorry, noob question...OpenSSL 1.1 in the docker container or host? or both?
And can it be OpenSSL 1.1.1d or 1.1.1u or specifically 1.1?

In Unbntu 22.04 you'd need to get an OpenSSL 1.1 installed to use the SDK. We're working on OpenSSL 3.0 support, but it hasn't been released yet.

Sorry, noob question...OpenSSL 1.1 in the docker container or host? or both? And can it be OpenSSL 1.1.1d or 1.1.1u or specifically 1.1?

I'm having the same issue. By running this command in my Dockerfile fixed the issue.
https://gist.github.com/joulgs/c8a85bb462f48ffc2044dd878ecaa786

Thanks guys! By reading this thread I was able to update my Dockerfile and run the azure speech SDK in my streamlit app. Here's the Dockerfile if anyone is interested in taking a look 🙂 (It might have some unnecessary things, though)
FROM ubuntu:22.04

ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8

RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get install -y \
    python3.10 \
    python3.10-dev \
    python3-pip \
    curl

WORKDIR /code

RUN pip3 install poetry==1.6.1
RUN apt-get install -y ffmpeg
RUN apt-get install -y build-essential libssl-dev ca-certificates libasound2 wget
RUN wget http://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_arm64.deb
RUN dpkg -i libssl1.1_1.1.1f-1ubuntu2_arm64.deb
# RUN wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
# RUN sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb

COPY . /code/.

RUN poetry config virtualenvs.create false
RUN poetry install

EXPOSE 8501
EXPOSE 443

HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health

ENTRYPOINT ["streamlit", "run", "frontend/streamlit_app.py", "--server.port=8501", "--server.address=<IP_ADDRESS>"]


act_runner configure insecure registry

Feature Description
I builded a self image from gitea/act_runner:latest-dind-rootless. I added /etc/docker/daemon.json. This file contains the docker insecure registrie definition.
It doesn't work.
What is the right way for this problem.
This is my build.yaml
jobs:
  build:
    runs-on: "self-hosted"
    container:
      image: nexus.development:8082/maven:3.9.5
    steps:
      - uses: actions/checkout@v4
      - name: "Maven build"
        run: mvn clean install

This are the messages from "Set up job"
gitea-runner(version:v0.2.6) received task 13 of job 7, be triggered by event: push
workflow prepared
evaluating expression 'success()'
expression 'success()' evaluated to 'true'
🚀  Start image=nexus.development:8082/maven:3.9.5
  🐳  docker pull image=nexus.development:8082/maven:3.9.5 platform= username= forcePull=false
  🐳  docker pull nexus.development:8082/maven:3.9.5
Image exists? false
pulling image 'nexus.development:8082/maven:3.9.5' ()
Error response from daemon: Get "https://nexus.development:8082/v2/": http: server gave HTTP response to HTTPS client

Screenshots
No response

You should configure the daemon.json in your act runner container since you are using dind.

I added /etc/docker/daemon.json

Where did you add daemob.json? In your custom docker image or mount a local file in the host?
And where's your docker engine running? In your custom docker image(docker in docker) or mount docker.sock in the host.

Where did you add daemon.json? In your custom docker image or mount a local file in the host?
I added the daemon.json over COPY statement in the docker image.
I played with my docker file and now it works.


onDrop not working

onDrop not working
when you drag an item to it onDrop element nothing happens

Please provide a reproduction or some example code.

Reopening when more information is provided.


Add annotations for evidence on package locations

Adds the concept of location annotations, allowing arbitrary key-value pairs to be listed onto source.Location objects. This PR also shows the first example of this with the dpkg cataloger:
[
  {
    "id": "3e9282034226b93f",
    "name": "adduser",
    "version": "3.118",
    "type": "deb",
    "foundBy": "dpkgdb-cataloger",
    "locations": [
      {
        "path": "/usr/share/doc/adduser/copyright",
        "layerID": "sha256:ec09eb83ea031896df916feb3a61cefba9facf449c8a55d88667927538dca2b4",
        "annotations": {
          "evidence": "supporting"
        }
      },
      {
        "path": "/var/lib/dpkg/info/adduser.conffiles",
        "layerID": "sha256:ec09eb83ea031896df916feb3a61cefba9facf449c8a55d88667927538dca2b4",
        "annotations": {
          "evidence": "supporting"
        }
      },
      {
        "path": "/var/lib/dpkg/info/adduser.md5sums",
        "layerID": "sha256:ec09eb83ea031896df916feb3a61cefba9facf449c8a55d88667927538dca2b4",
        "annotations": {
          "evidence": "supporting"
        }
      },
      {
        "path": "/var/lib/dpkg/status",
        "layerID": "sha256:ec09eb83ea031896df916feb3a61cefba9facf449c8a55d88667927538dca2b4",
        "annotations": {
          "evidence": "primary"
        }
      }
    ],
    "licenses": [
      "GPL-2"
    ],
...

Notes:

source.LocationSet requires that the existing source.Location is hashable as to enable it's use as a key in a map. This isn't possible since annotations are themselves maps and are directly attached to the Location struct. For this reason I've split out position information and metadata within the Location struct and added those as embeddings.
The source.LocationSet merges metadata for any two locations where the position information is the same, essentially merging the locations. This seems like the right call relative to the package struct, but this does not account nicely for duplicate keys with differing values, which will log a warning.

JSON schema diff for reviewers:
# ❯ diff schema/json/schema-7.1.1.json schema/json/schema-7.1.2.json
817,818c817,823
<         "virtualPath": {
<           "type": "string"
---
>         "annotations": {
>           "patternProperties": {
>             ".*": {
>               "type": "string"
>             }
>           },
>           "type": "object"
946c951
<             "$ref": "#/$defs/Coordinates"
---
>             "$ref": "#/$defs/Location"

This one looks good to me - no other comments to add besides what already exists on the PR. I've started incorporating the location changes into the license evidence PR so 👍 thanks for making this clear and easy to follow


Bug: MockInstance.scope(); is mentioned in "Getting started" doc although being unnecessary nowadays(?)

Description of the bug
I am a new user to this tool. To quickly get started I let an AI (JetBrains AI Assistant in my case) convert my old code to ng-mocks code (after failing/being annoyed to do so manually). This was greatly successful.
And yes, I did read the docs during that anyway.
An example of the bug
The getting started page explains MockInstance.scope(); directly at the beginning and I would be under the impression this is needed.
However, the AI told me:

In ng-mocks, MockInstance.scope is used to clean up the old instances of the mocked objects between each test. However, since<EMAIL_ADDRESS>this functionality is built-in and by default applicable.

In my experience, it is rare the AI argues against you thus I would assume this is true. or did it talk wrong stuff?
Link: https://ng-mocks.sudo.eu/
Expected vs actual behavior
If this is true, your doc maybe should not do that anymore? At least not explain it as if it would be obligatory.
The relevant AI transcript snippet:
User:
Alos should not I add MockInstance.scope();?
Assistant:
No, in ng-mocks, MockInstance.scope is used to clean up the old instances of the mocked objects between each test. However, since<EMAIL_ADDRESS>this functionality is built-in and by default applicable.
Therefore, you might not need to call MockInstance.scope() to clean up your mocks between test runs.
Here's a simple modification you can make to your test:
// [removed by me manually]

describe('[removed by me manually]', () => {
  let component: [removed by me manually]<unknown>;
  let fixture: MockedComponentFixture<[removed by me manually]<unknown>>;

  // MockInstance.scope(); You do not need this line anymore with ng-mocks version 8.1.0 onwards

  beforeEach(() => {
    return MockBuilder([removed by me manually])
      .keep(ReactiveFormsModule)
      .keep(FormsModule)
      .keep(HttpClientTestingModule)
      .keep(RouterTestingModule.withRoutes([]))
      .provide({
        provide: HttpRepository,
        useClass: HttpRepositoryStub,
      })//[removed by me manually]
      // keep other modules
  });

  beforeEach(() => {
    fixture = MockRender(/* [removed by me manually] */);
    component = fixture.point.componentInstance;
    // [removed by me manually]
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});

This ensures that your tests are set up correctly and will clean up after each test run without explicitly having to call MockInstance.scope().

Hi @rklec,
that's partially true and ng-mocks used to create and destroy scopes automatically.
However, due to recent changes in jest, it became impossible, and, in case of jest, scopes should be created and destroyed manually.
The guide how to configure automatic scopes for jasmine is here: https://ng-mocks.sudo.eu/extra/install
The issue in jest is here: https://github.com/jestjs/jest/issues/11483.

Okay, but then this should be documented? That it is only needed for jest?

By default ng-mocks doesn't do that out of shelf, developers should manually add code to src/test.ts.

Maybe I don't get your idea, could you explain the problem in more details?
Basically by default everybody should use scopes if they want to use MockInstance, and if they want to reduce repetition and they use jasmine, then they can configure test.ts to create scope automatically.

Hmm are the docs on GitHUb? I could create a PR?

Yep - each doc page has [Edit this page] link.

v14.12.0 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


REPL blocks port 80

When attempting to run a web server (e.g. this tutorial https://www.petecodes.co.uk/creating-a-basic-raspberry-pi-pico-web-server-using-micropython/), you get OSError: [Errno 98] EADDRINUSE when attempting to bind to port 80 when running the script through REPL (just importing the script).
Envirnoment:
Raspberry Pi Pico W
PyCharm 2022.1.4 (Professional Edition). Build #PY-221.6008.17, built on July 20, 2022.
Latest UF2 from raspberrypi.com (https://micropython.org/download/rp2-pico-w/rp2-pico-w-latest.uf2)
Minimal code example to run on REPL to reproduce:
>>> import socket
>>> s = socket.socket()
>>> s.bind(socket.getaddrinfo('<IP_ADDRESS>', 80)[0][-1])

It's possible to bind to other ports, just not port 80.
If you just name the script main.py and let it run, it works fine. It's just through the REPL on the PyCharm Micropython plugin. The same script works fine running in Thonny

Probably you have webrepl running.
This is not the plugin issue in any case, so I close the issue.


cli: --max-sql-memory flag

Add --max-sql-memory flag to start-a-node.md.
PR: https://github.com/cockroachdb/cockroach/pull/9259

Question about this flag in Gitter:
fphilippon @fphilippon Nov 14 10:32
is the cache size parameter (for node start) is also used to define the sql max memory cache size and rocksdb one?


Copy tox.ini and circle.yml from other project to here

Now tests are run with Pypy also
Produce junit style XML to make CircleCI look cooler

Looks good. Thanks!


migrate cli with ember app/addon

In the use case of migrating a given Ember App or Addon from JS to TS. During the Installing Dependencies task, a conditional check for eg. isEmber we should also install all pre-req's for Glint and Ember TypeScript (https://docs.ember-cli-typescript.com/installation).
Install Pre-Req Deps for Glint w/Ember Loose and Ember TypeScript:
yarn add --dev @glint/core @glint/template @glint/environment-ember-loose

ember install ember-cli-typescript@latest

^^^^ By doing above before executing migrate the quality of type inference will be significantly better.

We are going to implement this via "rehearsal-config.json" and expose an optional validator function hook. That way we can keep framework specific code as a plugin vs core feature:
https://github.com/rehearsal-js/rehearsal-js/pull/477#issuecomment-1338130078

This is handled and completed internally via rehearsal-config.json


GSoC 2022: Thin SDK for Proxy Mesh

Please read the detailed proposal of Dubbo Proxy Mesh here first to know about the ultimate goal behind this issue.
We have started the development of Dubbo Proxy Mesh for a while, so that means you don't have to start the project from the scratch, anyone who gets involved needs to start with a specific task at hand. As for the specific tasks to do in GSoC 2022, we are still working on it, we do have some tasks that can be distributed but we hope to discuss them with the contributors first.
So if you are interested in this project and the objective described in the proposal, please leave comments below so we can further exchange opinions.
Please don't forget to apply for GSoC from its official website when the application slot opens.

related project https://github.com/apache/dubbo/issues/9884

mark

mark

mark

mark

As for the part of the service call, I plan to design a header conversion plug-in that is able to adapt the grpc header contents.

After the introduction of K8S, each Dubbo instance will be directly connected to SideCar, so that the load balancing and routing functions are uninstalled, and all the functions can be handed over to SideCar, which speeds up interface registration to application registration

The following picture is the workflow of Dubbo thin SDk as I understand it. I don't know if it is correct or needs to be added?

Can I join working on this issue?


2.0.0 release

Hi. Thanks for plugin.
When will be release for 2.0.0?
Get this error now:
ERROR: Plugin [elasticsearch-analysis-morphology] is incompatible with Elasticsearch [2.0.0]. Was designed for version [2.0.0-beta1]

Duplicate of #23

Thanks!!!


fix: improve context generation

Remove complexity when generating context creator file.
File content looks as follows:

import {
  createKnexCRUDRuntimeContext,
  KnexRuntimeContextConfig
} from "@graphback/runtime"

export const createCRUDResolversRuntimeContext = (
  options: KnexRuntimeContextConfig
) => {
  const { schema, db, pubSub } = options

  const notePubSubContext = {
    pubSub,
    publishCreate: true,
    publishUpdate: true,
    publishDelete: true
  }
  const commentPubSubContext = {
    pubSub,
    publishCreate: true,
    publishUpdate: true,
    publishDelete: true
  }

  return {
    Note: createKnexCRUDRuntimeContext("Note", schema, db, notePubSubContext),

    Comment: createKnexCRUDRuntimeContext(
      "Comment",
      schema,
      db,
      commentPubSubContext
    )
  }
}

We have added also support for runtime case. Runtime example now will use new subsystem

Build failing because of linting issues (we should fix it on feature branch to not conflict)


Warning: Undefined property: Predis\Client::$redis

PHP Version
8.0.16
Shopware Version
<IP_ADDRESS>-<IP_ADDRESS>
Actual behaviour
When opening the Cache tab, the wheels keep spinning and I see the above mentioned error for the /api/_action/frosh-tools/cache request.
As far as I can tell, the Predis Client class never had such a property. Maybe I misconfigured something.
Expected behaviour
No error is thrown.
Steps to Reproduce?
Activate Redis, Install Plugin, Open Cache tab.

predis is currently not supported. never though somebody is using that 😅

Feel free to make a PR. I have currently no time to test Predis. It is also not an official supported Redis adapter


Undo/Redo on selection changes

When trying to isolate problem splats, the user deselects the wrong spat, then can't find it again easily. Being able to undo a selection change would greatly expedite the workflow

This was fixed in #194


Cannot read property 'waitForTimeout' of undefined

I use command synpress open after this command i can't use function cy.confirmMetamaskWelcomePage() in<EMAIL_ADDRESS>and on cypress window show err = "Cannot read property 'waitForTimeout' of undefined"
how i should handle them all.
Thank you

Hey @jamesapc, thanks for reporting the issue. Please use synpress run for now, you can find more details about it in the readme. In terms of confirmMetamaskWelcomePage() => I'm sure it's working properly if you follow the readme and do the proper setup. You can use kwenta repo as reference:
https://github.com/Synthetixio/kwenta/tree/dev/tests/e2e
If you're going to have any technical issues related to synpress itself, feel free to reopen.
Thanks,
Jakub.


KG-Half

Hi,
How do you generate the KG-Half? You said you randomly removed 50% triples but some entities will be missing. Some missing entities might be the answers or topic entites. How do you address this part?
Best regards

Thanks!


Neon Animation is deprecated; replace with css animations?

Hi, I'm a fan of this element. Just wondering if there is any plan to replace neon animation as it is deprecated ? Cheers

@Thkasis Thanks for raising this concern. A fix will be on its way to tackle this with Web Animations as a replacement probably instead of refactoring it to use CSS animations.
Feel free to submit a PR if you're interested to give this issue a try 😄!

No problem, shifting away from neon animation has been a pain for myself as I have used it in my web apps. I have often managed to use iron pages instead which helps to move towards lazy loading stuff even more as well. But when it comes to this I am not sure that would be wise and it would probably make things even more complex. I would submit a PR if I could find some time.. can't promise for now though, Cheers

Closing this in favor of v4. Please consider v4 even if you are using polymer. Thank you for the support.


Replace try! macro with '?' operator.

Building with 'cargo build -vv' complains about try! being deprecated.
Replace with functionally-identical '?' operator.

I think this can be fixed with a #![allow(deprecated)] at the top of the build file instead...

IMO there are good reasons to actually go through with removing the try macro and to replace it with ? given here
restated:

? was stabilized in 1.13, November 2016, (timeline wise, this is not some bleeding edge feature.)
try is a reserved keyword in rust 2018 onward, so I think try! invocations will need to be written as r#try to be future proof.

Yea, normally I'd say moving to ? makes sense. However, httparse for good or bad chose to be very strict with its MSRV, and so far hasn't had the need to change it. try becoming a keyword is only a problem if opting in to the 2018 edition, which httparse does not do (because of its old MSRV).
So in this case, the warning can be safely ignored.

(Apologies for the noise if this doesn't work)
I force pushed a different patch that adds #[allow(deprecated)] and does raw identifier r#try. If calling try! via raw identifier doesn't work in Rust 2015, I'll abandon.

Off-topic, but I'm somewhat annoyed that you have to put that #[allow(deprecated)] block above the whole function definition/signature, and you can't suppress the warning with more granularity, ie:
let major = {
        #[allow(deprecated)]
        r#try!(num.parse::<u32>().map_err(|e| e.to_string()))
};

etc.

Heh, yea, but then attributes on expressions wasn't stable back then (is it now finally?). But in this case, it's safe to just mark the whole file, since any other deprecation we couldn't do anything about either.

Okay cool, it failed CI on 1.10.0 again. So as far as I can tell, there is no mechanism to call the try macro in both Rust 2015 and Rust 2018 in a way that avoids the possibility of conflicting with a future try keyword.
In that case, this entire PR just boils down to adding #[allow(deprecated)]. I'm going to abandon it. Sorry for the noise.


Kestrel randomly locked and stop responding.

I run ASP.NET Core 1.1 on Ubuntu 16.04 in Docker container (with Ubuntu image).
This works fine, but 3 times in two weeks I catch error, that Kestrel stop responding.
No errors in Exception filter, in logs - only last record with start Action Executing, but not completed.
Why problem in Kestrel ? - Because it locked and not processing new requests.
At locked state, CPU usage is 4-5% (per core). I wait 4 hours, but not result.
TOP command result:
PID    USER      PR    NI    VIRT       RES          SHR S       %CPU      %MEM      TIME+       COMMAND
10788   root      20   0     11.396g    185060       53704 S     4.7       2.3       14:17.56     dotnet

Restarting docker container is solve issue.
I can't attach and trace it, because all tools, that I use - works only on Windows.

Just to be clear, are you running everything (host and containers) on Linux?
Are you doing remote access from a Windows console window? It could be this if so: https://github.com/aspnet/KestrelHttpServer/issues/1259

Yes, it's all running on Ubuntu. 2-core server with no server CPU (G4400)
I know problem with console locking in Windows, with mouse e.t.c, but this is not same issue, because docker run in background and I not access it directly.
Ketrel doing something, but i don't understand what.
CPU load 4.7% per core (at locked state) is equals to 3-5 fast browser requests to main page

UPD. Just now server blocked again. 2 days after restarted container

@ZOXEXIVO are you passing a cancellation token to any of your response writing API calls (if you have any)

@davidfowl  No. Only simple async requests to MongoDB (simple blog app)
Now, server works 7 days without blocking behind nginx proxy

We're seeing similar. I can exec into the container and see the process still running. It's not responding to curl. It's sat at 4-6% CPU constantly.
I can 100% reproduce it. It happens randomly under heavy load from our protractor unit tests hitting our web app, so just takes anywhere from 0-20 minutes to trigger.

I work with @philjones88 and to confirm this is a self-contained app running 1.0.1 on a CentOS 7 container.

After using NGINX before Kestrel, problem disappear (2 weeks uptime)

@ZOXEXIVO we are experiencing the same symptoms in the same containerized environment.  Since deploying nginx before kestrel , have you had any locks?

@euclid47 behind nginx server, it works perfect! I
Here, https://github.com/aspnet/KestrelHttpServer/issues/1304 problem was in StaticFiles middleware.

Any idea when #1304 will be pushed out?   I am running .net core 1.1 in an Azure web app and am similarly having the problem where it will crash and never start serving content again until the app is swapped or restarted

@ZOXEXIVO @runxc1 #1304 should be released in Feb.

Closing as a dup of https://github.com/aspnet/KestrelHttpServer/issues/1304.

Hi,
Do we have any plans to ship v1.1.1  as we are also getting the same error while deploying dot net core web app on Linux docker - ubntu ?

@tavisca-syedave we plan to have the patch out hopefully later this month.

Kestrel 1.1.1 is now released. Is anyone still running into this issue?

Hi,
@cesarbs I still have this issue on 1.1.1 from time to time. I'm running Docker containers (17.03.1-ce) on Ubuntu 16.04, MVC 1.1.1 behind Nginx. Also happens under heavy load.
It accepts few requests normally and than stops to respond.
nginx returns 504 Gateway Time-out.
info: Microsoft.AspNetCore.Server.Kestrel[14]
      Connection id "0HL43F9NVFNNJ" communication error.
Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -32 EPIPE broken pipe
...
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://HOST.net/8rr0
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
      Executing action method Controllers.FeedController.Feed (XXX) with arguments (8rr0) - ModelState is Valid
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://HOST.net/download/hn5a/PwDJILthcjU.mp4
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
      Executing action method Controllers.DownloadController.Download (XXX) with arguments (hn5a, PwDJILthcjU) - ModelState is Valid
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://HOST.net/yZa1
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
      Executing action method Controllers.FeedController.Feed (XXX) with arguments (yZa1) - ModelState is Valid
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://HOST.net/download/8e1J/S8aDtWdsxtg.mp4
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
      Executing action method Controllers.DownloadController.Download (XXX) with arguments (8e1J, S8aDtWdsxtg) - ModelState is Valid
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://HOST.net/hotb

I think I've just got it with 1.1.2 using unix socket (behind nginx). Will enable verbose logging and come back if I can reproduce it.

Just got it too with 1.1.2 begind nginx.

I also just got it on 1.1.2. Nginx reverse proxy to Kestrel. In my case it was working in production for more more than 1 month then suddenly this it stopped working. Now it stopped working every hour

Best advice -> upgrade to 2.,0

@ZOXEXIVO Did upgrading to v2 fixed your problem?

@jeff-pang Problem disappeared when i host kestrel behind nginx

@ZOXEXIVO I am already hosting Kestrel behind Nginx, but I will give it a try anyway. Thanks

Upgrading to 2.0 fixed the issue

The same issue on 2.0.0, please check this

@vinhhrv Could you upload your dump somewhere and share it with us?

@cesarbs
i will send my dump to your email is<EMAIL_ADDRESS>?
please confirm, (my email is<EMAIL_ADDRESS>

Sounds good, though depending on the size you might not be able to email it.

@cesarbs, i sent to your email.
Thanks for support.

@vinhhrv About this:

telnet port is oke, but curl http => hangs

Can you share more details about the specific request that causes it to hang? Or does it hang on any request?

@pieceofsummer @ilyabreev @jeff-pang Can you share more details about the issues you've ran into with Kestrel 1.1.2? In @vinhhrv's case, it appears he is running into the connection limit that we introduced in 2.0.
Could any of you share a memory dump captured when Kestrel hangs?

i got a same problem and i send you the dump zipped
please give me some advice
Thanks

I'm also having the problem, on 2.0.0 it appears the whole dotnet process 'stops' rather than just kestrel as I have some background threads that stop doing anything also. The dotnet memory usage goes down bigly when this happens also

Hello. Same problem. But my problem is a little bit different. So... I restart server every one or two week. It looks like server getting tired. When tired is not responding and then nginx getting 502 error. I am testing mobile app and getting and posting more datas and server get this error every 2 days. And i restart the server and then solve my problem for two days. I use ubuntu's service from /etc/systemd/system. I create webapi.service and webui.service for this dotnet crash problem. Dotnet starting after crash but not healty and crashing more and more times. What is my problem. Please solve my problem. Thanks.
@muratg
@davidfowl

I am also using Ubuntu and running through the supervisor system.

@anthonywanted @sanishx @hasanoruc We've seen issues where the server seemingly hangs due to resource exhaustion. It is always the case that somewhere in the application a sync call is being made (e.g. SomethingAsync().GetAwaiter().GetResult()). This is unfortunately hidden in unexpected places sometimes, like some Azure SDKs. Have you checked if that could be the case?

@cesarbs i will check.
and. more information.
my system did not show this error when it was 12gb ram, 6cores processor.
but my system is now 2cores processors and 4gbram. this error look when my system has been smaller. under the load(looking 45 persons per second) %2 cpu usage(2cores). not problem. but i test my app and I proccess more operation and dotnet is crashing. it seems like sockets. but i dont know.
sorry for my bad english.

@hasanoruc do you use non-async (e.g. blocking) apis? May be some solutions in https://github.com/aspnet/KestrelHttpServer/issues/2104#issuecomment-337170742
With 2 cores the threadpool will have a lower minthreads value; so you may hit threadpool starvation (it will inject threads; but not as fast as the blocking apis are stopping them)

@benaadams No. My all api methods are async.
Like this:
    [HttpPost("postxmesajsil")]
    [Produces("application/json")]
    public async Task<bool> PostXamarinMesajsil([FromHeader]string token, [FromBody]JObject obj)
    {
        string identity = (string)obj["userId"];

        await TokenControl(token, identity);

        int userId = (int)obj["userId"];
        int friendId = (int)obj["friendId"];

        return await messagesDal.sp_mesajsilxamarin(userId, friendId);
    }

I'm also having the problem, I'm using dotnet core 2.0.  It appears the whole dotnet process 'stops' rather than just kestrel as I have some background threads that stop doing anything also.  This issue only happens when a reverse proxy server(HAProxy) is setting in front of kestrel and  concurrency is high(above 50).

I have isolated the class method that runs a few moments before these 'stops' occur. I think it possibly may be in something below, where I decode some XML, then encode it in JSON and then decode the JSON to easiliy get an ExpandObject for some XML.
        var client = new HttpClient();

        var response = await client.GetStringAsync(options.FeedUrl);
        XDocument doc = XDocument.Parse(response); //or XDocument.Load(path)

        string jsonText = JsonConvert.SerializeXNode(doc);

        return  JsonConvert.DeserializeObject<ExpandoObject>(jsonText);

You are not disposing the http client for a start. Was there an xmldocument.load () in there somewhere?

@sanishmistry resuse (e.g. static) HttpClient or Dispose it (e.g. using)? You may be hitting max outbound connections + keep alives on client?

Also pump up your outbound connection limits?
// Add at Main()
System.Net.ServicePointManager.DefaultConnectionLimit = 256; // Max concurrent outbound requests`

i will wrap the block inn using statements and so if it fixes it, I think it that was likely the issue as it seemed to happen exactly 7 days after starting the process, and that block ran at a fixed time interval. I was not aware HttpClients needed to be exposed!

I was not aware HttpClients needed to be disposed!

You can also just use a single static one and not Dispose it. However you can't change things like DefaultHeaders per call as that wouldn't be thread safe

I solved my own problem for ubuntu 16.04.
I ran top command and then shift+m and then shift+h. And i saw many many dotnet actions loading the ram and it did not died after time by itself and it did not clear the ram by itself. And i looked to google and i add this line to crontab.(/etc/crontab):

*/5 *   * * *   root    killall --older-than 40m -s SIGKILL dotnet

What is this?
Every 5 minutes run this command. What command? killall dotnet actions older than 40 minutes.
And extra note: Add this extra line to crontab for every 5 minutes to clear all buffer/cache. And restart crontab for this:

*/5 *   * * *   root    sync && echo 3 > /proc/sys/vm/drop_caches

sudo /etc/init.d/cron reload
sudo /etc/init.d/cron restart

@hasanoruc What's starting your dotnet processes? When should the dotnet processing be stopping?

@halter73
If every request to the server and every transaction in the database causes a dotnet process in the ram in my ubuntu server, and this does not disappear by itself. I need to clear these operations. I can clean them with crontab. When you delete this information and the cache on the server, the user is connected a bit late. But if it remains within the time specified in the crontab, it reads again from the cache and fast.

I'm also trying to track down this issue with two of our sites. It seems to happen when there is load on the site and it doesn't fix itself. We use a lot of async redis calls / http client calls via the nest client

@niemyjski It could be threadpool starvation. Have you collected a memory dump when Kestrel isn't responding?

Same problem here. Randomly stops responding and consumes 1-2% CPU.

@ilyabreev Any details?
Information that might be useful:

OS version
Whether or not your running under IIS/ANCM or behind another reverse proxy
Frequency of occurence
Amount of load the server was under when it stopped responding
A core dump taken when the server is not responding
Anything out of the ordinary that could be related.

Also, I recommend opening a new issue. Even if the behavior described in this issue is similar to what you're experiencing, this issue describes a bug that was fixed prior to the release of 2.0.0.

@halter73 yes, I have some memory dumps.

@niemyjski Can you share these? You can email me with a link at the address listed in my github profile. Thanks.

@halter73

Ubuntu 14.04.5 LTS as host system. dotnet process runs inside docker container which based on ubuntu:xenial
Running behind nginx as reverse proxy.
0-6 times in a day.
Don't know exactly. I don't think it's constantly too high. Maybe some kind of CPU spikes occured before locking.
Will try to email you link to memory dump.
Nothing special.

As this issue has been closed, do we have another new issue to track down the "dotnet process stops" problem? We're facing the same issue as the dotnet process stops unexpectedly.

@mazong1123 please feel free to file another bug to discuss the current issues.

This blog post could help  you increasing max open files and configure Nginx to close finished request connections

I solved my problem under the load ram but i still getting 502 bad gateway issue. I am looking /var/log/nginx/error.log and it show "upstream prematurely closed connection while reading response header from upstream" error.
and i googled and change my some buffer settings and looks more fine now.
        proxy_buffering off;
        proxy_buffer_size 32k;

I solved my problem under the load ram but i still getting 502 bad gateway issue. I am looking /var/log/nginx/error.log and it show "upstream prematurely closed connection while reading response header from upstream" error.
and i googled and change my some buffer settings and change the backend kestrel proxy <IP_ADDRESS>:5000 to localhost:5000 and looks more fine now.
    location / {
    proxy_pass http://backend;
    proxy_buffering on;
    proxy_buffers 256 4k;
    proxy_buffer_size 8k;
    }

........
upstream backend {
server localhost:5000
}

I guess i solved my own problem. A few days ago, i looked nginx error logs in /var/log/nginx/error.log. and saw error logs this: "upstream prematurely closed connection while reading response header from upstream". And i think about it and i looked my bad nginx config. And I changed the following config:
location / {
proxy_pass http://backend;  #throw error this line
}
location /api {
proxy_pass http://localhost:5021; #this is not throwing an error because config is ok.
}
upstream backend {
server <IP_ADDRESS>:5020; # this throwing error. because i think coming request going to 2 port. and confusing.
server <IP_ADDRESS>:19920;
}

my new config is:
location / {
proxy_pass http://localhost:5020;
}

And not using the upstream because not necessary my system.

Same problem here, randomly no response on my asp.net core project on Azure app service (IIS and ASP.NET Core Module).
Another related issue: https://github.com/aspnet/Home/issues/1950
The typical metric of requests indicators as shown below, when no response error happens, the number of threads being used in the dotnet core will jump up to 400 or 500 rapidly.

Same problem in my environment, ASP NET CORE 2.0 published to ubuntu 16.04.
Application deployed in AWS with the following instances:
instance #1 contains our API which hang from time to time
instance #2 contains our static html files, nginx which host the static files and forward the requests to API (instance #1) and other instances which serves our other microservices.
(API Process hangs every 2-4 days)
I saw that this process has 650 dead threads, is it relevant?
(lldb) sos Threads
ThreadCount:      677
UnstartedThread:  0
BackgroundThread: 25
PendingThread:    0
DeadThread:       650
Hosted Runtime:   no
Any Idea?

If you update to 2.1 do you still run into the same problem?  I am just curious if the switch from libuv to sockets inside of Kestrel fixes this issue?

I'm familiar with your post and we are using a single httpclient.

@shaykeren do use the HTTPclient to send requests periodically to an Url? if so, use cron job instead.

@mshanak @shaykeren when we experienced this issue it happened with async calls to the user identity and/or redis for cached user data. The only solution was to bounce the application.

Catch it many times last week
NET Core 2.1, new sockets transport. Application stuck up

@ZOXEXIVO Are you running on 2.1.0 or one of the patches? It's possible you could be running into dotnet/corefx#29785 if you're still on 2.1.0.

Facing same issue on Centos
dotnet --version:
2.1.302

I have used @benaadams blocking detector and saw plenty of blocking call, however i do not think that it could be the actual issue because the same apps runs on windows for days without any problem.
any idea?

Sorry to re-open this. We are experiencing this issue in our application as well, we run on CentOS in docker and behind nginx. Our app has had this issue since with 2.0 and also with 2.1. Increasing the thread pool seemed to help, but sometimes we experience kestrel hanging with very little load while for the majority of time we have long up times with high load, which makes it difficult to debug.
Has there been any update on this or any additional troubleshooting advice? We are planning to take a full core dump of kesterel/dotnet the next time this happens and look at what's happening, we suspect it's got to do with some deadlocks but we can't really see how our code would result in deadlocks, so maybe we are triggering some bug at the framework level.

@kyuz0 If increasing the number of threadpool threads helped, that's a good sign you're experiencing threadpool starvation. This could be caused by a deadlock like you suspect, but there could be other causes too like blocking I/O.
To find the exact cause, collecting a core dump is your best bet. Unfortunately, analyzing linux core dumps isn't yet quite as easy as it is on Windows, but you can find a guide here. "clrstack -all" should show all the managed stacks and what they're blocked on.

@halter73 thanks for your reply. Is there any debugging that we can enable in Kestrel to get some logs/alerts when the threadpool is full? The difficulty at the moment is that when the application reaches this state, there's simply nothing happening in the logs.
Something else I've seen in our code is that we make raw TCP connections to some endpoints like this:
using(var client = new TcpClient())
            {
                    try
                    {
                        var result = client.BeginConnect(IPAddress.Parse(externalIp), port, null, null);
                        var success = result.AsyncWaitHandle.WaitOne(TimeSpan.FromMilliseconds(TimeoutReadyCheckMilliseconds));
                        if (!success)
                        {
                            return false;
                        }

                        client.EndConnect(result);
                    }
                    catch (SocketException e)
                    {
                        return false;
                    }
            }

The using statement should ensure that the TcpClient gets disposed of in all cases, it should not matter that we don't explicitly call EndConnect() in all cases... at least this was my understanding, but maybe this is what's causing issues as the socket will not receive an explicit EndConnect in case success is false or in case of exceptions.

Blocking on the IAsyncResult returned by TcpClient.BeginConnect is a possible candidate for the cause of your threadpool starvation. To fix this, you'll want to call the newer TcpClient.ConnectAsync method and await it in an async method while being careful to avoid calls to Task.Wait(), Task.Result or anything else in your codebase that could block a thread waiting on a Task.
The BeginConnect/EndConnect method pair implement an older asynchronous API pattern called the Asynchronous Programing Model or APM. It's possible to use APM APIs without blocking, but it's much more difficult. You're almost always better off using a Task-returning API with async/await over using an APM API.
Also, did you leave some code out in the TcpClient initialization sample? The using block ends right after the call to TcpClient.EndConnect which means the connection has only just been established.
As for threadpool starvation events, you could look for the ThreadPoolWorkerThreadAdjustmentAdjustment event with "0x06 - Starvation" Reason. You can using perfcollect and perfview. That being said, if this issues causes any health checks to fail, it's probably easier to have a watchdog process collect a core dump before killing the server process when the health check fails.


Fix initial notification on tap handling

This pull request addresses an issue in the application's notification handling process. Currently, the onNotificationTapData method is not being called on the first tap of a notification but instead is only invoked from the second tap. As reported in #16.
It appears that there is a leftover userTapsOnNotificationCount variable. This variable is only incremented after the userNotificationCenter:didReceive delegate is called.
The existing comments imply that it is to handle a behavior related to launch app by a notification, but this has already been handled in application:didFinishLaunchingWithOptions delegate.

Thanks @kaiquegazola! I'll take a look and make a release asap, either today or tomorrow.

Thanks again @kaiquegazola, I really appreciate your contribution. I'll also try and automate the release process after releasing this.


Build a module?

I like to use GDExtension for a lot of game specific code. Unfortunately that means nodes created with other GDExtensions are hard to interface with.
It sounds like this project is intending to make some additional nodes and that will make it very hard for me to interface with through Rust. A solution to this problem is to make this a Module. Is this viable? Would you consider this a supportable use case?

Building as a module is not something I'm likely to support, unfortunately.
While some of the code-specific hurdles could be dealt with one way or another, building as a module would also likely mean building the extension (and all its dependencies) through SCons, which is a bit of an undertaking and not something I'm willing to commit to or maintain. Frankly, SCons is one of the reasons why this project is an extension in the first place, as Godot Jolt started its life as a module once upon a time.
With that said, this project is not likely to amass a great number of custom nodes. The only custom nodes I have planned at the moment are ones that replace the default set of joints, as well as adding some "core" ones that I feel are missing from Godot, like Jolt's FixedConstraint and its DistanceConstraint. Those two don't really add any functionality though, as they can technically be implemented using 6DOF joints. The only real difference between this custom set of joints and the default set will be some minor stuff, like support for soft limits, a better interface for springs, breakable joints and the ability to override solver iterations per-joint.
Custom nodes also put a lot of strain on the C# scripting, since it suffers from the same problem of not being aware of any nodes exposed by extensions. With C# I am hopeful that I can whip up some custom bindings somehow and distribute those as a NuGet package, but it's none the less likely to be a lot of work that I'd rather not do, so that acts as further incentive to not delve too deep into custom nodes.


[New extension] Bark

Description
Send messages to Bark via Raycast.
Get the Device Token of Bark

Search and download Bark in the App Store
Open the Bark app
Go to the Setting page and copy the Device Token

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

I've never heard of Bark. Is it this service? https://www.bark.com/

Hi @pindab0ter You can find information about Bark here https://bark.day.app

Hi @pernielsentikaer. Thanks for the review.

Bark is an iOS application, and I cannot and do not need to determine whether the user has installed it. If the user wants to use this extension, they must fill in the Device Token, which must be installed in Bark and copied from the application. Therefore, there is no need to determine whether the user has installed the Bark application on their phone.
Thank you for your revision suggestions. I have submitted a commit to update the prompt method for the Send Message command.

Please keep reviewing.

Hi @koinzhang 👋
That make sense 🔥
Does it make sense to clear the form after submitting, just asking since I'm not sure how the app work 😊

Hi @pernielsentikaer. Thanks for the review.

Added a setting item: close the window automatically, so that the user can choose whether to close the main window after sending the message.
Now after sending a message, if the main window is not automatically closed, the text box will be automatically emptied


Harbor perview server user guide

User guide on how to use harbor preview server.

New PR #5239 opened. Closing this one.


.Net Core 2.2 end of support

Based on support lifecycle - .net core 2.2 loose the support from Microsoft in December 2019
https://dotnet.microsoft.com/platform/support/policy/dotnet-core
In this guide, mentioned that functions on .net core 2.2 still in GA.
Could you please explain what does it all mean for us?
Also, it's interesting- when is a deadline for update to 3.0 to avoid any support issues with .net core 2.3 and functions runtime 2?
The same question to this guide https://docs.microsoft.com/en-us/azure/azure-functions/supported-languages
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1df5e2bd-489d-19b2-87d3-d993ebb82021
Version Independent ID: 9e9d9ded-8f40-22be-4654-48c87f2c59e8
Content: Azure Functions runtime versions overview
Content Source: articles/azure-functions/functions-versions.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@SychevIgor Thank you for your feedback! We will review and update as appropriate.

@fabiocav for any insights.
@SychevIgor It might be good to join the discussions on Azure/app-service-announcements-discussions repo.

Azure Functions will continue to service .NET Core 2.2 in the context of Functions and the hosted service. We've detailed some of that here: https://azure.microsoft.com/en-us/updates/announcing-go-live-release-for-azure-functions-v3/

Also adding @jeffhollan for awareness

Thanks @fabiocav!
@SychevIgor Since we didn't determine any changes to this documentation at this time, we will now proceed to close this thread for now. If there are further questions regarding this matter, please engage the  Azure/app-service-announcements-discussions repo.

@mike-urnun-msft please, add this link to a document https://azure.microsoft.com/en-us/updates/announcing-go-live-release-for-azure-functions-v3/ . At least I didn't find it when lloked for answer on my question