Daemon crashing when building big project.

I am currently trying to build a monolith with around 15 modules. With vanilla, Maven takes around 20 minutes. When I tried to build it with mvnd I am getting that somehow the daemon crashed:
13:03:16.035 I Dispatch message: KeepAlive
13:03:16.136 I Dispatch message: KeepAlive
13:03:16.236 I Dispatch message: KeepAlive
13:03:16.337 I Dispatch message: KeepAlive
13:03:16.438 I Dispatch message: KeepAlive
13:03:16.538 I Dispatch message: KeepAlive
13:03:16.639 I Dispatch message: KeepAlive
13:03:16.739 I Dispatch message: KeepAlive
----- End of the daemon log file -----
  output: C:\Users\fy95bn\.m2\mvnd\registry\0.2.0\daemon-f3678b8f-7dea-4fff-95c6-8e7915255fda.out.log
----- Last  200 lines from daemon output - C:\Users\fy95bn\.m2\mvnd\registry\0.2.0\daemon-f3678b8f-7dea-4fff-95c6-8e7915255fda.out.log -----

----- End of the daemon output -----

        at org.mvndaemon.mvnd.client.DaemonClientConnection.receive(DaemonClientConnection.java:125)
        at org.mvndaemon.mvnd.client.DefaultClient.execute(DefaultClient.java:254)
        at org.mvndaemon.mvnd.client.DefaultClient.main(DefaultClient.java:98)
Caused by: java.io.IOException: No message received within 3000ms, daemon may have crashed. You may want to check its status using mvnd --status
        at org.mvndaemon.mvnd.client.DaemonClientConnection.receive(DaemonClientConnection.java:107)
        ... 2 more

But I guess the problem is indeed when trying to ping the daemon to see if alive, because, after it crashed with the error showed above, I can see the java process is still alive (maven building)
Checking C:\Users\fy95bn.m2\mvnd\registry\0.2.0\daemon-f3678b8f-7dea-4fff-95c6-8e7915255fda.out.log:
I can see the next:
13:03:20.203 I Dispatch message: KeepAlive
13:03:20.207 E Error dispatching events
org.mvndaemon.mvnd.common.DaemonException$RecoverableMessageIOException: Could not write message KeepAlive to '/<IP_ADDRESS>:50604'.
	at org.mvndaemon.mvnd.common.DaemonConnection.dispatch(DaemonConnection.java:116)
	at org.mvndaemon.mvnd.daemon.Server.lambda$handle$3(Server.java:468)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: An established connection was aborted by the software in your host machine
	at sun.nio.ch.SocketDispatcher.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:51)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469)
	at org.mvndaemon.mvnd.common.DaemonConnection$SocketOutputStream.writeWithNonBlockingRetry(DaemonConnection.java:275)
	at org.mvndaemon.mvnd.common.DaemonConnection$SocketOutputStream.writeBufferToChannel(DaemonConnection.java:263)
	at org.mvndaemon.mvnd.common.DaemonConnection$SocketOutputStream.flush(DaemonConnection.java:257)
	at java.io.DataOutputStream.flush(DataOutputStream.java:123)
	at org.mvndaemon.mvnd.common.DaemonConnection.dispatch(DaemonConnection.java:113)
	... 2 common frames omitted
13:03:26.011 D Expiration check running
13:03:26.014 D Storing daemon stop event: after the daemon was no longer found in the daemon registry
13:03:26.015 I Daemon will be stopped at the end of the build after the daemon was no longer found in the daemon registry
13:03:26.015 D Stop as soon as idle requested. The daemon is busy.
13:03:26.016 I Updating state to: StopRequested
13:03:26.016 D daemon stop has been requested. Sleeping until state changes.
13:03:36.012 D Expiration check running
13:03:46.011 D Expiration check running

It looks like the daemon was busy doing something between the last KeepAlive message the client sees at 13:03:16.739 and the last KeepAlive message the daemon attempts (and fails) to send to the client at 13:03:20.203. There was more than three seconds between them and so the client exited concluding that the daemon is dead.
The pause may have been caused by GC, by an exhaustion of CPU resources, etc. You may want to attach jcosole to the daemon JVM to see whether GC is the cause. If so, you may increase mvnd.maxLostKeepAlive in your ~/.m2/mvnd.properties. Increasing mvnd.maxHeapSize or experimenting with other garbage collectors might also help.

I also had this at least two times while buidling Quarkus (WSL2, Ubuntu 20), the last one just a few minutes ago.
This was with a fresh daemon which is surprising because the default seems to be 2G and Quarkus recommends 1.5G.
I'll try to gather some stats the next time.

I also had this at least two times while buidling Quarkus (WSL2, Ubuntu 20), the last one just a few minutes ago.
This was with a fresh daemon which is surprising because the default seems to be 2G and Quarkus recommends 1.5G.
I'll try to gather some stats the next time.

@galegofer does tweaking mvnd.maxLostKeepAlive and/or mvnd.maxHeapSize help?

@galegofer does tweaking mvnd.maxLostKeepAlive and/or mvnd.maxHeapSize help?

So far it seems to be working after I upgraded to 0.3.0, even without mvnd.maxLostKeepAlive and/or mvnd.maxHeapSize.

So far it seems to be working after I upgraded to 0.3.0, even without mvnd.maxLostKeepAlive and/or mvnd.maxHeapSize.

Nice to hear that, let's close this and feel free to re-open if needed.

Nice to hear that, let's close this and feel free to re-open if needed.

Just happend to me with current master of Quarkus. Second run of mvnd -quickly.
mvnd native client 0.4.1-linux-amd64 (2336bde9192e9d0ccc3a5d2bf13abc9f295e21a7)
Terminal: org.jline.terminal.impl.PosixSysTerminal with pty org.jline.terminal.impl.jansi.linux.LinuxNativePty
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /home/moldowan/.sdkman/candidates/mvnd/0.4.1/mvn
Java version: 11.0.10, vendor: AdoptOpenJDK, runtime: /home/moldowan/.sdkman/candidates/java/11.0.10.j9-adpt
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.19.128-microsoft-standard", arch: "amd64", family: "unix"

Unfortunatly, I have no clue how to connect via jconsole because I'm using WSL2.

Just happend to me with current master of Quarkus. Second run of mvnd -quickly.
mvnd native client 0.4.1-linux-amd64 (2336bde9192e9d0ccc3a5d2bf13abc9f295e21a7)
Terminal: org.jline.terminal.impl.PosixSysTerminal with pty org.jline.terminal.impl.jansi.linux.LinuxNativePty
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /home/moldowan/.sdkman/candidates/mvnd/0.4.1/mvn
Java version: 11.0.10, vendor: AdoptOpenJDK, runtime: /home/moldowan/.sdkman/candidates/java/11.0.10.j9-adpt
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.19.128-microsoft-standard", arch: "amd64", family: "unix"

Unfortunatly, I have no clue how to connect via jconsole because I'm using WSL2.

Just start $JAVA_HOME/bin/jconsole and use its UI to connect to the daemon JVM

Just start $JAVA_HOME/bin/jconsole and use its UI to connect to the daemon JVM

WSL2 is headless. So I think I'll have to enable JMX and forward the ports somehow...

WSL2 is headless. So I think I'll have to enable JMX and forward the ports somehow...

Fwiw, I just tried mvnd -Dquickly on latest quarkus master, and it work 3 times in a row without any problem.  We definitely need more data.

Fwiw, I just tried mvnd -Dquickly on latest quarkus master, and it work 3 times in a row without any problem.  We definitely need more data.

Sorry to bump something so old but have we considered making the mvnd.maxHeapSize config default to null so that the JVM can decide the Xmx? This will bring it in line with vanilla Maven which leaves the heap size to the JVM unless an explicit -Xmx is passed?
It was a bit frustrating to discover that the daemon is crashing because it is low on memory especially since the observable failure is the lost keepalives instead of an OOM.

Sorry to bump something so old but have we considered making the mvnd.maxHeapSize config default to null so that the JVM can decide the Xmx? This will bring it in line with vanilla Maven which leaves the heap size to the JVM unless an explicit -Xmx is passed?
It was a bit frustrating to discover that the daemon is crashing because it is low on memory especially since the observable failure is the lost keepalives instead of an OOM.

This is a possibility, could you open a new issue for that ?

Sorry to bump something so old but have we considered making the mvnd.maxHeapSize config default to null so that the JVM can decide the Xmx? This will bring it in line with vanilla Maven which leaves the heap size to the JVM unless an explicit -Xmx is passed?
It was a bit frustrating to discover that the daemon is crashing because it is low on memory especially since the observable failure is the lost keepalives instead of an OOM.

This is a possibility, could you open a new issue for that ?


Load tracing and performance optimization

The cesium-unreal side of CesiumGS/cesium-native#267.
In addition to adding some tracing for the load process, this PR reduces load time by only generating tangents using MikkTSpace for models that have a normal map. There's also a new AlwaysIncludeTangents UProperty on tilesets that allows the user to request tangents even without a normal map, for example if the user needs them for a custom material. Tangent generation was a surprisingly large part of the model load time, especially for photogrammetry models with lots of geometry (like Melbourne), so this is a significant performance improvement.
It also will allow us (in a future PR) to avoid duplicating vertices for each triangle that they're in. THat was done primarily for the sake of tangents, and not doing that will save both memory and time.

Thanks for the pull request @kring!

:heavy_check_mark: Signed CLA found.

Reviewers, don't forget to make sure that:

[ ] Cesium for Unreal Samples works.

@kring removing the mikk tangent (and maybe using indexed triangle as well) is a huge performance boost. I got unreal render the San Diego CDB dataset now, and turning on tangent again makes that dataset frozen like before.

This looks good to me. I need to review cesium-native part and will merge after that

@baothientran told me offline that he was happy for me to merge this PR once it was updated to use the latest cesium-native. So, merging!


[BUG]  Download PDF Does not Work

Describe the bug
Created a sample resume and tried to download PDF, but it's not working. Download JSON is, but not PDF.
Product Flavor

[x] Self Hosted

Expected behavior
Successful download of the PDF.

Also, the public URL download PDF does not work either. Here's a sample of the resume to test with: http://<IP_ADDRESS>/r/ZzusZqSe
Thanks,
Mo

Duplicate of #721


Needs better documentation

Hey guys,
I wanted to contribute to the documentation for the project because I think this is an awesome project but the lack of solid documentation is making it a bit difficult to pick up on usage.
I just wanted to start a conversation about what would be ideal as far as documentation goes. It seems right now we have:

General overview in ReadMe.md at the root
Various examples in the examples folder

Should we consider moving these sections to the Wiki to allow better structuring and navigation moving forward? The documentation for this particular project could and should become fairly large the more that is covered in IIS.

So I like the idea here and I totally want to support in getting better documentation in general. Could you give me an idea of what you are looking to cover here vs what we would find in PowerShell/PowerShell-docs?

Nothing crazy different from what you have now. Just structured out with links to make it a bit easier to navigate.
i was thinking something close to the msdn documentation for production DSC Resources (Example: FileResource) would also benefit for each of the resources. Having the syntax, properties and an example instead of just the properties would be great.
Maybe outlined something like:
-Overview
-Resources
--xResource
---Syntax
---Properties
---Example
--xResource2
---Syntax
---Properties
---Examples
-FAQ
--WebAdministration vs xWebAdministration vs cWebAdministration
--How do I contribute?
--The future of xWebAdministration
--Others??
-Examples
--Registering PHP
--Stopping the default website
--Create a new website
--Creating the default website using configuration data
--All resources (end-to-end scenario)
--Community Blog / Examples (List of blog postings regarding the project)

Seems pretty good. Why are you interested in using the wiki instead of a collection of markdown files? The markdown files may allow us to use similar build processes and publishing steps as the powershell docs script (ultimately allowing us to publish on msdn would be my goal here). Just kind of thinking out loud here, so grain of salt here.  Is the wiki just giving a better structure? Could we rejigger the readme.md to point to these files?
running through this quickly as my battery is dying, I'll try to give this more thought overnight and get back to you.

This is the magic of the wiki. It is a git repo of just MD files.
https://help.github.com/articles/adding-and-editing-wiki-pages-locally/
It is just the standard location for storing your collection of MD files I think.

Might be worth looking at how the xSharePoint resource does it. I seem to recall that @BrianFarnhill mentioned something about how they have an automated process to build the wiki content from the Resource MOFs. Might be worth adopting the practice that repo is using?

Yea we do some stuff automatically at this point - here's the quick run down:

Comments to the schema.mof file for description and examples
Description property used on all properties in schema.mof file
Custom PS script grabs all of this and generates:

Custom help for the PowerShell module as "about_xSPResourceName"
Wiki pages that I then commit in to the wiki repo

An example of the documentation is on xSPCreateFarm.schema.mof
An example of the generated help in the PS module can come from what's in the latest dev feed
Lastly an example of the wiki documentation is also available for xSPCreateFarm
This allows us a few benefits:

I can code review the documentation at the same time as the pull request that comes in
We have consistent documentation on the wiki and in the module itself
We don't need to write the doco for the parameters table as that gets generated from the schema itself, meaning we write less doco manually

Happy to discuss it in more detail if anyone is interested

Could you share the PS Script that does this automagic? This seems pretty awesome.

@BrianFarnhill -- drool
That sounds great. All I would be doing then is creating examples, reviewing the script output and enjoying the power of the xWebAdministration module.

@Tiberriver256 Glad you like the sound of it :)
@tysonjhayes There are a couple of scripts you need to look at:

