fix(ECS): Increase minimum task count

Goal
Avoid spikes in latency on Recommendation API such as happened on May 8th 5:33 am.
Reference

Jira ticket
Alert on Slack

Implementation Decisions

I don't immediately see the root cause. This was something quick I thought we could try. Further investigation is needed if this starts happening more frequently.

Evidence
Latency spike at 5:30 AM PST corresponded with an increase in requests.

Home on Web
Request increase seems to correspond with latency increase.

Topic explore pages

Firefox New Tab for new markets

Web Discover

Android Home

The next time this happens it might be useful to look at Recommendation API X-Ray traces. They're only kept around for 6 hours, and it's been longer than that since latency spiked.

Request increase seems to correspond with latency increase.
That's interesting, seems like we might need an exponential backoff in the client?

Request increase seems to correspond with latency increase.

That's interesting, seems like we might need an exponential backoff in the client?

Maybe? Or maybe there's a performance bug in Recommendation API?


Do not fail if the array pointer is after the element

We should not assume the passed array has its pointer set to the first element.

Can just replace the current() call with reset() and move it before the key() one. :)

Nope, because you're overwriting $filename ;)

Eh ... you're right.
 :(

Since I made some submissions in this area (Download helper) as well, you might want to check the above lines from reset() :)
if (count($filename) !== 1)
{
	return;
}

Single count array doesn't mean its array pointer can't be moved, which is why I hate this even more.

Oh, yeah, you are right here. I didn't see it in a procedural way of thinking.


Can't receive the topic data with topic name '/robot/info/#'

Dear sir,
If my topic use '#' such as '/robot/info/#', it will show errors when received some messages.
var meta map[string]string = make(map[string]string)
meta["rawPayload"] = "true"
sub := &common.Subscription{
	PubsubName: "mqtt-pubsub",
	Topic:      "/robot/info/#",
	Metadata:   meta,
}

And the error will show
ERRO[0002] Failed processing MQTT message: /robot/info/1/6007: error returned from app while processing pub/sub event 504b29fb-98cd-40d0-990f-1495357446dc: rpc error: code = Unknown desc = pub/sub and topic combination not configured: mqtt-pubsub//robot/info/1  app_id=serving instance=ubuntu scope=dapr.contrib type=log ver=1.2.0
If we change the topic name to /robot/info/1, it's no problem.

It may be that the SDK isn't url-encoding your topic names. If so, it's sending to the topic /robot/info/ which probably doesn't work. Try /robot/info/%23 and see if that goes to the right topic.


Liquibase Core Version 4.18 taking long time in computing checksum

Environment
Liquibase Version:
4.18
Liquibase Integration & Version: <Pick one: CLI, maven, gradle, spring boot, servlet, etc.>
CLI
Liquibase Extension(s) & Version:
4.18
Database Vendor & Version:
Oracle Database 19c Enterprise Edition Release  <IP_ADDRESS>.0
Operating System Type & Version:
Oracle Enterprise Linux 7
Infrastructure Type/Provider: <AWC, GCS, Azure, VM, etc>
VM
Description
Starting Liquibase at 20:06:21 (version 4.17.2 #5255 built at 2022-11-01 18:07+0000)
[2022-11-30 20:06:23] INFO [liquibase.lockservice] Successfully acquired change log lock
[2022-11-30 20:06:39] INFO [liquibase.changelog] Creating database history table with name: TEST_APP.DBCHANGELOG
[2022-11-30 20:06:39] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2022-11-30 20:29:36] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 16ms
Starting Liquibase at 23:59:58 (version 4.18.0 #5864 built at 2022-12-02 18:02+0000)
[2023-01-09 23:59:59] INFO [liquibase.lockservice] Successfully acquired change log lock
[2023-01-10 00:00:18] INFO [liquibase.changelog] Creating database history table with name: TEST_APP.DBCHANGELOG
[2023-01-10 00:00:18] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2023-01-10 00:22:13] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 16ms
Taking approx ~ 22 mins in version 4.17.2 and version 4.18.0
Starting Liquibase at 16:24:35 (version 4.14.0 #3667 built at 2022-07-22 18:36+0000)
[2022-07-29 16:24:37] INFO [liquibase.lockservice] Successfully acquired change log lock
[2022-07-29 16:24:51] INFO [liquibase.changelog] Creating database history table with name: TEST_APP.DBCHANGELOG
[2022-07-29 16:24:51] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2022-07-29 16:25:04] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 16ms
Taking approx ~ few secs in version 4.14.0  ( issue not seen here)
A clear and concise description of the issue being addressed.

Describe the actual problematic behavior.
Ensure private information is redacted.

Steps To Reproduce

Run Liquibase version 4.14, runs fine no slowness seen
Run Liquibase version 4.17.2 and version 4.18, takes long time as shown above, Issue seen in recent versions.

List the steps to reproduce the behavior.

Run Liquibase version 4.14, runs fine no slowness seen
Run Liquibase version 4.17.2 and version 4.18, takes long time as shown above, Issue seen in recent versions.

Actual Behavior

Run Liquibase version 4.14, runs fine no slowness seen
Run Liquibase version 4.17.2 and version 4.18, takes long time as shown above, Issue seen in recent versions.

Expected/Desired Behavior

Run Liquibase version 4.17.2 and version 4.18, no slowness should be seen as mentioned in above steps.
This should behave as Liquibase version 4.14.

Screenshots (if appropriate)
If applicable, add screenshots to help explain your problem.
Additional Context
Add any other context about the problem here.
Jars used under /lib folder in version 4.14, version 4.17.2 and version 4.18
commons-lang3.jar
liquibase-core.jar
ojdbc8.jar
opencsv.jar
README.txt
snakeyaml.jar
Version 4.18 and 4.17.2 taking long time in computing checksum

Hey @filipelautert - could you review this issue and see if it's a duplicate of https://github.com/liquibase/liquibase/issues/3675 ?

@kevin-atx seems so.
Hello @Sumitkrchaudhary - thanks for the report!
We are reviewing this issue and I think we may find the point were there the problem is. I implemented a simple test fix on PR https://github.com/liquibase/liquibase/pull/3684 . Here are the artifacts for it: https://github.com/liquibase/liquibase/suites/10339006499/artifacts/509167433
Could you please use those artifacts and check if the problem is resolved ?
Thanks

Taking uploaded artifacts and will confirm.

The same problem is with Version 4.19 as well

This seems working fast and well with new artifacts uploaded above. Looking at faster execution time seems your fix is working well. :)
Here new execution time which shows faster execution -
For new database setup with 4.18 new uploaded artifacts --
Starting Liquibase at 17:37:02 (version [Core: //3675-performance-regression-on-update-in-417/6576/c0a86e/2023-01-12 18:24+0000] #6576 built at 2023-01-12 18:24+0000)
[2023-02-06 17:37:04] INFO [liquibase.lockservice] Successfully acquired change log lock
[2023-02-06 17:37:14] INFO [liquibase.changelog] Creating database history table with name: TEST_APP.DBCHANGELOG
[2023-02-06 17:37:14] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2023-02-06 17:37:14] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 37ms
Doing some more regressions and will update.

This behaviour of slowness in upgrading existing db is similar to Version 4.14 as mentioned in issue#
https://github.com/liquibase/liquibase/issues/3655

Is there any artifact that can be shared for this fix that I can use to confirm

artifact on version 4.19 works better if that can be shared

Hello @Sumitkrchaudhary! Thanks for the help. You can use the artifacts from the following link, they are the latest ones built from master: https://github.com/liquibase/liquibase/suites/11087994301/artifacts/564759242

===================================================
Starting Liquibase at 14:36:01 (version [Core: //master/7474/0b2025/2023-02-20 17:24+0000] #7474 built at 2023-02-20 17:24+0000)
---first
[2023-03-06 14:36:22] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
[2023-03-06 15:18:24] INFO [liquibase.lockservice] Successfully acquired change log lock
---second
[2023-03-06 15:18:26] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
[2023-03-06 15:49:51] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
[2023-03-06 15:54:03] INFO [liquibase.lockservice] Successfully released change log lock
---hub is not propmted now with liquibase.hub.mode=off
Do you want to see this operation's report in Liquibase Hub, which improves team collaboration?
If so, enter your email. If not, enter [N] to no longer be prompted, or [S] to skip for now, but ask again next time [S]:
[2023-03-06 15:54:03] INFO [liquibase.lockservice] Successfully acquired change log lock
Skipping auto-registration
[2023-03-06 15:54:03] WARNING [liquibase.hub] Skipping auto-registration
---third
[2023-03-06 15:54:03] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2023-03-06 16:29:56] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 15ms
Running Changeset: changelogs/prerequisite_checks.xml::2::base
[2023-03-06 16:29:56] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::2::base ran successfully in 15ms
With this artifact when ran upgrading of existing db, the performance issue is still seen but a new problem introduced is it is reading DBCHANGELOG multiple times (3 times as shown in above logs) now which is making it even worse in terms of overall upgrade time.

[2023-03-06 21:25:47] INFO [liquibase.lockservice] Successfully acquired change log lock
[2023-03-06 21:25:47] INFO [liquibase.changelog] Creating database history table with name: TEST_APP.DBCHANGELOG
[2023-03-06 21:25:47] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2023-03-06 21:46:55] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 32ms
Took around ~ 21 mins on DBCHANGELOG.
With this artifact when setting up new fresh db, the performance issue is still seen while reading DBCHANGELOG. With previous artifact this was not seen.

Hello! We released 4.19.1 last week, could you check this one too?
Also, what kind of check do you have in changelogs/prerequisite_checks.xml::1::base ?  are those only preConditions tags? do you perform any explicit query to validate DBCHANGELOG table?

This is a check with a very basic sql - changelogs/prerequisite_checks.xml::1::base

SELECT value FROM nls_instance_parameters WHERE parameter = 'NLS_LENGTH_SEMANTICS'

DB session NLS_LENGTH_SEMANTICS is CHAR.

I do not perform any query to validate DBCHANGELOG table.
Everything works very efficiently in Version 3.8.8 which is used currently.

In case of upgrading existing database with version 4.20.0
Starting Liquibase at 03:02:51 (version 4.20.0 #7837 built at 2023-03-07 16:25+0000)
---first
[2023-03-11 03:03:09] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
[2023-03-11 03:03:10] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 04:12:31] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 04:12:31] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 04:12:31] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 04:12:31] INFO [liquibase.lockservice] Successfully acquired change log lock
[2023-03-11 04:12:33] INFO [liquibase.executor] Changelog query completed.
---second
[2023-03-11 04:12:33] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
[2023-03-11 04:12:34] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 04:45:52] INFO [liquibase.executor] Changelog query completed.
---third
[2023-03-11 04:45:52] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
[2023-03-11 04:45:53] INFO [liquibase.executor] Changelog query completed.
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2023-03-11 05:27:36] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 31ms
With this version 4.20.0 when ran upgrading of existing db, the performance issue is still seen but a new problem introduced as seen in artifact it is reading DBCHANGELOG multiple times (3 times as shown in above logs) now which is making it even worse in terms of overall upgrade time.
Starting Liquibase at 02:22:04 (version 4.20.0 #7837 built at 2023-03-07 16:25+0000)
[2023-03-11 02:22:26] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 02:22:26] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 02:22:26] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 02:22:26] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 02:22:26] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 02:22:26] INFO [liquibase.lockservice] Successfully acquired change log lock
[2023-03-11 02:22:27] INFO [liquibase.changelog] Creating database history table with name: TEST_APP.DBCHANGELOG
[2023-03-11 02:22:27] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 02:22:27] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
[2023-03-11 02:22:27] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 02:22:27] INFO [liquibase.executor] Changelog query completed.
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2023-03-11 02:44:31] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 31ms
[2023-03-11 02:44:31] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 02:44:31] INFO [liquibase.executor] Changelog query completed.
Running Changeset: changelogs/prerequisite_checks.xml::2::base
[2023-03-11 02:44:31] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::2::base ran successfully in 16ms
[2023-03-11 02:44:31] INFO [liquibase.executor] Changelog query completed.
Took around ~ 22 mins on DBCHANGELOG.
With this version 4.20 as seen in artifact also when setting up new fresh db, the performance issue is still seen while reading DBCHANGELOG. With previous first artifact provided in the starting this was not seen.

In case you need a demo of this issue I can show and explain. Let me know if it is possible

The same proble is faced in version 4.19.1 as shown in below logs:
Starting Liquibase at 03:15:16 (version 4.19.1 #7641 built at 2023-02-28 18:08+0000)
[2023-03-11 03:15:52] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 03:15:52] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 03:15:52] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 03:15:52] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 03:15:52] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 03:15:52] INFO [liquibase.lockservice] Successfully acquired change log lock
[2023-03-11 03:15:53] INFO [liquibase.changelog] Creating database history table with name: TEST_APP.DBCHANGELOG
[2023-03-11 03:15:53] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 03:15:53] INFO [liquibase.changelog] Reading from TEST_APP.DBCHANGELOG
[2023-03-11 03:15:53] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 03:15:53] INFO [liquibase.executor] Changelog query completed.
Running Changeset: changelogs/prerequisite_checks.xml::1::base
[2023-03-11 03:48:01] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::1::base ran successfully in 31ms
[2023-03-11 03:48:01] INFO [liquibase.executor] Changelog query completed.
[2023-03-11 03:48:01] INFO [liquibase.executor] Changelog query completed.
Running Changeset: changelogs/prerequisite_checks.xml::2::base
[2023-03-11 03:48:01] INFO [liquibase.changelog] ChangeSet changelogs/prerequisite_checks.xml::2::base ran successfully in 13ms
[2023-03-11 03:48:01] INFO [liquibase.executor] Changelog query completed.
Took around ~ 32 mins on DBCHANGELOG.

Hello @Sumitkrchaudhary - do you mind running it in debug (--log-level=debug) and send me the results at<EMAIL_ADDRESS>? Then we can take from there.

Adding another data point here, for us:
On 4.16.1 our liquibase execution time was ~1 minute
On 4.20.0  our liquibase execution time was ~23 minutes
No other changes, wasn't able to test on any versions in between due to various Liquibase bugs that effected us.
Didn't investigate at all, but I did quickly pop it open in the profiler and saw in 4.20.0 an enormous amount of time is taken up by DatabaseChangeLog.normalizePath, in 4.16.1 this is not the case.

Thanks @dm-ion ! We have pr https://github.com/liquibase/liquibase/pull/3853 that aims to improve performance on normalizePath. We still testing and reviewing it, but hopefully by end of the week it will make way to master.
Meanwhile would you be able to use the jar from it (it is available here -> https://github.com/liquibase/liquibase/actions/runs/4421668736 ) and see if the performance issue is gone or if it shifts to another place?
Thanks!

Hello @Sumitkrchaudhary - do you mind running it in debug (--log-level=debug) and send me the results at<EMAIL_ADDRESS>? Then we can take from there.

yes, will send debug logs

Filipe: Sent to you the debug logs

Hello @Sumitkrchaudhary - do you mind running it in debug (--log-level=debug) and send me the results at<EMAIL_ADDRESS>? Then we can take from there.

yes, will send debug logs

Filipe: Sent to you the debug logs

Hi we were able to test this new release on that same dataset and the performance issues were completely resolved for us.
Unfortunately though we haven't been able to upgrade to the latest release yet due to another liquibase issue we haven't had a chance to investigate yet. It seems the locks aren't being released properly after the update command due to the underlying JDBC connection being closed. We'll open a ticket for this if necessary; however, it could be something with our integration.
Thanks!

Thanks @dm-ion that's good to hear! We found a problem related to lockService -> https://github.com/liquibase/liquibase/pull/4151 .  Do you think you could make a try with the fix from https://github.com/liquibase/liquibase/actions/runs/4747384342?pr=4151 ?

@Sumitkrchaudhary could you help to test with the fix I just sent in the comment above? seems we are getting there.

@filipelautert I see Status - Failure. Can you please confirm

@filipelautert any further update on this

@filipelautert hi, were you able to resume on this analysis further

Hello @Sumitkrchaudhary, I may get back to it tomorrow or Friday - we just merged some big stuff to master and now I've some time to check this again.

@filipelautert Any further update on this

@filipelautert waiting on any update on this as this is a blocker for us to move to latest version.

@filipelautert any update on this please

I tried with 4.19.1 and 4.20 also but the problem persists. Already published data above in this issue.

@kevin-atx let me know if any information is needed. Waiting on further update on this

@kevin-atx @filipelautert Waiting on further update on this

@kevin-atx @filipelautert we have to upgrade as soon possible when this issue is fixed. waiting on any more details on this.

Hello @Sumitkrchaudhary - we are doing some performance improvement work on PR #4798 - this one looks promissing. It will be included on Liquibase 4.24.0

Hello, @filipelautert is their any artifact that I can use to verify as 4.24 is yet not released

Hello @Sumitkrchaudhary - we are doing some performance improvement work on PR #4798 - this one looks promissing. It will be included on Liquibase 4.24.0

Hello, @filipelautert is their any artifact that I can use to verify as 4.24 is yet not released

@Sumitkrchaudhary 4.24.0 is released

@filipelautert This looks really good with 4.25 release. Seems working now as normal and fast.

I'm closing it. Please reopen if it happens again.


Enhance a11y for PinInput

path: stories/components/forms/pin-input.stories.tsx
Description
1 accessibility violation was found in the PinInput.
Target stories
isReadonly
Expected the HTML found at $('section > .css-nqtsdw.ui-pin-input[aria-readonly="true"]') to have no violations:

Received:
Elements must only use supported ARIA attributes (aria-allowed-attr)

Fix all of the following:
  ARIA attribute is not allowed: aria-readonly="true"

You can find more information on this issue here:
https://dequeuniversity.com/rules/axe/4.9/aria-allowed-attr?application=axeAPI

Expected the HTML found at $('.ui-form__control > .css-nqtsdw.ui-pin-input[aria-readonly="true"]') to have no violations:

Received:
Elements must only use supported ARIA attributes (aria-allowed-attr)

Fix all of the following:
  ARIA attribute is not allowed: aria-readonly="true"

You can find more information on this issue here:
https://dequeuniversity.com/rules/axe/4.9/aria-allowed-attr?application=axeAPI

Problem Statement/Justification
A11y is essential to ensure quality when operating a package.
Additional Information
While it's ideal to cover all jobs, if there are too many jobs to work on, please create a PR within your capacity.
Any deficiencies not covered by the PR will be automatically created as issues.

@hirotomoyamada
can I work on this issue??

@GensIto
Hi, thanks for the cooment.
Yes, please.
I'll assign this issue to you. Good luck!


Clicking a link to a heading should zoom in directly to that Heading.

Great Plugin. Very excited to see that this plugin is coming soon to mobile. I have one suggestion.
When i click the link ta heading, is it possible to zoom in directly to that heading.
That would be very awesome

@kngautham thank you for your feedback!
Clicking on headings already mentioned in the discussions.
Please follow https://github.com/vslinko/obsidian-zoom/discussions/30
Closing this issue as a duplicate.


Add repack support for ServerConfig.ClientAuth

What does this PR do?
Follow up to #196 to allow fleet-server to repack the ServerConfig struct.
Extend the ClientAuthType unpack method to allow integer values and repack support. Add unit tests to verify behaviour.
Why is it important?
output from policy in fleet-server needs to be able to merge structs
Checklist

[x] My code follows the style guidelines of this project
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added tests that prove my fix is effective or that my feature works

Related issues

Relates https://github.com/elastic/elastic-agent/issues/2784

:green_heart: Build Succeeded

Buildkite Build
Commit: 369900208bf9046481a1f87169ad256a25bb6b9e


how to contat files with path name alone but not in all?

What i should do to achieve like this?
Before contat

After contat

Thanks!

Something like this:
gulp.src('contat/**/*.css')
  .pipe(concat('all.css'))
  .pipe(rename((p) => {
    p.basename = `${p.dirname}.${p.basename}`
    return p
  }))
  .pipe(gulp.dest('some-folder'))

Support questions go on StackOverflow.


Folder with parenthesis in the name can't be watched

Still can't be watched. #344

don't open duplicate issues. gh-300


Print out settings when run

I wonder if it might be helpful to have a tiny display of the actual settings used (just in case users don't realize what the defaults are, etc), e.g.
$ qbatch -w 1:00:00 commands.txt
Processors requested per job (--ppj): 8
      Processes run in parallel (-j): 1
               Commands per job (-c): 8
                       Walltime (-w): 1:00:00
                       Other options: none

Thoughts?

Yes, that looks good, however maybe it should only do so under verbose?

Followup here, I like the initial implementation, but should it be more verbose as to settings, and should those settings only be printed if relevant? i.e. in local mode, certain things suppressed?

If... we were to implement a config file, this could print out the internal config state.

Sure... but I don't see how the config file has anything to do with this
because this issue is about displaying the configuration qbatch is in
(because of some base config plus command line options) when your jobs
were submitted, right?

Right, I was just thinking we could hijack the configparser saving features to print to screen, no custom formatting or such required, would also allow a copy-paste to save that config (if we go with that).

Yeah, that's a nice benefit: config display that doubles as a usable
config file. As long as it doesn't get in the way of actually being
readable/meaningful for the humans. :-)

Looks like configparser config files are nice and readable:
http://effbot.org/librarybook/configparser.htm

Merged into #96


jybot: unicode errors in multiple places in the code

Originally submitted to Google Code by bryan.oakley on 4 Feb 2010

With certain urls I'm getting the following error with Page Should Contain
Element when the test is run with jybot:
UnicodeError: ascii encoding error: ordinal not in range(128)
I've attached a test file that duplicates the error (at least on my
machine). All it takes is opening a browser to a document with unicode
characters (eg: http://en.wikipedia.org/wiki/Pound_sterling) and running
the keyword 'Page Should Contain Element' for an element not on the page.
I suspect other keywords may exhibit the same problem.
Part of the problem is the debug statement in init.py, method
_parse_locator. If I comment out the debug statement I get farther, but
eventually it fails with the same error but somewhere else in the code.
I know there's a push to support Jython 2.5 but I really hope this gets
fixed before then.

Originally submitted to Google Code by @yanne on 5 Feb 2010

Are you using Jython 2.2.1?
Unicode in Jython 2.2.1 is totally broken, you should use Jython 2.2 with RF if you
need unicode support.
With Jython 2.2 the attached example works.

Originally submitted to Google Code by bryan.oakley on 5 Feb 2010

interesting. Yes, we're using jython 2.2.1. Are there any downsides to regressing
back to 2.2?

Originally submitted to Google Code by @yanne on 5 Feb 2010

From RF point of view no, we actually recommend to use Jython 2.2 with RF. Jython 2.2
has bugs in unicode handling also, but RF has workarounds for them.

Originally submitted to Google Code by @yanne on 8 Feb 2010

Closing this, since the cause is not library related.


Doc: test commit

Related issue (#867)

@monperrus @btellstrom  Hi, this is a fresh fork from the master and it still appears to be failing by only changing a line in the readme. Maybe I did something wrong or maybe it's still flaky ? :) .

Forks will never pass the CI.
We have some tests that require encrypted info, which through travis-ci can not be shared to forks, and thus anything that relies on them will falsely report that the tests are failing. (See #744 )

God bless you @btellstrom , I suspected something like that.

Since there is already an issue related to this problem and this PR does not contribute anything I'll go ahead and close this as well as the issue.

Please do . Thank you very much for answering :).

added @Tailp to the project so that you can create your own branch there instead of on your fork.

For the record, duplicate of #744

@monperrus Thank you for adding me, :) .


Remove .vscode directory, and add it to .gitignore

Delete the .vscode directory, that had been reintroduced during #547, and add it back to the .gitignore file.
Helpful documentation: Git - gitignore Documentation, in particular the Pattern Format section.
By the way, excluding these IDE directories seems to be unpopular, because it should be the user's responsibility to exclude the metadata from the editors he is using.
See for instance:

https://github.com/laravel/framework/pull/19323
https://github.com/laravel/framework/pull/22550
https://github.com/laravel/framework/issues/37017

However, Taylor Otwell ended up adding these exclude lines, and I think the added convenience is worth these few extra lines.

So first off thanks for contributing! Usually we have a convo before a PR is submitted but this is small enough we can just have that convo here.
Originally it was excluded, but then it was included again because we wanted to keep workspace settings consistent among the maintainers and contributors while we were working out some consistent settings to be ran by automated processes (like spacing, whitespace, linting, etc).
So we do have better settings in place now. I'm curious what @fadrian06 thinks.
One thing to point out, Laravel is a fantastic framework, and has done a lot of good for the community! That being said however, we can learn from and in some cases mimic what Laravel does, but we shouldn't just blindly do it because Taylor did it. What Laravel is doing makes sense for Laravel, and it might make sense for Flight. Not a dig at you personally, just pointing it out for anyone who sees this PR.

Reading a little about the references attached in the PR, I was struck by the "what if tomorrow there is another IDE?"... You just have to look at the numbers to realize that VSCode will not be a dead thing tomorrow.
I'm not against removing editor settings in the project, but like @n0nag0n I'm not against removing editor settings in the project, but like you mention @n0nag0n It was just a mechanism so that contributors always had the same spacing, end of line and so on... I personally tend to forget and realize very late before committing.
I support using SublimeText :D but I removed its configuration from the project because I think I'm the only one who uses it... but in the case of VSCode it's different

The settings.json of .vscode will not even weigh 5kb, and it is not included when the package is installed, making Flight install very quickly even on slow connections...
Since we have the tests ignored in the composer install, we had the freedom to add more tests as necessary, the same happens with .vscode, which well only has the basics of code style, this way we ensure consistency in the PRs

If you don't mind @n0nag0n If you don't mind @n0nag0n and you will have your local configuration correct, removing other KB from the repository and making the flight lighter hehe

I think I'm ok merging this because we have PHPCS which will make the commits and things more consistent and we don't need editor settings to be saved in the repo anymore. Thanks for the help @vlakoff !


WIP: Try to relax the constraint that attributes are immutable during setup(), while still having safe and correct cloning

Hi @jheek, @levskaya -- looking for a initial mini-review to see whether this idea makes sense at all, before I continue developing it.
This would help resolve many user questions and make common usecases easier (e.g. normalizing attributes during setup, or converting them into a canonical form like in https://github.com/google/flax/blob/main/flax/linen/linear.py#L84)

The downside of this is that the value of an attribute will depend on whether it is bound to a scope or not.
I think it would make more sense to have a setup that is called irrespective of whether the module is bound or not.
This way a user would always access the canonical value (after setup) externally like you would expect.
A backward compatible alternative to this is to have init and setup where init is meant for construction time initialization and setup is meant for variable/rng construction that requires a scope and has potential side-effects

Yeah you're right, that's a good point. I wonder actually if the pattern that some folks use, where they override __post_init__ (and call super appropriately) is actually broken in case you the module is then cloned. I'll check. We may want to consider effectively deprecating this pattern and forcing people to use a custom init like you say, or maybe call it normalize_attrs or something more explicit.

is actually broken in case you the module is then cloned

Typically normalize acts like a single iteration fixpoint so normalize(attrs) == normalize(normalize(attrs)) in which case cloning is not broken.
Actually the other big advantage of having a init/post_init pathway is that you can initialize submodules on unbound scopes. e.g. the following would work:
class AutoEncoder(nn.Module):
  def init(self):
     self.encoder = Encoder()
     self.decoder = Decoder()

ae = AutoEncoder()
ae.decoder.apply(decoder_variables, ...)

Actually the other big advantage of having a init/post_init pathway is that you can initialize submodules on unbound scopes. e.g. the following would work:

That's actually really nice indeed. It's a bit unfortunate to have to have to explain the difference between "init" and "setup" but it's for a good reason. Maybe we can find better names? "prebind_init", "postbind_init"?  I'm just thinking out loud here.

To make the below work:
class AutoEncoder(nn.Module):
  def init(self):
     self.encoder = Encoder()
     self.decoder = Decoder()

We'd have to write more logic to config these lazily once the module is bound (as inside setup), wouldn't we?

We'd have to write more logic to config these lazily once the module is bound (as inside setup), wouldn't we?

We already have such logic for modules passed as attributes


Choose the technologies to be used for the app

Have to think about which backend we should use, Python or PHP, or Node.js.


React 15.2 unknown props warnings

Fix for #291 on table and thead elements by expanding the existing filterPropsFrom with more keys.

@glittershark Is this PR still a relevant fix for the React v15.2 warnings? I'd really like to help resolve #291

👍  thanks for the PR, and sorry for the slow response


API for CTID generation

We need an API for CTID generation.
E.g. GET /api/cr/ctid returns a string in form "urn:ctid:#{uuid}"

this is already a subtask on https://github.com/learningtapestry/metadataregistry/issues/42
I'll close this one to keep all in just one place


Error when change admin route

Hi,
I changed WEBED_ADMIN_ROUTE from admincp to admin. Then when access to /admin, I got error 404.
Go to /admincp got this error.
http://prntscr.com/dbi3cm
Please check it. Thanks!

This error because of the plugin Pages is enabled but is not installed via composer. Please follow these steps:

Login to dashboard
Go to plugins --> Uninstall --> Disable the Pages plugin
Try to enable and install it again!


Fixed comparison criteria for "selectoronly" image

https://github.com/rancher/rancher/issues/2320

LGTM


Completely wrong Sunrise/Sunset

Sunrise at Vedjeön, Sweden right now is 9:27, Sunset at 14:11.
OSS reports 1037/1504.

@kokesh i just tested and the values are 9:37 and 14:02 . Those values seem quite ok to me.
What i am thinking with what you see is a timezone issue. If i am not wrong your timezone is Europe/Stockholm and your time zone offset is 1 hour?
This is what it reports here for your location, and it displays find here.
Also how did you add that location? search or GPS?

The weird thing is that it is not hour off, it is hour & some minutes. I found the location via GPS i think.

It is correct now, I'm sorry. It found location somewhere else for some reason!

Works now, my bad


Allow forwarder to forward events from files

This allows testing JobSink https://github.com/knative/eventing/issues/7732

/cc @Cali0707 @creydr


Add more metrics

Network latency
First paint
various image stats
others

ancient, poorly defined, already added first paint


Update npm version of detective

I'm using browserify-shim which depends on this project. I'd like to use it with files that use later es properties, this is possible by upgrading detective version.

Currently getting this error as a result of this outdated dependency:
Fetching registry.npmjs.org/esprima-fb/3001.1.0-dev-harmony-fb failed!


https://github.com/kubevirt/kubevirt/releases/download MISSING

Directory https://github.com/kubevirt/kubevirt/releases/download is disappeared!
Is this a BUG REPORT or FEATURE REQUEST?:
BUG

Uncomment only one, leave it on its own line:

/kind bug

/kind enhancement

What happened:
Tried to download kubevirt
What you expected to happen:
https://github.com/kubevirt/kubevirt/releases/download missing
How to reproduce it (as minimally and precisely as possible):
Check it
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):
Kubernetes version (use kubectl version):
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

Hi @jagusztinl, it might have been that the directories changed. The current releases are located at https://github.com/kubevirt/kubevirt/releases. The most feature full release is v0.18.1.
Would you please share, where did you get the link, so we can fix it? Thank you.

This https://github.com/kubevirt/kubevirt/releases was always the entrypoint to all releases. However if you download you have urls like https://github.com/kubevirt/kubevirt/releases/download/v0.18.1/kubevirt-operator.yaml

/close


feat(fieldChanges): remove FormlyPubSub in favor of fieldChanges option.

What kind of change does this PR introduce? feature
BREAKING CHANGE: removed FormlyPubSub.
Before:
constructor(private fieldSubject: FormlyPubSub) {}
ngOnInit() {
  this.fieldSubject.getEmitter(this.key).subscribe(event => {
      // ....
  })
}

After:
constructor() {}
ngOnInit() {
  this.options.fieldChanges.subscribe(event => {
      // ....
  })
}

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/formly-js/ng-formly/525)
<!-- Reviewable:end -->

Codecov Report

Merging #525 into master will decrease coverage by 0.12%.
The diff coverage is 88.88%.

@@            Coverage Diff            @@
##           master    #525      +/-   ##
=========================================
- Coverage   93.73%   93.6%   -0.13%
=========================================
  Files          18      17       -1
  Lines         766     735      -31
  Branches      207     206       -1
=========================================
- Hits          718     688      -30
+ Misses         48      47       -1

Impacted Files
Coverage Δ

src/core/src/core.module.ts
94.11% <ø> (-0.33%)
:arrow_down:

src/core/src/core.ts
100% <ø> (ø)
:arrow_up:

src/core/src/services/formly.form.builder.ts
96.4% <100%> (+0.06%)
:arrow_up:

src/core/src/components/formly.attributes.ts
93.02% <100%> (ø)
:arrow_up:

src/core/src/services/formly.config.ts
89.88% <100%> (-0.23%)
:arrow_down:

src/core/src/components/formly.form.ts
90% <75%> (ø)
:arrow_up:

src/core/src/components/formly.field.ts
92.24% <83.33%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

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


Add support for proto message validation

Summary
The following PR adds support for proto message validation.
Note: Marking the PR as a draft until it's completed
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

0 of 30 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.06%) to 52.975%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/controlplane/server.go
0
5
0.0%

internal/api/api.go
0
25
0.0%

Totals

Change from base Build<PHONE_NUMBER>4:
-0.06%

Covered Lines:
13363

Relevant Lines:
25225

💛  - Coveralls


Logger

Log test progress:

Use base64 path
Scope: Before test -> In test -> After test

Implemented


How can I get the content file?

Using react-native-document-picker I'm getting the file and trying do upload to my api. So I would like to know how can I read the file, convert to do base64 and send it.
This is how I'm trying to read the file, but i always return only the path, not the content.
// const file = base64.encode(RNFetchBlob.fs.asset(filename))
// const file = base64.encode(filename)
// const file = await RNFetchBlob.fs.readFile(filename, 'base64')
// const file = base64.encode(await RNFetchBlob.fs.readFile(filename, 'binary'))

const { fs, fetch, wrap } = RNFetchBlob
const file = fs.asset(filename)

bundle-assets://content://com.android.providers.downloads.documents/document/431/pexels-photo-267151.jpeg

Wha could I be missing?
"base-64": "^0.1.0",
"react-native": "^0.48.4",
"react-native-fetch-blob": "^0.10.8",
"react-native-document-picker": "^2.1.0",

Working with DocumentPicker + RNFetchBlob did the job.

Hi @rochapablo , I am facing maybe a similar issue. Can you please have a look at this issue #79 . Let me know if more info is needed, thanks :)

is this issue resolved or not!!!


Please consider using ynh_install_extra_repo

Hi
We noticed that you use an extra repository for your app. Using extra repository without pinning it can have consequences.
Please consider using the experimental helper ynh_install_extra_repo to handle securely any extra repo.
If you encounter any problem using this helper, please open an issue on the repo.

The app has been completely redesigned and doesn't use an extra repository any longer.


Support audits for OAuth protocol

This should be finalized... The latest commit.. Waiting on Travis

Coverage decreased (-0.006%) to 45.543% when pulling d5dc0a204c39c732497840a6ac27a1778395ddd5 on audit-oauth-user-profile into 3d5595eebb1b4f3b9d210447ddea83956a3135d8 on master.


ci: use bash script to generate client

Can I take look on this?

Can I take look on this?

Yep feel free to inspect - it is unverifiable to work in the action though :(


METRON-1215: Fix link to RPMs chapter

Contributor Comments
[Please place any comments here.  A description of the problem/enhancement, how to reproduce the issue, your testing methodology, etc.]
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[ ] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[ ] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[ ] Have you included steps or a guide to how the change may be verified and tested manually?

[ ] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && build_utils/verify_licenses.sh

[ ] Have you written or updated unit tests and or integration tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[ ] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

+1, was able to see it work in Github's view. Thanks a lot for the fix.

@DimDroll Can you put the jira number at the front of the PR name like the other PRs have please?

@justinleet, sure, done:
https://issues.apache.org/jira/browse/METRON-1215
I thought for such minor change jira case would be overkill :)

Do we need to ensure we're picking this from the right repos? We should probably use the nodesource rpm repo rather than relying on the centos build, which is a very very old version, and could cause issues. Adding a the repo file in might be a good call.

@simonellistonball Is that comment meant for https://github.com/apache/metron/pull/775?  I think you're on the wrong PR

Yes, it is, not sure how that happened. Probably too many tabs.

@DimDroll Thanks for creating the Jira. It's a pretty small thing, but it helps keep everything consistent and makes it easy to compile and search on during releases, etc.


Login State layout

TODO

[ ] Position the buttons dynamically on the canvas
[x] Make buttons have a set width so that text wont overflow

Current State (examples)

Update

Update
This is what it now looks like.

It is unlikely that this will change


include date of release in changelog

please add the date/time of version release for each version in the changelog for a better overview of the dev. process/progress.
thanks

Fixed by PR #5104


Sending to invalid slack channel only gives 404 with no user data

If you try to send an alert to an unknown slack channel the error does not give anymore information than "error: unexpected status code 404"
What did you do?
We have a number of slack channels (using a multi-tenant k8s cluster) so our receiver has the following:
channel: '{{ printf "topic-svc-%.11s" (index (index .Alerts 0).Labels "namespace") }}'
(the %.11s to ensure the channel name fits within the 21 character limit)
What did you expect to see?
As the channel name is programmatically generated it would be useful to see the whole 404 message (assuming it would show the generated channel name) or for the error to give more information on what channel the alert was going to.
What did you see instead? Under which circumstances?
The alert never reaches the user
You only see "error: unexpected status code 404" in the log
e.g.
alertmanager-k8s-0 alertmanager level=error ts=2018-11-09T15:36:28.937308263Z caller=dispatch.go:280 component=dispatcher msg="Notify for alerts failed" num_alerts=1 err="cancelling notify retry for \"slack\" due to unrecoverable error: unexpected status code 404"

This is similar to #1540 and #1541. In general, I think we should be careful about what we store (eg logging the request might contain sensitive date) but I agree that getting useful information helps a lot. The Slack documentation provides details about the returned payload and I suggest that it gets added to the returned error.


Run custom image, always cuda out of memory

I follow https://github.com/mingcv/YTMT-Strategy/issues/9 to run my custom image, but always faced the CUDA out of memory error.
My image is 3840x2160, and I resize it to 1920 x 1080. It still comes the CUDA out of memory error.
960x540 size is ok, but it's too small, I watch nvidia-smi and found the gpu memory peak achieve 73G and stable at 35G at this image size.
How can i use larger image?

Sorry for the late response. If you are simply using the reflection decomposition model in the project, you can take a look at our new work DSRNet. We have opened up a lighter model DSRNet_ S (with only 9.41M parameters), so it should not be so easy to burst the CUDA memory.

Once we have time, we will provide lighter model designs and blockwise processing of ultra-resolution images for both works.

Sorry for the late response. If you are simply using the reflection decomposition model in the project, you can take a look at our new work DSRNet. We have opened up a lighter model DSRNet_ S (with only 9.41M parameters), so it should not be so easy to burst the CUDA memory.

Thanks for reply.
I found DSRNet some days ago and I tried to train large resolution images using it but still encountering the out of memory error. Looking forward to ultra-resolution image supporting.

Sorry for the late response. If you are simply using the reflection decomposition model in the project, you can take a look at our new work DSRNet. We have opened up a lighter model DSRNet_ S (with only 9.41M parameters), so it should not be so easy to burst the CUDA memory.

Thanks for reply. I found DSRNet some days ago and I tried to train large resolution images using it but still encountering the out of memory error. Looking forward to ultra-resolution image supporting.

We do not recommend that the model be trained on large-resolution images directly. Images are desired to be divided into patches for better stability during training.

Sorry for the late response. If you are simply using the reflection decomposition model in the project, you can take a look at our new work DSRNet. We have opened up a lighter model DSRNet_ S (with only 9.41M parameters), so it should not be so easy to burst the CUDA memory.

Thanks for reply. I found DSRNet some days ago and I tried to train large resolution images using it but still encountering the out of memory error. Looking forward to ultra-resolution image supporting.

We do not recommend that the model be trained on large-resolution images directly. Images are desired to be divided into patches for better stability during training.

Currently, I need to run it(YTMT or DSRNet) on the large-resolution image. How can I fix the out of memory error?

Sorry for the late response. If you are simply using the reflection decomposition model in the project, you can take a look at our new work DSRNet. We have opened up a lighter model DSRNet_ S (with only 9.41M parameters), so it should not be so easy to burst the CUDA memory.

Thanks for reply. I found DSRNet some days ago and I tried to train large resolution images using it but still encountering the out of memory error. Looking forward to ultra-resolution image supporting.

We do not recommend that the model be trained on large-resolution images directly. Images are desired to be divided into patches for better stability during training.

Currently, I need to run it(YTMT or DSRNet) on the large-resolution image. How can I fix the out of memory error?

If you only need to do inference on large-resolution images, I recommend using the DSRNet_S and resizing the images to a suitable size. If this still cannot meet your requirements, you can cut down the width and the number of blocks of the dsrnet_s, and then retrain it on the patchified images of your own dataset.


Extensions won't sync. Settings sync sometimes.

Visual Studio Code Version : 1.8.1
Code Sync Settings Version : 2.4.3
Operating System : Windows 10 Enterprise, Version 1607, Build 14393.693
Occurs On: Download
Proxy Enabled: Yes
I can't get extensions to sync.  The settings file sync works sometimes but is a little glitchy too. I can make a change to my settings.json, then upload the new settings with Shift-Alt-U on one system.  Then I go to another system and hit Shift-Alt-D and it says I already have the latest version of saved settings, which clearly is not true.
I can work around this settings sync problem.  What really bothers me is that the extensions never sync. I am attaching a log file that I saved from the Developer Tools window. Hopefully it will help diagnose what's going on. Here is the log sync.txt.
Thanks,
Darren

@fdncred had the same issue on my new mac (downloading settings from my old machine). As a workaround I used the Force download setting in advanced settings.

@GertjanReynaert I have tried Force download several times and it never works for me. I just tried again and it downloaded my settings but still pukes on Extensions.

I have already opened on issue https://github.com/shanalikhan/code-settings-sync/issues/123 about extensions and now this is the code API limitation, I have opened an issue for feature request to allow API to get that information. You can comment there in vs code issue and let team know that we need it :)
Force Download will forcefully download the settings. Keep that option turn ON i will see what can be done for that.

I guess I wasn't clear in describing my problem.  I'm not sure how it is the same as #123.  Here's one more try.

System 1 has 10 extensions installed.
System 2 has 0 extensions installed.
I install your extension on system 2.  I expect all settings and all extensions to be sync'd.
No extensions are sync'd regardless of Force Download setting. Settings are sync'd.
System 2 only has 1 extension installed, the sync extension.

My question is, how do I make system 2 sync all my extensions that System 1 has.

Can you please share your GIST from which you uploaded the settings from System 1

I tried to make it public. Hopefully it worked.
https://gist.github.com/fdncred/72011c63827876a198dc15e3e81cbcbe

@shanalikhan See anything wrong with my gist settings?

I have just checked now and it did installed all your settings and extensions.
U need to sync settings using this extension every time when you install any extension.
Is there any console log in the code ? when you sync

I attached the log (sync.txt) in the original thread.

Did the previously attached sync.txt reveal anything interesting?

@fdncred i am unable to reproduce this, also the logs you mentioned has stack trace only in the electron not in the extension. The error is mostly about socket connection unable to connect.
Make sure you have internet settings fine for computer and code.
What more we can do it, after opening code clear the logs that are maintained in the developer console. Try hitting sync:upload or other command and see the error in the developer console and then paste it.

Same here, doesn't sync extensions

same issue with this gist https://gist.github.com/pciavald/816cbcdff7619d7c4adf110dceb0e5e9
settings downloaded but extensions don't install

https://github.com/shanalikhan/code-settings-sync/issues/668


(GH-555) Change name of entry task

Making it easier to remember, and type.
Fixes #555

@gep13 your changes have been merged, thanks for your contribution 👍


