Python TSI_DATA_CORRUPTED after Popen()

What version of gRPC and what language are you using?
Python 3.8.10
grpcio 1.43.0
What operating system (Linux, Windows,...) and version?
Ubuntu 20.04
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.8.10 (default, Nov 26 2021, 20:14:08)
[GCC 9.3.0] on linux
What did you do?
When I use a gRPC client to make rpc calls immediately after a call to subprocess.Popen(), intermittently, the next rpc call fails.
What did you expect to see?
My rpc should return without error.
What did you see instead?
"{"created":"@1642115822.017133164","description":"Error received from peer ipv4:<IP_ADDRESS>:50686","file":"src/core/lib/surface/call.cc","file_line":1074,"grpc_message":"Stream removed","grpc_status":2}"

Turning on additional gRPC logging with GRPC_VERBOSITY=debug GRPC_TRACE=tsi,subchannel,subchannel_pool,transport_security,
I see
I0113 15:17:01.721348644  906598 ssl_transport_security.cc:223]      HANDSHAKE START -       TLS client start_connect  - !!!!!!
I0113 15:17:01.721527927  906598 ssl_transport_security.cc:223]                 LOOP -    TLS client enter_early_data  - !!!!!!
I0113 15:17:01.721586410  906598 ssl_transport_security.cc:223]                 LOOP -   TLS client read_server_hello  - !!!!!!
I0113 15:17:01.727443284  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client read_hello_retr  - !!!!!!
I0113 15:17:01.727508497  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client read_server_hel  - !!!!!!
I0113 15:17:01.727732797  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client read_encrypted_  - !!!!!!
I0113 15:17:01.727762972  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client read_certificat  - !!!!!!
I0113 15:17:01.727831564  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client read_server_cer  - !!!!!!
I0113 15:17:01.727922514  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client read_server_cer  - !!!!!!
I0113 15:17:01.728200308  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client read_server_fin  - !!!!!!
I0113 15:17:01.728249448  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client send_end_of_ear  - !!!!!!
I0113 15:17:01.728263945  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client send_client_enc  - !!!!!!
I0113 15:17:01.728277267  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client send_client_cer  - !!!!!!
I0113 15:17:01.728307083  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client send_client_cer  - !!!!!!
I0113 15:17:01.731202597  899282 ssl_transport_security.cc:223]                 LOOP - TLS 1.3 client complete_second  - !!!!!!
I0113 15:17:01.731261934  899282 ssl_transport_security.cc:223]                 LOOP -            TLS 1.3 client done  - !!!!!!
I0113 15:17:01.731279862  899282 ssl_transport_security.cc:223]                 LOOP - TLS client finish_client_hands  - !!!!!!
I0113 15:17:01.731299929  899282 ssl_transport_security.cc:223]                 LOOP -                TLS client done  - !!!!!!
I0113 15:17:01.731314157  899282 ssl_transport_security.cc:223]       HANDSHAKE DONE -                TLS client done  - !!!!!!
I0113 15:17:01.732688311  899282 subchannel.cc:1006]         subchannel 0x7fd908003f60 {address=ipv4:<IP_ADDRESS>:50686, args=grpc.client_channel_factory=0x74728b0, grpc.default_authority=localhost:50686, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x7482240, grpc.internal.security_connector=0x74ef1c0, grpc.internal.subchannel_pool=0x7488f90, grpc.primary_user_agent=grpc-python/1.43.0, grpc.resource_quota=0x71c5890, grpc.server_uri=dns:///localhost:50686}: new connected subchannel at 0x8cdcd70
I0113 15:17:01.826414229  899282 fork_posix.cc:70]           Fork support is only compatible with the epoll1 and poll polling strategies
E0113 15:17:02.016975648  899282 ssl_transport_security.cc:552] Corruption detected.
E0113 15:17:02.017055716  899282 ssl_transport_security.cc:528] error:100003fc:SSL routines:OPENSSL_internal:SSLV3_ALERT_BAD_RECORD_MAC
E0113 15:17:02.017079196  899282 secure_endpoint.cc:205]     Decryption error: TSI_DATA_CORRUPTED
I0113 15:17:02.017356698  899282 subchannel.cc:320]          subchannel 0x7fd908003f60 {address=ipv4:<IP_ADDRESS>:50686, args=grpc.client_channel_factory=0x74728b0, grpc.default_authority=localhost:50686, grpc.http2_scheme=https, grpc.internal.channel_credentials=0x7482240, grpc.internal.security_connector=0x74ef1c0, grpc.internal.subchannel_pool=0x7488f90, grpc.primary_user_agent=grpc-python/1.43.0, grpc.resource_quota=0x71c5890, grpc.server_uri=dns:///localhost:50686}: Connected subchannel 0x8cdcd70 has gone into SHUTDOWN. Attempting to reconnect.

Full logs from the test case: https://gist.github.com/spikecurtis/a8a51858f334924b811e5618921a6e48
Anything else we should know about your project / environment?
There are multiple gRPC services being contacted, some with, and some without TLS.  The one that fails is always the same and is TLS-protected.
The error occurs in the context of a set of py.test tests, where the gRPC services and their corresponding stubs/channels are per-test-case fixtures.  When looking through the logs it appears that I'm seeing subchannel retries for services and stubs that have already been released by the test code.  E.g. it seems that subchannels are not cleaned up synchronously with the Python channel objects.
My call to Popen() calls ffprobe from the FFMpeg family of tools, e.g. it is fork() followed more or less immediately by exec().
This document https://github.com/grpc/grpc/blob/master/doc/fork_support.md suggests that since https://github.com/grpc/grpc/pull/14647 it is safe to fork/exec without setting GRPC_ENABLE_FORK_SUPPORT=False, but I believe this must not strictly be the case.  When I do set that environment variable, I do not see the stream corruption error.  I strongly suspect that the fork handlers can cause intermittent corruption of the TLS stream, as disabling them makes the problem go away, and I never see the corruption error in the case where the "Fork support" log is followed by the "Skipping fork() handlers" log e.g.
I0113 15:20:59.701224081  899282 fork_posix.cc:70]           Fork support is only compatible with the epoll1 and poll polling strategies
I0113 15:20:59.701289901  899282 fork_posix.cc:75]           Other threads are currently calling into gRPC, skipping fork() handlers

This comment on a previous issue also mentions TSI_DATA_CORRUPTED, multi-processing, and Python FYI https://github.com/grpc/grpc/issues/23144#issuecomment-645552821

The existing fork support document didn't mention that "Fork support is only compatible with the epoll1 and poll polling strategies", so the application needs to specify GRPC_POLL_STRATEGY=poll.
On the other hand, if possible, consider use the after-fork pattern, that only create gRPC objects after the fork of processes. Richard has done a great example about this: https://github.com/grpc/grpc/tree/master/examples/python/multiprocessing.

I see the log Using polling engine: epollex in my tests.  Are you saying this is incompatible with fork support?
If so, then why oh why is that only logged at info level?

I want to emphasize that I'm not forking a child process that does anything with gRPC.  It's Popen() to call another binary tool on the system, so the after-fork pattern doesn't apply.

Probably, there are some fork handlers logic without setting GRPC_ENABLE_FORK_SUPPORT=False. I will take a closer look.

We might need a volunteer to look into this... This is likely a Python issue, in some place, we failed to remove fork handler when the ENV var is not present. The culprit should be in this file: https://github.com/grpc/grpc/blob/master/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi#L31

@lidizheng the changes you made to the fork-support doc don't address the situation I'm writing about, which is fork followed immediately by exec, which is ordinarily safe even in multi-threaded code.

Yes, I'm aware of that. Fork-exec should not break. Do you have a minimum reproduction snippet for this issue?

Ok, pulled together a reproduction based on route guide: https://github.com/spikecurtis/grpc-python-fork-exec

@spikecurtis I used the following setting GRPC_POLL_STRATEGY=poll but I am still getting the error. Is there anything beyond this that I need to do?
Context: I am not using google text to speech python api which internally consumes grpc.

@prashantskit changing that worked for me.  You'll need to set it on whatever side of the gRPC connection is forking

@spikecurtis  I am seeing this error on the client side (I am using google sdk), the server here is google's and I don't have control. I believe since this error is showing up in my logs the forking must be happening on my end inside google's SDK. Is there anything else to try?


Error downloading the objaverse-xl dataset from GitHub

When I use the command oxl.download_objects(filtered_df, download_dir='./objaverse_dataset', processes=processes) to download the dataset from GitHub, I encounter the following error. Here, filtered_df is part of the data filtered after being obtained using the get_alignment_annotations function.

maybe this will help
https://bit.ly/4gwC82r
you may need to install the c compiler

也许这会有所帮助 https://bit.ly/4gwC82r
您可能需要安装 c 编译器

I met “Dangerous File Blocked”


Migrate rancher/rke-tools from Drone to GH Actions

Migrate rancher/rke-tools from Drone to GH Actions
SURE-8000

Closing the issue since migration is done and there is no QA work needed on this.


Update to Quarkus 3

Hey there,
Here is a PR to update to Quarkus 3.
It would be nice if you could merge it and release a new major version before April 25th so that it's ready for the announcement.
Please ping me when the release is done so that I can include it in our automatic update recipes.
Thanks!

Sorry, didn't notice this one before. Closing in favor of https://github.com/quarkiverse/quarkus-maven-resolver/pull/17


Updated CD Cert

Updated CD Cert Position
Minor updates on landing pages

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[x] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[x] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-563


Add Hello World exercise

Addresses: https://github.com/exercism/todo/issues/33

Sweet, thank you!


Do not fail script after error.

Summary:
Sourcing si_install_deps.sh set -e which means the pipeline script
would abort on an error. However, we have to delete the cluster first
and then exit.

Cleanup succeeded despite the failing tests.


Error: require() of ES Module pretty-bytes is not supported

Hello! Upon following the instructions, this happens:
✖ lint-staged-imagemin:
project/node_modules/lint-staged-imagemin/cli.js:3
const prettyBytes = require('pretty-bytes')
                    ^

Error [ERR_REQUIRE_ESM]: require() of ES Module project/node_modules/pretty-bytes/index.js from project/node_modules/lint-staged-imagemin/cli.js not supported.
Instead change the require of index.js in project/node_modules/lint-staged-imagemin/cli.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (project/node_modules/lint-staged-imagemin/cli.js:3:21) {
  code: 'ERR_REQUIRE_ESM'
}

I believe this is due to this change, which bumped the imagemin library from v7 to v8. This was a major version change, due to the fact that imagemin no longer supports CommonJS. Hence, if you are using this library in a CommonJS setup, v1.2.0 onwards will no longer work.
The fix is to pin your version of this dependency to v1.1.1.

Hey, thanks for the information. I'm not sure if the CJS bit applies to me, though — I only ever modified my package.json to try and get this package to work. But thanks regardless, I've moved on to use tomchentw/imagemin-lint-staged instead.


fix typo

"bus" should be "bugs"

@johnnyagerard : Thanks for your contribution! The author, @mikejo5000, has been notified to review your proposed change.


Update scan radius

This also adds a nifty overlay to visualize the scan radius.  Simply add /?areas (or &areas) to the url:

@bukzor: I think you'll find the visual useful ^

Where did the numbers come from? The minus one is particularly odd.


Make not updating BTCD

Just loaded commit 147596047f5fac79cba4128a6a2aa47bce2e6d7c of LND.
I ran Make, then make check.
Make check yields the following error:
github.com/btcsuite/btcd && git checkout f899737d7f2764dc13e4d01ff00108ec58f766a9 && glide install
fatal: reference is not a tree: f899737d7f2764dc13e4d01ff00108ec58f766a9
Makefile:121: recipe for target 'btcd' failed
It appears that Make isn't pulling the latest btcd.  I already had BTCD at an older commit level.
Manually going to BTCD directory and Git Pull is a workaround.

Just tried on another system.
Working mainnet LND node.
LND -> Git pull
LND -> Make
LND -> Make check  -> Same error as above
btcsuite/btcd $ git pull
remote: Counting objects: 34, done.
remote: Total 34 (delta 22), reused 22 (delta 22), pack-reused 11
Unpacking objects: 100% (34/34), done.
From https://github.com/btcsuite/btcd
9a2f952..f899737  master     -> origin/master
You are not currently on a branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>

/github.com/btcsuite/btcd $ git checkout master
Previous HEAD position was 86fed78... Merge pull request #1045 from davecgh/multi_utxoentry_outpoints
Switched to branch 'master'
Your branch is behind 'origin/master' by 11 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
src/github.com/btcsuite/btcd $ git pull
This works, then go back to LND and Make Check works.


Add linter rule to restrain tcgc decorators from being used within the scope of main.tsp scope.

Clear and concise description of the problem
In batch's case, if we define the @client decorator in main.tsp and all its refered scope, we will not be able to get any operations from service.type we get with listOperationsInOperationGroups api. see more details here
As tcgc is for customization, while main.tsp is not in the scope of customization, i don't think we should allow any tcgc decorators being used in main.tsp and all its referred files.
Checklist

[X] Follow our Code of Conduct
[X] Check that this issue is about the Azure libraries for typespec. For feature request in the typespec language or core libraries file it in the TypeSpec repo
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I am not sure we want this at all.  We should try to avoid conditional and double compilation, and right now decorators like clientName are the only mechanism for changing the names of parameters and other entities that impact generated swagger and client generation, but not api shape.

@joheredi please resolve or augment based on the outcome with javascript RLC API

@joheredi you may take a look at this investigation about the root cause.
FYI, there's an issue that suggest RLC fully adopt to tcgc https://github.com/Azure/autorest.typescript/issues/2408 by @iscai-msft, which I don't think we should. and if anything, I more incline to think that we should completely get rid of tcgc. that's why I brought up to you earlier we probably should consider split the RLC emitter and Modular emitter, when we try to migrate to the public typespec repo.

@markcowl for this issue specific, I am more curious about the rationality of putting the tcgc related decorators into the main.tsp scope.

Yes, RLC should not be impacted by anything on TCGC. We currently take a partial dependency on TCGC to get the operations but manually build the SdkClient and use __raw for accessing the TypeSpec types. This midground is causing this sort of issues.
I agree with @qiaozha that we need to decouple the RLC emitter from TCGC completly. Filed this issue to track https://github.com/Azure/autorest.typescript/issues/2553
Closing this issue since we agree we don't need this linter rule and the service team was able to work around the issue. Will continue tracking this work with the issue linked above


Direct livestreaming

Allow users to livestream directly from their devices.

There are two parts of this process:

creating a placeholder claim with no source data that includes all metadata for the stream (title, tags, thumbnail, etc). This process can be seen on Odysee.com in the upload button or page (requires approval on account or 50 LBC channel stake, or odysee Premium - coming soon). Streams can be one of two types: anytime, or scheduled.

using your phone, capturing the video and audio and sending it to the RTMP server specified along with a stream key.

For API details on 1, see network tab calls on odysee.com Livestream process. This includes getting a stream key, the rtmp server, and the publish process. Code at: https://github.com/OdyseeTeam/odysee-frontend
For 2, this will need to tap into the Android apis to create a video stream. Probably should have some type of bitrate control, with a reasonable default (3mbps).


How can i define 'or' when working with DTO object

I would like to define 'or' when using DTO classes

vs