First is the cript that parses the MOF files - check out the Get-MofSchemaObject function in my Test helpers module to see how we read the MOF files in to manageable objects in scripts. This could be a little more robust (I know it gets a little touchy about casing and spacing in some scenarios right now, haven't had time to touch it up though)
Next the script to generate the wiki pages will be used to spit out the markdown files based on the data we collected about the MOF files
Lastly the script to generate the PS help files will generate the help files for the module. We actually integrate this in to the AppVeyor build process as well so that every build has the doco that is correct for the schemas in that build

Might I suggest that we see if we can integrate some of this process into the DSCResource repo? It seems like it might be pretty useful to many of the other resource modules that are starting to get pretty big (e.g. xActiveDirectory).

Worth discussing - @tysonjhayes can you ping me an email internally (look me up in the GAL) with the other relevant people/usual suspects cc'ed and we can get some agreement and set standards on this sort of stuff going forward?

Sorry for the delay here I'll try to send out some communication today.

@BrianFarnhill - anything I can help with to get this stuff into the DSCResource core? There is some work being done on this at the moment and if we can at least get some templates in place it'll get things moving. I'm happy to help out if I can.

I was just sending @tysonjhayes an email about this - just wanted to make sure we all get on the same page in terms of how all the modules can use this first, then we can move forward on it. I'm more than happy to split the code out and show it in to the core DSCResource bit though

Just checking back in. Let me know when you guys come to a consensus and I'll lend a hand where I can.

Hey @Tiberriver256 - so I've been rolling around some changes I wanna make to the xSharePoint resource's approach to documentation generation before we try to look at how we can make it a more widespread thing (I captured an issue for it in my repo this morning). I want to better structure my examples to be 'per resource' rather than just in the comments of the MOF file like they are now so they can be a source of official examples as well as documentation too. From there the only comments in the MOF are the description, which I think there has to be a better place to put it than in the MOF file itself (yes its valid but its not obvious - it just solved the need for us to make sure we got the documentation in at the same time as the PR). So once we tackle that and aren't depending on filling the MOF's with comments for this, that's the point that I think we take this wider.

OK so breathing back on the embers of this one - I've actually now got the documentation model that I would rather put forward as a work in progress in my fork of SharePointDsc
Basically in the current model there are a few things we do:

Keep "description.md" in each resource folder with the description of each resource
Keep examples for each resource in /Examples/Resources/[ResourceName]/*.ps1 where the description of each example is in a PowerShell help comment at the top of the file

In the /DocoHelpers directory I have a couple of files here:

The first generates the PowerShell friendly help files
The second generates the wiki pages for git hub

Both of these processes will combine the following data in to each docoument:

Details from the schema.mof file for each resource, including the description and parameter details
Description from the description.md file for additional text content
Each example in the examples folder for that resource are added and the example comment for it is formatted appropriately based on the type of document we are generating

This is way cleaner than the MOF schema comments we did - I'll update my appveyor.yml file to remove all the description.md files from a release build (theres no need for them to ship), and our build already generates the powershell help and adds that so that's covered as well. Plus we have a nice neat model for the examples as well that are specific to each resource that we can also test for parser errors because they are valid PowerShell, meaning if we make a breaking change to a resource then it should also fail the pester tests if we don't also update the examples as well.
Anyway have a kick around that branch of mine while I write up the rest of our doco over the next few days and let me know what you think. If it looks worthwhile we could look at moving the stuff from my docohelper directory in to one of the main DSC repos and pull it from there in to each resource that wanted to take this approach.

@BrianFarnhill Love the DocoHelper scripts. Love the idea of setting up the wiki for every resource. :+1:
I think the 'comment at the top' method for example (and test) documentation works well.
For tests, we can also include a comment at the top for how to run the test properly (what WMF should be installed, other programs that need to be installed, any other dependencies).
The extra 'Resources' folder under the 'Examples' folder is not needed.
This is my current mock-up (not finalized) for a standard resource module structure incorporating this model of documentation:

MyResourceModule

README.md (Link to license, contributing doc, code of conduct, etc)
MyResourceModule.md (Overview of module with links to each resource explanation)
Changelog.md (Unleased changes and past release notes)
DscResources

MyResource

MyResource.psm1
MyResource.schema.mof
MyResource.md (Explanation of resource - a.k.a. 'description.md')

Tests

MyResource

MyResource.Unit.Tests.ps1 (With appropriately formatted comment at top) (tests for individual functions - does not run a configuration)
MyResource.Configuration.Tests.ps1 (With appropriately formatted comment at top) (tests with configurations)

Integration (tests with multiple resources working together)

Examples

MyResource

MyResource.Scenario1.ps1 (With appropriately formatted comment at top)
MyResource.Scenario2.ps1 (With appropriately formatted comment at top)

Integration (examples with multiple resources working together)

We can remove any unnecessary .md files along with the appveyor.yml file before release.
One other suggestion is that we could add a Documentation file in the root folder that would contain all the .md/description.md files. Then that folder could just be deleted from a release.
I'm not sure about the Pester tests failing when examples are not updated when a breaking change has occurred. How would the tests be able to tell that a breaking change has occurred rather than a smaller/not-affecting-functionality change?

@kwirkykat Awesome, so a couple of things there. Firstly I have that resources folder inside the examples because I still want to provide some other examples (which don't exist yet) that are complete examples rather than resource by resource, so I figured I would separate them based on folders like "resources" and "full examples" or something like that.
Also I decided to rename the description.md files to readme.md so they show when you browse to that folder in source control on GitHub.com as well.
In terms of the "MyResourceModule.md" that you want to have, would this not just be the home page of the wiki?
Lastly in terms of the breaking changes bit - the scenario that comes to mind is one we got caught out in for SharePointDsc where we changes a property from a string to PSCredential, which broke the example and we missed it in our updates so we released a bad example. Now that the examples are full and valid PowerShell (this is why I wrap my examples in the full Configuration element) we should be able to test them for parser errors and have that written in to a pester test. So a non-breaking change might slip through the cracks if the examples are updated, but at least the stuff that will break when customers pick these up will get caught so we can help ensure we don't ship broken examples and documentation moving forward.

@BrianFarnhill I do really like that GitHub displays the readme.md for each resource when you open it up. That's cool. I don't think it really matters much what those md files are named, so making them readme.md works fine since it adds the cool GitHub display.
"MyResourceModule.md" probably is just the homepage of the wiki, so we could take that out and then just put a link to the wiki in the README (so people who don't know about GitHub wiki's can find it).
Ok. So the pester tests would just check for parse errors in the examples. That would be great. We would probably add that to the common tests. Those example tests would help with the HQRM plans to.
Updated module structure with documentation:

MyResourceModuleDsc

README.md (Link to license, contributing doc, code of conduct, wiki, etc)
Changelog.md (Unreleased changes and past release notes)
Resources

MyResource

MyResource.psm1
MyResource.schema.mof
README.md (Explanation of resource)

Tests

Resources

MyResource

MyResource.Unit.Tests.ps1 (With appropriately formatted comment at top) (tests for individual functions - does not run configurations)
MyResource.Configuration.Tests.ps1 (With appropriately formatted comment at top) (tests with configurations)

Integration (May be renamed) (tests with multiple resources working together)

Examples

Resources

MyResource

MyResource.Scenario1.ps1 (With appropriately formatted comment at top)
MyResource.Scenario2.ps1 (With appropriately formatted comment at top)

Integration (May be renamed) (examples with multiple resources working together)

@kwirkykat Should the tests folder still have both "Unit" and "Integration" inside of it to group the unit and integration tests?

My doco helper module is almost complete, I did have to raise another discussion with regard to taking the doco out of the readme file - linking it here as its related

This is being worked on in https://github.com/PowerShell/xWebAdministration/pull/290.


[91] Decode Ways

Codecov Report

Merging #64 (ecad47f) into master (408b6dd) will increase coverage by 0.3%.
The diff coverage is 94.2%.

Impacted Files
Coverage Δ

src/problem/p0091_decode_ways.rs
94.2% <94.2%> (ø)

https://github.com/ben1009/leetcode-rust/pull/63#issuecomment-1538017204


Move strprintf::(anon)::fmt_impl to a detail namespace

When I wrote our strprintf, I didn't realize that anonymous namespaces have internal linkage, i.e. each .cpp file will have its own implementations. As a result, Newsboat binary contained multiple instantiations for the same types, for the grand total of 191Kb:
$ bloaty -d symbols -n 50 newsboat | grep -i fmt_impl
0.2%   191Ki   3.6%   183Ki    newsboat::strprintf::(anonymous namespace)::fmt_impl<>()

By moving the function into a named namespace, I'm allowing the linker to throw out duplicates, reducing the amount of code almost twofold:
0.1%   108Ki   2.0%  98.7Ki newsboat::strprintf::detail::fmt_impl<>()

bloaty above is Bloaty McBloatface, a size profiler for binaries: https://github.com/google/bloaty
This commit is inspired by this blog post: https://www.zverovich.net/2020/05/21/reducing-library-size.html
Kudos to @ttldtor for pointing out my mistake with namespaces.
I looked through the rest of -d symbols output, but didn't spot anything else. Apparently a more trained eye is required for that.
Reviews are welcome. Otherwise, I'll just merge in three days.

Coverage increased (+0.03%) to 56.332% when pulling 776e15eeb214e6f0c36416c36190154cb1333615 on feature/bloaty-impovements into 448ca76514c56f5730b3459c1082be83d828bf06 on master.

Thanks! Let's merge it then.


Decreasing the loading time of the application

According to lighthouse
Desktop:

Mobile

Presently in lighthouse the performance we have it around 60 and 42 which is really poor, we have to aim to get it more than 95%

Hi @jjinendra3, can you kindly take up this issue, you might have to explore some parts but I guess it will be easy for you,
let me know your thoughts on this

Hey @krishnaacharyaa , sure, i will try my best for the same, please assign it to me :)

Hey @jjinendra3, can you please consider converting all the jpg in the sample database to webP format? That would also add up in the boosting of performance ofcourse and for the future we'll anyway have a drop a file option for images there we can optimize once it is stored in platforms like cloudinary or so.
If you feel it can be covered in this story we'll do it here, if you feel it requires dedicated time, we can create a enhancement issue for that :)

Hey @jjinendra3, can you please consider converting all the jpg in the sample database to webP format? That would also add up in the boosting of performance ofcourse and for the future we'll anyway have a drop a file option for images there we can optimize once it is stored in platforms like cloudinary or so.
If you feel it can be covered in this story we'll do it here, if you feel it requires dedicated time, we can create a enhancement issue for that :)

Yeah i figured this out yesterday night that the images are the ones taking too much time hence lowering the performance, the webp bg has also increased the performance score in lighthouse as compared to 60 & 42, i will convert all of them to webp files, no issues, no need to create a different issue for that, but thinking a permanent solution so that whenever the user adds images, no issue comes up is integral .

Yeah for that, may be for now we can allow users to just add in form of webP images, in long run I have planned we will give them opportunity to upload images and we can deploy it elsewhere and decide the format in which it is stored, and also consider coversion of image types if needed in the backend.

The image conversion did have an impact, but the performance is still not up to the mark (~80), primarily due to a high Longest Contentful Paint (LCP) score. There are two main reasons for this: React Router DOM and React Icons.
React Router DOM is an essential library for the website and cannot be removed. I'm confident that the build will have more efficient DOM usage compared to the localhost.
As for the issue with React Icons, I suggest removing the package and replacing it with a CDN like FontAwesome. Although there are some associated issues with FontAwesome, it should significantly improve the performance.
Please let me know the steps I should follow next.
P.S. The suggested updates will result in a higher score on Lighthouse. In reality, the webpage now loads almost instantaneously after the WebP conversion update.

Also , i have added a package called compression in the backend which compresses the html css js to gzip format which has also contributed in faster FCP (First Contentful Paint).

Thank you for your detailed research efforts and time, much appreciated. Sure sounds great, can you consider changing the react icons with fontawesome ? and about react router is there any type of optimization that we can do? could you explore a little on that.
May be after fontawesome conversion, raise a PR, I'll remove the authorization part of deployment so you dont have to wait for my approval for the build every time you change, so you can get proper estimate in the runtime.
However the vercel server may be slow and we cannot do anything about that, one resolution would be purchasing a server and deploying, which presently is not at scope, the most we can do is presently to have the ideal lighthouse score that should do :)

Thank you for your detailed research efforts and time, much appreciated. Sure sounds great, can you consider changing the react icons with fontawesome ? and about react router is there any type of optimization that we can do? could you explore a little on that.
May be after fontawesome conversion, raise a PR, I'll remove the authorization part of deployment so you dont have to wait for my approval for the build every time you change, so you can get proper estimate in the runtime.
However the vercel server may be slow and we cannot do anything about that, one resolution would be subscribing to a aws server and deploying, which presently is not at scope, the most we can do is presently to have the best lighthouse score. That should do :)

Got it, on it!👍

Found an alternative to react-router-dom named Wouter which was actually created to specifically tackle this performance issue, it has all the main features of router-dom, i would recommend you go through a blog on it Wouter

Seems like the closes issue number we missed the pattern so it is not auto closed, for now linking manually, please look into this next time and let me know if some changes is required in the PR template

Closing as resolved


PhantomJS spawns many child processes

Which version of PhantomJS are you using? Tip: run phantomjs --version.
PhantomJS v2.1.1 + selenium 2.53.1 + python 2.7

What steps will reproduce the problem?

I'm starting PhantomJS (v2.1.1) with Selenium (v2.53.1) in my python code. Newly created process spawns 19-20 child PhantomJS processes right after start.
Here comes what I did:
>>> from selenium import webdriver
>>> dcap = webdriver.DesiredCapabilities.PHANTOMJS.copy()
>>> dcap["phantomjs.page.settings.userAgent"] = "Some UA string"
>>> b = webdriver.PhantomJS(desired_capabilities=dcap)
>>> b.service.process.pid
28304

After that I checked all the children of 28304 with pstree and saw:
> sudo pstree -p 28304
phantomjs(28304)─┬─{phantomjs}(28305)
                 ├─{phantomjs}(28306)
                 ├─{phantomjs}(28307)
                 ├─{phantomjs}(28308)
                 ├─{phantomjs}(28309)
                 ├─{phantomjs}(28310)
                 ├─{phantomjs}(28311)
                 ├─{phantomjs}(28312)
                 ├─{phantomjs}(28313)
                 ├─{phantomjs}(28314)
                 ├─{phantomjs}(28315)
                 ├─{phantomjs}(28336)
                 ├─{phantomjs}(28337)
                 ├─{phantomjs}(28338)
                 ├─{phantomjs}(28339)
                 ├─{phantomjs}(28340)
                 ├─{phantomjs}(28341)
                 ├─{phantomjs}(28342)
                 └─{phantomjs}(28343)

Which operating system are you using?
Ubuntu 14.04.1 LTS (GNU/Linux 4.5.0-x86_64-linode65 x86_64)

Did you use binary PhantomJS or did you compile it from source?
Binary

Please provide any additional information below.
Is this an issue? How can I decrease the number of children to decrease memory usage?

I'm pretty sure, that you see child threads, not processes

There is no huge difference and this changes nothing. ps says all of the above are phantomjs instances. PhantomJS starts these subprocesses by default and this sufficiently increases memory usage. Is there a way to decrease the number of threads or get rid of them at all?

I have same problem. I solved her with help dirty method - run "killall phantomjs" as a shell command in end my script.

It's not a PhantomJS instances, but its threads. And it's a big difference (processes vs threads). I'm not sure, but it sounds impossible to make such thing work in single thread by design.


UI - Provide a way to see logs when Electron app is launched from prod builds.

Setup:
Build electron app from from repo - https://github.com/gptscript-ai/ui
npm install
npm run build:electron

When I hit issues were threads/assistants get stuck in "loading" state forever , there is no way for me to figure out what might be going wrong here.
There is no way to track any error logs when launching app in prod mode. It would be good to have the error/access logs put in some location that user will have access to.

The logs are now written to logs files. On mac, they are stored in ~/Library/Logs/acorn.

The logs are now presented in ~/Library/Logs/acorn. There is an issue with server related log files are not being logged when app is started in production mode which is tracked in https://github.com/gptscript-ai/desktop/issues/274


It is also fetching non title words from string. See the examples in description

from find_job_titles import FinderPyaho
finder=FinderPyaho()
finder.findall('I am the retailer')
[Match(start=11, end=16, match='tailer')]
Note: It is fetching tailor from 'retailer'
finder.findall('SBBSBPresidentAAAAA')
[Match(start=5, end=13, match='President')]
Please have a look. It should fetch the complete word not sub-string.

I stumbled on this behaviour as well and I believe that that is a characteristic of the Aho-Corasick algorithm itself that is used for the string search.
As a workaround I recommend simply checking the previous and next characters for any kind of whitespace.


Use flex-container for dashboard layout

Added new class flex-container-sidebar to cover the dashboard sidebar. Previously this was 37.5% with more padding. Now there is less empty space between the two columns and this matches other pages like repo or admin settings page.
Desktop:

Mobile:

When use flex for a large container, the overflow should be tested, for example:  Fix flex container width #28603

@wxiaoguang no overflow issue from what I can see:


Boyer-Moore Majority Voting Algorithm

Fixes #43
Short description of what this resolves:

new lesson : Boyer-Moore Majority Voting Algorithm
What Changes proposed in this pull request:

Made a lesson on Boyer-Moore Majority Voting Algorithm.

Checklist

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added code examples, test must pass
[x] Added documentation so that the program is self-explanatory and educational.
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:
@Utkarsh1504  please review this pr.

Nicely done, I really appreciate your efforts, 🎈🎉
Thank you!


update client name in typescript.md

This is for SDK generation, I don't think ARM review is need here.


MoveToMapPokemon JSON format is not valid error

Expected Behavior

To be notified only if there's an error
Actual Behavior

Receiving JSON error but JSON is valid
Your FULL config.json (remove your username, password, gmapkey and any other private info)

{
"type": "MoveToMapPokemon",
"config": {
"enabled": true,
"address": "http://localhost:5010",
"max_sniping_distance": 333,
"max_walking_distance": 333,
"min_time": 240,
"min_ball": 5,
"prioritize_vips": true,
"snipe": false,
"snipe_high_prio_only": true,
"snipe_high_prio_threshold": 799,
"mode": "priority",
"map_path": "raw_data",
"walker": "StepWalker",
"max_extra_dist_fort": 5,
"update_map": false,
"snipe_max_in_chain": 21,
"debug": false,
"catch": {
"Bulbasaur": 801,
"Mew": 2600
}
}
},
Output when issue occurred

[2016-09-08 21:44:28] [MainThread] [MoveToMapPokemon] [INFO] Failure! JSON format is not valid
[2016-09-08 21:44:29] [MainThread] [MoveToFort] [INFO] Moving towards pokestop Statue of Minerva - 48.24m
[2016-09-08 21:44:35] [MainThread] [MoveToMapPokemon] [INFO] Failure! JSON format is not valid
[2016-09-08 21:44:35] [MainThread] [MoveToFort] [INFO] Moving towards pokestop Statue of Minerva - 46.17m
Steps to Reproduce

Other Information
OS: Windows

Branch: dev

Git Commit: 732463c

Python Version: 2.7.12 64-bit

Any other relevant files/configs (eg: path files)

Only happening with MoveToMapPokemon task. JSONlint says JSON is valid.
Reverted to commit fcccb0f and the error goes away and it finds pokemon on the list and working as it did previously.

ran with debug on and got this-
[2016-09-08 22:42:45] Failure! JSON format is not valid
[2016-09-08 22:42:45] No pokemons in list to snipe
[2016-09-08 22:42:47] Failure! JSON format is not valid
[2016-09-08 22:42:47] No pokemons in list to snipe
[2016-09-08 22:42:50] Failure! JSON format is not valid
[2016-09-08 22:42:50] No pokemons in list to snipe
pogom is running fine, not sure what's going on here.

Looks like there is an error of output from http://localhost:5010

agreed

Same problem here! I think it has something to do with the new commit in Pokemon map and the format of JSON reply from their api. I might be wrong though. Could someone please check it. As it is now if you update both bot and the map then it would throw JSON format not valid!

@mjmadsen after noting your comment i tried port 5000, same error. If I observe catchable-etc.json open in SublimeText I can see pokemon values changing in real-time and they are printed as valid JSON. Also, If I simply copy catchable-etc.json to the folder I have commit fcccb0f and immediately run the bot it works as intended and goes after the exact pokemon recently written to catchable-. The next thing I tried was enabling social, upon doing so the error went away. To me it appears the error is somehow tied to map-chat. Again, commit fcccb0f does not give me this issue. If it works for fcccb0f, then how could there be an output error?

try to change:
"address": "http://localhost:5000" to "address": "http://localhost:5000/raw_data",

@sohje 's solution works!
Should I start using /raw_data from now on if I want to only pursue pokes from my scanners?

Yeap

New code doesnt concat address + map_path => localhost:5000/raw_data.
You should add url to the address option.

ok cool, thanks again.

Then a dev needs to update the config.json.map.example to match this change.

@sohje i had the same issue and for addition to https://github.com/PokemonGoF/PokemonGo-Bot/issues/5313#issuecomment-245940773 i had to set "map_path" to blank "".

Just to clarify some things, "map_path" is deprecated at all but wasnt removed from the docs yet. Sorry about that.


Removed reference to TSec in documentation

I removed the reference to the TSec library in the documentation as it seems like it is in the process of being deprecated. The original repo is archived and the fork https://github.com/davenverse/tsec has this in the readme: This software is in the process of finding its way out of your builds. This is maintained only for compatibility and security fixes. We hope you will work with others to find solutions to this space for the Scala community.
There is also:

https://github.com/pac4j/http4s-pac4j
https://github.com/profunktor/http4s-jwt-auth

A link to these could be useful, but they might grow stale like the TSec one, and it is probably not the responsibility of the http4s documentation to link to these?

I think it's fine and good to have recommendations, but not to have recommendations to abandonware.  :+1: to this, but I'd welcome pointers elsewhere.


[lcm] Fix/lcm tools

Describe the pull request

What does your PR fix?
Fixes #24408

Which triplets are supported/not supported? Have you updated the CI baseline?
All triplets should be supported, have not updated the ci baseline

Does your PR follow the maintainer guide?

If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/

Are you trying to fix the build error of Linux？You can click this link to get the error log: https://dev.azure.com/vcpkg/public/_build/results?buildId=71346&view=artifacts&pathAsName=false&type=publishedArtifacts

I think it just timed out?

Error message:
CMake Error at scripts/cmake/vcpkg_copy_tools.cmake:70 (message):
  Couldn't find tool "lcm-example":

      "/mnt/vcpkg-ci/packages/lcm_x64-linux/bin/lcm-example" does not exist

@venabled, could you please take a look at the failures? it looks no tools that generated on linux.

Closing this PR since it seems that no progress is being made. Please reopen if work is still being done.


fix(client):bug:: Fix button once handler from not working after an error occurs

This PR will fix the original button | once handler from disabling in the event an error occurs. The buttons will now continue to work after an error has appeared while also only calling the attached function once.

Forgot to add the fix to the splash page button too

Looks good to me. The user could hypothetically remove the disabled property and then spam but idk if there's a way to check serverside to rate limit their requests

I feel like server side rate limiting is outside the scope of this card

I feel like server side rate limiting is outside the scope of this card

I would agree just throwing the idea out there


Paru needs a rebuild for new pacman version

if rebuild is broken use yay in meantime

using yay, paru currently not working


Out of Band support

Can you please add support for out of band (pin-based) authentication (which uses oob as the callback url)? See Twitter docs.
Thanks for this great project.

Actually it should just work, instead of redirecting to the URL returned from login() I can just show it to the user, and the pin becomes the oauth_verifier passed into callback().


Add Ready to Pickup email Information in Assign Picker Modal

What is the motivation for adding/enhancing this feature?
Currently, our system lacks visibility regarding the ready for pickup email status of orders in the assign picker modal.
What are the acceptance criteria?
Add a "Ready to Pickup" status information within the assign picker modal. This will enable the staff to know that the customer is informed to pickup the order and order is moved to the Packed tab.
Can you complete this feature request by yourself?

[ ] YES
[ ] NO

Additional information

https://jam.dev/c/57d22b4b-6ad6-4e05-8f9e-721e6ec0a729
Current Behavior - If tracking is not enabled from the settings and user is trying to pickup the order then a alert is generated for 'Ready to Pickup' and in case if tracking is disabled then user is prompted with picklist without any alert for 'Ready to Pickup'.
Expected Behavior - If tracking is disabled then user should receive the alert for 'Ready to Pickup' in the picklist modal itself.


Fix: Approve xcm

Correct filter of WOW accounts on Approve modal
Info popover for Approve signatories can drop out until you pass more that 7 accounts (same logic from on Validators modal)

Task linked: CU-862kd5y3x Multisig XCM approve\reject lead to empty screen.


[5.6] Adds ability to generate single action controller

This pull request adds ability to generate single action controller by specifying --action flag like this:
php artisan make:controller ShowProfile --action

The --action parameter is ambiguous to me. Aren't all controllers containing actions? And a --single-action is also weird, that makes it sound like the user need to know how many actions their controllers will contain up-front.
Would it make sense to extend it to allow the user to automatically create actions? make:controller --actions=showThis,doThat,invokeSomething, which would allow them to make:controller --actions=__invoke?
Or perhaps a make:controller --only-a-invoke-method-as-single-action?

You might be better off calling it a Handler instead of a Controller.

@taylorotwell it's --invokable now

@ogunkarakus
Route::post('/comment', 'StoreCommentController')->name('comment.store');

Why would you want to generate a single action controller vs a regular controller?
What is the different between the two?
What is the net gain?

Relevant: https://jenssegers.com/85/goodbye-controllers-hello-request-handlers

IMO single action controllers are very much a part of modern web development. No one is making a controller something it's not. It's simply a controller with a single action that handles one specific purpose instead of a controller with 7 actions and 7 different purposes.
I have my own package that handles this, but glad to see it baked in.

@taylorotwell added information about --invokable flag to docs in this PR: https://github.com/laravel/docs/pull/4389

@hivokas Nice idea :)
@taylorotwell I have a question. What's wrong with my previous PR? - https://github.com/laravel/framework/pull/17821
Looks demotivating for me...


Feat: Improve Footer's UI with better Styling

Describe the feature
Currently the footer looks like
in big screen

and
in Smaller screen

so we can improve the UI with Better UI and styling
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@upsaurav12 Issue assigned to you


hg38 auxiliary data

Hello, I ran mity on some hg38 dataset, but the end result appeared to be missing many annotations (I compared to the exact same dataset run with the hs37d5 MT).  The variants were mostly the same although there were 11/34 missing from the hg38 run.  Is there something I'm doing wrong?

Thank you for this report. I have done less testing with hg38, so it could be at our end. Is solving this still of interest to you?
thanks

Thank you for this report. I have done less testing with hg38, so it could be at our end. Is solving this still of interest to you?
thanks

In general, yes I'm still interested in mity.  I would need to dig up where I did the original test if you need some info from me, since it's been a while.

In general, yes I'm still interested in mity.  I would need to dig up where I did the original test if you need some info from me, since it's been a while.

Hi @holtjma, v0.2.1 has fixed this. If there's any dramas, please let me know


Review English typos/grammatical errors in source code

Hey, Could you assign this issue to me. I would love to make a PR on this. Thank you!

Hey, Could you assign this issue to me. I would love to make a PR on this. Thank you!

Assigned, thanks!


Might be dropping valid pokemon

So, we talked about why this might miss some pokemon. I think it's because of this: https://github.com/PokemonGoMap/PokemonGo-Map/blob/develop/pogom/models.py#L407
TimeTillHiddenMs is sometimes returned as an invalid (negative or very large) value from the server, but the pokemon are still there. These are capped to 15 minutes instead of dropping them altogether on the pogomap, so it might be worth doing that here too. I can supply a pull request probably tomorrow, if you like.

Haha oops. I fixed that yesterday but forgot to commit. See: https://github.com/Droeftoeter/nearby-pokemon-notifier/commit/3fc54dd0ff534bc23b31f395b8e30111b26289f6

Awesome :)

Fixed ;)


TypeError: init() got an unexpected keyword argument 'num_symbols'

Im trying to train the model provided in the script at:
scripts/train/train_en_de.sh
and I got an error
TypeError: __init__() got an unexpected keyword argument 'num_symbols'
Can you let me know what I am missing?

fixed


[ECO-4977] Fix broadcast to others

Related to https://github.com/ably/laravel-broadcaster/issues/48

Summary by CodeRabbit

New Features

Introduced fromBase64UrlEncoded and toBase64UrlEncoded functions for encoding and decoding JWT tokens.
Enhanced socketId method to return a Base64 encoded JSON object with connection details.

Bug Fixes

Improved documentation for the socketId method in the Echo class.

Tests

Updated test descriptions for clarity regarding public channels.
Added comprehensive tests for user interactions with the Ably service through the Echo library.
Enhanced mock authentication server with new broadcasting functionality.
Updated authorization header construction in tests to use toBase64UrlEncoded.

Looks good to me, but we probably shouldn't merge until broadcaster part is ready

Yes, I am also planning to test current branch in the chat repo. before merging into main.

@coderabbitai resolve

@coderabbitai suggest me a string that encodes into base64 string and encoded string has characters + and _.

@coderabbitai resolve


Fix apex distributed training

Fixing issue https://github.com/pytorch/vision/issues/1119

Codecov Report

Merging #1124 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1124   +/-   ##
=======================================
  Coverage   64.79%   64.79%
=======================================
  Files          68       68
  Lines        5417     5417
  Branches      835      835
=======================================
  Hits         3510     3510
- Misses       1648     1649    +1
+ Partials      259      258    -1

Impacted Files
Coverage Δ

torchvision/transforms/transforms.py
80.35% <0%> (ø)
:arrow_up:

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 8d580a1...9b3c861. Read the comment docs.

Thanks!
One last question, is this a regression that was introduced in APEX recently?

you mean the throughput? Last time I think I missed the forward pass in the timing & throughput calculation :)

@vinhngx I think the question is, when did #1119 first appear? Was it always broken, or did a recent update to apex break it?

Got it thanks @andravin. This is a bug in the beginning while incorporating APEX into vision.


expand("%") returns incorrect value when a file is opened using :edit {full-path}

Steps to reproduce

Create a directory ~/temp
Set this as the working directory via :cd ~/temp
Open a file with the command :e file_1.txt
:echo expand("%") returns the correct value here, "file_1.txt"
Open another file with the command :e ~/temp/file_2.txt
:echo expand("%") returns the incorrect value here. Instead of "file_2.txt", it returns the absolute path.
If we run :cd ., then :echo expand("%") returns the correct relative path of "file_2.txt"

Expected behaviour
Doing :cd . should not be required to get the correct value from expand("%").
Version of Vim
8.2.4212
Environment
Operating System: Windows 10
gvim
Logs and stack traces
No response

This is not a bug, expand("%") returns the file name as it was entered.
I can't think of a simple way to get the shorter name.  Do we need it?

If it's the intended behavior, I'll close the issue.
Why does cd . change the value of expand("%"), even when the working directory doesn't change?

If it's the intended behavior, I'll close the issue.
Why does cd . change the value of expand("%"), even when the
working directory doesn't change?

Any "cd" command will adjust the short filenames to make them work for
the (new or not) current directory.  It can also be used to shorten the
names with "cd .", as you noticed.
--
Emacs is a nice OS - but it lacks a good text editor.
That's why I am using Vim.  --Anonymous
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


lodash and bluebird?

I see you using lodash and bluebird to createPages.

It's not my code, I borrowed it from Gatsby examples. But, I guess that in the context native JS promise as well as native forEach() function would work the same.


test(Test): :white_check_mark: Added more missing unit tests

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.0%) to 78.206%

Totals

Change from base Build<PHONE_NUMBER>:
2.0%

Covered Lines:
1624

Relevant Lines:
2006

💛  - Coveralls


[ic-checkbox-group]: Value emitted by icChange event doesn't update when a checkbox is unchecked

Summary of the bug
When you have multiple ic-checkbox components in ic-checkbox group and select a checkbox, the value emitted by the onIcChange event updates with the value of the selected checkbox. However, if you unselect the same checkbox, the value emitted by the onIcChange event. This is particularly an issue if you try to filter using checkboxes. As the filter works based on the value (event.detail.value) from onIcChange.
🪜 How to reproduce
For Core Team: see the ICDS test app, run the code and view the following path: "/drinks/about-you"
🧐 Expected behaviour
Expect the value in onIcChange when a checkbox is checked AND unchecked i.e. the value should always update and reflect the checkboxes that are currently checked
📸 Screenshots or code
Example of how checkboxes have been used as part of a filter
"Coffee" option checked

"Coffee" option now unchecked (after being checked)

Closing as it duplicates #464


Remove redundant line

The MAP_ALIGNED(n) is ORed in the next line.

Thanks so much for spotting this! I fixed it directly since dev diverged so much in the meantime.


license situation

Hi,
I have a question wrt the license situation. From the github project page "./README.md" and "./LICENSE" I had the impression that the whole package is covered by a MIT license.
I have found now the following files which indicate other licenses:
./uvvm_osvvm/LICENSE.TXT
./bitvis_uart/License.txt
./uvvm_util/LICENSE.txt
./uvvm_util/src/license_pkg.vhd
./LICENSE
./bitvis_vip_i2c/LICENSE.TXT
./bitvis_vip_axistream/License.txt
./bitvis_vip_sbi/License.txt
./bitvis_irqc/LICENSE.txt
./bitvis_vip_avalon_mm/LICENSE.TXT
./bitvis_vip_uart/License.txt
./uvvm_vvc_framework/LICENSE.txt
./bitvis_vip_axilite/LICENSE.TXT

So if I would now want to create a avalon_streaming component, based on the bitvis_vip_axistream component is it ok to do the following:
a) name it bitvis_vip_avalonstream
b) name it soundart_vip_avalonstream
c) publish my new component  on github under MIT license
d) sell it to the highest bidder
kind regards
Frank

Hi Frank,
All of UVVM and Bitvis VIPs are currently covered by the MIT license. (OSVVM has a different license)
To your questions:
a) It wouldn't be a good idea to call it bitvis_ as that would indicate that it came from Bitvis.
b,c,d)  Any/all of these would be perfectly OK. In fact it would be great for the VHDL community if we could all make lots of different VVCs like that. So - yes, we strongly ecourage this.
We have made our current VVCs available for free, and it would be great to have many more free VVCs, but it is also perfectly OK to make commercially available VVCs.
Best regards
Espen

Hi Espen,
thank you for the clarification.
kind regards
Frank


Docker requires access to registry-1.docker.io when using registry mirror

I have set up a number of internal docker hosts that do not have access to the outside world but are configured using --registry-mirror to point to an internal registry.
Performing a docker pull <image> results in the following error
Get https://index.docker.io/v1/repositories/library/<image>/images: dial tcp <IP_ADDRESS>:443: connection refused

It seems as though docker is attempting to access index.docker.io instead of the internal registry.
If I try a similar set up on a docker host that does have access to the outside world images are pulled from the internal registry without a problem.
I would expect that if a registry mirror is being used then there should be no need to dial out to index.docker.io when all it should needs to do is connect to the internal registry. Is there a setting to stop docker trying to connect to index.docker.io when configured to use a registry mirror? If not, can docker be fixed so that it doesn't attempt to connect to index.docker.io if a registry mirror is configured.

v1 mirroring does indeed require access to the index unfortunately.
Since v1 is in maintenance now, it's unlikely it will be fixed.
The new v2 protocol (see https://github.com/docker/distribution) should feature a better protocol, with no need for direct net access.

Closing since this isn't a docker issue and is instead an issue with the V1 registry.

@cpuguy83 it's an issue with docker (specifically, with the v1 protocol design) - not an issue with the registry.

So my take-away from this is that it is not currently supported in v1 and won't be, but it may be supported in v2 but currently isn't. So there is currently no way to have an internal host pull images from an internal registry if it doesn't have access to index.docker.io?

Correct - unfortunately, there is currently no way to do this.

Ok, so this is really a close #wontfix?

@cpuguy83 I would say so, yes.


Air gap single node installation not Provisioning

After installing rachner by using the air gap single node instruction I was not able to provision a cluster on the same node. I used the same method ("Custom" - "All Node Roles on the same Node") like I used multiple times with succsess on non air gapped single node systems.
Additinally to the non air gapped installatoins I provided the nodes local ip address by using "--address " on the docker command to start the provisioning of the node. It seems that everything seems to start fine but one container is getting into a restarting loop with the error:
RTNETLINK answers: Network is unreachable
ERROR: -- --address is a required option
By inspecting this containers arguments the "--address" argument is missing. The container with the restarting behaviour is using the "rancher-agent" image and the other additional arguments which are passed to "run.sh" are "--no-register" and "--only-write-certs".
I'm using rancher version v2.2.4 on rancheros v1.5.2.

Can you provide docker inspect and docker logs output for the containers? As well as the output of ip addr show from the host so we can reopen and investigate.

Here are the requested logs. I used rancher v2.2.7 and rancheros v1.5.2 for the test.
I used this docker command to initiate the rancher agent:
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run <IP_ADDRESS>:5000/rancher/rancher-agent:v2.2.7 --server https://<IP_ADDRESS>:8443 --token 29nstxklzc99lr7nv4lkbb76j8km7htc45zcqghspq5swnlpp8g5tt --ca-checksum f78d9e4788bb792029aa09d083ff8e93cf8b87b043e174c2dbdd9bb86d616e21 --address <IP_ADDRESS> --etcd --controlplane --worker
For me i think the problem lays at the call of the container "inspiring_lamarr" which seems to miss the "--address" argument.
rancher info.txt

Ok, I see the where this is coming from. I tested the situation and my cluster still provisions fine, the error in your etcd container shows that the machine is not properly cleaned before being added (leftover certificates are being used). Can you clean the machine according to https://rancher.com/docs/rancher/v2.x/en/cluster-admin/cleaning-cluster-nodes/ and try again?
I can still fix this behavior but its not blocking provisioning in my setup (v2.2.7 with one node with all roles and one as worker)

Thanks for the tipp. To make it as easy and quick as possible, i started with a fresh installtion of rancheros v1.5.3 again for the node. Now it seems, that etcd is working, but it seems to stuck at the kubelet distribution.
At Clusterlevel i get the status message:
Failed to get job complete status for job rke-network-plugin-deploy-job in namespace kube-system
At the node level the following message is displayed:
Waiting to register with Kubernetes
My docker "ps-a" command is now showing a lot more containers than previous.
CONTAINER ID        IMAGE                                                     COMMAND                  CREATED             STATUS                      PORTS               NAMES
e63c60795ddc        <IP_ADDRESS>:5000/rancher/rke-tools:v0.1.40              "sh -c 'mkdir -p /va…"   2 seconds ago       Up Less than a second       80/tcp              rke-log-linker
6320fc712f3e        3ce97e5c7e3a                                              "kubectl apply -f /e…"   17 seconds ago      Exited (1) 16 seconds ago                       k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-ldp9j_kube-system_549758db-b9ea-11e9-b44d-005056affe3f_0
bf5889e6a0f6        <IP_ADDRESS>:5000/rancher/pause:3.1                      "/pause"                 18 seconds ago      Exited (0) 15 seconds ago                       k8s_POD_rke-network-plugin-deploy-job-ldp9j_kube-system_549758db-b9ea-11e9-b44d-005056affe3f_0
5513cff42ba0        3ce97e5c7e3a                                              "kubectl apply -f /e…"   5 minutes ago       Exited (1) 5 minutes ago                        k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-6d925_kube-system_95d7e882-b9e9-11e9-b44d-005056affe3f_0
1944b913fceb        <IP_ADDRESS>:5000/rancher/pause:3.1                      "/pause"                 5 minutes ago       Exited (0) 5 minutes ago                        k8s_POD_rke-network-plugin-deploy-job-6d925_kube-system_95d7e882-b9e9-11e9-b44d-005056affe3f_0
615bddfab6f2        3ce97e5c7e3a                                              "kubectl apply -f /e…"   8 minutes ago       Exited (1) 8 minutes ago                        k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-jrdzf_kube-system_367659df-b9e9-11e9-b44d-005056affe3f_0
45e42e96fe1a        <IP_ADDRESS>:5000/rancher/pause:3.1                      "/pause"                 8 minutes ago       Exited (0) 8 minutes ago                        k8s_POD_rke-network-plugin-deploy-job-jrdzf_kube-system_367659df-b9e9-11e9-b44d-005056affe3f_0
dc08ccd99212        3ce97e5c7e3a                                              "kubectl apply -f /e…"   9 minutes ago       Exited (1) 9 minutes ago                        k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-qqslh_kube-system_06c20818-b9e9-11e9-b44d-005056affe3f_0
4aeb6b7c0b04        <IP_ADDRESS>:5000/rancher/pause:3.1                      "/pause"                 9 minutes ago       Exited (0) 9 minutes ago                        k8s_POD_rke-network-plugin-deploy-job-qqslh_kube-system_06c20818-b9e9-11e9-b44d-005056affe3f_0
4b0b746f3b1b        3ce97e5c7e3a                                              "kubectl apply -f /e…"   10 minutes ago      Exited (1) 10 minutes ago                       k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-l642r_kube-system_eee787c6-b9e8-11e9-b44d-005056affe3f_0
fa0102b5a6ee        <IP_ADDRESS>:5000/rancher/pause:3.1                      "/pause"                 10 minutes ago      Exited (0) 10 minutes ago                       k8s_POD_rke-network-plugin-deploy-job-l642r_kube-system_eee787c6-b9e8-11e9-b44d-005056affe3f_0
8bc5b0f07d4b        3ce97e5c7e3a                                              "kubectl apply -f /e…"   10 minutes ago      Exited (1) 10 minutes ago                       k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-jskfw_kube-system_e2f8de57-b9e8-11e9-b44d-005056affe3f_0
72d79bfab285        <IP_ADDRESS>:5000/rancher/pause:3.1                      "/pause"                 10 minutes ago      Exited (0) 10 minutes ago                       k8s_POD_rke-network-plugin-deploy-job-jskfw_kube-system_e2f8de57-b9e8-11e9-b44d-005056affe3f_0
17aea9964d2a        3ce97e5c7e3a                                              "kubectl apply -f /e…"   10 minutes ago      Exited (1) 10 minutes ago                       k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-dcgbp_kube-system_dd000cf7-b9e8-11e9-b44d-005056affe3f_0
1be8febf4fda        <IP_ADDRESS>:5000/rancher/pause:3.1                      "/pause"                 10 minutes ago      Exited (0) 10 minutes ago                       k8s_POD_rke-network-plugin-deploy-job-dcgbp_kube-system_dd000cf7-b9e8-11e9-b44d-005056affe3f_0
bfd4c07afe64        3ce97e5c7e3a                                              "kubectl apply -f /e…"   10 minutes ago      Exited (1) 10 minutes ago                       k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-x8wjr_kube-system_db99b88b-b9e8-11e9-b44d-005056affe3f_0
555cfb2aa903        <IP_ADDRESS>:5000/rancher/pause:3.1                      "/pause"                 10 minutes ago      Exited (0) 10 minutes ago                       k8s_POD_rke-network-plugin-deploy-job-x8wjr_kube-system_db99b88b-b9e8-11e9-b44d-005056affe3f_0
217d27e3beaa        <IP_ADDRESS>:5000/rancher/hyperkube:v1.14.5-rancher1     "/opt/rke-tools/entr…"   42 minutes ago      Up 42 minutes                                   kube-proxy
ff1cb63357e1        <IP_ADDRESS>:5000/rancher/hyperkube:v1.14.5-rancher1     "/opt/rke-tools/entr…"   42 minutes ago      Up 42 minutes                                   kubelet
3f632eb89e53        <IP_ADDRESS>:5000/rancher/hyperkube:v1.14.5-rancher1     "/opt/rke-tools/entr…"   42 minutes ago      Up 42 minutes                                   kube-scheduler
e593aef9d86a        <IP_ADDRESS>:5000/rancher/hyperkube:v1.14.5-rancher1     "/opt/rke-tools/entr…"   42 minutes ago      Up 42 minutes                                   kube-controller-manager
71a5be14c5c1        <IP_ADDRESS>:5000/rancher/rancher-agent:v2.2.7           "run.sh --server htt…"   42 minutes ago      Up 42 minutes                                   confident_mahavira
6ce5fa9ac584        <IP_ADDRESS>:5000/rancher/hyperkube:v1.14.5-rancher1     "/opt/rke-tools/entr…"   42 minutes ago      Up 42 minutes                                   kube-apiserver
64a5691eddfb        <IP_ADDRESS>:5000/rancher/rke-tools:v0.1.40              "/bin/bash"              42 minutes ago      Created                                         service-sidekick
b43a2d7e4120        <IP_ADDRESS>:5000/rancher/coreos-etcd:v3.3.10-rancher1   "/usr/local/bin/etcd…"   42 minutes ago      Up 42 minutes                                   etcd
75d58e34d888        <IP_ADDRESS>:5000/rancher/rke-tools:v0.1.40              "/bin/bash"              43 minutes ago      Exited (0) 43 minutes ago                       cluster-state-deployer
4cfff16224e0        <IP_ADDRESS>:5000/rancher/rancher-agent:v2.2.7           "run.sh -- share-roo…"   43 minutes ago      Exited (0) 42 minutes ago                       share-mnt
0a4263574a12        <IP_ADDRESS>:5000/rancher/rancher-agent:v2.2.7           "run.sh --server htt…"   43 minutes ago      Up 43 minutes                                   optimistic_fermat

Please let me know if you need inspect or logs for some of them.

Regarding this specific error message, please share the output of:
docker logs $(docker ps -qa --filter=label=io.kubernetes.container.name=rke-network-plugin-pod)
In this case, docker logs kubelet will also be helpful.

mmm... a temporary solution, launch this script : docker_run_rancher.sh with
while [ 1 ];do sh docker_run_rancher.sh;docker ps;sleep 20;done
it works ?
docker_run_rancher.zip

Thank for the additional hints. In the kublet container entries with the following statements were present.
W0809 12:49:09.825091    6833 kubelet_node_status.go:502] Failed to set some node status fields: can't get ip address of node ubuntrancher. error: no default routes found in "/proc/net/route" or "/proc/net/ipv6_ro
I added a default route by using sudo route add default gw <IP_ADDRESS> and now also kublet provisioned after some waiting time.
I also solved the problem with the agent container, which missed the "--address" argument and resatarted all the time, by gettings its "token" and the other starting arguments ("--no-register --only-write-certs") and started a new container by using the main node container start statement with replaced arguments and "token".
After fixing the routing and the start of the proper container, the air gapped single node installation is now working as expected.
Thanks again for the help.


Looking for maintainer

I'm leaving GitHub/open-source. If anyone wants to maintain just post here.

I'm still here! :P
As Jeet has reached a stable state again, taking care of the few issues coming up shouldn't be so much of a problem, so I'll of course continue the maintainer duty on here.
Best wishes to you and good luck with your projects!

Ah good. Thanks @pixeldesu


Linearize asm register search

Summary:
Profiling revealed an $O(n^2)$ implementation that can be converted into a linear $O(n)$ implementation in AsmRegisterpool::findFreeRange, which currently consumes 17% of the runtime of TensileCreateLibrary (under the execution conditions below). This PR updates this function to use a two-pointer algorithm that linearizes the time complexity while also avoiding eager evaluation of register availability.
Outcomes:
Runtime reduction when benchmarked against the current implementation is:
Before change: 32 jobs, gfx90a:
    7744.10s user 641.74s system 1993% cpu 7:00.56 total <--- before
After change: 32 jobs, gfx90a:
    6546.97s user 648.71s system 1908% cpu 6:17.01 total <--- after

Which cuts 43.55 seconds (10.4%) off the wall time of the following invocation:
time Tensile/bin/TensileCreateLibrary \
              ../rocBLAS/library/src/blas3/Tensile/Logic/asm_full \
              _build_tcl \
              HIP \
              --merge-files \
              --separate-architecture \
              --lazy-library-loading \
              --no-short-file-names \
              --code-object-version=default \
              --cxx-compiler=amdclang++ \
              --jobs=32 \
              --library-format=msgpack \
              --architecture='gfx90a' \
              --verbose=1 | tee results-jobs-$(date -Iseconds).log

Notable changes:
The internal call to isRangeAvailable has been removed from findFreeRange, however it is still used elsewhere in the codebase.
Testing and Environment:
Standard Tensile testing; Ubuntu 22.01, ROCm 6.3

By the way, is the original implementation really O(n2)?
I think both before and after are O(n) (O(n*size))

@nakajee Yes, taking another look regarding the time complexity, I agree that the original implementation is O(n*size), however I do still think the new implementation is O(n) since for each iteration we are only conducting constant time operations, as opposed to potentially checking size elements.
Either way it speeds up the build, so it's that's a plus.


1881 API

Created a simple function to call the 1881 API and write search results to disk. Needs a subscription key from 1881, in progress with getting this fixed. Should be refactored to use the abstract class get and search once this is complete.

LGTM


Azure Spring Cloud-related forums

Hello,
sorry for opening a new issue for this, but I don't know another way to get in touch with someone that can answer a technical question on Azure Spring Cloud. MSDN Forum for Azure Spring Cloud appears to be a ghost town https://social.msdn.microsoft.com/Forums/en-US/home?forum=azurespringcloud (grand total of 0 posts as of now)

Is there a forum/slack channel/etc for people asking questions on Azure Spring Cloud
Is there a way for me to get in touch with @jdubois directly so I can ask. I do not use Twitter
Thanks in advance
Greg

Hi @bayareagreg !
I don't think there's a MSDN forum for Azure Spring Cloud, at least I don't know about it, so that's not a very good sign 😀
We do have dedicated channels on MS Teams, @seanli1988 is that publicly available to everybody? Could you invite Greg?
Or Greg you can of course email me: judubois at microsoft.com and I'll do my best to help you.

Our Teams channel is public. However folks outside of the Microsoft organization needs to be invited into the group. Sign-up link is herehttps://aka.ms/AzureSpringCloudInterest.
Our official support channel for Azure Spring Cloud is via Azure Support Requesthttps://docs.microsoft.com/azure/azure-supportability/how-to-create-azure-support-request.
Sean
From: Julien Dubois<EMAIL_ADDRESS>Sent: Tuesday, January 7, 2020 5:18 AM
To: microsoft/azure-spring-cloud-training<EMAIL_ADDRESS>Cc: Sean Li<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/azure-spring-cloud-training] Azure Spring Cloud-related forums (#14)
Hi @bayareagreghttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fbayareagreg&data=02|01|Sean.Li%40microsoft.com|8171ec2c34d24a94e91308d792ede230|72f988bf86f141af91ab2d7cd011db47|1|0|637139422757983443&sdata=ted7p%2FJryFjFMnh4%2Fg%2Fk46PDL7Qu8%2B5sEbRg0aSW7i8%3D&reserved=0 !
I don't think there's a MSDN forum for Azure Spring Cloud, at least I don't know about it, so that's not a very good sign 😀
We do have dedicated channels on MS Teams, @seanli1988https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fseanli1988&data=02|01|Sean.Li%40microsoft.com|8171ec2c34d24a94e91308d792ede230|72f988bf86f141af91ab2d7cd011db47|1|0|637139422757993436&sdata=tmih1YhTHSk2CFfyvCAxWjCVjBgr2P%2Fp9exdF%2BLVTZc%3D&reserved=0 is that publicly available to everybody? Could you invite Greg?
Or Greg you can of course email me: judubois at microsoft.com and I'll do my best to help you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fazure-spring-cloud-training%2Fissues%2F14%3Femail_source%3Dnotifications%26email_token%3DAHEYUQC5L7XXTBYVZKKZYZ3Q4ONXZA5CNFSM4KCT4ZEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIG2BTI%23issuecomment-571318477&data=02|01|Sean.Li%40microsoft.com|8171ec2c34d24a94e91308d792ede230|72f988bf86f141af91ab2d7cd011db47|1|0|637139422757993436&sdata=0aQo%2BCl1o6nu4sVGyKrDUI42UYeHdGFBumPjD4Oxw3c%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAHEYUQEE6SS5FDIYM2ATH7TQ4ONXZANCNFSM4KCT4ZEA&data=02|01|Sean.Li%40microsoft.com|8171ec2c34d24a94e91308d792ede230|72f988bf86f141af91ab2d7cd011db47|1|0|637139422758003428&sdata=V9ptRdNc%2BLDWeOv2FvidrfO2PLhpnHGzGjv1fqqz2yw%3D&reserved=0.


Certificate is missing SAN for nuget.org

The certificate has CN=*.nuget.org but is missing a SAN for the root (nuget.org) which is leading to certificiate validation issues.
(net::ERR_CERT_COMMON_NAME_INVALID in Chrome.)
Possibly related to #3490

The certificate is now valid (CN = nuget.org with a Subject Alternative Name including *.nuget.org) but nuget.org is doing a very slow 301 to www.nuget.org, oddly.

@j3parker, thanks for the report. We have reverted the certificate change. Could you try accessing https://nuget.org/ again?

Slowness is likely related to app warm-up time. Please let us know if the slowness persists.

Thanks!