Update the Pony compiler to be able to use LLVM 4.0.1 (#1592) and 5.0.0.

This change includes the following:

Compiler code updates for changes to the LLVM 4.0.0 and 5.0.0 API.
Updates to Type-Based Alias Analysis metadata format for LLVM 4.0.0 and up.

I have removed builds and references to 3.7.1 and 3.8.1.
In the README, I'm not sure if replacing '3.8' or '3.9' with '5.0' in the names of various packages is actually valid.

Note that this PR contains a workaround for the LLVM issue, not an actual fix.

Does anybody with access to MacOS know what happened to the 4.0.1 builds?

@kulibali you want to install llvm@4 via brew

I've done some tests on my Arch Linux system after applying this PR to master and found it can pass 965 tests of the 1064 tests in libponyc.tests when I exclude tests with:
./build/debug/libponyc.tests --gtest_filter=*-Codegen*:IftypeTest.*:BareTest.Codegen_Bare*:BareTest.BareFunction*:ReachTest.IsectHasSubtypes*:CompilerSerialisationTest.*

It turns out the compiler fails on the very first set of test cases in CodegenOptimisationTest.*
$ ./build/debug/libponyc.tests
[==========] Running 1064 tests from 43 test cases.
[----------] Global test environment set-up.
[----------] 2 tests from CodegenOptimisationTest
[ RUN      ] CodegenOptimisationTest.MergeSendMessageReordering
[       OK ] CodegenOptimisationTest.MergeSendMessageReordering (55 ms)
[ RUN      ] CodegenOptimisationTest.MergeSendCrossMessaging
Segmentation fault (core dumped)

In CodegenOptimisationTest there are only two tests and if you run them together it usually fails:
$ ./build/debug/libponyc.tests --gtest_filter=CodegenOptimisationTest.*
Note: Google Test filter = CodegenOptimisationTest.*
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from CodegenOptimisationTest
[ RUN      ] CodegenOptimisationTest.MergeSendMessageReordering
[       OK ] CodegenOptimisationTest.MergeSendMessageReordering (63 ms)
[ RUN      ] CodegenOptimisationTest.MergeSendCrossMessaging
Segmentation fault (core dumped)

But not always:
$ ./build/debug/libponyc.tests --gtest_filter=CodegenOptimisationTest.*
Note: Google Test filter = CodegenOptimisationTest.*
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from CodegenOptimisationTest
[ RUN      ] CodegenOptimisationTest.MergeSendMessageReordering
[       OK ] CodegenOptimisationTest.MergeSendMessageReordering (61 ms)
[ RUN      ] CodegenOptimisationTest.MergeSendCrossMessaging
[       OK ] CodegenOptimisationTest.MergeSendCrossMessaging (29 ms)
[----------] 2 tests from CodegenOptimisationTest (90 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran. (94 ms total)
[  PASSED  ] 2 tests.

Also it has "allways" works if I run the tests one at a time:
$ ./build/debug/libponyc.tests --gtest_filter=CodegenOptimisationTest.MergeSendMessageReordering
Note: Google Test filter = CodegenOptimisationTest.MergeSendMessageReordering
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from CodegenOptimisationTest
[ RUN      ] CodegenOptimisationTest.MergeSendMessageReordering
[       OK ] CodegenOptimisationTest.MergeSendMessageReordering (61 ms)
[----------] 1 test from CodegenOptimisationTest (61 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (65 ms total)
[  PASSED  ] 1 test.
wink@wink-desktop:~/foss/pony/ponyc (test-pr2303-llvm5)
$ ./build/debug/libponyc.tests --gtest_filter=CodegenOptimisationTest.MergeSendCrossMessaging
Note: Google Test filter = CodegenOptimisationTest.MergeSendCrossMessaging
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from CodegenOptimisationTest
[ RUN      ] CodegenOptimisationTest.MergeSendCrossMessaging
[       OK ] CodegenOptimisationTest.MergeSendCrossMessaging (27 ms)
[----------] 1 test from CodegenOptimisationTest (27 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (30 ms total)
[  PASSED  ] 1 test.

If I use coredumpctl gdb to see what happened:
$ ./build/debug/libponyc.tests --gtest_filter=CodegenOptimisationTest.*
Note: Google Test filter = CodegenOptimisationTest.*
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from CodegenOptimisationTest
[ RUN      ] CodegenOptimisationTest.MergeSendMessageReordering
[       OK ] CodegenOptimisationTest.MergeSendMessageReordering (61 ms)
[ RUN      ] CodegenOptimisationTest.MergeSendCrossMessaging
Segmentation fault (core dumped)
wink@wink-desktop:~/foss/pony/ponyc (test-pr2303-llvm5)
$ coredumpctl gdb
           PID: 22341 (libponyc.tests)
           UID: 1000 (wink)
           GID: 100 (users)
        Signal: 11 (SEGV)
     Timestamp: Wed 2017-11-15 14:20:28 PST (17s ago)
  Command Line: ./build/debug/libponyc.tests --gtest_filter=CodegenOptimisationTest.*
    Executable: /home/wink/foss/pony/ponyc/build/debug/libponyc.tests
 Control Group: /user.slice/user-1000.slice/session-c2.scope
          Unit: session-c2.scope
         Slice: user-1000.slice
       Session: c2
     Owner UID: 1000 (wink)
       Boot ID: 07291a8f430b4bda94cbfe3da0bb379c
    Machine ID: 8f80fd742eae4659baed812cd07a9439
      Hostname: wink-desktop
       Storage: /var/lib/systemd/coredump/core.libponyc\x2etests.1000.07291a8f430b4bda94cbfe3da0bb379c.22341.1510784428000000.lz4
       Message: Process 22341 (libponyc.tests) of user 1000 dumped core.

                Stack trace of thread 22341:
                #0  0x000055e5c69a4e6a n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #1  0x000055e5c69a4f94 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #2  0x000055e5c699a00e n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #3  0x000055e5c699b686 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #4  0x000055e5c6a4c84d n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #5  0x000055e5c699954f n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #6  0x000055e5c699a3d0 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #7  0x000055e5c6a38c8f n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #8  0x000055e5c6a3c135 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #9  0x000055e5c69e0f8f n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #10 0x000055e5c69e0fed n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #11 0x000055e5c6a376a7 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #12 0x000055e5c68fd9c9 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #13 0x000055e5c68fc5f5 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #14 0x000055e5c68521b3 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #15 0x000055e5c69ccc74 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #16 0x000055e5c69c7cb7 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #17 0x000055e5c69ad952 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #18 0x000055e5c69ae1a2 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #19 0x000055e5c69ae818 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #20 0x000055e5c69b5652 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #21 0x000055e5c69cde35 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #22 0x000055e5c69c8af3 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #23 0x000055e5c69b423a n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #24 0x000055e5c68fe74b n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #25 0x000055e5c68fe648 n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)
                #26 0x00007f7810086f6a __libc_start_main (libc.so.6)
                #27 0x000055e5c6851cba n/a (/home/wink/foss/pony/ponyc/build/debug/libponyc.tests)

GNU gdb (GDB) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/wink/foss/pony/ponyc/build/debug/libponyc.tests...done.
[New LWP 22341]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `./build/debug/libponyc.tests --gtest_filter=CodegenOptimisationTest.*'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000055e5c69a4e6a in pool_get (pool=0x7f78156161d8, index=0) at src/libponyrt/mem/pool.c:801
801	    thread->pool = p->next;
(gdb) bt
#0  0x000055e5c69a4e6a in pool_get (pool=0x7f78156161d8, index=0) at src/libponyrt/mem/pool.c:801
#1  0x000055e5c69a4f94 in ponyint_pool_alloc (index=0) at src/libponyrt/mem/pool.c:845
#2  0x000055e5c699a00e in ponyint_serialise_object (ctx=0x7fff47ce24f0, p=0x7f780fbdc780, t=0x55e5c6dc88a0 <ast_signature_pony>, mutability=0)
    at src/libponyrt/gc/serialise.c:124
#3  0x000055e5c699b686 in pony_traceknown (ctx=0x7fff47ce24f0, p=0x7f780fbdc780, t=0x55e5c6dc88a0 <ast_signature_pony>, m=0) at src/libponyrt/gc/trace.c:114
#4  0x000055e5c6a4c84d in ast_signature_serialise_trace (ctx=0x7fff47ce24f0, object=0x7f780fbdc180) at src/libponyc/ast/ast.c:1734
#5  0x000055e5c699954f in ponyint_gc_handlestack (ctx=0x7fff47ce24f0) at src/libponyrt/gc/gc.c:619
#6  0x000055e5c699a3d0 in pony_serialise (ctx=0x7fff47ce24f0, p=0x7f780fbd4ac0, t=0x55e5c6dc8620 <package_group_signature_pony>, out=0x7fff47ce24d0,
    alloc_fn=0x55e5c6a38b96 <s_alloc_fn>, throw_fn=0x55e5c6a38bb4 <s_throw_fn>) at src/libponyrt/gc/serialise.c:225
#7  0x000055e5c6a38c8f in package_group_signature (group=0x7f780fbd4ac0) at src/libponyc/pkg/package.c:1578
#8  0x000055e5c6a3c135 in program_signature (program=0x7f780fc24cc0) at src/libponyc/pkg/program.c:288
#9  0x000055e5c69e0f8f in ast_passes (astp=0x7fff47ce2738, options=0x55e5c7b988e0, last=PASS_ALL) at src/libponyc/pass/pass.c:259
#10 0x000055e5c69e0fed in ast_passes_program (ast=0x7f780fc24cc0, options=0x55e5c7b988e0) at src/libponyc/pass/pass.c:271
#11 0x000055e5c6a376a7 in program_load (path=0x7f780fc24500 "prog", opt=0x55e5c7b988e0) at src/libponyc/pkg/package.c:933
#12 0x000055e5c68fd9c9 in PassTest::build_package (this=0x55e5c7b988d0, pass=0x55e5c6ab217c "ir",
    src=0x55e5c6ab2248 "actor A\n  be m(a: A) => None\nactor Main\n  new create(env: Env) =>\n    test(A, A)\n  be test(a1: A, a2: A) =>\n    a1.m(a2)\n    a2.m(a1)", package_name=0x55e5c6acc340 "prog", check_good=true, expected_errors=0x0, resume=false) at test/libponyc/util.cc:476
#13 0x000055e5c68fc5f5 in PassTest::test_compile (this=0x55e5c7b988d0,
    src=0x55e5c6ab2248 "actor A\n  be m(a: A) => None\nactor Main\n  new create(env: Env) =>\n    test(A, A)\n  be test(a1: A, a2: A) =>\n    a1.m(a2)\n    a2.m(a1)", pass=0x55e5c6ab217c "ir") at test/libponyc/util.cc:328
#14 0x000055e5c68521b3 in CodegenOptimisationTest_MergeSendCrossMessaging_Test::TestBody (this=0x55e5c7b988d0) at test/libponyc/codegen_optimisation.cc:60
#15 0x000055e5c69ccc74 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (object=0x55e5c7b988d0,
    method=&virtual testing::Test::TestBody(), location=0x55e5c6aec6a3 "the test body") at lib/gtest/src/gtest.cc:2078
#16 0x000055e5c69c7cb7 in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=0x55e5c7b988d0,
    method=&virtual testing::Test::TestBody(), location=0x55e5c6aec6a3 "the test body") at lib/gtest/src/gtest.cc:2114
#17 0x000055e5c69ad952 in testing::Test::Run (this=0x55e5c7b988d0) at lib/gtest/src/gtest.cc:2150
#18 0x000055e5c69ae1a2 in testing::TestInfo::Run (this=0x55e5c7a0d8d0) at lib/gtest/src/gtest.cc:2326
#19 0x000055e5c69ae818 in testing::TestCase::Run (this=0x55e5c7a0d750) at lib/gtest/src/gtest.cc:2444
#20 0x000055e5c69b5652 in testing::internal::UnitTestImpl::RunAllTests (this=0x55e5c7a0d3f0) at lib/gtest/src/gtest.cc:4315
#21 0x000055e5c69cde35 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x55e5c7a0d3f0,
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x55e5c69b5392 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x55e5c6aeceb0 "auxiliary test code (environments or event listeners)") at lib/gtest/src/gtest.cc:2078
#22 0x000055e5c69c8af3 in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x55e5c7a0d3f0,
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x55e5c69b5392 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x55e5c6aeceb0 "auxiliary test code (environments or event listeners)") at lib/gtest/src/gtest.cc:2114
#23 0x000055e5c69b423a in testing::UnitTest::Run (this=0x55e5c6de13c0 <testing::UnitTest::GetInstance()::instance>) at lib/gtest/src/gtest.cc:3926
#24 0x000055e5c68fe74b in RUN_ALL_TESTS () at lib/gtest/gtest/gtest.h:2288
#25 0x000055e5c68fe648 in main (argc=1, argv=0x7fff47ce3da8) at test/libponyc/util.cc:635

We see that the SIGSEGV happens in src/libponyrt/mem/pool.c:801:
$ cat --number src/libponyrt/mem/pool.c
...
   792	static void* pool_get(pool_local_t* pool, size_t index)
   793	{
   794	  // Try per-size thread-local free list first.
   795	  pool_local_t* thread = &pool[index];
   796	  pool_global_t* global = &pool_global[index];
   797	  pool_item_t* p = thread->pool;
   798
   799	  if(p != NULL)
   800	  {
   801	    thread->pool = p->next;
   802	    thread->length--;
   803	    return p;
   804	  }
...

If I look at *thread and *p we see that thread->pool and p are pointing at apparently bad memory:
(gdb) print *thread
$1 = {pool = 0x900000008, length = 640, start = 0x7f780f99a9a0 "", end = 0x7f780f99ac00 ""}
(gdb) print *p
Cannot access memory at address 0x900000008

Is there any other information needed or something else I can do to track down the problem?

You also need to build the stdlib tests (ponyc packages/stdlib) in release mode and run them.  On Ubuntu the stdlib executable segfaults immediately.

given the problems with getting pony installed on rolling distros like Arch, thoughts on merging this and isolating and performance hits to LLVM 4 and 5 and we can have a big shiny warning that there are definitely performance issues with the bug workaround?

I need to update this PR to deal with the changes from #2334.

Ok, the branch is all rebased and updated.
Some informal benchmarks, running time stdlib doesn't seem to be appreciably affected"
Test | LLVM | Times (s) |   |   |   |   | Average (s)
-- | -- | -- | -- | -- | -- | -- | --
stdlib | 3.9.1 | 1.613 | 1.612 | 1.568 | 1.596 | 1.571 | 1.592
stdlib | 4.0.1 | 1.522 | 1.561 | 1.539 | 1.568 | 1.499 | 1.5378
stdlib | 5.0.0 | 1.633 | 1.519 | 1.565 | 1.513 | 1.538 | 1.5536

@kulibali I've tried to build the packages/stdlib tests but the compilation fails:
$ ./build/debug/ponyc -d -s --checktree --verify packages/stdlib
Building builtin -> /home/wink/prgs/pony/ponyc/packages/builtin
Building packages/stdlib -> /home/wink/prgs/pony/ponyc/packages/stdlib
Building ponytest -> /home/wink/prgs/pony/ponyc/packages/ponytest
...
Verifying
Writing ./stdlib.o
Linking ./stdlib
./stdlib.o:stdlib:function ssl__SSLInit_box__init_o: error: undefined reference to 'SSL_load_error_strings'
./stdlib.o:stdlib:function ssl__SSLInit_box__init_o: error: undefined reference to 'SSL_library_init'
./stdlib.o:stdlib:function ssl__SSLInit_box__init_o: error: undefined reference to 'CRYPTO_num_locks'
./stdlib.o:stdlib:function ssl__SSLInit_box__init_o: error: undefined reference to 'CRYPTO_set_locking_callback'
./stdlib.o:stdlib:function ssl__SSLInit_val__init_o: error: undefined reference to 'SSL_load_error_strings'
./stdlib.o:stdlib:function ssl__SSLInit_val__init_o: error: undefined reference to 'SSL_library_init'
./stdlib.o:stdlib:function ssl__SSLInit_val__init_o: error: undefined reference to 'CRYPTO_num_locks'
./stdlib.o:stdlib:function ssl__SSLInit_val__init_o: error: undefined reference to 'CRYPTO_set_locking_callback'
./stdlib.o:stdlib:function crypto_Digest_ref_final_o: error: undefined reference to 'EVP_MD_CTX_cleanup'
./stdlib.o:stdlib:function crypto_Digest_ref_sha512_o: error: undefined reference to 'EVP_MD_CTX_create'
./stdlib.o:stdlib:function crypto_Digest_ref_md5_o: error: undefined reference to 'EVP_MD_CTX_create'
collect2: error: ld returned 1 exit status
Warning: environment variable $CC undefined, using cc as the linker
Error:
unable to link: cc -o ./stdlib -O3 -march=native -mcx16 -latomic -fuse-ld=gold ./stdlib.o -L"/home/wink/prgs/pony/ponyc/build/debug/" -Wl,-rpath,"/home/wink/prgs/pony/ponyc/build/debug/" -L"/home/wink/prgs/pony/ponyc/build/debug/../../packages" -Wl,-rpath,"/home/wink/prgs/pony/ponyc/build/debug/../../packages" -Wl,--start-group -l"rt" -l"crypto" -l"pcre2-8" -l"ssl" -Wl,--end-group  -lpthread -lponyrt-pic -ldl -lm -Wl,--export-dynamic-symbol=__PonyDescTablePtr -Wl,--export-dynamic-symbol=__PonyDescTableSize

I did some searching and I'm guessing the problem is that Arch is using libssl.so.1.1 and  SSL_library_init and the other undefines is no longer available, see openssl library initialization.
The problem might be resvoled by passing OPENSSL_API_COMPAT and OPENSSL_MIN_API with an appropriate value such as 0x10000000L or 0x00908000L.
If someone can tell me how I might pass defines when building the standard library I can give it a try.

@winksaville there’s an issue re OpenSSL dependency. This would be best discussed there.

I hacked together a change that did allow the stdlib test to work with Arch Linux running LLVM5 and OpenSSL 1.1 on top of these changes. See this post on #1838. Note, the libponyc.tests still fail as I mentioned above.

thoughts on merging this and isolating and performance hits to LLVM 4 and 5 and we can have a big shiny warning that there are definitely performance issues with the bug workaround?

I'd personally be more comfortable with merging this without the workaround and warn that the support is experimental. The reason is that I don't think that the workaround fixes every case of the bug, given the LLVM change that introduced it.

From sync: I will do the following:

Make the default in the Makefile and wscript 3.9.1, and add a warning if building with 4 or 5.
Double-check that the LLVM workaround does not appear in 3.9.1, and add a comment to clearly indicate it in the code.
Add a note in the README noting that 4 and 5 are only experimentally supported and will have performance problems and maybe other crash bugs.
Create a new issue to actually fix LLVM 4 and 5.

Ok, I have made the changes I note above, and squashed and rebased.  This should be ready to go.

My only remaining doubt is that this really increases our build load on Travis CI - I'm wondering if we should consider removing 4.0.1 from the build matrix and depend on our testing of 5.0.0 until the #2371 is resolved and we remove the old version of LLVM from the build matrix.


IndexError when evaluating custom trained set with TensorRT

I have the following situation: I have trained Yolact Edge with a custom dataset, containing only one class (+ background). When I evaluate this dataset with --disable_tensorrt or --use_tensorrt_safe_mode everything works, but when I do use TensorRT I get the following error:
.../yolact_edge/layers/functions/detection.py", line 212, in fast_nms
    classes = classes[keep]
IndexError: The shape of the mask [81] at index 0 does not match the shape of the indexed tensor [1, 81] at index 0.

I have added print statements before classes = classes[keep]:
print("\n classes : ", classes.shape)
print("\n keep : ", keep.shape)

For both of them the result was: torch.Size([1, 81]).
So I'm unsure where the problem now is: is it that Yolact Edge cannot handle custom training for only one class? Or could something have gone wrong during training? I printed the amount of classes in cfg.num_classes when starting the training and that was 2. Can anyone help me out?

Hi in "When I evaluate this dataset with --disable_tensorrt or --use_tensorrt_safe_mode everything works", do you mean and or or? If --use_tensorrt_safe_mode works for you, just use that as it is exactly using TensorRT.

Thank you for your quick response!
I meant 'or' for the arguments.
I thought that the optimal way to run Yolact Edge was without the --use_tensorrt_safe_mode, but if I understand correctly from you comment this does not influence the speed. Why is TensorRT not used in safe mode by default?

I do not see an obvious FPS drop after several iterations/optimizations of the code, but theoretically it might be slightly slower and might have some side effects. I plan to make it default some time later, but still make it remain an optional argument for now. Sorry for the confusion.

Hi,bro！ i have same problem? Do you have other ways to solve this problem?


RuntimeError

i am getting  RuntimeError("Default process group has not been initialized, "
RuntimeError: Default process group has not been initialized, please make sure to call init_process_group. issue while training MAGE  and i am using only one gpu for training.

Did you use DDP? The original code is designed for multi-GPU DDP and thus cannot work without DDP. You can follow the command in Readme and use DDP even with 1 GPU, by setting --nproc_per_node=1 --nnodes=1.

Thank you so much for your guide, now i can able to train and waiting for the result


Sanic-like background tasks

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
# this is part of a Sanic application code
# please read description/wanted code for details

async def poll_for_config_updates(app):
    polling_interval = app.config.CONFIG_UPDATE_POLL_INTERVAL  # e.g. 60s
    while True:
        await app.ctx.config_registry.update_configs()
        await asyncio.sleep(polling_interval)

@app.before_server_start
async def get_configs(app, loop):
    app.add_task(poll_for_config_updates)

Description
In Sanic, the concept of a background task refers to something different than in FastAPI -- namely, the ability to add a task to the event loop outside of the request/response concept, such as on server start.
From Sanic docs:
async def notify_server_started_after_five_seconds():
    await asyncio.sleep(5)
    print('Server successfully started!')

app.add_task(notify_server_started_after_five_seconds())

You can check out Sanic docs for more details.
In one of my applications, I use this kind of background task to run an async function that checks for updates to certain configs in the Firestore database.  You can see sample code for that task above. This task runs on server start, and stays in the background for the whole life of the application.
Wanted Solution
I am exploring migrating this application from Sanic to FastAPI, and would like the ability to run this kind of background task. It's unfortunate that the term "background tasks"  in FastAPI/Starlette becomes overloaded. FastAPI could call them 'async tasks' or something else.
I'm also not sure how this plays into FastAPI seemingly not having the concept of an application context (assuming that is still the case?)
Wanted Code
from fastapi import FastAPI

app = FastAPI()

# ... same async function as above

@app.on_event("startup")
async def startup_event():
    app.add_task(poll_for_config_updates)  # like in Sanic (the method could have another name)

Alternatives
Perhaps using Depends as described here?
Operating System
Linux, macOS
Operating System Details
No response
FastAPI Version
0.72.0
Python Version
Python 3.9.7
Additional Context
No response

I'm also not sure how this plays into FastAPI seemingly not having the concept of an application context (assuming that is still the case?)

That's still the case. Not FastAPI's issue, but actually the server itself.
Why running a long task using asyncio, anyio or trio doesn't satisfy your needs? Or the idea is to have an interface for those kind of tasks?

For asynchronous tasks, I personally use Celery. There are also FastAPI + Celery specific tutorials available online as well :D
https://testdriven.io/blog/fastapi-and-celery/

Why running a long task using asyncio, anyio or trio doesn't satisfy your needs? Or the idea is to have an interface for those kind of tasks?

Something like that may be nice.
The use case I have is I have some infrequently updated database information that the application needs but I don't want to request the data all the time as it only changes once a day or so.
I would like to periodically update these values.

Why running a long task using asyncio, anyio or trio doesn't satisfy your needs? Or the idea is to have an interface for those kind of tasks?

Something like that may be nice.
The use case I have is I have some infrequently updated database information that the application needs but I don't want to request the data all the time as it only changes once a day or so.
I would like to periodically update these values.

Sanic just wraps asyncio.create_task, anyway.
from fastapi import (
	FastAPI as BaseFastAPI
)
import asyncio

class FastAPI(BaseFastAPI):

	def add_task(
		self,
                coro,
	):
		asyncio.create_task(coro)

Sanic just wraps asyncio.create_task, anyway.

Sanic does a bit more than just wrap asyncio.create_task: https://github.com/sanic-org/sanic/blob/ac388d644b1e22156e228470fad8ea34932c080a/sanic/app.py#L1197 For one, it makes sure that the tasks are only added to the loop after the application/loop starts. It then also handles the case where those tasks are delayed, if they were scheduled before the loop started.
It also keeps track of those tasks in a registry, and cleans them up when the application shuts down.
That's probably something that can be manually copied too, but it would be nice for that to be handled by the framework.

Or the idea is to have an interface for those kind of tasks?

Yes, that's the idea 🙂 Like with Sanic, it would be great if the application could keep track of and handle the cleanup of the async tasks instead of having to do it manually -- although I do understand that for some cases that might not be too hard.


🐞 [Bug]: can't ping nodes in mainnet

What happened?
Can't ping nodes in main net
which network/s did you face the problem on?
Main
Node ID/s
1, 13
Farm ID/s
1
Relevant log output

can not reproduce, just checked with the node ids above seems working properly. maybe a network issue or so


Remove astropy dependency

This would resolve #1, remove astropy dependency.
Code and tests updated to remove dependency. Tests passing.
TODO: have not touched the docs/ yet.

I've been very aggressive with the simplification, esp. with a lot of the (what looks to me like) boilerplate from the cookie-cutter import. Feel free to recommend scaling back on that, but, currently, functionality appears to be preserved.
I'll look into adjusting the docs tomorrow.

Thanks Stefan! I appreciate the support. I'm definitely open to this if you can clear references to astropy on the docs. It should be enough to make the docs use the alabaster theme and make it so grep returns nothing for 'astropy'. Originally I was trying to integrate with astropy so I could apply to be an affiliated package and be listed on the website, but I've since lost interest. I agree this is a step in the right direction, let's bump the version up to 0.0.8 for this.
Feel free to list yourself as a co-author in the setup.py if you so fancy.

Great. I think docs are resolved. Outside of .git/ the only mention of astro is now in the changelog via grep -r -i "astro" ..
I'll leave you as the sole author :) all I've really done is delete stuff. Again, thanks for making this open source!

Actually, one final item: README says this is under Apache License, but the license I'm finding under licenses/ (this PR would move it to top level) looks to me like a BSD 3 clause. I specified BSD in the setup.py classifiers section. Just wanted to confirm -- this is BSD licensed? If so, should change README.

Oops! As far as I know BSD and Apache are compatible licenses so this shouldn't be a big deal. Let's go with Apache since that was more visible. I'll take care of that myself.


Use env to store private keys, mnemonic and keystore in tests folder

Here you can see mnemonic:
https://github.com/binance-chain/javascript-sdk/blob/master/__tests__/client.test.js#L7
I found some money on this mnemonic on mainnet too. Is it there for specific purpose?)

Ha, funny to see that it has some funds on the mainnet.. not sure how that happened. However, we use this mnemonic for some end-to-end tests.
Thanks for pointing this out - it should really be stored in an environment variable or something.


Flink controller does not properly clean up all resources created when HA is enabled

Hello. We are creating clusters with high availability enabled. For some context, these clusters are created so that one and only one job will run on them.
We set this properties on the cluster:
    # High availability properties
    kubernetes.cluster-id: ....
    kubernetes.namespace: ....
    high-availability.cluster-id: ...
    high-availability: org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory
    high-availability.storageDir: .....

The HA is enabled successfully and works without issues. We tried it by manually killing the JM and another will be brought up and the job will continue to be executed without issues.
But when we want to delete the cluster because we want to recreate it with a new property or new code, not all resources created by the HA (like the configmap) are being properly cleaned up, which means that when we relaunch the cluster, the old job will continue to exists, competing for resources with the new job being launched.
Is there a way for the controller to fully managed all resources created when HA is enabled?

Hi @martinbomio we actually talked about this today. We will be addressing this soon. Meanwhile, if this is really blocking you, you could potentially patch those configmaps with the right owner ref, but I understand this is a bit tricky;

Closed via #566


Preserve input value on changing routes

Hi @aldeed,
I couldn't find on docs how I can do this.
There is a way using the current API?
Thanks a lot!!

Hi guys,
found a way to use it in an insert form.
Use the doc attribute from the update form with a Session variable.
In this Session variable set the value of AutoForm.getFormValues('idYourForm').insertDoc)
when you click in the button you change routes.
Don't forget to cleanup this Session variable when you succeed the insert.


What is the concept of shared test config

In tests/codeception/config/config.php There is a comment stating Application configuration shared by all applications and test types. When I re-define the db config for example in the tests/codeception/config/backend/config.php the shared one still prevails! What is the concept of shared config here. I would naturally expect the specific backend config to take precedence and override the shared one!

I just figured out that defining db config in tests/codeception/config/backend/config.php doesn't even work

By doesn't work you mean it's taken from common config?

Yes it is taken from common config if it exists there. I would expect the backend config to have higher priority than common

tests/codeception/config/backend/config.php it's common testing config for acceptance, functional and unit. U need use acceptance.php or functional.php or unit.php as config file

The latest test is that database config in tests/codeception/config/config.php works as expected. When moved to tests/codeception/config/backend/config.php Yii takes the db config from common/config. So not sure what tests/codeception/config/backend/config.php is for!

Should not be the case. Because if you look at the entry file for testing, the configuration for the acceptance suite is called after the configuration for the application itself. What I am not sure of is if this would overwrite already set configurations.
@tsvetann the behavior in your app is expected because of the order in which the config files are loaded. Try having nothing in your /config/config.php pertaining to the database and only having it in /config/backend/config.php. Does that solve the problem?

Should be solved by https://github.com/yiisoft/yii2-app-advanced/pull/190


ts.createSourceFile adds parent to nodes when asked not to

🔎 Search Terms
createSourceFile, JSDoc, setParentNodes, parent
🕗 Version & Regression Information

This is the behavior in every version I tried, from 3.3.3 to 5.3.0

⏯ Playground Link
No response
💻 Code
const str = `
/** @type {number[]} */
const arr = [10, 20];
`;
const ast = ts.createSourceFile('repl.js', str, ts.ScriptTarget.Latest, false /*setParentNodes*/);
ast.statements[0].jsDoc[0].parent; // will show a parent

🙁 Actual behavior
ast.statements[0].jsDoc[0].parent is a node
🙂 Expected behavior
ast.statements[0].jsDoc[0].parent shouldn't be a node
Additional information about the issue
No response

Setting this param to true causes a second pass of the tree to fix up any parent pointers not set in the first pass. It's not a guarantee that there won't be any parent pointers (I'm not sure what anyone would do with that invariant in the first place) - the same way some nodes are constructed, the parent is already available.

I'm not sure what anyone would do with that invariant in the first place

It happens to be nice for JSON.stringify (preventing circular references).
The naming is confusing, so it should have been ensureParentNodes?

I don't think it's confusing; this is this first anyone has ever asked about it in ~9 years of existence. There are many many more problems you'll have trying to JSON.stringify the AST nodes.

There are many many more problems you'll have trying to JSON.stringify the AST nodes.

Not really, I tested with giant TS files and this works perfectly:
  const ast = ts.createSourceFile('repl.ts', str, ts.ScriptTarget.Latest, false /*setParentNodes*/);
  const out = JSON.stringify(ast, function(name, val) {
    if (name === "parent") {
      return undefined; // remove
    }
    return val; // keep
  }, 2);

But yes, nvm.


Add pulling of Docker images to Travis

This will pull images before trying to build them, speeding up build time by not having to rebuild older layers.

HOLD
It looks like it has limited success in making the build faster:

Old: https://travis-ci.org/Lab41/nbserver/builds/173114625 (20:20)
New: https://travis-ci.org/Lab41/nbserver/builds/173119584 (19:01)

We need a solution to CI and to pushing containers after merge, but this isn't it.


Migrage from vim to neovim

Replace the configuration file from .vimrc to the .config/nvim folder.


Manual approval required for workflow run<PHONE_NUMBER>

Workflow is pending manual review.
URL: https://github.com/pushpendrasingh3/manual-approval/actions/runs/7947305409
Required approvers: [pushpendrasingh3]
Respond "approved", "approve", "lgtm", "yes" to continue workflow or "denied", "deny", "no" to cancel.

approved

All approvers have approved, continuing workflow and closing this issue.


Handle client_id and client_secret in request body.

I think this works but I can't test because I can't figure out how to build this from my github repository. Go seems to use absolute repository paths for imports but I'm not a go programmer so I'm not sure what I'm doing wrong.

Thank you for your proposal, but I don't think we've agreed to accept this change.
As commented in #460, the spec is very clear that this is "NOT RECOMMENDED" and "SHOULD be limited to clients unable to directly utilize the HTTP Basic authentication scheme."
I'd really rather not add this. Particularly if it's trivial for clients to [use basic auth[(https://golang.org/pkg/net/http/#Request.SetBasicAuth).

OK no worries. I read

It might be easier to be more lax about this.

as "let's do this". I'll close


Recent update of Docker seems to have broken lazydocker - MacOS X Ventura 13.4

Describe the bug
Running lazydocker where it worked previously brings up following message.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Lazydocker --version
(base)  frank@Franks-Mac-Studio  ~/code/bunko   main ±  lazydocker --version Version: 0.20.0 Date:  BuildSource: homebrew Commit:  OS: darwin Arch: arm64
Installed via docker .dmg, upgraded yesterday
(base)  frank@Franks-Mac-Studio  ~/code/bunko   main ±  docker --version Docker version 24.0.2, build cb74dfc
docker-compose works fine
(base)  frank@Franks-Mac-Studio  ~/code/bunko   main ±  docker-compose --version Docker Compose version v2.18.1
To Reproduce
Steps to reproduce the behavior:

Upgrade Docker on MacOS X to above referenced version
Run 'lazydocker'

Expected behaviour
Lazydocker runs correctly
Screenshots

Desktop (please complete the following information):

OS: MacOS Ventua 13.4
Lazydocker Version 0.20.0 (Installed via brew)

But is the daemon running?
Can you start docker containers, pull images, and so on, from the command line? If not, try launching docker desktop and try again.

Yup docker, its CLI, the docker engine GUI, and docker-compose all work
(base)  frank@Franks-Mac-Studio  ~/code/bunko   main ±  docker-compose up [+] Building 0.0s (0/0)                                                                                [+] Running 15/0  ✔ Container bunko-frontend-1   Created                                                                           0.0s   ✔ Container bunko-postgres-1   Created                                                                           0.0s   ✔ Container bunko-rabbitmq-1   Created                                                                           0.0s   ✔ Container bunko-mongodb-1    Created                                                                           0.0s   ✔ Container bunko-vault-1      Created                                                                           0.0s   ✔ Container bunko-clamav-1     Created                                                                           0.0s   ✔ Container bunko-redis-1      Created                                                                           0.0s   ✔ Container bunko-yeti-1       Created                                                                           0.0s   ✔ Container bunko-api-1        Created                                                                           0.0s   ✔ Container bunko-celery-1     Created                                                                           0.0s   ✔ Container bunko-feeds-1      Created                                                                           0.0s   ✔ Container bunko-analytics-1  Created                                                                           0.0s   ✔ Container bunko-oneshot-1    Created                                                                           0.0s   ✔ Container bunko-exports-1    Created                                                                           0.0s   ✔ Container bunko-beat-1       Created                                                                           0.0s

Think it may be this, looks like they moved the docker.sock to my local directory?
836ae7eac192ac27 stream      0      0 836ae7eac5eeb9b7                0                0                0 /Users/frank/.docker/run/docker.sock

Was able to get it to work again with following.
export DOCKER_HOST=unix:///Users/frank/.docker/run/docker.sock

Happy to close, would recommend a warning as I think at least the MacOS Docker is moving the docker.sock around (pretty sure mine wasn't local before, as lazydocker ran fine with no explicit DOCKER_HOST set). Thanks for help.


Fix sync to work with additional regions

Description
Previously, the EKS add-on container image account was hard coded to a single account ID. However, in some regions, the account ID differs. This update adjusts the ECR repo URL to work in those regions.

Documentation

TODOs

[ ] Ensure the branch is named correctly with the issue number. e.g: feature/new-vpc-endpoints-955 or bug/missing-count-param-434.
[ ] Update the docs.
[ ] Keep the changes backwards compatible where possible.
[ ] Run the pre-commit checks successfully.
[ ] Run the relevant tests successfully.
[ ] Ensure any 3rd party code adheres with our license policy: https://www.notion.so/gruntwork/Gruntwork-licenses-and-open-source-usage-policy-f7dece1f780341c7b69c1763f22b1378
[ ] Maintainers Only. If necessary, release a new version of this repo.
[ ] Maintainers Only. If there were backwards incompatible changes, include a migration guide in the release notes.
[ ] Maintainers Only. Add to the next version of the monthly newsletter (see https://www.notion.so/gruntwork/Monthly-Newsletter-9198cbe7f8914d4abce23dca7b435f43).

Related Issues

Integration tests passed. See passing test here.

Cut an alpha release (I typically use v0.0.0-alpha.1, pointing to the PR branch, and marked as pre-release).

Note, in order to pass the minimum version check I set the tag to v0.7.11-alpha.