Thank you, that appears to be something that is not easily done yet. One possible implementation would be to add a customizer function argument to @JoiSchemaOption(), similar to the way it works on @JoiSchema(). That function would allow arbitrary customizations of the constructed object schema.
e.g.
@JoiSchemaOptions({}, (schema) => schema.or('prop1', 'prop2')

Would that cover your case?

Another way to do it would be a separate decorator, e.g.
@JoiSchemaCustomizer((schema) => schema.or('prop1', 'prop2'))

That would avoid mixing different concerns. I am leaning towards that one.

Added in new v1.8.0.


DSD-1725: pencil icon

Fixes JIRA ticket DSD-1725
This PR does the following:

Adds the "navigationMoreVert" option (vertical ellipsis) to the Icon component.

How has this been tested?

local Storybook

Accessibility concerns or updates

n/a

Checklist:

[ ] I have updated the Storybook documentation accordingly.
[ ] I have added relevant accessibility documentation for this pull request.
[ ] All new and existing tests passed.

Front End Review:

[ ] Review the Vercel preview deployment once it is ready.

The svg looks blank in this PR and in the branch. I noticed a similar thing for an earlier icon addition. Is this a known issue with github? Or is something else going on?


Menu button not working on AMP

Current behavior
Clicking the menu button on a AMP page does not open any menu. Actually nothing happens.  https://demo.vuestorefront.io/amp/c/women-20
Expected behavior
Menu should open.
Steps to reproduce the issue
Goto: https://demo.vuestorefront.io/amp/c/women-20 and click the left menu button.
Repository
Can you handle fixing this bug by yourself?
NO
Environment details

Browser: Chromes Latest
OS: Mac OS

@jorkvist Is this issue still relevant? Since locally the amp page does not exist


New feed articles won’t download, loading bar stuck empty

NNW iOS 6.0.2 (Build 610)

See above screenshot. I've tried restarting the app and restarting the phone. I've verified that I have enough storage on my phone and iCloud.
I can't find any logs or clearance local cache. This only started happening today; the last few weeks since the latest release have been fine.
Any ideas?

I think this is an iCloud issue as I am having the same issue just now.

Within five minutes of posting this, the issue has magically resolved itself despite not working all day. 😭
Closing. Have a lovely day!

That’s the power of filing a bug!


difference in CREATE and SELECT statements

[Enter feedback here]
CREATE TABLE mytestdb.myexternalparquettable
USING Parquet
LOCATION "abfss://.dfs.core.windows.net//synapse/workspaces/<synapse_ws>/warehouse/mytestdb.db/myparquettable/"
SELECT * FROM mytestdb.dbo.myexternalparquettable WHERE name = 'Alice';
The create statement does not specify a schema but the select statement is fetching data from a schema 'dbo'. Is this correct ?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 7d62b5d1-6a59-653b-56f2-da5c475440f7
Version Independent ID: aeac19d9-79ca-27c1-617d-cf53ce89339d
Content: Shared metadata tables - Azure Synapse Analytics
Content Source: articles/synapse-analytics/metadata/table.md
Service: synapse-analytics
Sub-service: metadata
GitHub Login: @juluczni
Microsoft Alias: juluczni

@Rahullkp12
Thanks for your feedback! We will investigate and update as appropriate.

@Rahullkp12
You are correct that the CREATE TABLE statement in the example you provided does not specify a schema, but the SELECT statement is fetching data from a schema named dbo. This is because the schema is part of the fully qualified table name, which is specified in the FROM clause of the SELECT statement. In this case, the CREATE TABLE statement creates an external table named myexternalparquettable in the mytestdb database. The USING Parquet clause specifies that the table is stored in the Parquet format. The LOCATION clause specifies the location of the Parquet file in Azure Data Lake Storage. The SELECT statement fetches data from the myexternalparquettable table in the mytestdb database, but specifies the schema as dbo. This is because the fully qualified table name is mytestdb.dbo.myexternalparquettable. The dbo schema is the default schema for the mytestdb database, so it is used if no schema is specified in the CREATE TABLE statement. In summary, the example is correct in that the SELECT statement is fetching data from a schema named dbo, even though the CREATE TABLE statement does not specify a schema. This is because the schema is part of the fully qualified table name, which is specified in the FROM clause of the SELECT statement.
difference in CREATE and SELECT statements · Issue #120571 · MicrosoftDocs/azure-docs (github.com)
has context menu

Thanks for the clarification.
Best,
Rahul
On Tue, Mar 12, 2024 at 2:59 AM RamanathanChinnappan <
@.***> wrote:

@Rahullkp12 https://github.com/Rahullkp12
You are correct that the CREATE TABLE statement in the example you
provided does not specify a schema, but the SELECT statement is fetching
data from a schema named dbo. This is because the schema is part of the
fully qualified table name, which is specified in the FROM clause of the
SELECT statement. In this case, the CREATE TABLE statement creates an
external table named myexternalparquettable in the mytestdb database. The USING
Parquet clause specifies that the table is stored in the Parquet format.
The LOCATION clause specifies the location of the Parquet file in Azure
Data Lake Storage. The SELECT statement fetches data from the
myexternalparquettable table in the mytestdb database, but specifies the
schema as dbo. This is because the fully qualified table name is
mytestdb.dbo.myexternalparquettable. The dbo schema is the default schema
for the mytestdb database, so it is used if no schema is specified in the CREATE
TABLE statement. In summary, the example is correct in that the SELECT
statement is fetching data from a schema named dbo, even though the CREATE
TABLE statement does not specify a schema. This is because the schema is
part of the fully qualified table name, which is specified in the FROM
clause of the SELECT statement.
difference in CREATE and SELECT statements · Issue #120571 ·
MicrosoftDocs/azure-docs (github.com)
https://github.com/MicrosoftDocs/azure-docs/issues/120571
has context menu
—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/120571#issuecomment-1990983975,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCRYK7AY6XDM6VLR6LL2UOTYX2YV3AVCNFSM6AAAAABEL5RMA2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJQHE4DGOJXGU
.
You are receiving this because you were mentioned.Message ID:
@.***>


New signature for passing injections

Attempt to make the route signature more verbose.
Before:
App::get('/hello-world') // Define Route
    ->action(
        function($resource1, $resource2) use ($request, $response) {
            $response
              ->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate')
              ->addHeader('Expires', '0')
              ->addHeader('Pragma', 'no-cache')
              ->json(['Hello' => 'World']);
        }, ['resource1', 'resource2']);

After:
App::get('/hello-world') // Define Route
    ->inject('resource1')
    ->inject('resource2')
    ->action(
        function($resource1, $resource2) use ($request, $response) {
            $response
              ->addHeader('Cache-Control', 'no-cache, no-store, must-revalidate')
              ->addHeader('Expires', '0')
              ->addHeader('Pragma', 'no-cache')
              ->json(['Hello' => 'World']);
        });

I think you missed 2 cache files :+1:

Updated the code example above to make more sense.

Added the option to mix between params and injection to allow maximum flexibility. Injection and params can be set in any order you wish at the start, or at the end, you even mix them together (😒)

Looks good eldad. 👍


brokencrystals-nodejs container keeps restarting

Hi there, I forked a copy of the repo and tried to run this locally on my Windows 10 device using Docker Desktop (WSL2). I had to modify the Dockerfile at the root dir, first line to "from node:16" as I was getting an error at the "RUN npm ci -q".
=> CACHED [brokencrystals-nodejs  3/13] COPY package*.json ./                                                                                0.0s
=> ERROR [brokencrystals-nodejs  4/13] RUN npm ci -q                                                                                0.9s
=> CACHED [brokencrystals-proxy builder  2/11] WORKDIR /home/node/bc                                                                                0.0s
=> CACHED [brokencrystals-proxy builder  3/11] COPY package*.json ./                                                                                0.0s
=> CANCELED [brokencrystals-proxy builder  4/11] RUN npm ci -q                                                                                1.0s

[brokencrystals-nodejs  4/13] RUN npm ci -q:
#0 0.914 npm ERR! Cannot read property '@mikro-orm/core' of undefined
#0 0.920
#0 0.920 npm ERR! A complete log of this run can be found in:
#0 0.920 npm ERR!     /root/.npm/_logs/2022-12-12T19_59_32_263Z-debug.log

failed to solve: executor failed running [/bin/sh -c npm ci -q]: exit code: 1
By modifying to node:16 this allowed it to complete, however the container is unable to start due to the error below:

<EMAIL_ADDRESS>start:prod
node dist/main.js

/var/www/node_modules/bindings/bindings.js:91
throw e
^
Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /var/www/node_modules/libxmljs/build/Release/xmljs.node)
at Object.Module._extensions..node (node:internal/modules/cjs/loader:1239:18)
at Module.load (node:internal/modules/cjs/loader:1033:32)
at Function.Module._load (node:internal/modules/cjs/loader:868:12)
at Module.require (node:internal/modules/cjs/loader:1057:19)
at require (node:internal/modules/cjs/helpers:103:18)
at bindings (/var/www/node_modules/bindings/bindings.js:84:48)
at Object. (/var/www/node_modules/libxmljs/lib/bindings.js:1:37)
at Module._compile (node:internal/modules/cjs/loader:1155:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
at Module.load (node:internal/modules/cjs/loader:1033:32) {
code: 'ERR_DLOPEN_FAILED'
}
Is there any more documentation on how to get it running locally? Any help is much appreciated

@knoxSWS try run docker-compose -f docker-compose.local.yml up

@knoxSWS try run docker-compose -f docker-compose.local.yml up

Hi @Kif-Fando , thanks for coming back to me.
So if I delete all local containers, images etc locally and start fresh running the suggested command with "FROM node:14" I get the below. If I modify that to "FROM node:16" I get the same issue as before (see further down)
docker-compose -f docker-compose.local.yml up
time="2022-12-13T10:27:16Z" level=warning msg="The "POSTGRES_USER" variable is not set. Defaulting to a blank string."
time="2022-12-13T10:27:16Z" level=warning msg="The "POSTGRES_PASSWORD" variable is not set. Defaulting to a blank string."
 Please update your lock file with npm install before continuing.
#0 1.619 npm ERR!
#0 1.620 npm ERR!
#0 1.620 npm ERR! Missing<EMAIL_ADDRESS>#0 1.620 npm ERR! Missing<EMAIL_ADDRESS>...... CONTINUES WITH MORE PACKAGES
#0 1.633 npm ERR!
#0 1.741
#0 1.741 npm ERR!
NOW FROM NODE 16
docker-compose -f docker-compose.local.yml up
time="2022-12-13T10:45:17Z" level=warning msg="The "POSTGRES_USER" variable is not set. Defaulting to a blank string."
time="2022-12-13T10:45:17Z" level=warning msg="The "POSTGRES_PASSWORD" variable is not set. Defaulting to a blank string."
[+] Running 14/14

db Pulled                                                                                69.8s

025c56f98b67 Already exists                                                                                0.0s
26dc25c16f4e Pull complete                                                                                7.4s
a032d8a894de Pull complete                                                                                7.5s
40dba7d35750 Pull complete                                                                                7.6s
8ebb44a56070 Pull complete                                                                                12.0s
813fd6cf203b Pull complete                                                                                12.2s
7024f61bf8f5 Pull complete                                                                                12.4s
23f986b322e8 Pull complete                                                                                12.6s
1fb05ff7a8d6 Pull complete                                                                                66.3s
74afc7d9bc5c Pull complete                                                                                66.5s
7c2c7eebef2f Pull complete                                                                                66.6s
bdd9df7f1d37 Pull complete                                                                                66.8s
33d269a3a052 Pull complete                                                                                67.0s
[+] Building 19.0s (39/39) FINISHED
=> [brokencrystals-proxy internal] load build definition from Dockerfile.local                                                                                0.1s
=> => transferring dockerfile: 38B                                                                                0.0s
=> [brokencrystals-nodejs internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 32B                                                                                0.0s
=> [brokencrystals-proxy internal] load .dockerignore                                                                                0.1s
=> => transferring context: 2B                                                                                0.0s
=> [brokencrystals-nodejs internal] load .dockerignore                                                                                0.1s
=> => transferring context: 34B                                                                                0.0s
=> [brokencrystals-proxy internal] load metadata for docker.io/library/nginx:latest                                                                               2.0s
=> [brokencrystals-proxy internal] load metadata for docker.io/library/node:14                                                                                2.2s
=> [brokencrystals-nodejs internal] load metadata for docker.io/library/node:16                                                                                2.2s
=> [brokencrystals-proxy internal] load build context                                                                                16.0s
=> => transferring context: 43.71kB                                                                                16.0s
=> [brokencrystals-proxy builder  1/11] FROM docker.io/library/node:14@sha256:f11e8dbf2ff6668927aafd90a804bf6597d8fe53dc16742a234045f7bf647a8c                    0.0s
=> [brokencrystals-proxy http 1/3] FROM docker.io/library/nginx@sha256:ab589a3c466e347b1c0573be23356676df90cd7ce2dbf6ec332a5f0a8b5e59db                           0.0s
=> [brokencrystals-nodejs  1/15] FROM docker.io/library/node:16@sha256:7f404d09ceb780c51f4fac7592c46b8f21211474aacce25389eb0df06aaa7472                           0.0s
=> [brokencrystals-nodejs internal] load build context                                                                                15.9s
=> => transferring context: 7.68kB                                                                                15.9s
=> CACHED [brokencrystals-proxy builder  2/11] WORKDIR /home/node/bc                                                                                0.0s
=> CACHED [brokencrystals-proxy builder  3/11] COPY package*.json ./                                                                                0.0s
=> CACHED [brokencrystals-proxy builder  4/11] RUN npm ci -q                                                                                0.0s
=> CACHED [brokencrystals-proxy builder  5/11] COPY .env ./                                                                                0.0s
=> CACHED [brokencrystals-proxy builder  6/11] COPY tsconfig.json ./                                                                                0.0s
=> CACHED [brokencrystals-proxy builder  7/11] COPY src ./src                                                                                0.0s
=> CACHED [brokencrystals-proxy builder  8/11] COPY typings ./typings                                                                                0.0s
=> CACHED [brokencrystals-proxy builder  9/11] COPY public ./public                                                                                0.0s
=> CACHED [brokencrystals-proxy builder 10/11] COPY vcs ./vcs                                                                                0.0s
=> CACHED [brokencrystals-proxy builder 11/11] RUN npm run build                                                                                0.0s
=> CACHED [brokencrystals-proxy http 2/3] COPY --from=builder  /home/node/bc/build /var/www/html                                                                  0.0s
=> CACHED [brokencrystals-proxy http 3/3] COPY ./nginx-config/default.conf /etc/nginx/conf.d/default.conf                                                         0.0s
=> [brokencrystals-nodejs] exporting to image                                                                                0.1s
=> => exporting layers                                                                                0.0s
=> => writing image sha256:5b2ab69d477757163f6b0c50417a799da5d2b2582072c4a897c1b53451a32fe9                                                                       0.0s
=> => naming to docker.io/library/brokencrystals-proxy                                                                                0.0s
=> => writing image sha256:288f95b46f9a9c7e222a3372a1d3fb61e0ae40661e653244f19664e9ebcfcbc5                                                                       0.0s
=> => naming to docker.io/library/brokencrystals-nodejs                                                                                0.0s
=> CACHED [brokencrystals-nodejs  2/15] WORKDIR /var/www/                                                                                0.0s
=> CACHED [brokencrystals-nodejs  3/15] COPY package-lock.json ./                                                                                0.0s
=> CACHED [brokencrystals-nodejs  4/15] COPY package*.json ./                                                                                0.0s
=> CACHED [brokencrystals-nodejs  5/15] RUN npm i libxmljs                                                                                0.0s
=> CACHED [brokencrystals-nodejs  6/15] RUN npm ci -q                                                                                0.0s
=> CACHED [brokencrystals-nodejs  7/15] COPY config ./config                                                                                0.0s
=> CACHED [brokencrystals-nodejs  8/15] COPY tsconfig.build.json ./                                                                                0.0s
=> CACHED [brokencrystals-nodejs  9/15] COPY tsconfig.json ./                                                                                0.0s
=> CACHED [brokencrystals-nodejs 10/15] COPY nest-cli.json ./                                                                                0.0s
=> CACHED [brokencrystals-nodejs 11/15] COPY .env ./                                                                                0.0s
=> CACHED [brokencrystals-nodejs 12/15] COPY src ./src                                                                                0.0s
=> CACHED [brokencrystals-nodejs 13/15] RUN npm run build                                                                                0.0s
=> CACHED [brokencrystals-nodejs 14/15] RUN npm prune --production                                                                                0.0s
=> CACHED [brokencrystals-nodejs 15/15] RUN chown -R node:node /var/www/*                                                                                0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
[+] Running 4/4

Network brokencrystals_default    Created                                                                                0.9s
Container brokencrystals-db-1     Created                                                                                0.2s
Container nodejs                  Created                                                                                0.2s
Container brokencrystals-proxy-1  Created                                                                                0.2s
Attaching to brokencrystals-db-1, brokencrystals-proxy-1, nodejs
brokencrystals-db-1     | The files belonging to this database system will be owned by user "postgres".
brokencrystals-db-1     | This user must also own the server process.
brokencrystals-db-1     |
brokencrystals-db-1     | The database cluster will be initialized with locale "en_US.utf8".
brokencrystals-db-1     | The default database encoding has accordingly been set to "UTF8".
brokencrystals-db-1     | The default text search configuration will be set to "english".
brokencrystals-db-1     |
brokencrystals-db-1     | Data page checksums are disabled.
brokencrystals-db-1     |
brokencrystals-db-1     | fixing permissions on existing directory /var/lib/postgresql/data ... ok
brokencrystals-db-1     | creating subdirectories ... ok
brokencrystals-db-1     | selecting dynamic shared memory implementation ... posix
brokencrystals-db-1     | selecting default max_connections ... 100
brokencrystals-db-1     | selecting default shared_buffers ... 128MB
brokencrystals-db-1     | selecting default time zone ... Etc/UTC
brokencrystals-db-1     | creating configuration files ... ok
brokencrystals-db-1     | running bootstrap script ... ok
brokencrystals-db-1     | performing post-bootstrap initialization ... ok
brokencrystals-db-1     | syncing data to disk ... initdb: warning: enabling "trust" authentication for local connections
brokencrystals-db-1     | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
brokencrystals-db-1     | ok
brokencrystals-db-1     |
brokencrystals-db-1     |
brokencrystals-db-1     | Success. You can now start the database server using:
brokencrystals-db-1     |
brokencrystals-db-1     |     pg_ctl -D /var/lib/postgresql/data -l logfile start
brokencrystals-db-1     |
brokencrystals-db-1     | waiting for server to start....2022-12-13 10:46:54.749 UTC [48] LOG:  starting PostgreSQL 15.1 (Debian 15.1-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
brokencrystals-db-1     | 2022-12-13 10:46:54.752 UTC [48] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
brokencrystals-db-1     | 2022-12-13 10:46:54.763 UTC [51] LOG:  database system was shut down at 2022-12-13 10:46:53 UTC
brokencrystals-db-1     | 2022-12-13 10:46:54.770 UTC [48] LOG:  database system is ready to accept connections
brokencrystals-db-1     |  done
brokencrystals-db-1     | server started
brokencrystals-db-1     | CREATE DATABASE
brokencrystals-db-1     |
brokencrystals-db-1     |
brokencrystals-db-1     | /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/pg.sql
brokencrystals-db-1     | SET
brokencrystals-db-1     | SET
brokencrystals-db-1     | CREATE TABLE
brokencrystals-db-1     | CREATE TABLE
brokencrystals-db-1     | CREATE TABLE
brokencrystals-db-1     | SET
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
brokencrystals-db-1     | INSERT 0 1
nodejs                  |
nodejs                  | ><EMAIL_ADDRESS>start:prod
nodejs                  | > node dist/main.js
nodejs                  |
brokencrystals-db-1     | CREATE INDEX
brokencrystals-db-1     |
brokencrystals-db-1     |
brokencrystals-db-1     | waiting for server to shut down...2022-12-13 10:46:55.201 UTC [48] LOG:  received fast shutdown request
brokencrystals-db-1     | .2022-12-13 10:46:55.206 UTC [48] LOG:  aborting any active transactions
brokencrystals-db-1     | 2022-12-13 10:46:55.210 UTC [48] LOG:  background worker "logical replication launcher" (PID 54) exited with exit code 1
brokencrystals-db-1     | 2022-12-13 10:46:55.211 UTC [49] LOG:  shutting down
brokencrystals-db-1     | 2022-12-13 10:46:55.216 UTC [49] LOG:  checkpoint starting: shutdown immediate
brokencrystals-db-1     | 2022-12-13 10:46:55.387 UTC [49] LOG:  checkpoint complete: wrote 935 buffers (5.7%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.034 s, sync=0.124 s, total=0.177 s; sync files=259, longest=0.008 s, average=0.001 s; distance=4287 kB, estimate=4287 kB
brokencrystals-db-1     | 2022-12-13 10:46:55.393 UTC [48] LOG:  database system is shut down
brokencrystals-db-1     |  done
brokencrystals-db-1     | server stopped
brokencrystals-db-1     |
brokencrystals-db-1     | PostgreSQL init process complete; ready for start up.
brokencrystals-db-1     |
brokencrystals-db-1     | 2022-12-13 10:46:55.430 UTC [1] LOG:  starting PostgreSQL 15.1 (Debian 15.1-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
brokencrystals-db-1     | 2022-12-13 10:46:55.430 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
brokencrystals-db-1     | 2022-12-13 10:46:55.430 UTC [1] LOG:  listening on IPv6 address "::", port 5432
brokencrystals-db-1     | 2022-12-13 10:46:55.438 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
brokencrystals-db-1     | 2022-12-13 10:46:55.446 UTC [65] LOG:  database system was shut down at 2022-12-13 10:46:55 UTC
brokencrystals-db-1     | 2022-12-13 10:46:55.455 UTC [1] LOG:  database system is ready to accept connections
brokencrystals-proxy-1  | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
brokencrystals-proxy-1  | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
brokencrystals-proxy-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
nodejs                  | /var/www/node_modules/bindings/bindings.js:91
nodejs                  |         throw e
nodejs                  |         ^
nodejs                  |
nodejs                  | Error: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29' not found (required by /var/www/node_modules/libxmljs/build/Release/xmljs.node) nodejs                  |     at Object.Module._extensions..node (node:internal/modules/cjs/loader:1239:18) brokencrystals-proxy-1  | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf nodejs                  |     at Module.load (node:internal/modules/cjs/loader:1033:32) nodejs                  |     at Function.Module._load (node:internal/modules/cjs/loader:868:12) nodejs                  |     at Module.require (node:internal/modules/cjs/loader:1057:19) nodejs                  |     at require (node:internal/modules/cjs/helpers:103:18) nodejs                  |     at bindings (/var/www/node_modules/bindings/bindings.js:84:48) nodejs                  |     at Object.<anonymous> (/var/www/node_modules/libxmljs/lib/bindings.js:1:37) nodejs                  |     at Module._compile (node:internal/modules/cjs/loader:1155:14) nodejs                  |     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10) brokencrystals-proxy-1  | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version nodejs                  |     at Module.load (node:internal/modules/cjs/loader:1033:32) { brokencrystals-proxy-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh nodejs                  |   code: 'ERR_DLOPEN_FAILED' nodejs                  | } brokencrystals-proxy-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh brokencrystals-proxy-1  | /docker-entrypoint.sh: Configuration complete; ready for start up brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: using the "epoll" event method brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: nginx/1.23.2 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: OS: Linux <IP_ADDRESS>-microsoft-standard-WSL2 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker processes brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 28 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 29 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 30 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 31 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 32 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 33 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 34 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 35 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 36 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 37 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 38 brokencrystals-proxy-1  | 2022/12/13 10:46:56 [notice] 1#1: start worker process 39 nodejs exited with code 1 nodejs                  | nodejs                  | ><EMAIL_ADDRESS>start:prod nodejs                  | > node dist/main.js nodejs                  | nodejs                  | /var/www/node_modules/bindings/bindings.js:91 nodejs                  |         throw e nodejs                  |         ^ nodejs                  | nodejs                  | Error: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29' not found (required by /var/www/node_modules/libxmljs/build/Release/xmljs.node)
nodejs                  |     at Object.Module._extensions..node (node:internal/modules/cjs/loader:1239:18)
nodejs                  |     at Module.load (node:internal/modules/cjs/loader:1033:32)
nodejs                  |     at Function.Module._load (node:internal/modules/cjs/loader:868:12)
nodejs                  |     at Module.require (node:internal/modules/cjs/loader:1057:19)
nodejs                  |     at require (node:internal/modules/cjs/helpers:103:18)
nodejs                  |     at bindings (/var/www/node_modules/bindings/bindings.js:84:48)
nodejs                  |     at Object. (/var/www/node_modules/libxmljs/lib/bindings.js:1:37)
nodejs                  |     at Module._compile (node:internal/modules/cjs/loader:1155:14)
nodejs                  |     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
nodejs                  |     at Module.load (node:internal/modules/cjs/loader:1033:32) {
nodejs                  |   code: 'ERR_DLOPEN_FAILED'
nodejs                  | }
nodejs exited with code 1
brokencrystals-db-1     | 2022-12-13 10:47:02.680 UTC [77] FATAL:  role "root" does not exist
nodejs                  |
nodejs                  | ><EMAIL_ADDRESS>start:prod
nodejs                  | > node dist/main.js
nodejs                  |
nodejs                  | /var/www/node_modules/bindings/bindings.js:91
nodejs                  |         throw e

@knoxSWS show me pls your package.json

@Kif-Fando - ok, I have found that if I clone repo to Win 10 and skip the build steps and just run the docker, it seems to work.
build server
npm ci && npm run build
build client
npm ci --prefix public && npm run build --prefix public
What I have done instead is used ubuntu 18.04 in WSL and followed build steps then docker and that works too. (slicker than windows). Thanks for the help, I think you can close the issue. probably just user error here.


no such file or directory v8_context_snapshot.bin

Error message at the end
MACdeMacBook-Pro atom % script/build
Node:	v10.16.0
Npm:	v6.14.8
Python:	v2.7.16
Installing script dependencies
Installing apm
apm  2.6.2
npm  6.14.13
node 10.20.1 x64
atom 1.61.0-dev
python 2.7.16
git 2.24.3
Installing modules ✓
Wrote Dependencies Fingerprint: /Users/a01388087/github/atom/node_modules/.dependencies-fingerprint 576d2407b2f80ed82e5d81f228f58ab3c523c5e0
Copying assets to /Users/a01388087/github/atom/out/app
Transpiling packages with custom transpiler configurations in /Users/a01388087/github/atom/out/app
transpiling for package github
Installing modules ✓
Transpiling Babel paths in /Users/a01388087/github/atom/out/app
Transpiling CoffeeScript paths in /Users/a01388087/github/atom/out/app
Transpiling CSON paths in /Users/a01388087/github/atom/out/app
Transpiling PEG.js paths in /Users/a01388087/github/atom/out/app
Generating module cache for /Users/a01388087/github/atom/out/app
Generating pre-built less cache in /Users/a01388087/github/atom/out/app/less-compile-cache
Generating metadata for /Users/a01388087/github/atom/out/app/package.json
Generating API docs at /Users/a01388087/github/atom/docs/output/atom-api.json
Dumping symbols in /Users/a01388087/github/atom/out/symbols
(node:2155) ExperimentalWarning: The fs.promises API is experimental
Running electron-packager on /Users/a01388087/github/atom/out/app with app name "Atom Dev"
Packaging app for platform darwin x64 using electron v9.4.4
Setting Atom Helper Version for /Users/a01388087/github/atom/out/Atom Dev.app/Contents/Frameworks/Atom Helper.app/Contents/Info.plist
Copying non-ASAR resources to /Users/a01388087/github/atom/out/Atom Dev.app/Contents/Resources
Writing LICENSE.md to /Users/a01388087/github/atom/out/Atom Dev.app/Contents/Resources
Application bundle created at /Users/a01388087/github/atom/out/Atom Dev.app
Generating snapshot script at "/Users/a01388087/github/atom/out/startup.js" (177)
Minifying startup script
Verifying if snapshot can be executed via mksnapshot
Generating startup blob with mksnapshot
Moving generated startup blob into "/Users/a01388087/github/atom/out/Atom Dev.app/Contents/Frameworks/Electron Framework.framework/Resources/v8_context_snapshot.bin"
Error: ENOENT: no such file or directory, rename '/Users/a01388087/github/atom/out/v8_context_snapshot.bin' -> '/Users/a01388087/github/atom/out/Atom Dev.app/Contents/Frameworks/Electron Framework.framework/Resources/v8_context_snapshot.bin'
at Object.renameSync (fs.js:598:3)
at electronLink.then (/Users/a01388087/github/atom/script/lib/generate-startup-snapshot.js:338:10)

Error message at the end
MACdeMacBook-Pro atom % script/build Node: v10.16.0 Npm: v6.14.8 Python: v2.7.16 Installing script dependencies Installing apm apm 2.6.2 npm 6.14.13 node 10.20.1 x64 atom 1.61.0-dev python 2.7.16 git 2.24.3 Installing modules ✓ Wrote Dependencies Fingerprint: /Users/a01388087/github/atom/node_modules/.dependencies-fingerprint 576d2407b2f80ed82e5d81f228f58ab3c523c5e0 Copying assets to /Users/a01388087/github/atom/out/app Transpiling packages with custom transpiler configurations in /Users/a01388087/github/atom/out/app transpiling for package github Installing modules ✓ Transpiling Babel paths in /Users/a01388087/github/atom/out/app Transpiling CoffeeScript paths in /Users/a01388087/github/atom/out/app Transpiling CSON paths in /Users/a01388087/github/atom/out/app Transpiling PEG.js paths in /Users/a01388087/github/atom/out/app Generating module cache for /Users/a01388087/github/atom/out/app Generating pre-built less cache in /Users/a01388087/github/atom/out/app/less-compile-cache Generating metadata for /Users/a01388087/github/atom/out/app/package.json Generating API docs at /Users/a01388087/github/atom/docs/output/atom-api.json Dumping symbols in /Users/a01388087/github/atom/out/symbols (node:2155) ExperimentalWarning: The fs.promises API is experimental Running electron-packager on /Users/a01388087/github/atom/out/app with app name "Atom Dev" Packaging app for platform darwin x64 using electron v9.4.4 Setting Atom Helper Version for /Users/a01388087/github/atom/out/Atom Dev.app/Contents/Frameworks/Atom Helper.app/Contents/Info.plist Copying non-ASAR resources to /Users/a01388087/github/atom/out/Atom Dev.app/Contents/Resources Writing LICENSE.md to /Users/a01388087/github/atom/out/Atom Dev.app/Contents/Resources Application bundle created at /Users/a01388087/github/atom/out/Atom Dev.app Generating snapshot script at "/Users/a01388087/github/atom/out/startup.js" (177) Minifying startup script Verifying if snapshot can be executed via mksnapshot Generating startup blob with mksnapshot Moving generated startup blob into "/Users/a01388087/github/atom/out/Atom Dev.app/Contents/Frameworks/Electron Framework.framework/Resources/v8_context_snapshot.bin" Error: ENOENT: no such file or directory, rename '/Users/a01388087/github/atom/out/v8_context_snapshot.bin' -> '/Users/a01388087/github/atom/out/Atom Dev.app/Contents/Frameworks/Electron Framework.framework/Resources/v8_context_snapshot.bin' at Object.renameSync (fs.js:598:3) at electronLink.then (/Users/a01388087/github/atom/script/lib/generate-startup-snapshot.js:338:10)

https://github.com/atom/atom/issues/23253#issue-1050778058


Fix ForecastingPipeline import

Reference Issues/PRs
#967
What does this implement/fix? Explain your changes.

Fixes import error from merging into main without first updating from main

I am wondering what happened? Are some CI/CD only running on main?

No I merged without updating the branch from main and some other changes happened on main in the meantime, my fault, didn't want to wait again for the CI to finish.

I think Iknow precisely what happened - yesterday, I merged #1068 which removed the _has_tag import from _pipeline.
@aiwalter forgot to merge main into his branch before merging into main, so didn't notice that the removed import broke his change which was using _has_tag.
Right?

PS: my preferred fix would be #1119, but don't mind either way to get this done quickly.

I thought merging into main is blocked if branch is outdated?

Also, I think we should print this thread out and hang it on the wall for posterity, @mloning admitting that the tests take very long, and indirectly showing that that very fact introduces risk to the codebase 😄

@mloning, are you watching this? Tests look ok, but don't want to merge in case we again do a double merge accidentally.

ok, going to merge this now. Still waiting for appveyor, but everything else is fine and it can't break more than it already is.

oh I've always said that the tests are slow but seems like nobody wants to work on them 👀

I want to work on tests but I would really like to refactor them with scitype dispatch for which I'd really like the tag system and the aliasing in #980 ...
Because that would allow you to dispatch on tags (behaviour), scitypes, as well as different inputs easily, instead of having to hardcode all the cases.

@fkiraly yes that makes sense - setting up the CI is also not my favourite work, it's very fiddly always but I'd love to move away from appveyor


Allow using frame-based layout

Added set_frame() and set_translates_autoresizing_mask_into_constraints() to enable using Cacao with applications that use frame-based UI construction as per conversation with Ryan.
Also added NSPoint, NSSize and NSRect types to foundation.

Appreciate you PR'ing this! I haven't had the time to do it on my side yet, as you can see...
One thing I'm curious about: NS(Point|Size|Rect) are so interchangeable with their CG counterpoints, and truth be told I don't think I've ever bothered to use an NSRect in any of my codebases... is there any reason we couldn't just use CG variants throughout, and map over them in the method that accepts them with something like Into<crate::geometry::Rect>? Am I missing anything critical?
I'd love to hear input from others. My personal take on it is that it's worth doing, since it just reduces clutter/imports/etc.

Agree. Intoshould do.

I'll take a crack at rolling this into my next push.

Heya, so for this PR - I wound up just doing the implementation on the Layout trait in my changes I pushed tonight. This results in every control getting these methods, as the implementation is universal enough to fit for a trait - I think it should give the same results for you, but would love a once-over. Let me know if I messed anything up?

In src/input/macos.rs you're returning bool instead of BOOL on decl.add_method for text_should_begin_editing and text_should_end_editing, which already ends the compilation with a non-primitive cast for me.
I'll further check from here and come back with results over the weekend.

Aaaahh, yeah... I take it you're building on an Intel machine? BOOL is different depending on M1 vs Intel, I've found - probably why it built for me and not for you. I just pushed a change for that.
Reaaaally need to set up some sort of CI for this, even if it's Intel only...

Interesting. And good to know for my future mistakes. ;)
I've pulled your changes into my project, fixed the NSRect to CGRect stuff and the String method signatures to &str. Now everything works like a charm! Awesome!

Awesome! Glad to hear it - will close this issue then. Really appreciate the contributions.
At this point, I'm trying to ensure the documentation is actually usable throughout the project. I feel like the general selection of widgets/controls is "good enough" for building sufficiently complicated apps, and is close enough to a v0.1 that I hope to push up to crates.io soon (though contributions before v0.1 are of course welcome).
Fingers crossed!


Gradle Max Heap Increase

As advised by the Google engineering team this could be the right way to bypass the OOM trouble with the latest Bip39 version consumed by a client. The issue for this is trouble filed in Bip39 repository https://github.com/zcash/kotlin-bip39/issues/201 and discussion with the Google team is accessible on this link https://issuetracker.google.com/issues/284935919.

Note
This code review checklist is intended to serve as a starting point for the author and reviewer, although it may not be appropriate for all types of changes (e.g. fixing a spelling typo in documentation).  For more in-depth discussion of how we think about code review, please see Code Review Guidelines.

Author

[x] Self-review your own code in GitHub's web interface[^1]
[ ] Add automated tests as appropriate
[ ] Update the manual tests[^2] as appropriate
[ ] Check the code coverage[^3] report for the automated tests
[ ] Update documentation as appropriate (e.g README.md, and Architecture.md, etc.)
[x] Run the app and try the changes
[ ] Pull in the latest changes from the main branch and squash your commits before assigning a reviewer[^4]

Note
It is good practice to provide before and after UI  screenshots in the description of this PR. This is only applicable for changes that modify the UI.

Reviewer

[ ] Check the code with the Code Review Guidelines checklist
[ ] Perform an ad hoc review[^5]
[ ] Review the automated tests
[ ] Review the manual tests
[ ] Review the documentation, README.md, and Architecture.md as appropriate
[ ] Run the app and try the changes[^6]

[^1]: Code often looks different when reviewing the diff in a browser, making it easier to spot potential bugs.
[^2]: While we aim for automated testing of the application, some aspects require manual testing. If you had to manually test something during development of this pull request, write those steps down.
[^3]: While we are not looking for perfect coverage, the tool can point out potential cases that have been missed. Code coverage can be generated with: ./gradlew check for Kotlin modules and ./gradlew connectedCheck -PIS_ANDROID_INSTRUMENTATION_TEST_COVERAGE_ENABLED=true for Android modules.
[^4]: Having your code up to date and squashed will make it easier for others to review. Use best judgement when squashing commits, as some changes (such as refactoring) might be easier to review as a separate commit.
[^5]: In addition to a first pass using the code review guidelines, do a second pass using your best judgement and experience which may identify additional questions or comments. Research shows that code review is most effective when done in multiple passes, where reviewers look for different things through each pass.
[^6]: While the CI server runs the app to look for build failures or crashes, humans running the app are more likely to notice unexpected log messages, UI inconsistencies, or bad output data. Perform this step last, after verifying the code changes are safe to run locally.

FYI the failed Android test is not related to these changes and will be analyzed separately under this issue https://github.com/zcash/secant-android-wallet/issues/897.


Feature Request: Separate the Service Locator dependency in to its own feature

XRTK - Mixed Reality Toolkit Feature Request
Is your feature request related to a problem? Please describe
The Service Locator is a core part that is consumed by the XRTK but it is useful in itself to other Unity projects without the overhead of the XRTK itself.
Several projects have been noted to be consuming all of the core of the XRTK, just to use the Service Locator feature.
How would you classify your suggestion

Architecture / Services

Describe the solution you'd like

The Service Locator functionality itself should be broken out in to it's own separate project and the XRTK core project updated to use this as a dependency.
This would greatly reduce the impacts for customers only using the service locator feature.

Thoughts @StephenHodgson given you have projects that are using the locator but not the XRTK itself.

It's like asking a Tiger to lose its stripes. That's pretty much the heart of what makes the XRTK what it is.


Add projects to awesome node

https://github.com/sindresorhus/awesome-nodejs

Didn't you submit a PR for this? What's the status?

Yes - status waiting

Can you link it please?
On Tue, Nov 22, 2016 at 1:48 PM helio-frota<EMAIL_ADDRESS>wrote:

Yes - status waiting
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bucharest-gold/entente/issues/111#issuecomment-262329161,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAA-UM-aghnDO2tn5TsHSKAgW4KoX4nQks5rAzjpgaJpZM4Kszex
.

--
-- Lance Ball -- Sent from my magic rectangle that I carry in my pocket.
Crazy, huh?

sure: https://github.com/sindresorhus/awesome-nodejs/pull/623

I think we can close this, right? You've submitted a PR. Judging by the outstanding PRs on that repo, it could be a while before yours is merged. I don't think we need to keep this open until then. Feel free to reopen if you disagree.

right!


BSP server does not respond when connected sbt server is closed

steps

start an sbt shell on a project
start a BSP server for the same project (eg via opening it in IntelliJ)
the BSP server will connect to the existing shell
close the shell

problem

BSP server throws an error:

Exception in thread "Thread-0" java.lang.ArrayIndexOutOfBoundsException: arraycopy: length -1 is negative
at java.base/java.lang.System.arraycopy(Native Method)
at java.base/java.io.BufferedOutputStream.write(BufferedOutputStream.java:129)
at java.base/java.io.PrintStream.write(PrintStream.java:559)
at sbt.internal.client.BspClient.sbt$internal$client$BspClient$$transferTo(BspClient.scala:26)
at sbt.internal.client.BspClient$$anon$1.run(BspClient.scala:34)

running a request on the server hangs indefinitely with no response.

expectation
Either:

BSP server exits, so client can start a fresh process, or
BSP server responds with error on request, or
BSP server start its own fresh sbt process

I would be in favor of the first solution:

BSP server exits, so client can start a fresh process

I see the sbt -bsp process more like a broker. So if the main sbt server is killed, the BSP client would be responsible to start a new process.
What do you and others think?

Yes, I think that's the simplest solution, since the client needs to do it anyway if the bsp server process quits for any other reason.


Downloading and uploading progress

When we upload or download a file
I need to get the progress of downloading or uploading
For example:
supabase.storage.from('avatars').download(path)
Shall give me the progress of downloading

Closing in favor of #438


esp_http_client: impossible to change the port (IDFGH-5755)

Environment

Development Kit: none
Module or chip used:  ESP32
IDF version: Release 4.3
Build System: idf.py
Compiler version: tensa-esp32-elf-gcc (crosstool-NG esp-2020r3) 8.4.0
Operating System: Windows
(Windows only) environment type: ESP Command Prompt
Using an IDE?: No
Power Supply:         USB

Problem Description
When we use the esp_http_client the port configured with the function esp_http_client_init() is not used by the client.
The client always use "80" for "http" and "443" for "https" transport
The documentation say's:
esp_http_client_init(): To use the HTTP client, the first thing we must do is create an esp_http_client by pass into this function with the esp_http_client_config_t configurations. Which configuration values we do not define, the library will use default.

So, the values that we define should be used.
Expected Behavior
The port given to the function esp_http_client_init() with the configuration structure esp_http_client_config_t must be used by the http client.
Actual Behavior
The port is always replaced by 80 or 443
Code to reproduce this issue
void http_test()
{
    esp_http_client_config_t config = {
        .user_agent = "My Agent",
        .timeout_ms = 5000,
        .url = "http://<IP_ADDRESS>/my_path",
        .port = 9595,
        .host = "<IP_ADDRESS>"
    };
    esp_http_client_handle_t client = esp_http_client_init(&config);
    esp_http_client_open(client, 0);
    // ...
}

Other items if possible
The port is replaced here:

Your url should also have the port declared in it to be valid. If you put that URL into a browser it will also use port 80/443 since it does not declare a specific port to use.
Try:
esp_http_client_config_t config = {
        .user_agent = "My Agent",
        .timeout_ms = 5000,
        .url = "http://<IP_ADDRESS>:9995/my_path",
        .port = 9595,
        .host = "<IP_ADDRESS>"
    };

Your url should also have the port declared in it to be valid. If you put that URL into a browser it will also use port 80/443 since it does not declare a specific port to use.
Try:
esp_http_client_config_t config = {
        .user_agent = "My Agent",
        .timeout_ms = 5000,
        .url = "http://<IP_ADDRESS>:9995/my_path",
        .port = 9595,
        .host = "<IP_ADDRESS>"
    };

Problem solved.

You can use:
        .url = "http://<IP_ADDRESS>:9995/my_path",

or
        .path = "my_path",
        .port = 9595,
        .host = "<IP_ADDRESS>"

@caipiblack Thanks for reporting, thanks @atanisoft @chegewara for the notes.


Let really working now

this probably should have documentation explaining how to use operators, but I am way too tired right now for that

Awesome job with the working implementation.
I think there's a few things we should think about:
We are asking a lot by asking the user to provide default values for let properties
This constraint isn't that much different from providing default values with var in the current implementation.
A more robust solution would throw an ErrorType or return nil in the initializer if any of the required values are missing/of the wrong type. I really like this about the Argo library (although asking the user to write a somewhat difficult curried function is a side effect of this.)
I do have a more minor secondary gripe about operators but the above is my main concern. Let's see if we can find a better solution before jumping in?

Ok, I think those are quite reasonable concerns. Thanks for the feedback!


[SPARK-6152] Use shaded ASM5 to support closure cleaning of Java 8 compiled classes

This patch modifies Spark's closure cleaner (and a few other places) to use ASM 5, which is necessary in order to support cleaning of closures that were compiled by Java 8.
In order to avoid ASM dependency conflicts, Spark excludes ASM from all of its dependencies and uses a shaded version of ASM 4 that comes from reflectasm (see SPARK-782 and #232). This patch updates Spark to use a shaded version of ASM 5.0.4 that was published by the Apache XBean project; the POM used to create the shaded artifact can be found at https://github.com/apache/geronimo-xbean/blob/xbean-4.4/xbean-asm5-shaded/pom.xml.
http://movingfulcrum.tumblr.com/post/80826553604/asm-framework-50-the-missing-migration-guide was a useful resource while upgrading the code to use the new ASM5 opcodes.
I also added a new regression tests in the java8-tests subproject; the existing tests were insufficient to catch this bug, which only affected Scala 2.11 user code which was compiled targeting Java 8.

/cc @pwendell @srowen

Merged build triggered.

Merged build started.

Test build #45165 has started for PR 9512 at commit e5e27ce.

Merged build triggered.

Merged build started.

Test build #45169 has started for PR 9512 at commit c3e7f4a.

Apparently ASM is a common source of Java 8 upgrade pain: http://product.hubspot.com/blog/upgrading-to-java-8-at-scale

Test build #45165 has finished for PR 9512 at commit e5e27ce.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * final class DecisionTreeRegressor @Since(\"1.4.0\") (@Since(\"1.4.0\") override val uid: String)\n  * final class GBTRegressor @Since(\"1.4.0\") (@Since(\"1.4.0\") override val uid: String)\n  * class IsotonicRegression @Since(\"1.5.0\") (@Since(\"1.5.0\") override val uid: String)\n  * class LinearRegression @Since(\"1.3.0\") (@Since(\"1.3.0\") override val uid: String)\n  * final class RandomForestRegressor @Since(\"1.4.0\") (@Since(\"1.4.0\") override val uid: String)\n

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45165/
Test FAILed.

Test build #45169 has finished for PR 9512 at commit c3e7f4a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * final class DecisionTreeRegressor @Since(\"1.4.0\") (@Since(\"1.4.0\") override val uid: String)\n  * final class GBTRegressor @Since(\"1.4.0\") (@Since(\"1.4.0\") override val uid: String)\n  * class IsotonicRegression @Since(\"1.5.0\") (@Since(\"1.5.0\") override val uid: String)\n  * class LinearRegression @Since(\"1.3.0\") (@Since(\"1.3.0\") override val uid: String)\n  * final class RandomForestRegressor @Since(\"1.4.0\") (@Since(\"1.4.0\") override val uid: String)\n

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45169/
Test FAILed.

Merged build finished. Test FAILed.

Jenkins retest this please.

Merged build triggered.

Merged build started.

Test build #45190 has started for PR 9512 at commit c3e7f4a.

Test build #45190 has finished for PR 9512 at commit c3e7f4a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/45190/
Test PASSed.

I suppose it would be nice to actually run the Java 8 tests to see whether they would have caught this.

This looks fine (i.e. LGTM). However, we could also look into actually shading asm ourselves in our published artifacts, similar to how we now shade jetty and other things. I'm fine to just use this already shaded one too though. Seems to do no harm and will allow us to work with Java 8.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #45535 has started for PR 9512 at commit c3e7f4a.

I added a regression test to the java8-tests subproject and verified that it fails before this patch's changes.

Merged build triggered.

Merged build started.

Test build #45535 has finished for PR 9512 at commit c3e7f4a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45535/
Test FAILed.

Merged build finished. Test FAILed.

Test build #45546 has started for PR 9512 at commit 38191a1.

Merged build triggered.

Merged build started.

Test build #45549 has started for PR 9512 at commit fd96788.

@marmbrus, it turns out that our java8-tests Maven profile disables the Scala compiler plugin (presumably because it was being used to compile Java sources and was hard to configure properly). I could spend some time to make it so that the regression test for this patch can run in Maven, but I'd rather work on other things given how much time I've already sunk into this. Therefore, I just amended the "Building Spark" guide to contain the one-liner for running this in SBT. I'll defer proper configuration / execution of these tests to a followup / someone else.

Merged build triggered.

Merged build started.

I think the most important thing is that it will be run by the PR builder.

The Java 8 tests currently aren't run at all (in fact, some of the streaming ones appear to be broken). In order to test this in the PR builder, I'll have to configure it to use JDK 8 and will have to supply the right profiles. I could probably auto-set the right profile based on the detected JDK version.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45563/
Test FAILed.

Test build #45546 has finished for PR 9512 at commit 38191a1.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45546/
Test FAILed.

Test build #45549 has finished for PR 9512 at commit fd96788.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45549/
Test FAILed.

Merged build triggered.

Merged build started.

Test build #45569 has started for PR 9512 at commit 01f5cca.

Test build #45569 has finished for PR 9512 at commit 01f5cca.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * public class JavaLBFGSExample \n  * class SlidingRDDPartition[T](val idx: Int, val prev: Partition, val tail: Seq[T], val offset: Int)\n  * class SlidingRDD[T: ClassTag](@transient val parent: RDD[T], val windowSize: Int, val step: Int)\n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45569/
Test PASSed.

Merged build triggered.

Merged build started.

Test build #45598 has started for PR 9512 at commit 9833667.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #45609 has started for PR 9512 at commit 9833667.

Test build #45598 has finished for PR 9512 at commit 9833667.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45598/
Test FAILed.

Test build #45609 has finished for PR 9512 at commit 9833667.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * public class JavaLBFGSExample \n

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45609/
Test PASSed.

Thanks, I'm going to merge this to master and 1.6.  We should look at turning Java 8 test on in Jenkins as a follow up.


Add a CSV specification with an example to the README

Address, what each column does and which ones are optional. Also provide an example and perhaps link to the survey folder. See the individual mapping README as a possible example.

Should this be closed?

@sumants-dev — just checking, was this closed by mistake?

Yes


Error in az cli code to add AAD to existing VM

The code below as in the article for enabling an existing server is missing the code required to add a system managed identity
az vm extension set
--publisher Microsoft.Azure.ActiveDirectory
--name AADLoginForWindows
--resource-group myResourceGroup
--vm-name myVM

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c946fe0f-e18d-2529-2fbf-bce04759fbca
Version Independent ID: 885a61d1-6096-5aa0-fe8d-f1ec8d55e542
Content: Sign in to Windows virtual machine in Azure using Azure Active Directory (Preview)
Content Source: articles/active-directory/devices/howto-vm-sign-in-azure-ad-windows.md
Service: active-directory
Sub-service: devices
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@iaasazure  Thanks for reaching out, we will investigate and update you.

@MicrosoftGuyJFlo Please confirm on the same

#assign @sandeo

sandeo is not a valid GitHub ID, or is not a collaborator on this repo.

#assign @SanDeo-MSFT

@iaasazure We already call out that System Identity needs to be enabled on the VM. We also mention and show that using az vm create before the extension installation steps. Additionally, if you enable Azure AD sign in from Azure portal we set it implicitly and you can see in the UX under Management tab. You cannot assign System Identity as part of az vm extension set.
#please-close