Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jsii/superchain generating qemu: uncaught target signal 6 (aborted) error when run on new Mac (arm64) #2930

Closed
5 tasks
biffgaut opened this issue Jul 28, 2021 · 2 comments · Fixed by #2949
Closed
5 tasks
Assignees
Labels
bug This issue is a bug. needs-triage This issue or PR still needs to be triaged.

Comments

@biffgaut
Copy link

🐛 Bug Report

Affected Languages

  • TypeScript or Javascript
  • Python
  • Java
  • .NET (C#, F#, ...)
  • Go

General Information

  • JSII Version:
  • Platform: (docker image output) jsii/superchain 10527d15d7b7 3 months ago 3.08GB

What is the problem?

Describe the bug
We're building a CDK construct library on the jsii/superchain:latest docker container. When we run yarn run jsii-pacmak across our repo we see this error in the first folder run against. This article suggests the problem is running an amd64 image on an arm64 host.

To Reproduce
Steps to reproduce the behavior:

  1. Clone our repo on a new Mac (arm64)
  2. cd aws-solutions-constructs
  3. start the container using docker run --rm --net=host -it -v $PWD:$PWD -w $PWD jsii/superchain
  4. run ./deployment/build-patterns.sh

The entire library needs to be built before it runs the packaging command. Depending upon how many system resources you have devoted to docker it can take 30 minutes to a couple hours (I have 6 CPUs assigned to docker to get 30 minutes).

Error:

packaging...
lerna notice cli v3.22.1
lerna info Executing command in 44 packages: "yarn run jsii-pacmak"
@aws-solutions-constructs/core: yarn run v1.22.5
@aws-solutions-constructs/core: $ jsii-pacmak
@aws-solutions-constructs/core: [xmldom warning]        attribute "arguments" missed value!! "arguments" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "that" missed value!! "that" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "are" missed value!! "are" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "passed" missed value!! "passed" instead!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "arguments" missed value!! "arguments" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "that" missed value!! "that" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "are" missed value!! "are" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "passed" missed value!! "passed" instead!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "arguments" missed value!! "arguments" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "that" missed value!! "that" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "are" missed value!! "are" instead2!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [xmldom warning]        attribute "passed" missed value!! "passed" instead!! 
@aws-solutions-constructs/core: @#[line:1,col:1]
@aws-solutions-constructs/core: [jsii-pacmak] [WARN] Exception occurred, not cleaning up 
@aws-solutions-constructs/core: [jsii-pacmak] [WARN] dotnet failed
@aws-solutions-constructs/core: Error: Command (dotnet new sln -n JsiiBuild) failed with signal SIGABRT:
@aws-solutions-constructs/core: #STDERR> qemu: uncaught target signal 6 (Aborted) - core dumped
@aws-solutions-constructs/core: #STDERR> 
@aws-solutions-constructs/core: #STDOUT> 
@aws-solutions-constructs/core:     at ChildProcess.child.once (/Users/cmicky/VSCode/aws-solutions-constructs/source/node_modules/jsii-pacmak/lib/util.js:120:27)
@aws-solutions-constructs/core:     at Object.onceWrapper (events.js:286:20)
@aws-solutions-constructs/core:     at ChildProcess.emit (events.js:198:13)
@aws-solutions-constructs/core:     at maybeClose (internal/child_process.js:982:16)
@aws-solutions-constructs/core:     at Socket.stream.socket.on (internal/child_process.js:389:11)
@aws-solutions-constructs/core:     at Socket.emit (events.js:198:13)
@aws-solutions-constructs/core:     at Pipe._handle.close (net.js:607:12)
@aws-solutions-constructs/core: error Command failed with exit code 1.
@aws-solutions-constructs/core: info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
lerna ERR! yarn run jsii-pacmak exited 1 in '@aws-solutions-constructs/core'
real    1m29.191s
user    1m11.732s
sys     0m6.121s```

**System environment**
MacBook Pro (13-inch M1, 2020)
Chip: Apple M1
Memory 16GB
macOS Big Sur 11.3.1


**Additional context**
Any other relevant context about the problem here.


@biffgaut biffgaut added bug This issue is a bug. needs-triage This issue or PR still needs to be triaged. labels Jul 28, 2021
@RomainMuller
Copy link
Contributor

The jsii/superchain image is not available for arm64 at this point. I suspect this eventually is going to be required in order for you to be able to use this image on your M1 Mac.

RomainMuller added a commit that referenced this issue Aug 16, 2021
Introducing ARM64 support for the `jsii/superchain` docker image using
the multi-arch capabilities of `docker buildx`. This prompted a couple
of changes in the image, which should be fine for the majority of
use-cases, but is a breaking change in certain edge cases... So this change
also changes the image tagging model, so that users are able to reliably
depend on a particular linux distribution ancestry (`debian:buster-slim`
being the only offered option at this moment).

The new image is based off `debian:10-slim`, as unfortunately, binary
distributions of some of the image contents are not available for ARM64
platform on the RHEL/CentOS-based distributions (which `amazonlinux:2`
is). This means packages now get installed from `apt` instead of `yum`.

Image testing (by building `jsii` within the image) is now part of the
image build process itself, instead of being separated, as this allows
testing on all supported architectures (which is otherwise somewhat more
difficult to achieve).

BREAKING CHANGE: the `jsii/superchain` image tags `:latest`, `:nightly`,
`:node10` and `:node14` are no longer maintained. Users should migrate to
the new debian-based tags starting with `:1-buster-slim`.

Fixes #2930
@github-actions
Copy link
Contributor

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue is a bug. needs-triage This issue or PR still needs to be triaged.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants