Publishes an inner instruction resolve

I have a route that simply redirects to a different module, but I wasn't receiving any published events from the router with the instruction details.
This allows me to hook in on the instruction that is being re-directed to without having to worry about why there is a conditional on the other events that get published.

 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.Watson, Russell seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.

@bryanrsmith Can I bug you to review this? I'd appreciate your feedback.

I have a route that simply redirects to a different module, but I wasn't receiving any published events from the router with the instruction

Perhaps we should instead consider a code change that would ensure an event was published for redirects, rather than always publish events for child navigations. It could either be a custom event (router:redirect:complete?), or the standard event(s) with the redirect instruction. It might be a clearer API to consume than the more technical child navigation events.
I don't object to publishing events for child instructions if that's desirable, though. If we stick with this I think the event name could use a small adjustment, since it uses some terminology that refers to implementation detail. Maybe router:navigation:innerInstruction:resolve -> router:navigation:child:complete, or router:childNavigation:complete?

@bryanrsmith What if we did both? Add a new redirect event and then also had child events? I'm usually in favor of enriching the information that the system is providing about what it's doing. Thoughts?

Sounds good to me. 👍
On Wed, Oct 5, 2016 at 11:07 PM Rob Eisenberg<EMAIL_ADDRESS>wrote:

@bryanrsmith https://github.com/bryanrsmith What if we did both? Add a
new redirect event and then also had child events? I'm usually in favor of
enriching the information that the system is providing about what it's
doing. Thoughts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aurelia/router/pull/406#issuecomment-251875095, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALZUM0ck3gf7pB0T_PW2fXvFMMSWz52ks5qxJAvgaJpZM4KCH-y
.

@Roustalski Any interest in working on this further?

I updated the event name per the suggestion, but I was unable to figure out where to place another event for router:redirect:complete. It seems that the redirect instruction simply gets canceled and then the pipeline moves on and it wasn't clear to me when the redirect event should fire.


Correct wrong book title

Correct wrong book title. The book is called Begriffsschrift.

Yup, it is! Thanks!


Support a custom SASL authentication mechanisms

Are there any plans on adding support custom SASL mechanisms?

Not really. Why would you need a custom mechanism, and does Kafka even support that?


add github contributions to user profiles

Adding github contributions to profiles to see how loyal your potential match truly is!
Adding last year or 3 months of contributions as a slide to the profile could be a good idea and can be done as github profile is already logged in

I don't think this is an impartial filter.  It groups together people who don't do anything and people whose company forbids open tools.  I agree it would be nice to know; but, #20 would provide access to this information without allowing for the app to discriminate.

I'm closing this in favor of #20, might be reopened if that's accepted.


Bring godownloader up to date

@caarlos0 @jorinvo  --Please excuse my delay, but I'm back to fix this up.   I can't find the slack group to chat, so here I am filing a ticket.  Any special new rules or processes I should be aware of ?

hey @client9, glad you're back!
so far, no, no new rules :D
the only thing we discussed some time ago is  this issue https://github.com/goreleaser/goreleaser/issues/297 (more likely, I discussed it with myself, some people asked about it on slack also if I'm not mistaken).
Anyway, that's one idea. The other related idea is this very hacky and not even close to done prototype: https://github.com/goreleaser/pipesh
It's actually tj's idea, so the user could do something like curl<EMAIL_ADDRESS>or something. I was also thinking about passing the uname -a output to rip off some script complexity... but well, this are just ideas...
what are you planning on?

Hi @caarlos0 (and team), I forgot to mention how impressive all the new work in goreleaser is. I'm also looking at your NFPM and see if I can get it sponsored.

thanks, that would be awesome! :D

get this change in. client9/shlib@4d431a8 It gets the version info from GitHub without using the API. This eliminates the need to use GITHUB_TOKEN in travis.ci. Big improvement.

this is great, I did something similar on goreleaser itself, maybe its worth the read: https://github.com/goreleaser/get/blob/master/get#L9

Then I'll take a look at the pipeline stuff... all great ideas. Thoughts and comments always welcome!

yeah, lots of ideas, not so much of time hehe
let me know if you need anything or if I can help =D

Hi @caarlos0   I found the problem with godownloader... the vendor dir was very out of date.
I see goreleaser uses dep  is that correct?  If so I'll use that

yes, goreleaser and nfpm are using dep :)
would be great if they all use the same things.

great,  I'll make it match how goreleaser and nfpm work.

oh, check #39 as well

Oh wow, looks like my env was in strange state causing build problems.
Looks like you guys have been busy.  Lots of good changes. Updated dep and fixed a false positive in one of the linters.
I did forget to link commits to ticket.  👎   I'll do better next time.  Will file tickets nows for future reference.
And look at #39
thx!
n

[ ] #41
[ ] #42
[ ] #43
[ ] #44
[ ] #45

Ok, big update.

GitHub API free method of getting tag info -- no more GITHUB_TOKEN 🎉
reworked "networking" -- curl is a real nightmare
all user output is now done by logging.   You can turn on debug logging with -d
error conditions are handled a lot better - no more ugly curl messages
fixed some bugs

# normal case
$ ./godownloader-misspell.sh
client9/misspell info checking GitHub for latest tag
client9/misspell info found version: 0.3.4 for v0.3.4/mac/64bit
client9/misspell info installed as ./bin/misspell

# error case
$ ./godownloader-misspell.sh xxx
client9/misspell info checking GitHub for tag 'xxx'
client9/misspell crit unable to find 'xxx' - use 'latest' or see https://githhub.com/client9/misspell/releases for details

# debug normal case
$ ./godownloader-misspell.sh -d
client9/misspell info checking GitHub for latest tag
client9/misspell debug http_download https://github.com/client9/misspell/releases/latest
client9/misspell info found version: 0.3.4 for v0.3.4/mac/64bit
client9/misspell debug http_download https://github.com/client9/misspell/releases/download/v0.3.4/misspell_0.3.4_mac_64bit.tar.gz
client9/misspell debug http_download https://github.com/client9/misspell/releases/download/v0.3.4/misspell_0.3.4_checksums.txt
client9/misspell info installed as ./bin/misspell

# debug error case
$ ./godownloader-misspell.sh -d xxx
client9/misspell info checking GitHub for tag 'xxx'
client9/misspell debug http_download https://github.com/client9/misspell/releases/xxx
client9/misspell debug http_download_curl received HTTP status 404
client9/misspell crit unable to find 'xxx' - use 'latest' or see https://github.com/client9/misspell/releases for details

The logging / verbosity probably needs some adjustment. I need to add more debug logging to the underlying shell code.  But it's easy to add as follows:
log_debug WHATEVER
log_err AN ERROR

I think it's getting "close to done" (ha), but your comments and feedback are welcome!  After this settles down, we can work on more interesting things like making it a pipe, and or doing multiple builds

Awesome!
I'll test it later today, thanks!

I also cleaned up the Readme.md
I think #28 is the next big thing to do.  I'm not familiar with the multi-builds

Great!

see #56   flag library needs an update to match other goreleaser products.

flag library updated to kingpin.
Only left in #56 is updating the logging to apex/log

using apex/log ... needs more work but this is done.

🎉


Container build on release

To make it easier for people to use this tool you can deploy docker images in the docker registry. It's free for open source projects.
I've done it already with a project [1]. That could be a matter of copying the code and tweaking some options for your case.
That example can be pulled by running docker pull ghcr.io/lucasew/pocket2kindle/p2k:latest.
[1] https://github.com/lucasew/pocket2kindle/blob/master/.github/workflows/docker-publish.yml

Thanks @lucasew  for the suggestion. I've just added the workflow and the image can be pulled
docker pull ghcr.io/albughdadim/satellite-sam-dashboard:latest
docker run --name=test -p 8080:8080 satellite-sam-dashboard:latest


Automatically scanning

I have used it in my own Dialog box, when I open the Dialog box the first time then it works perfectly. But when I open my Dialog after dismiss it then it scans fingerprint automatic and calls method "onAuthenticationError" called with error code "5" and the error message "Fingerprint Operation cancelled".

Hi @romilcresol, thank you for the feedback. Can you post your custom dialog box code ?


Logging SQL queries

I need to collect SQL queries for an ASP.NET app hosted as an Azure App Service. I managed to learn (it wasn't particularly easy/pleasant experience BTW) that I need to install the site extension, which now doesn't appear along all other extensions but can be installed by a dedicated button (BTW how about fixing the terminology - if it's a site extension, put it in the list with others, otherwise - don't call it an extension).
However, I don't want to do it manually for multiple app services, I want to adjust my Terraform specs accordingly instead. I couldn't find a proper way to do it programmatically.
What I noticed, however, is if I just add application settings that the Turn on site extension adds, the SQL gets logged. Now the question is - if adding certain application settings is all it takes, why not just do it by default or allow it via code, without the need to add all those settings that only seem to hold version information (why are they needed at all)?

I'm closing this ticket as out of date.
If you're still having issues, please reopen.


How to install Passcore on Ubuntu, can give me step by step

Dear,
I have been got the source code of passcore a few day ago, But I don't know how to install it on Ubuntu server.
Please help me : How do I install passcore on ubuntu, can give me the step by step.
Thanks so much,
Tho

Can you take a look at https://github.com/unosquare/passcore#docker ?

Can you take a look at https://github.com/unosquare/passcore#docker ?

Thanks , but I'm not yet know about docker :(. so I don't know how to begin?

It is really a shame and bitter to have awesome software with no information's how to install it on Linux!!!!
Can someone tell us which dll should we start? There is no passcore.dll!

I was able to install and run the last version on Ubuntu 18.04 and I will now document it.
@geoperez, where and how should it be documented?

You can add a PR editing the README file.
Thanks

PR done.

Thanks for your updated step on linux. So would you like show me how to configure it to run on apache2.
Install and configure apache2 (or nginx) as Porxy your apache vhost should look something like this (Please use SSL):
<VirtualHost *:80>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
ProxyPreserveHost On
ProxyPass / http://<IP_ADDRESS>:5000/
ProxyPassReverse / http://<IP_ADDRESS>:5000/
ServerName passcore.company.com

     ErrorLog /var/log/apache2/passcoreerror.log
     CustomLog /var/log/apache2/passcoreaccess.log combined

==> added on  **/etc/apache2/sites-available/000-default.conf**
But can not start apache2, some thing error.
Please help me,
Which file config, which file to add home directory of passcore on apache2 config.
Thanks so much !

@voducthoitc888 if you are not familiar with Linux, please use Windows installation or ask some administrator to help you.

@voducthoitc888 if you are not familiar with Linux, please use Windows installation or ask some administrator to help you.

Thanks, I have been running a web on window server 2012 but it will be shutdown about the license of Window, So I need help to build passcore again on linux.
thanks !

Please help me how to bring up the web access passcore?
the defaul home Directory on apache < /var/www/html/>
Where do I need change something to bring up web?
thanks so much !

Dear ,
I have been actived ssl on apache2, I can access with https://pwd.local ( my site).
But I can not access home directory of passcore on apache2.
still default apache2 home page, like as :

Please help me how to access the drirectory passcore from apache2.
Thanks so much !

Now , I have success to access home directory passcore, but apache2 loading,( as picture)

Just loading passcore...
please help me,

This is my passcore server on Window Server, It's running,
Affter access by web to it, it's tranfer to here. (as picture)

But on linux, It's still Loading Passcore....
Don't work on linux,

PLease help me fix it, thanks so much !

Update code on index.html on linux, not work for view.
Loading...

I Update the status of passcore.service.
thovo@ubuntu:/opt/passcore$ sudo systemctl status passcore.service
● passcore.service - PassCore
Loaded: loaded (/etc/systemd/system/passcore.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: signal) since Fri 2020-08-28 18:26:08 +07; 3s ago
Process: 60974 ExecStart=/usr/bin/dotnet /opt/passcore/Unosquare.PassCore.Web.dll (code=killed, signal=ABRT)
Main PID: 60974 (code=killed, signal=ABRT)
Aug 28 18:26:08 ubuntu systemd[1]: passcore.service: Main process exited, code=killed, status=6/ABRT
Aug 28 18:26:08 ubuntu system[1]: passcore.service: Failed with result 'signal'.
thanks,

Open the Chrome Debugger and check what call is failing.

I have check the PID but it's not exit. Please check as bellow.
**thovo@ubuntu:/opt/passcore$ sudo systemctl start passcore.service
thovo@ubuntu:/opt/passcore$ sudo systemctl status passcore.service
● passcore.service - PassCore
Loaded: loaded (/etc/systemd/system/passcore.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: signal) since Mon 2020-08-31 10:36:43 +07; 2s ago
Process: 76335 ExecStart=/usr/bin/dotnet /opt/passcore/Unosquare.PassCore.Web.dll (code=killed, signal=ABRT)
Main PID: 76335 (code=killed, signal=ABRT)
Aug 31 10:36:43 ubuntu systemd[1]: passcore.service: Main process exited, code=killed, status=6/ABRT
Aug 31 10:36:43 ubuntu systemd[1]: passcore.service: Failed with result 'signal'.
thovo@ubuntu:/opt/passcore$ kill -9 76335
-bash: kill: (76335) - No such process
thovo@ubuntu:/opt/passcore$**
Help me,
Is it start?
thanks so much,.

Dear,
Please help me check the passcore.service config file. I have been install a new clean ubuntu server. But still not work,.
thovo@passcore:/opt$ systemctl status passcore.service
● passcore.service - PassCore
Loaded: loaded (/etc/systemd/system/passcore.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: core-dump) since Tue 2020-09-01 09:49:05 UTC; 19s ago
Process: 57743 ExecStart=/usr/bin/dotnet /opt/passcore/Unosquare.PassCore.Web.dll (code=dumped, signal=ABRT)
Main PID: 57743 (code=dumped, signal=ABRT)
Sep 01 09:49:05 passcore systemd[1]: passcore.service: Main process exited, code=dumped, status=6/ABRT
Sep 01 09:49:05 passcore systemd[1]: passcore.service: Failed with result 'core-dump'.
thovo@passcore:/opt$ kill -9 57743
-bash: kill: (57743) - No such process
Please help me fix ,
Thanks so much .

@crsleeth can you help me this issue

@voducthoitc888 I never was able to get PassCore working on Ubuntu but didn't attempt more than once. I set it up successfully on Windows Server 2016.

@voducthoitc888 I never was able to get PassCore working on Ubuntu but didn't attempt more than once. I set it up successfully on Windows Server 2016.

Thanks so much, I has passcore on window server, but now, i want to install it on ubuntu, but as you know, i have many error with passcore on unbuntu.  :(

Same issue with docker.
Stuck on "Loading Passcore..."
Docker logs looks good except this:
"fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HM3R7VBDLT60", Request id "0HM3R7VBDLT60:00000005": An unhandled exception was thrown by the application."
Chrome debugger says:
Request URL: http://<passcore_server_ip>/api/password
Status Code: 500 Internal Server Error

Also, I found this in the logs:
System.InvalidOperationException: Failed to convert configuration value at 'AppSettings:LdapPort' to type 'System.Int32'.
passcore    |  ---> System.ArgumentException: '389' is not a valid value for Int32. (Parameter 'value')
passcore    |  ---> System.FormatException: Input string was not in a correct format.
What's wrong with value '389'?


[alert_generator] "mismatch in EndsAt" error question

alert_generator test suite checks the received alerts for the correctness of their properties. One of those checks is comparing if EndsAt param is within the time range between now (when alert was received by alert_generator) and now+delta, where delta is usually 4*resendDelay - see https://github.com/prometheus/compliance/blob/main/alert_generator/cases/expected_alert.go#L80-L96
However, the time when alert was received isn't always the time when alert was triggered. Since Prometheus aligns the time slots when alert should be executed, the real time and timestamp of alert execution can differ - see https://github.com/prometheus/prometheus/blob/580e852f1028ecbcaa67836f2da5230ac7c35fd0/rules/manager.go#L411-L419
Should this mean, that alert_generator should calculate EndsAt param based on alert's ActiveAt param instead of time when alert was actually received?

Should this mean, that alert_generator should calculate EndsAt param based on alert's ActiveAt param instead of time when alert was actually received?

No, because ActiveAt is when it went into pending for the first time. And the alert need not end after the fixed time. So the alert end is set w.r.t. when the alert was sent by the alert-generator. (so that if no more alert is sent due to any reasons, this end at can be used).
If you look at the checks, it accounts for some delay. Which is missing a group interval and going into the next, hence a cushion upto 30s of delay since group interval for the rules here is 30s.
How much delay are you seeing here? Are you facing any edge cases where you miss a group interval and there is like few microseconds or milliseconds of additional delay on top of that because of the way timestamp is kept track?

Thanks for explanation!


Roll Engine from 1b5e16cda29a to 507a887025af (2 revisions)

https://github.com/flutter/engine/compare/1b5e16cda29a...507a887025af
2021-01-14<EMAIL_ADDRESS>fix ax unique id flake (flutter/engine#23518)
2021-01-14<EMAIL_ADDRESS>[web] Reland: Enable the new rich paragraph implementation (flutter/engine#23659)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Gold has detected about 7 untriaged digest(s) on patchset 2.
View them at https://flutter-gold.skia.org/cl/github/73916

Gold has detected about 7 untriaged digest(s) on patchset 2.
View them at https://flutter-gold.skia.org/cl/github/73916

Commit queue failed; closing this roll.

Commit queue failed; closing this roll.


--org-id and --org behave differently from one another depending on token type

Attempting to run a command such as influx export all with an improperly-scoped token, e.g. a token with read/write access to a single bucket in a cloud2 account, gives different behavior depending on whether -o/--org or --org-id are passed.
If -o <org-name is passed, the cli returns the message Error: no org found with name <org-name>.
If --org-id <org-id> is passed, the CLI reports no error message, but the output it produces is a useless subset of the metadata one expects from influx export all.
If the token passed by the user has insufficient privileges to even discover the org name, then this lack of permissions should be presented in the same way to the user regardless of whether they have passed an org-name or an org-id. Possibly something along the lines of "your token has insufficient permissions. Please create ."
This is also partly a docs issue and is related to influxdata/docs-v2#3267.

Environment:

Mac OS
influx-cli versions:
influx version Influx CLI 2.2.1 (git: 31ac78361b) build_date: 2021-11-09T21:19:29Z
and
influx-cli % bin/darwin/influx version Influx CLI dev (git: none) build_date: 2021-12-22T18:11:22Z

Confirming what @codyshepherd says, I found the following:
Given an organization my-org with ID xyz123...

if I use a token that has the read:/orgs/xyz123 permission, then both export all -o my-org and export all --org-id xyz123 return all resources.
if I use a token that doesn't have the read:/orgs/xyz123, then export all --org-id xyz123 will return resources that the token has permission to read (as expected).
if I use a token that doesn't have the read:/orgs/xyz123, then export all -o my-org will return the error Error: no org found with name my-org.

In summary, it's maybe best to avoid using -o (unless you want an error instead of allowed resources). The behavior results in a confusing experience. I'm updating the template docs to expound on permissions and may remove use of "Organization name" for now.


Spaces group views

unwanted spaces issue

Please always fill out the correct meta information, see https://github.com/OpenSlides/OpenSlides/wiki/Guideline-for-Issues-and-Pull-Requests

Please specify in which area of the application "In the list of submitters, there is a space after the username of a submitter" takes place.


remove set-output command from odigos ci

In odigos CI, we are using the ::set-output command here.
This command is deprecated by github. We need to migrate our CI to use the new syntax.

Amazing! thanks @HeetVekariya

fixed in #719


Button Captions for Screen Readers (Accessibility)

My organization is currently rolling out this platform, and it appears to be fulfilling all of our needs accept for one small issue.
For the visually impaired mobile users (specifically ios) , there appears to be a lack of pronounceable widgets in the user interface. It has been pointed out to me that the most likely buttons without this "caption" are the buttons to send a message and the button to back out of a conversation. There are other buttons without labels, but these are obviously the important ones.
The fix for this was described to be similar to adding alt-text to images in HTML.
Would it be possible to add better usability for the visually impaired?

@jesse-troy accessibility is certainly something we're working on for the project as a whole (a lot of work is going into accessibility for the visually impaired in the webapp right now).  I don't have specific iOS expertise, but I expect folks here would be happy to collaborate on identifying buttons missing accessibility labels and adding them.  Might be best to discuss details in chat.zulip.org, perhaps starting with discussion of how you're testing which buttons are missing this feature?

Thanks @jesse-troy for raising this! I'd be glad to see someone pick this up and do it.
There was a previous PR #2753 a couple of years ago which made some good underlying changes which were merged, but then unfortunately the PR didn't get any further work after the initial review. The strategy I'd recommend is to look at what's in that PR branch and the comments on it and start from there.
Based on https://github.com/zulip/zulip-mobile/pull/2753#issuecomment-402915122 , which was the last comment I made reviewing that PR back in 2018, most of the commits in it were actually 100% good already -- they just depended on some earlier commits that needed changes, in particular the commit "a11y: Add textWithUnreadCount util function" as discussed in https://github.com/zulip/zulip-mobile/pull/2753#discussion_r200529450 . So it may not take a great deal of work for someone to get the whole thing into shape.
(I said much the same things in a chat thread the day this was filed, but neglected to copy here to GitHub so it's visible on this thread.)

Hey, I'd like to take this up.

Hey @gnprice ! Can I work on this issue?

As I can see the problem in that PR is with the textWithUnreadCount util function in https://github.com/zulip/zulip-mobile/pull/2753 and the solution is to use a <FormattedPlural/> (https://formatjs.io/docs/react-intl/components/#formattedplural) in that util.
Plus there are a lot of merge conflicts in that PR branch as the current codebase is updated quite a lot. So maybe we can start building a fresh PR taking help from that PR branch.
@Gautam-Arora24 maybe let's collaborate for this one!

@zulipbot claim

@jesse-troy Thanks again for reporting this issue!
We've just added captions for those two particularly important buttons you mentioned. There's plenty more for us to do in this area; I've just filed #4394 as a general tracking issue for the broader project of adding captions to other buttons in the app, and making other improvements for using with a screen-reader. If you, or one of your colleagues who's visually impaired, would like to add feedback there on what's most important after these first two buttons, we'd be glad to hear more!

@jesse-troy Thanks again for reporting this issue!
We've just added captions for those two particularly important buttons you mentioned. There's plenty more for us to do in this area; I've just filed #4394 as a general tracking issue for the broader project of adding captions to other buttons in the app, and making other improvements for using with a screen-reader. If you, or one of your colleagues who's visually impaired, would like to add feedback there on what's most important after these first two buttons, we'd be glad to hear more!


Better error message for optional chained properties on never, null, or undefined

Suggestion
🔍 Search Terms
optional chaining null undefined property never
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
If a value is type never, null, or undefined, accessing a property on it using optional chaining gives a type error like:
declare const missing: undefined;

missing?.member;
//       ~~~~~~
// Error: Property 'member' does not exist on type 'never'.

Note that the error message for regular property lookups on null and undefined (though not never) is already specialized:
declare const missing: undefined;

missing.member; /*
~~~~~~~ */
// Error: Object is possibly 'undefined'.

📃 Motivating Example
That error message is accurate but not precise. Users sometimes accidentally try to optional chain on properties of a value narrowed to a falsy type. Seeing something about the never type can be confusing.
A more clear, precise error message might say something like...
declare const missing: undefined;

missing?.member;
//       ~~~~~~
// Error: 'missing' is type 'undefined', which does not have any properties.

Maybe there's a standard phrasing that could apply to both traditional property accesses and optional chained one?
💻 Use Cases
We can infer from the occasional related issues -#48280, #41766- that it's not always clear why the optional chained property isn't allowed. My original context is this Playground example demonstrating accidental narrowing in the falsy case of a type predicate.
Note: I am not proposing the type checker change its core behavior in any way. This just proposed having a specialized error message for the cases of never, null, and undefined.

After reading this article, I also applied it to void and unknonw, The following code shows similar results for void and unknown.
If the article I wrote explained it correctly, I think this part will also need to be revised.
const undefinedVar: undefined = undefined;
undefinedVar?.length;

const nullVar = null;
nullVar?.length;

let voidVar: void;
voidVar?.length;

let unknownVar: unknown;
undefinedVar?.length;


github.io page file with required info

References user story #68
Need to get the github.io html/md file created and the setting turned on for the project per instructions (should be in his ppt slides when posted or the class recording)

https://cs481-ekh.github.io/s22-beima/

theme changeable at:
https://github.com/cs481-ekh/s22-beima/settings/pages

The page was updated on the site, directly on the Main branch since it doesn't impact code/functionality which will also allow anyone to update it as needed/desired

Submitted group assignment on Canvas


edited "hilsa shad"

- added Exact Synonyms: ilish, ilisha, hilsa, hilsha, hilsa herring, jatka, ellis, palla fish, ilih, ilihi, ulla meen, modar, pallo machhi, pulasa, sboor, terubok, terubok umno
- edited definition
- added image

Has problem of rdf:nodeid

has problem of nodeid.  Could try resaving "foodon-edit.owl" as "rdf/xml syntax"


Support integration with Sentinel

Hi, I'd like to propose to add Sentinel integration module (spring-cloud-circuitbreaker-sentinel) to spring-cloud-circuitbreaker. This includes two parts:

non-reactive part: The non-reactive CircuitBreaker adapter of Sentinel has been finished. Sentinel has provided an API SphU.entry(id) and when it throws BlockException, the request is rejected, so I just wrapped the function and fallback with that API. Once I've finished the testing today, a PR will be submitted.
reactive part: As for the ReactiveCircuitBreaker, currently we're working on the reactive support of Sentinel (will be released in Sentinel 1.5.0 as an adapter module sentinel-reactor-adapter). The implementation will resemble this:

public class ReactiveSentinelCircuitBreaker implements ReactiveCircuitBreaker {

    private final String resourceName;

    public ReactiveSentinelCircuitBreaker(String resourceName) {
        this.resourceName = resourceName;
    }

    @Override
    public <T> Mono<T> run(Mono<T> toRun, Function<Throwable, Mono<T>> fallback) {
        return toRun.onErrorResume(fallback)
            .transform(new SentinelReactorTransformer<>(resourceName));
    }
}

Once the Sentinel Reactor module is released, we can implement the SentinelReactiveCircuitBreaker and test it. The reactive part is expected to be ready in mid-March.
The implementation will follow the interfaces listed in common module (CircuitBreaker, CircuitBreakerFactory and ConfigBuilder).
Would you like to provide some suggestions? :)

And one more question: I've seen that both Resilience4JConfigBuilder and HystrixConfigBuilder accepts a circuit breaker config because that config is bound with a certain circuit breaker instance of a certain id. But in Sentinel, the circuit breaker and the config (rules) are separate. That is: we can first wrap the circuit breaker with the original function, with no circuit breaking rules initially. When there are no rules, the circuit breaker only records real-time metrics and no circuit breaking will occur. Users can configure and update circuit breaking rules for resources (id) at any time via global APIs (e.g. DegradeRuleManager.loadRules(rules)) or via the Sentinel dashboard page.
Thus, there are two kinds of design. The first design (homogeneous with spring-cloud-circuitbreaker):
public class SentinelCircuitBreakerConfiguration {
    private String id;
    private List<DegradeRule> rules; // configure the circuit breaker here directly
}

The second design (the original design of Sentinel):
public class SentinelCircuitBreakerConfiguration {
    private String id;
    // no config here, only resourceName.
}

// Users configure the rules elsewhere like this:
// Also works for rate limiting, adaptive system protection, etc.
DegradeRuleManager.loadRules(rules);
// In production, we recommend to configure circuit breaking rules via Sentinel dashboard page
// so users even don't need to manually load rules in code

So should we follow the first design (homogeneous with spring-cloud-circuitbreaker) or the second design?

@sczyh30 I am in the process of adding another circuit breaker configuration option that allows the application to configure the circuit breaker upon creation.  See https://github.com/spring-cloud-incubator/spring-cloud-circuitbreaker/pull/11

@sczyh30 I am in the process of adding another circuit breaker configuration option that allows the application to configure the circuit breaker upon creation. See #11

Nice. I've implemented an initial version of non-reactive Sentinel circuit breaker and submitted a PR: #13. Please review when you're free :)


refactor(users): Changes for Home and Signout APIs for TOTP Redis flows

Type of Change

[ ] Bugfix
[ ] New feature
[ ] Enhancement
[x] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

After this PR, Home API will send the details about the user's 2FA, specifically weather user has completed 2FA setup and number of recovery codes left for him.
Additional Changes

[x] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

Closes #4848
How did you test it?

curl --location 'http://localhost:8080/user' \
--header 'Authorization: Bearer Login Token'

{
    "merchant_id": "company_name",
    "name": "name",
    "email": "email",
    "verification_days_left": null,
    "role_id": "org_admin",
    "org_id": "org_lbZlm2cx4j2LgVo7bUwq",
    "is_two_factor_auth_setup": true,
    "recovery_codes_left": 8
}

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible

Add test case for signout changes as well


Log PoC data

e.g. log module name for proof of concept, and run it end-to-end to generate module usage analytics

Looking...

Is it ok?
https://github.com/swapagarwal/JARVIS-on-Messenger/pull/321

@swapagarwal same here


Handling restart

With bbolt persistance, we can reboot batch-scheduler without stopping any containers, and even upgrade the service.

[ ] id of main service is persisted
[ ] set Task status as Docker say (status + return code)

Add id leader container in bbolt storage
Add Load func to Scheduler

Get all tasks from bbolt
Check container id state for each tasks
Return code of leader container is used to decided what to do

Add id leader container in bbolt storage
Add Load func to Scheduler

Get all tasks from bbolt
Check container id state for each tasks
Return code of leader container is used to decided what to do

Closed by #22


[nl] fix small window size css

fix nl interface layout on small window sizes (width < 992px). The problem was that nl interface css depends on the styling for the containing divs from here: https://github.com/datacommonsorg/website/blob/master/static/css/tools/base_tools.scss#L50-L66, but this styling is only applied when page size is lg which is when min-width = 992px
autopush:

with the change:

btw, is there another bug on your localhost from the ranking table (with very many significant digits)

btw, is there another bug on your localhost from the ranking table (with very many significant digits)

ah yes, for some reason the string_utils.ts file wasn't updated on my localhost


Control flow protection issue

Hello,
Before protection, the file shows OK in the console.
After protection, it gets stuck in an infinite loop and doesn't show OK.
I am using the latest release.
test.zip

I think it's better to add the minimum sample of source code that depicts such a problem instead of exe.

The test file is okay. I'm able to reproduce the issue and I got a fairly good idea what the problem is.

@ElektroKill: I found and fixed the issue.
You can find the fixed build here.


Properly cache types for shared control flow nodes

Fixes #41124.
Simplified version of #41408. Thanks to @JoostK for diagnosing and proposing a fix.

@typescript-bot test this
@typescript-bot user test this
@typescript-bot perf test this

@ahejlsberg Thanks for taking a look at this, it's highly appreciated.
The changes in #41408 were deliberately caching up to two shared flow nodes, i.e. the one closest to and furthest from the root. In theory I think there can be arbitrarily many shared candidates that are visited in the getFlowTypeOfReference but keeping track of all these would not be worth it. I figured it couldn't hurt to cache at most two candidates as that doesn't require any allocations, whereas the simplification here caches up to one node (the one furthest from the root). I have seen the case where two nodes are cached being hit in the testsuite, but it may be that it's not widespread enough to warrant the extra branching (I didn't gather statistics here).
tldr; I think the simplification is fine, just wanted to share the reasoning behind the changes in #41408.

@JoostK With the simplification we'll cache in the last shared node visited, which is shared node that is closest to the "top" of the control flow graph. That should get us the most sharing possible. It may take a few extra loop iterations to hit the cache, but those iterations are cheap--the costly stuff all happens in the recursive calls. Either way, the key insight here is that we sometimes didn't cache at all, and I appreciate you discovering that.
It's interesting to see that the fix has little or no effect on our performance suites. I guess the pattern that leads to the exponential slowdown is rare. But then again, if it was more common we'd probably have run into it already.

@ahejlsberg Thanks for the additional explanation. I would kindly request if this could be backported to 4.1, as the 4.2 release is still 3 months out.

This looks like a pretty safe backport. @DanielRosenwasser @ahejlsberg thoughts?

@RyanCavanaugh Yes, this is a very safe fix and I agree we should backport.


Augment FieldProject and FieldEvaluate to accept a std::vector of ParticleGroups

Having a std::vector<ParticleGroup> on e.g. ChargedParticles allows for the representation of different charged particle species, for example, that have the same ParticleDats but differ in their values e.g. charge, mass etc. Otherwise, they are similar enough to undergo the same operations in the same kernels etc.
Let's plan out the change of FieldProject  and FieldEvaluate to accept a std::vector of like ParticleGroups to allow e.g. all electrons and ions in separate groups to depost their charge.

For both project and evaluate I think it's best to add another constructor that accepts a std::vector of particlegroups, not just a single particlegroup. Under the hood a single particle group is put into a vector of 1 element.
FieldEvaluate is the more straightforward of the two as one just needs to iterate over the std::vector?
FieldProject must ensure that the mesh, ref_position_dat and nrow_max is the same for all species (which should be the case for the use case). More to come...


Hangs at 91% on an "additional asset processing" step

Note: for support questions, please use one of these channels: Chat: AngularClass.slack or Twitter: @AngularClass

I'm submitting a ...
[] bug report
[X] feature request
[X] question about the decisions made in the repository

Do you want to request a feature or report a bug?
This is an issue I believe with fairly larger projects. For ours it hangs awhile with the new Angular 5 setup.

Related is the issue:
https://github.com/webpack/webpack/issues/4558
It seems like some recent comments suggets that the UglifyJSplugin is the main problem?
Can that be removed? Or an alternative to it?
Any ideas?

What is the current behavior?
Takes a really long time to do a production build.
Dev builds are fine.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via
https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).

What is the expected behavior?
additional asset processing step should not take a long time

What is the motivation / use case for changing the behavior?
Faster build

Please tell us about your environment:

Angular version: 2.0.0-beta.X
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

I've encountered this issue also, as my countermeasure. I'd removed the "sourceMap: true" in UglifyJsPlugin and it works successfully.

@arrian0511 thanks I'll give that a try.

Even the dev environment takes a little bit sometimes and hands at like 90% when save changes etc... any one have ideas?

After investigating this issue, I've found out that the culprit why during AOT build is eating a lot of memory is because of this "ModuleConcatenationPlugin", try removing that one, and rebuild. hope this helps.
See this issue: https://github.com/webpack/webpack/issues/5992

There are various reports of this on the webpack issues board. I've been hit by it too in a fairly large angular project.
It's related to compress: true, or more specifically to unused code optimization, in the UglifyJS plugin options.
Does anyone have a smaller repro that they could share with the UglifyJS team? See:
https://github.com/mishoo/UglifyJS2/issues/2609

Any ideas?
What is the current behavior?
Takes a really long time to do a production build.
Dev builds are fine.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via
https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).

What is the expected behavior?
additional asset processing step should not take a long time

What is the motivation / use case for changing the behavior?
Faster build

Please tell us about your environment:

Angular version: 2.0.0-beta.X
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Below settings helped me to reduce the heap memory since it will not include the sourceMap file.
devtool: false, // Webpack.

new webpack.optimize.UglifyJsPlugin({
   sourceMap: shouldUseSourceMap
}),

or below code will help for latest webpack uglify plugin.
> npm install uglifyjs-webpack-plugin --save-dev

// conf.js
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
  optimization: {
    minimizer: [
      new UglifyJsPlugin({
        sourceMap: true,
      }),
    ],
  },
};

If this still not help to fix the problem. below command helps to increase heap memory and answer link to know more about heap memory is below as well.
node --max-old-space-size=16000 scripts/build.js

https://stackoverflow.com/a/57480923/1533666


Yolov5 not using the gpu

My actions before raising this issue

[X] Read/searched the docs
[X] Searched past issues

Hi,
I'm trying to use my GPU with my custom Yolov5 model. Using the CPU is working well, but using deploy_gpu.sh puts out an "error"
ERROR: No supported GPU(s) detected to run this container
NOTE: The SHMEM allocation limit is set to the default of 64MB.  This may be
insufficient for PyTorch.  NVIDIA recommends the use of the following flags:
docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 ...
nvidia-smi is working if I use "docker exec -it nuclio-nuclio-ultralytics-yolov5 nvidia-smi"
Expected Behaviour
Using the gpu for annotation
Current Behaviour
Its using the cpu
Possible Solution
My guess is, that something of the above mentioned in the error is missing for the docker container
Steps to Reproduce (for bugs)
start the deploy_gpu.sh for the yolov5 example

Seems to be an issue in my setup. Some other task blocked my GPU and it ended in an error. Restarting helped, no idea why this happens though.

did you solve the problem? are there any update for entry?

what did you to change while setuping to solve the error?


#184581176 Sign with Google

What does this PR do?

Add Sign In with Google functionality

Description of Task to be completed?

Add functionality so that a user can use his/her Google account to Login
Users should click to link and be redirected to Google sign In page
After users confirm their identity with Google they are redirected to this app

How should this be manually tested?

clone this repo git clone https://github.com/atlp-rwanda/e-comm-team-amigos-bn
switch your working directory cd e-comm-team-amigos-bn
create an .env and update it with .env-example
install all dependencies by running npm install
in your terminal run npm run dev

Test the endpoints using browser:

Go to Auth with Google

Any background context you want to provide?

Story ID: #184581176

Screenshots

Finally, can you please add relevant screenshots of your task implemented and the test coverage?

Done


A must features to be included in harvester

Following features to be included in harvester.

Some sort of sandboxing / snapshot feature
Creating template / Golden image for vdi implementation
Ability to add external storage - NFS / iSCSI /Ceph
Two factor authentication
Ability to define intended life of the VM    [ Ex. User can use 30 hours max in a week  starting from dd-mm-yyyy to dd-mm-yyyy
Group of vm to star with boot priority [ Ex.  A database vm / a middleware vm / webserver  to start in one go and order of booting vm to preserve.
Export / Import  of vm to / from other formats - vmdk - hyperv  format

Aren't some of these kind of out-of-scope? The VM usage one for example seems silly to be a Harvester feature, since I don't see it fitting into the vision. And what do you mean by sandboxing? Snapshot makes sense though.
Some sound reasonable, two-factor for example, but think that would probably become a Rancher feature and not Harcester specififc (since that's where multi-tenancy is done). And boot-order is also a good idea and seen in other hypervisors like VMWare.
Just my own two cent.

Hello @rebeccazzzz and @mithubindia,
I have been following harvester and it looks really promising.
Storage
There is one thing that prevents me to do PoC (and future implementation) at my company and is the hard requirement in longhorn. I have never used it and probably is really good, but we would prefer to use rook-ceph, ceph or other storage backend that we are familiar with.
Other projects allow to use csi driver to communicate with storage backend but in harvester this is a current limitation.
I have seen ticket #888 that has been moved to in-progress.
I think allowing other csi drivers could solve points 1, 2 and 3 from @mithubindia comment, which are good match for this project.
"disposable" vms
I am also interested in point 5. In my org, there are many times we want to test some tech, then we spin-up vms and we forget to delete, leaving them using/wasting resources. Then, this feature would solve this.
We can create vms with, for example 2 weeks lifetime and after that the vm is deleted.
I think project gardener has similar implementation

Hi @mithubindia
Thanks for trying Harvester. If you can, please check existing issues first or file separate issues for each feature request. Thanks in advance.

Following features to be included in harvester.

Some sort of sandboxing / snapshot feature

WIP in https://github.com/harvester/harvester/issues/553

Creating template / Golden image for vdi implementation

WIP in https://github.com/harvester/harvester/issues/571

Ability to add external storage - NFS / iSCSI /Ceph

No plan to support. Harvester is positioning as a HCI solution

Two factor authentication

Authentication is currently not in the scope of Harvester. Centralized mgmt will be done via Rancher.

Ability to define intended life of the VM    [ Ex. User can use 30 hours max in a week  starting from dd-mm-yyyy to dd-mm-yyyy

It won't be a priority for a while, but feel free to file a feature request for it.

Group of vm to star with boot priority [ Ex.  A database vm / a middleware vm / webserver  to start in one go and order of booting vm to preserve.

Might be possible via a UI enhancement. Feel free to file a feature request for it.

Export / Import  of vm to / from other formats - vmdk - hyperv  format

Not sure how necessary it is since other hypervisors also accept qcow2/img file. But feel free to file a feature request for it.

in regards to 7. Export / Import of vm to / from other formats - vmdk - hyperv format
Harvester currently supports VM import by leveraging the https://docs.harvesterhci.io/v1.1/advanced/vmimport, export only supports raw format images.

I am trying to import VM but seems I stuck at the SSL issue describe here
https://slack-archive.rancher.com/t/9672976/i-m-trying-to-get-vm-import-for-vmware-working-following-the
is there anyway to ignore the SSL cert in the CRD?


add vllm in LLM module

Change Summary

Related issue number

Checklist

[ ] The pull request title is a good summary of the changes - it will be used in the changelog
[ ] Unit tests for the changes exist
[ ] Run pre-commit install and pre-commit run --all-files before git commit, and passed lint check.
[ ] Some cases need DASHSCOPE_TOKEN_API to pass the Unit Tests, I have at least pass the Unit tests on local
[ ] Documentation reflects the changes where applicable
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

The vllm package is required to pass the unit tests, but there is a question whether it should be put in the requirements.txt of the whole project as it's only needed for vllm users.

The vllm package is required to pass the unit tests, but there is a question whether it should be put in the requirements.txt of the whole project as it's only needed for vllm users.

this applies to all requirements that is not core to the project, such as those listed in previous comments. for those requirements, we should be able to setup an environment that include all the requirments, but the depenedency should be setup to be runtime/on-demand dependency.

this

The vllm package is required to pass the unit tests, but there is a question whether it should be put in the requirements.txt of the whole project as it's only needed for vllm users.

this applies to all requirements that is not core to the project, such as those listed in previous comments. for those requirements, we should be able to setup an environment that include all the requirments, but the depenedency should be setup to be runtime/on-demand dependency.

we do not necessarily need to resolve this in this pr, but at the very least we should open an issue, and plan to sort things out. cc @wenmengzhou @zzhangpurdue

this

The vllm package is required to pass the unit tests, but there is a question whether it should be put in the requirements.txt of the whole project as it's only needed for vllm users.

this applies to all requirements that is not core to the project, such as those listed in previous comments. for those requirements, we should be able to setup an environment that include all the requirments, but the depenedency should be setup to be runtime/on-demand dependency.

we do not necessarily need to resolve this in this pr, but at the very least we should open an issue, and plan to sort things out. cc @wenmengzhou @zzhangpurdue

already opened an issue for this problem [framework] Refactor Non-Core Requirements to Runtime/On-Demand Dependencies


Metrics API when using DDP and multi-GPU freezes on compute() at end of validation phase

🐛 Bug
Implemented AUC metric class to calculate train/valid AUC per epoch, but my progress bar freezes at end of first epoch with GPUs at 100%. It works with 1 GPU, but not more. I basically copied the source code from metric ExplainedVariance
but it doesn't work in DDP with multi-gpus for me. The bug happens after the return in compute() because print statements in compute() successfully print the preds and targets variables.
I'm training ResNet101 on 2700 3D images stored as .npy files.
import torch
from pytorch_lightning.metrics import Metric
from pytorch_lightning.metrics.functional.classification import multiclass_auroc

class AUC(Metric):
    def __init__(self, dist_sync_on_step=False):
        super().__init__(compute_on_step=False, dist_sync_on_step=dist_sync_on_step)

        self.add_state("preds", default=[], dist_reduce_fx=None)
        self.add_state("targets", default=[], dist_reduce_fx=None)

    def update(self, preds: torch.Tensor, targets: torch.Tensor):
        self.preds.append(preds)
        self.targets.append(targets)

    def compute(self):
        preds = torch.cat(self.preds)
        targets = torch.cat(self.targets)
        return multiclass_auroc(preds, targets)

PyTorch Version (e.g., 1.0): 1.7.1+cu101
OS (e.g., Linux): Linux
How you installed PyTorch (conda, pip, source): pip
Build command you used (if compiling from source):
Python version: 3.7.6
CUDA/cuDNN version: 10.1
GPU models and configuration: 4 V100 on google cloud VM
Any other relevant information: 32 cores, 128GB mem
Pytorch Lightning Version: 1.1.8

Additional context

Hi, I am experiencing the same problem. My model breaks at epoch 5. It freezes and I cannot interrupt.  This only happens when DDP with multiple GPUs; single GPU works fine.

I fixed it by pip install pytorch-lightning==1.1.1. I think it must be sth to do with the current 1.1.18 version.

Oh wow, okay, thanks! Will try.

@SkafteNicki Any idea why?

So the only major change we have done since v1.1.1 (that should influence this) is removing the default reset that normally happens after compute is called: https://github.com/PyTorchLightning/pytorch-lightning/pull/5409. I am not sure right now how that would lead to a deadlock in ddp.
Could one of you provide me a full script so I can reproduce the error (simple model on some dummy data)?

I rolled back last night to v1.1.1 and it ran for 20 epochs fast before freezing in middle of train epoch 21. I figured out that it's definitely happening because of the multiclass_auroc call in v1.1.8. Whenever I comment that out and only track loss, it runs smooth and fast.

So the only major change we have done since v1.1.1 (that should influence this) is removing the default reset that normally happens after compute is called: #5409. I am not sure right now how that would lead to a deadlock in ddp.
Could one of you provide me a full script so I can reproduce the error (simple model on some dummy data)?

I'll try

One other thing I noticed, when I put breakpoint() in my code and run, it works and I can step through, but without pdb it freezes...

@angadkalra just to be clear:

are you experiencing problems with both 1.1.1 and 1.1.8?
is it only multiclass_auroc or also other metrics?

@angadkalra just to be clear:

are you experiencing problems with both 1.1.1 and 1.1.8?
is it only multiclass_auroc or also other metrics?

Experiencing problems in both, but A LOT less in 1.1.1. Things actually run for the entire epochs and at a good speed. In 1.1.8, it never did more than a few epochs before freezing/hanging.
I tried only multiclass_auroc and auroc and it caused problems.

Hey @angadkalra @SkafteNicki,
Any update on this one ?
Best,
T.C

I used accuracy from pytorch. I will publish my source code soon.

link to my code. Dead lock if using the latest pytorch lightning ddp on RTX3090 x 2. Rolled back to v1.1.1, everything works fine. I used from pytorch_lightning.metrics.functional import accuracy in my code. I am not sure if my implementation is 100% correct; I am also new to pytorch lightning, mainly using this for ddp and batch norm sync.

Hey @angadkalra @SkafteNicki,
Any update on this one ?
Best,
T.C

Currently, Metric API does not work for me in v1.1.1 or v1.1.8 when using multi-gpu. Using 1 gpu works fine.

@angadkalra mind check the latest 1.2.0

@angadkalra mind check the latest 1.2.0

@Borda I upgraded from v1.1.1 to v1.2.0, didn't change any of my code, tried running in same working state as 1.1.1, and I keep getting CUDA out of memory error. I'm using batch size of 2 per gpu (4 gpus). I downgraded back to 1.1.1 and it works perfectly. Any idea?

@SkafteNicki @justusschock mind have look?

@carmocca Any thoughts on comment above?

Currently, Metric API does not work for me in v1.1.1 or v1.1.8 when using multi-gpu

I downgraded back to 1.1.1 and it works perfectly

Does it work or not with 1.1.1?
Is your issue and @kagglesintracking's the same? Does @kagglesintracking's snippet (https://github.com/kagglesintracking/kaggle-Cassava-Leaf-Disease-Classification/blob/main/src/main.py) also reproduce your issue?
To maximize your chances of us solving this as soon as possible, a fully working reproduction snippet would be awesome. Ideally using the BoringModel. The data can be random.
You can use this link as a template (https://colab.research.google.com/drive/1HvWVVTK8j2Nj52qU4Q4YCyzOm0_aLQF3?usp=sharing). Logically, you will not be able to reproduce the bug in colab as they don't provide multiple GPUs. But you can check it reproduces locally and share with us the updated colab snippet so we can try it locally too.

@carmocca Metrics API does not work with v1.1.1 or v1.1.8, but returning tensors in dict during step function works. When I upgraded to v1.2, nothing works, not even returning tensors in dict. I didn't change any code and it gives OOM in v1.2. When I downgrade to v1.1.8, it runs.

@angadkalra can you add a reproducible example?

@angadkalra can you add a reproducible example?

This is my code that I'm running locally:

@angadkalra I tried both running your colab notebook with v1.2 and that seems to work fine for me.
Also copied the code to a local script and ran in multi-gpu setting. It also completed using v1.2.
Am I missing something?
Does it only happen after some number of epochs or?

@SkafteNicki I think we're good! I got AUROC metric working locally on multiple GPUs, but seems like v1.2 uses more GPU memory. I had to reduce my data image size. Any idea?

@angadkalra from your notebook it seems you are using 16-precision for training right?
I know there was a problem with it not working as it should, but should have been fixed by PR https://github.com/PyTorchLightning/pytorch-lightning/pull/6080 which is included in v1.2.1 (released some hours ago). Could you try upgrading one more time to see if this fix your last problem.

@angadkalra from your notebook it seems you are using 16-precision for training right?
I know there was a problem with it not working as it should, but should have been fixed by PR #6080 which is included in v1.2.1 (released some hours ago). Could you try upgrading one more time to see if this fix your last problem.

Yup you're right, fixed! Thanks so much everyone!

Hi guys, I'd like to re-raise the issue if possible. I have the same problem with the same setting as @kagglesintracking: Dead lock if using the latest pytorch lightning ddp on RTX3090 x 2
I'm using pytorch-lightning==1.3.2 and torchmetrics==0.5.0

I am also facing the same issue with pytorch-lightning 1.3.8 and torchmetrics 0.4.0. GPUs are stuck with 100% util.

Try the latest versions and if the problem persists, open a new issue

I made it work with pytorch-lightning 1.4+ and torchmetrics 0.5+

I'm having this exact same issue with pytorch-lightning 2.4.0 and torchmetrics 1.4.1

Also having this issue with lightning 2.2.1 and torchmetrics 1.3.1.


Socket is always null

I am broadcasting the event on a channel in laravel 5.4 (tried both public and private chaanels).
My log shows the following:
[2017-08-22 19:20:56] local.INFO: Broadcasting [App\Events\UserSubscribed] on channels [App.User.1] with payload:
{
    "user": {
        "id": 1,
        "name": "Junaid ahmad",
        "email"<EMAIL_ADDRESS>        "created_at": "2017-08-21 18:45:11",
        "updated_at": "2017-08-21 18:45:11"
    },
    "socket": null
}

I want to confirm is its okay that socket is always null. Also nothing is showing on client side while laravel echo server is working fine.
[12:20:53 AM] - f8lYwPP3r412D4SPAAAD joined channel: App.User.1
Here is client side code:
 window.Echo.channel('App.User.1')
               .listen('.UserSubscribed', (e) => {
           console.log('Got event...');
       console.log(e);
       });

And here is the code which I included in bootstrap.js :
import Echo from "laravel-echo"
if (typeof io !== 'undefined') {
    window.Echo = new Echo({
        broadcaster: 'socket.io',
        host: window.location.hostname + ':6001'
    });
}

Environment details are as follows:
BROADCAST_DRIVER: log
QUEUE_DRIVER=sync
Running on localhost:8000
node -v
v6.10.2
npm -v
3.10.10

Try using the redis BRAODCAST_DRIVER as opposed to the log driver
https://github.com/laravel/framework/blob/91765f5a35a6410d6315042638721242ed0e9c5f/src/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.php#L92-L96


Backfill poloniex.* no responding

Hello,
I can't backfill any pair from poloniex from zenbot.
When i try to open poloniex's public api from browser, i meet google's image captcha, so i think zenbot can't crawl data because this captcha.
Is there any work-around way to backfill data from Poloniex? if yes, can you pls tell me.

edit by @DeviaVir:
@pushkarnagle + @ivanmladek + @dmzpkts experience the same problem.
For more people experiencing this problem, please use the emoji reacts.

Same error. Can download any pair.

Same error.

Also have this error.

@phongtt3 Confirmed that this bug is replicatable:
docker run --rm --link zenbot_mongodb_1:mongodb -it zenbot_server ./zenbot.sh backfill poloniex.LTC-BTC --days 90

skipping 184 hrs of previously collected data

poloniex.LTC-BTC saved 200 trades 83 days left
.
error: getTrades() returned duplicate results
{ product_id: 'LTC-BTC', to:<PHONE_NUMBER> }
{ product_id: 'LTC-BTC', to:<PHONE_NUMBER> }

Any thing can be done to make this succeed?

Replicable.
`sudo docker run --rm --link zenbot_mongodb_1:mongodb -it zenbot_server ./zenbot.sh backfill poloniex.GAME-BTC --days 100
poloniex.GAME-BTC saved 200 trades 100 days left
............
poloniex.GAME-BTC saved 14636 trades 99 days left
...........
poloniex.GAME-BTC saved 3036 trades 98 days left
...........
poloniex.GAME-BTC saved 6478 trades 97 days left
...........
poloniex.GAME-BTC saved 3938 trades 96 days left
...........
poloniex.GAME-BTC saved 2536 trades 95 days left
...........
poloniex.GAME-BTC saved 2596 trades 94 days left
...........
poloniex.GAME-BTC saved 3127 trades 93 days left
...........
error: getTrades() returned duplicate results
{ product_id: 'GAME-BTC', to:<PHONE_NUMBER> }
{ product_id: 'GAME-BTC', to:<PHONE_NUMBER> }`

Same problem. Replicable.
./zenbot.sh backfill poloniex.dash-btc --days 36
poloniex.DASH-BTC saved 200 trades 6 days left
.
error: getTrades() returned duplicate results
{ product_id: 'DASH-BTC', to:<PHONE_NUMBER> }
{ product_id: 'DASH-BTC', to:<PHONE_NUMBER> }

Same here:
./zenbot.sh backfill poloniex.LTC-XMR  --days 200

skipping 904 hrs of previously collected data

poloniex.LTC-XMR saved 200 trades 162 days left
.
error: getTrades() returned duplicate results
{ product_id: 'LTC-XMR', to:<PHONE_NUMBER> }
{ product_id: 'LTC-XMR', to:<PHONE_NUMBER> }

I got the same error with "bittrex.BTC-ETH" and "BTC-XMR" here.
fetching pre-roll data:
please note: do not be alarmed if you see an error "returned duplicate results"
please note: the bittrex api does not support backfilling (trade/paper only).
please note: make sure to set the --period=1m to make sure data for trade/paper is fetched.
bittrex.BTC-XMR saved 200 trades 1 days left
error: getTrades() returned duplicate results
{ product_id: 'BTC-XMR', from:<PHONE_NUMBER> }
{ product_id: 'BTC-XMR', from:<PHONE_NUMBER> }
Anyone solved it?

Normal trading with the bot on bittrex seems to give me this errors. I do have several bots instances trading wonder does this have anything to do with it.

Same here:
`docker run --link zenbot_mongodb_1:mongodb -it zenbot_server ./zenbot.sh backfill poloniex.BTC-USDT --days 365
skipping 1195 hrs of previously collected data
poloniex.BTC-USDT saved 200 trades 316 days left
.
error: getTrades() returned duplicate results
{ product_id: 'BTC-USDT', to:<PHONE_NUMBER> }
{ product_id: 'BTC-USDT', to:<PHONE_NUMBER> }`

I'd kindly like to ask the people that are experiencing this issue, to see if this PR solves it:
https://github.com/carlos8f/zenbot/pull/580
If it does or doesn't, please comment on the PR.

This is caused by exchange downtime:
On this example we can see that Poliniex was down for almost 3 hours:
{"globalTradeID":202975702,"tradeID":6692889,"date":"2017-08-02 21:27:53","type":"buy","rate":"2713.04276222","amount":"0.00071579","total":"1.94196887"},{"globalTradeID":202975565,"tradeID":6692888,"date":"2017-08-02 18:51:29","type":"sell","rate":"2706.00100000","amount":"0.08807832","total":"238.34002199"},
But getTrades attempts to fetch data in 2 hour windows:
https://github.com/carlos8f/zenbot/blob/master/extensions/exchanges/poloniex/exchange.js#L66
and stucks if the time difference between trades is longer than 2 hours.
So far I was able to avoid this problem by increasing this time window from 2 to 12 hours like shown in above PR.
This won't fix the problem if Poloniex goes down for longer that 12 hours so probably it would be good to rewrite the way how it fetches the data to handle these edge cases.
But in the mean time this PR solved the problem with all currency pairs I've tested.

12hrs of downtime is insane, I think 2hrs is already cutting it. Merged your PR. I'll assume this ticket to be fixed, so will close. Feel free to comment or open a new ticket if the problem still occurs.


3.23.1-PTU -> 3.23.1-LIVE

French Failed

yeah, as always.. 🫠
I will continue to submit issues to the translation teams


Binning model update records

↪ Pull Request
Fix #113

💻 Examples

✔ PR Todo

[x] Added/updated testing for this change
[x] Included links to related issues/PRs
[x] Update relevant docs + docstrings
[x] Update the CHANGELOG under the current -dev version:

Add changelog entries under any that apply: BREAKING CHANGES, NEW FEATURES, BUG FIXES.


No error message on failed plugin update in 1.5.1

VSCode Version: 1.5.1
OS Version: OS X 10.11.6

Steps to Reproduce:

Install ESLint plugin https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint (1.0.8 specified as latest version).
Note ESLint version at 1.0.7 and there's an update badge and update button for ESLint.
Update ESLint plugin and restart.
Version of ESLint plugin still at 1.0.7

I would expect VSCode to show a message specifying the min version the plugin supports or at least an error/warning message that the update failed.
After updating to 1.6.1 the plugin updates correctly.

I think that showing available updates for extensions with an unsupported vscode version might have been fixed for 1.6 but I can't find the bug. Joao?

#11573


SHA-1 should be replaced by a safer alternative

Google has just announced the first SHA-1 collision. Google suggests moving to safer alternatives such as SHA-256.
https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html?m=1

Or for security reason using pgp signed commits

Which area of application in Gitblit are you thinking of here?

@fzs That was my question, exactly.  👍

https://github.com/gitblit/gitblit/blob/master/src/main/java/com/gitblit/auth/HtpasswdAuthProvider.java
And all the places that StringUtils.getSHA1(...) is called.

The HtpasswdAuthProvider uses the Apache htpasswd file, so it uses what is compatible with that.

htpasswd encrypts passwords using either bcrypt, a version of MD5 modified for Apache, SHA1, or the system's crypt() routine.

Since SHA-1 is supported, that is what it uses. If you want a safer alternative you'll need to rely on your system's crypt routine to provide SHA-512 and somehow make it work. Support for bcrypt is missing, but I would wait to add that until someone is really using it with their Apache server.
As for the rest, SHA-1 is still a valid hash algorithm, just not a cryptographically strong one anymore. So I don't think any uses of StringUtils.getSHA1 need to be replaced that use it for a simple hash. Which would leave the ones where it is used for a secret or something deserving protection.


Add complete error path in log

Fixes #65

Hi @AKARSHITJOSHI , thanks for submitting a PR! I tried out your changes locally and have a couple of comments:

Although this change does indeed add the filename to each log line, it's not that helpful since in most cases the top level caller (likely the router) is logging the errors. So most of the log statements output router.go. For example:

3:26PM INF ../../pkg/service/router.go:133 > ACCESS clientIp=[ duration=0.539666 method=PUT protocol=HTTP/1.1 requestId=cgrj082401g2lho1246g size=119 statusCode=200 uri=/v1/users/0943a997-6609-4d09-9966-894b229b55de userAgent=Go-http-client/1.1
3:26PM ERR ../../pkg/service/router.go:53 > ERROR error="DuplicateRecordError: Duplicate User<PHONE_NUMBER>555, A user with the given userId already exists" apiError=DuplicateRecordError requestId=cgrj082401g2lho12470 statusCode=400 uri=/v1/users
3:26PM INF ../../pkg/service/router.go:133 > ACCESS clientIp=[ duration=0.1655 method=POST protocol=HTTP/1.1 requestId=cgrj082401g2lho12470 size=150 statusCode=400 uri=/v1/users userAgent=Go-http-client/1.1
3:26PM INF ../../pkg/service/router.go:133 > ACCESS clientIp=[ duration=0.471625 method=DELETE protocol=HTTP/1.1 requestId=cgrj082401g2lho1247g size=0 statusCode=200 uri=/v1/users/4444444444444 userAgent=Go-http-client/1.1

What would instead be great is if the stacktraces generated by any wrapped errors (those created via errors.Wrap()) contain the absolute path (the '/abs/path' in the source fields in this example):

3:34PM ERR ERROR error="error from repo: new error" requestId=cgrj3uq401g33dfv6rp0 stack=[{"func":"SQLiteRepository.GetByRoleId","line":"94","source":"/abs/path/sqlite.go"},{"func":"RoleService.UpdateByRoleId","line":"104","source":"/abs/path/service.go"},{"func":"UpdateHandler","line":"114","source":"/abs/path/handlers.go"},{"func":"RouteHandler[...].ServeHTTP","line":"39","source":"/abs/path/router.go"},{"func":"URLHandler.func1.1","line":"43","source":"/abs/path/hlog.go"},{"func":"HandlerFunc.ServeHTTP","line":"2109","source":"/abs/path/server.go"},{"func":"RequestIDHandler.func1.1","line":"187","source":"/abs/path/hlog.go"},{"func":"HandlerFunc.ServeHTTP","line":"2109","source":"/abs/path/server.go"},{"func":"AccessHandler.func1.1","line":"214","source":"/abs/path/hlog.go"},{"func":"HandlerFunc.ServeHTTP","line":"2109","source":"/abs/path/server.go"},{"func":"NewHandler.func1.1","line":"29","source":"/abs/path/hlog.go"},{"func":"HandlerFunc.ServeHTTP","line":"2109","source":"/abs/path/server.go"},{"func":"(*Router).ServeHTTP","line":"210","source":"/abs/path/mux.go"},{"func":"serverHandler.ServeHTTP","line":"2947","source":"/abs/path/server.go"},{"func":"(*conn).serve","line":"1991","source":"/abs/path/server.go"},{"func":"goexit","line":"1594","source":"asm_amd64.s"}] uri=/v1/roles/test-admin
This logic is handled by zerolog's pkgerrors.MarshalStack which we configure here.
I haven't looked into it in more detail but if there's a way to get the full filename, we'd likely have to implement our own marshaler and add it there. Feel free to take a look into this if you'd like but I'm not sure if it's possible.. in which case we might just want to hold off on this.

@AKARSHITJOSHI not sure if you're still looking into this but I'm going to close this PR given the convo above. If you get a chance to do something with MarshalStack, feel free to create a new PR (but like I said, not urgent). Thanks!


LLVM assertion failure when running tests

Just updated my bindgen and ran the tests and got this assertion failure inside LLVM:
tests-aed449699d9ed37c: /home/fitzgen/src/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h:111: void llvm::ThreadSafeRefCountedBase<Derived>::Release() const [with Derived = clang::vfs::FileSystem]: Assertion `NewRefCount >= 0 && "Reference count was already zero."' failed.

Will leave this open as I track this down.

(gdb) bt
#0  0x00007ffff74146f5 in raise () from /lib64/libc.so.6
#1  0x00007ffff74162fa in abort () from /lib64/libc.so.6
#2  0x00007ffff740cf97 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007ffff740d042 in __assert_fail () from /lib64/libc.so.6
#4  0x00007fffefc1c960 in llvm::cl::parser<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::removeLiteralOption (this=0x7ffff41f5700 <MachineSchedOpt+192>, Name=0x7ffff26039a7 "ilpmax")
    at /home/fitzgen/src/llvm/include/llvm/Support/CommandLine.h:770
#5  0x00007fffefc1c171 in llvm::RegisterPassParser<llvm::MachineSchedRegistry>::NotifyRemove (
    this=0x7ffff41f56f8 <MachineSchedOpt+184>, N=0x7ffff26039a7 "ilpmax")
    at /home/fitzgen/src/llvm/include/llvm/CodeGen/MachinePassRegistry.h:150
#6  0x00007fffefbf9eb8 in llvm::MachinePassRegistry::Remove (
    this=0x7ffff41f4d80 <llvm::MachineSchedRegistry::Registry>, Node=0x7ffff41f5a40 <ILPMaxRegistry>)
    at /home/fitzgen/src/llvm/lib/CodeGen/MachinePassRegistry.cpp:50
#7  0x00007fffedbdc3d6 in llvm::MachineSchedRegistry::~MachineSchedRegistry (
    this=0x7ffff41f5a40 <ILPMaxRegistry>, __in_chrg=<optimized out>)
    at /home/fitzgen/src/llvm/include/llvm/CodeGen/MachineScheduler.h:129
#8  0x00007ffff741953a in __cxa_finalize () from /lib64/libc.so.6
#9  0x00007fffec30ec03 in __do_global_dtors_aux () from /usr/local/lib/libclang.so
#10 0x00007ffff4bfe850 in ?? ()
#11 0x00007ffff7dee6aa in _dl_close_worker.part.0 () from /lib64/ld-linux-x86-64.so.2

Updated to the latest commit on llvm's and clang's 3.9.X release branches and now I'm getting a new assertion failure:
tests-aed449699d9ed37c: /home/fitzgen/src/llvm/include/llvm/ADT/SmallVector.h:150: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::cl::parser<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::OptionInfo; <template-parameter-1-2> = void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = const llvm::cl::parser<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::OptionInfo&; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed.

Thread 302 "header_whitelis" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff69fe700 (LWP 22929)]
0x00007ffff74146f5 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: dnf debuginfo-install libgcc-6.1.1-3.fc24.x86_64 libstdc++-6.1.1-3.fc24.x86_64 ncurses-libs-6.0-6.20160709.fc24.x86_64
(gdb) bt
#0  0x00007ffff74146f5 in raise () from /lib64/libc.so.6
#1  0x00007ffff74162fa in abort () from /lib64/libc.so.6
#2  0x00007ffff740cf97 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007ffff740d042 in __assert_fail () from /lib64/libc.so.6
#4  0x00007ffff041c254 in llvm::SmallVectorTemplateCommon<llvm::cl::parser<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::OptionInfo, void>::operator[] (idx=5,
    this=0x7ffff49f5710 <MachineSchedOpt+208>)
    at /home/fitzgen/src/llvm/include/llvm/ADT/SmallVector.h:150
#5  llvm::cl::parser<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::getOption (
    this=0x7ffff49f5700 <MachineSchedOpt+192>, N=5)
    at /home/fitzgen/src/llvm/include/llvm/Support/CommandLine.h:729
#6  0x00007fffef095b27 in llvm::cl::generic_parser_base::findOption (
    this=0x7ffff49f5700 <MachineSchedOpt+192>, Name=0x7ffff2e039a7 "ilpmax")
    at /home/fitzgen/src/llvm/lib/Support/CommandLine.cpp:1536
#7  0x00007ffff041c8ed in llvm::cl::parser<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::removeLiteralOption (this=0x7ffff49f5700 <MachineSchedOpt+192>, Name=0x7ffff2e039a7 "ilpmax")
    at /home/fitzgen/src/llvm/include/llvm/Support/CommandLine.h:769
#8  0x00007ffff041c171 in llvm::RegisterPassParser<llvm::MachineSchedRegistry>::NotifyRemove (
    this=0x7ffff49f56f8 <MachineSchedOpt+184>, N=0x7ffff2e039a7 "ilpmax")
    at /home/fitzgen/src/llvm/include/llvm/CodeGen/MachinePassRegistry.h:150
#9  0x00007ffff03f9eb8 in llvm::MachinePassRegistry::Remove (
    this=0x7ffff49f4d80 <llvm::MachineSchedRegistry::Registry>, Node=0x7ffff49f5a40 <ILPMaxRegistry>)
    at /home/fitzgen/src/llvm/lib/CodeGen/MachinePassRegistry.cpp:50
#10 0x00007fffee3dc3d6 in llvm::MachineSchedRegistry::~MachineSchedRegistry (
    this=0x7ffff49f5a40 <ILPMaxRegistry>, __in_chrg=<optimized out>)
    at /home/fitzgen/src/llvm/include/llvm/CodeGen/MachineScheduler.h:129
#11 0x00007ffff741953a in __cxa_finalize () from /lib64/libc.so.6
#12 0x00007fffecb0ec03 in __do_global_dtors_aux () from /usr/local/lib/libclang.so
#13 0x00007ffff69fd850 in ?? ()
#14 0x00007ffff7dee6aa in _dl_close_worker.part.0 () from /lib64/ld-linux-x86-64.so.2
Backtrace stopped: frame did not save the PC
(gdb)

It seems master / 4.x branch also has the assertion failure:
(gdb) bt
#0  0x00007ffff74146f5 in raise () from /lib64/libc.so.6
#1  0x00007ffff74162fa in abort () from /lib64/libc.so.6
#2  0x00007ffff740cf97 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007ffff740d042 in __assert_fail () from /lib64/libc.so.6
#4  0x00007ffff03c48b3 in llvm::cl::parser<llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)>::removeLiteralOption (this=0x7ffff41f2320 <MachineSchedOpt+192>, Name=...)
    at /home/fitzgen/src/llvm/include/llvm/Support/CommandLine.h:784
#5  0x00007ffff03c40ab in llvm::RegisterPassParser<llvm::MachineSchedRegistry>::NotifyRemove (
    this=0x7ffff41f2318 <MachineSchedOpt+184>, N=...)
    at /home/fitzgen/src/llvm/include/llvm/CodeGen/MachinePassRegistry.h:150
#6  0x00007ffff037455c in llvm::MachinePassRegistry::Remove (
    this=0x7ffff41f19a0 <llvm::MachineSchedRegistry::Registry>, Node=0x7ffff41f2720 <ILPMaxRegistry>)
    at /home/fitzgen/src/llvm/lib/CodeGen/MachinePassRegistry.cpp:50
#7  0x00007fffeea2d55c in llvm::MachineSchedRegistry::~MachineSchedRegistry (
    this=0x7ffff41f2720 <ILPMaxRegistry>, __in_chrg=<optimized out>)
    at /home/fitzgen/src/llvm/include/llvm/CodeGen/MachineScheduler.h:144
#8  0x00007ffff741953a in __cxa_finalize () from /lib64/libc.so.6
#9  0x00007fffed0843e3 in __do_global_dtors_aux () from /usr/local/lib/libclang.so
#10 0x00007ffff59fc850 in ?? ()
#11 0x00007ffff7dee6aa in _dl_close_worker.part.0 () from /lib64/ld-linux-x86-64.so.2
Backtrace stopped: frame did not save the PC
(gdb)

That's really weird. I definitely can't reproduce with trunk. Can you see if using static linkage changes anything? I suspect #335 + weird path configurations may cause this.
Alternatively, may you try to bisect this?

Ok, so I bisected this last night, and it is indeed fallout from #335:
d934705e1a3d830a8829e41e0e1809fd88da5044 is the first bad commit
commit d934705e1a3d830a8829e41e0e1809fd88da5044
Author: Emilio Cobos Álvarez<EMAIL_ADDRESS>Date:   Tue Dec 13 18:18:00 2016 +0100

    Use a dynamically loaded clang to do as much as we can with old clang versions, and experiment with new ones.

    It's a pity that we don't support clang 3.7 and similar for generating C
    bindings, when it should be straight-forward.

    This should allow us to support older clang versions, and also experiment with
    pre-release clang APIs if needed.

    This depends on: https://github.com/KyleMayes/clang-sys/pull/44

:040000 040000 a073c5f69f0f94cfda0c1fb19b941522221ec4cb c1715001e233e1c9d69e9b68ea24e1299296ecec M	bindgen
:040000 040000 83e85eb4b47f62d35fbd28173e7a168999c5655f 8a4a20b931c00e086049be8301cd84a6abb74483 M	libbindgen
bisect run success

Strange that this only affects me on linux and not osx...

Can you see if using static linkage changes anything?

Via println!("cargo:rustc-link-lib=clang"); in build.rs? Not sure how to get around our libloading usage (which I think would bypass the static linking?) without reverting that patch, which would make the assertion failures go away anyways.

Another interesting thing: if I run the tests under rr, they exit fine, while if I do not run them under rr I get the assertion failure above when running static destructors.
bash-4.3$ rr /home/fitzgen/src/rust-bindgen/target/debug/deps/tests-7d0b55d30228480b --test-threads 1 white
rr: Saving execution to trace directory `/home/fitzgen/.local/share/rr/tests-7d0b55d30228480b-1'.

running 8 tests
test header_anon_enum_whitelist_h ... ok
test header_module_whitelisted_hpp ... ok
test header_type_referenced_by_whitelisted_function_h ... ok
test header_whitelist_basic_hpp ... ok
test header_whitelist_fix_hpp ... ok
test header_whitelist_namespaces_basic_hpp ... ok
test header_whitelist_namespaces_hpp ... ok
test header_whitelist_vars_h ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured

bash-4.3$ /home/fitzgen/src/rust-bindgen/target/debug/deps/tests-7d0b55d30228480b --test-threads 1 white

running 8 tests
test header_anon_enum_whitelist_h ... ok
test header_module_whitelisted_hpp ... ok
test header_type_referenced_by_whitelisted_function_h ... ok
test header_whitelist_basic_hpp ... ok
test header_whitelist_fix_hpp ... ok
test header_whitelist_namespaces_basic_hpp ... ok
test header_whitelist_namespaces_hpp ... ok
test header_whitelist_vars_h ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured

tests-7d0b55d30228480b: /home/fitzgen/src/llvm/include/llvm/Support/CommandLine.h:784: void llvm::cl::parser<DataType>::removeLiteralOption(llvm::StringRef) [with DataType = llvm::ScheduleDAGInstrs* (*)(llvm::MachineSchedContext*)]: Assertion `N != Values.size() && "Option not found!"' failed.

Ok, so this "fixes" the issue for me locally:
modified   libbindgen/src/lib.rs
@@ -509,16 +509,17 @@ impl<'ctx> Bindings<'ctx> {
     #[deprecated]
     pub fn generate(mut options: BindgenOptions,
                     span: Option<Span>)
                     -> Result<Bindings<'ctx>, ()> {
         let span = span.unwrap_or(DUMMY_SP);
         if !clang_sys::is_loaded() {
             // TODO(emilio): Return meaningful error (breaking).
             clang_sys::load().expect("Unable to find libclang");
+            ::std::mem::forget(clang_sys::get_library())
         }

         // TODO: Make this path fixup configurable?
         if let Some(clang) = clang_sys::support::Clang::find(None) {
             // If --target is specified, assume caller knows what they're doing
             // and don't mess with include paths for them
             let has_target_arg = options.clang_args.iter()
                 .rposition(|arg| arg.starts_with("--target"))

BTW, what happens here is that LLVM runs the global destructors multiple times, for some reason.
I find really weird that this error happened only to you, but oh well...

I think it was also timing related -- I managed to make it intermittent for a little while, and attaching various kinds of debuggers (rr and strace but not gdb) would make it mysteriously vanish. Given that it seems to be timing related, I am less confused by why it might "only happen to me".


Setting the Tool radius larger than the robot_radius leads to errors

Hi,
I wanted to use a tool radius larger than the robot radius, in my case the robot cleans through the use of water jets and thus cleans quite a large area. I saw that if I set the tool radius larger than the robot radius it would cause the path to be incorrect setting paths that go thorough walls. Why is this the case?
Example of the tool radius being smaller than the robot radius

Example of the tool radius being larger than the robot radius

Note this is only the case when the tool radius is significantly larger than the robot radius. In the example provided the tool radius was set to 0.18 and the robot radius to 0.15

Thanks for the detailed explanation. And apologies for the delay!
A toolsize larger than the robot has (obviously) not been an anticipated. Did you ever solve the issue? Any contributions in that direction would be welcome!

Hello, sadly I have not pursued this package further and thus have not attempted a solution. Nonetheless, thanks for the reply :)


ci: create automatic release workflow

Changes

Creates a CI workflow to build for x86_64 architecture on linux, mac and windows platforms when a release is scheduled.

Looks good, thanks!


Unbound DNS: Ability to bind only to the local interface

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Is your feature request related to a problem? Please describe.
I want to configure Unbound to use (i.e., bind to) only the local interface.
I am using NextDNS as my resolver (using the plugin, os-nextdns-community) and want Unbound to only be the authoritative server for my private zones.  With this configuration, the NextDNS resolver sends client identifying information to NextDNS and allows me to use NextDNS analytics.  Since Unbound is only used by NextDNS which is also on the firewall, I only need it available on the local interface.
Currently, the local interface is not presented as a select-able item in the "Network Interfaces" pull down.  Rather, it is added to the subset of selected interfaces.
https://github.com/opnsense/core/blob/a4b5a815c1374840552da2b2c974e2b717bf5a9d/src/etc/inc/plugins.inc.d/unbound.inc#L176
And, if I choose no interfaces, Unbound listens on all interfaces.
https://github.com/opnsense/core/blob/a4b5a815c1374840552da2b2c974e2b717bf5a9d/src/etc/inc/plugins.inc.d/unbound.inc#L196
Describe the solution you like
I would like the local interface to be added to the list of Network Interfaces on the Services -> Unbound DNS -> General settings page.  This way, I can specifically chose whether or not Unbound listens on this interface.
Describe alternatives you considered
I am working around the issue by selecting one of my existing interfaces and setting the port to something other than 53.  This provides Unbound on the local interface (as desired) but also on an additional interface I don't want it to use.

add a loopback (Interfaces: Other Types: Loopback), assign it with an address and listen on that?

Using a loopback still creates another interface and I will have Unbound bound to the local interface and the loopback interface.  This is slightly better as they would be local to the firewall.  But, I would prefer to use just the local interface that already exists.

The thing with lo0 and Unbound is that we cannot add it to the list as people are going to deselect it and break their local resolution. So currently the select is modelled to always include lo0 (implicitly through <IP_ADDRESS>/:: when deselecting all) and it has been working fine I think.
I'm personally not a fan of selecting Unbound interfaces to listen to, mostly because there are side effects like address changes we cannot easily account for in a router scenario and Unbound seems to be tailored to a single server service approach where in the best case addresses are static. Potentially we end up (re)starting Unbound every 5-10 minutes just because some DHCP address flaps or a tunnel goes down and up and Unbound needs a hard restart to take the new addresses... this all works fine in <IP_ADDRESS>/:: so I'm unsure why adding more complexity that we cannot possibly accommodate with Unbound is a good idea (in general). :)
BTW, you could also just add a disabled or management interface to that list. The effect is the same.
Cheers,
Franco

Thanks


const demoted to var

const variable declarations are sometimes demoted to var declarations. See for example:
window['foo'] = function () {
    const a = window['a'],
        b = window['b'];
    let c = window['c'];
    while (a < b[c]) c--;
    for (let i = 0; i < window['d'].length; i++) {}
};

which with compiler --compilation_level ADVANCED --language_in ECMASCRIPT_NEXT --strict_mode_input --language_out ECMASCRIPT_2017 --assume_function_wrapper --use_types_for_optimization compiles to:
'use strict';
window.foo = function() {
    var a = window.a;
    const c = window.b;
    let b = window.c;
    for (; a < c[b];) b--;
    for (a = 0; a < window.d.length; a++);
};

I'm not sure if this is ever incorrect, but this seems surprising? In this instance it's more characters, plus it's (slightly) increasing the work for the ultimate interpreter/compiler who'll now have to deduce that a is const rather than verifying it's const to perform optimisations. Admittedly that won't make a difference in this snippet but I noticed this in a hot loop in my code while profiling and trying to optimize.

What's happening here is due to an optimization called variable coalescing.
Basically, the compiler realizes that it can have fewer variables (and, thus variable declaration statements) by using a single variable to do what was done with multiple variables in the original code.
The compiler recognized that a was unused after the while loop and i was never used before it, so it combined them into one variable, which also ended up having the name a. Since the value of the variable must change, it couldn't be const anymore.
Why did the compiler use var, instead of let? There are a few reasons.

The bulk of the compiler was written long before let and const existed. As a result a lot of the transformations it performs just always use var.
We also favor using the oldest-possible feature in many of our transformations, because it avoids us having to make all of the optimizations smart enough to pay attention to what language features are allowed in the output.

It would be pretty bad if we transpiled away all of the instances of let only to have a newly-written optimization end up putting one back in. Sure we could check the language output level in every place where we create a variable declaration, but that's adding even more logic that could potentially break.
We did recently have to fix a case where putting in var actually broke the code.
If you find one of those, please file a new issue.
Thanks.


Porfolio Project Review

Great Effort towards the project so far, but there are some areas you need to address.

I'll suggest you add transitions to your icons on hover over to make them look nice.
The margin of your logo from the top is much I'll encourage you to reduce it a little bit
The form section has to be bigger in desktop version

Thanks for the reviews. I'll be happy to work on those issues.


estimate noise level at each covariate

Similar to the discussion here #402, is there a simple way of estimating the noise level at each covariate in GP regression? It seems that adding a White kernel populates the diagonal with a single model variance parameter, and I was wondering if it's possible to adjust this to allow for different parameters for each entry of the diagonal?
Specifically, I have a dataset  where i indexes my covariates and j indexes the "trial" number. So, at each covariate, I have multiple dependent responses, and I'd like to account for the variance in response at each X_i. Thanks!

The multioutput framework will do this for you, or if you have a Gaussian likelihood you could subclass the likelihood to have a vector valued variance (I think should broadcast without any work, but it would be worth checking this)

Thanks for the suggestion @hughsalimbeni! I looked into multioutput but think my setup is slightly different. I didn't explain this clearly originally, but we might not know which trial a particular Y-response is from for a given X. My understanding is that multioutput fits multiple GPs with some sort of correlation between trials, but heuristically, I'm just seeking a way to say that if I have a lot of Y-observations at a particular X value, then the sigma_X will reflect the noise at this X. So, I think I'm more interested in your second suggestion.
On broadcasting variance, I worked from the models.ipynb example and adjusted the data to repeat 5 times to give 100 points. I then manually compiled gpflow with a new Gaussian_ likelihood which fixed the variance as variance = np.ones(100) before initialization. Running this model didn't seem to give prediction bands that accounted for the variance as much as I thought, and my guess was because each point was treated separately. Is there a way to restrict the variance to only 10 parameters at the known X-values? Or am I thinking about this wrong? Thanks!

Dear @jacob-roth, it would be great if you could post this as a question on stackoverflow (tagged gpflow: https://stackoverflow.com/questions/tagged/gpflow), whether you're still looking for an answer or found it (in which case I would encourage you to answer it yourself) so that future users can also benefit. Hope that makes sense!


DOC | Why Extension

📖 Document
What is the use case for this additional documentation?
We need to update the "Why Extension" page so that is explains why we extended EPCIS.

Transferred from https://github.com/louisgv/doc.ift.org/issues/28


Add first book chapter summaries

Summary
I added first book summaries in 1.json file

Related Issues
#741

Checklist

[x] This pull request has a meaningful title and description.
[x] I have read and followed the Contributing guidelines.
[x] My code follows the conventions and coding style of this project.
[x] All tests pass and I have added tests for my changes  - N/A
[x] I have updated necessary documentation N/A

Screenshots (if applicable)

Additional information

@danielschuster-muc can you please review?

hi @danielschuster-muc thank You for the detailed review! I've updated the file with the suggestions :)

@danielschuster-muc I'll work on it tomorrow, is there anything I can do to make reviewing changes easier?

@danielschuster-muc I'll work on it tomorrow, is there anything I can do to make reviewing changes easier?

That would be amazing, super sorry for all that work.
It's more like the more I get into it, the more things I find 😂.

Oops, I guess there's nothing I can do about it :)

@danielschuster-muc fixed, hope this is the last iteration

@danielschuster-muc fixed, hope this is the last iteration

Looks good so far, you could just resolve the last few conversations? Besides that I guess it's almost ready 👍

@danielschuster-muc sorry must've missed some remarks earlier.

Thank You @danielschuster-muc :)