Skip to content

integration: containerd snapshotter with dockerd#3176

Merged
tonistiigi merged 7 commits intomoby:masterfrom
crazy-max:dockerd-test-c8d
Dec 7, 2022
Merged

integration: containerd snapshotter with dockerd#3176
tonistiigi merged 7 commits intomoby:masterfrom
crazy-max:dockerd-test-c8d

Conversation

@crazy-max
Copy link
Copy Markdown
Member

@crazy-max crazy-max commented Oct 13, 2022

Integration tests for dockerd worker with containerd-snapshotter was not enabled. This adds a new matrix item to the dockerd workflow to run tests using this snapshotter. Direct push is enabled with containerd snapshotter on most tests. Some of them have still issues (see comments review below).

Tested here: https://github.com/crazy-max/buildkit/actions/runs/3257273194 with Docker version https://github.com/rumpl/moby.git#c8d.

Also add missing skips for some tests with dockerd worker:


TestTargetsDescribeDefinition: https://github.com/crazy-max/buildkit/actions/runs/3235292532/jobs/5299596379#step:9:1016

 === CONT  TestIntegration/TestTargetsDescribeDefinition/worker=dockerd/frontend=client
    dockerfile_targets_test.go:165: 
        	Error Trace:	dockerfile_targets_test.go:165
        	            				client.go:208
        	            				build.go:62
        	            				solve.go:254
        	            				errgroup.go:57
        	            				asm_amd64.s:1594
        	Error:      	Should be true
        	Test:       	TestIntegration/TestTargetsDescribeDefinition/worker=dockerd/frontend=client
    dockerfile_targets_test.go:178: 
        	Error Trace:	dockerfile_targets_test.go:178
        	            				run.go:86
        	            				run.go:189
        	Error:      	Should be true
        	Test:       	TestIntegration/TestTargetsDescribeDefinition/worker=dockerd/frontend=client
    sandbox.go:234: stderr: /usr/bin/dockerd

TestTargetsList: https://github.com/crazy-max/buildkit/actions/runs/3235292532/jobs/5299596379#step:9:1361

=== CONT  TestIntegration/TestTargetsList/worker=dockerd/frontend=client
    dockerfile_targets_test.go:70: 
        	Error Trace:	dockerfile_targets_test.go:70
        	            				client.go:208
        	            				build.go:62
        	            				solve.go:254
        	            				errgroup.go:57
        	            				asm_amd64.s:1594
        	Error:      	Received unexpected error:
        	            	unsupported request frontend.targets: unsupported request frontend.targets
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/frontend/gateway/pb.(*lLBBridgeClient).Solve
        	            		/src/frontend/gateway/pb/gateway.pb.go:2714
        	            	github.com/moby/buildkit/client.(*gatewayClientForBuild).Solve
        	            		/src/client/build.go:92
        	            	github.com/moby/buildkit/frontend/gateway/grpcclient.(*grpcClient).Solve
        	            		/src/frontend/gateway/grpcclient/client.go:419
        	            	github.com/moby/buildkit/frontend/dockerfile.testTargetsList.func1
        	            		/src/frontend/dockerfile/dockerfile_targets_test.go:63
        	            	github.com/moby/buildkit/frontend/gateway/grpcclient.(*grpcClient).Run
        	            		/src/frontend/gateway/grpcclient/client.go:208
        	            	github.com/moby/buildkit/client.(*Client).Build.func2
        	            		/src/client/build.go:62
        	            	github.com/moby/buildkit/client.(*Client).solve.func3
        	            		/src/client/solve.go:254
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestTargetsList/worker=dockerd/frontend=client
    dockerfile_targets_test.go:122: 
        	Error Trace:	dockerfile_targets_test.go:122
        	            				run.go:86
        	            				run.go:189
        	Error:      	Should be true
        	Test:       	TestIntegration/TestTargetsList/worker=dockerd/frontend=client
    sandbox.go:234: stdout: /usr/bin/dockerd
    sandbox.go:234: stderr: /usr/bin/dockerd

TestOutlineSecrets: https://github.com/crazy-max/buildkit/actions/runs/3235292532/jobs/5299596379#step:9:2078

=== CONT  TestIntegration/TestOutlineSecrets/worker=dockerd/frontend=client
    dockerfile_outline_test.go:190: 
        	Error Trace:	dockerfile_outline_test.go:190
        	            				client.go:208
        	            				build.go:62
        	            				solve.go:254
        	            				errgroup.go:57
        	            				asm_amd64.s:1594
        	Error:      	Received unexpected error:
        	            	unsupported request frontend.outline: unsupported request frontend.outline
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/frontend/gateway/pb.(*lLBBridgeClient).Solve
        	            		/src/frontend/gateway/pb/gateway.pb.go:2714
        	            	github.com/moby/buildkit/client.(*gatewayClientForBuild).Solve
        	            		/src/client/build.go:92
        	            	github.com/moby/buildkit/frontend/gateway/grpcclient.(*grpcClient).Solve
        	            		/src/frontend/gateway/grpcclient/client.go:419
        	            	github.com/moby/buildkit/frontend/dockerfile.testOutlineSecrets.func1
        	            		/src/frontend/dockerfile/dockerfile_outline_test.go:181
        	            	github.com/moby/buildkit/frontend/gateway/grpcclient.(*grpcClient).Run
        	            		/src/frontend/gateway/grpcclient/client.go:208
        	            	github.com/moby/buildkit/client.(*Client).Build.func2
        	            		/src/client/build.go:62
        	            	github.com/moby/buildkit/client.(*Client).solve.func3
        	            		/src/client/solve.go:254
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestOutlineSecrets/worker=dockerd/frontend=client
    dockerfile_outline_test.go:237: 
        	Error Trace:	dockerfile_outline_test.go:237
        	            				run.go:86
        	            				run.go:189
        	Error:      	Should be true
        	Test:       	TestIntegration/TestOutlineSecrets/worker=dockerd/frontend=client
    sandbox.go:234: stderr: /usr/bin/dockerd

TestNamedOCILayoutContextExport: https://github.com/crazy-max/buildkit/actions/runs/3235292532/jobs/5299596379#step:9:2982

=== CONT  TestIntegration/TestNamedOCILayoutContextExport/worker=dockerd/frontend=client
    dockerfile_test.go:5637: 
        	Error Trace:	dockerfile_test.go:5637
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	exporter "oci" could not be found
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestNamedOCILayoutContextExport/worker=dockerd/frontend=client
    sandbox.go:234: stderr: /usr/bin/dockerd

TestNamedImageContextScratch: https://github.com/crazy-max/buildkit/actions/runs/3235292532/jobs/5299596379#step:9:3697

=== CONT  TestIntegration/TestNamedImageContextScratch/worker=dockerd/frontend=builtin
    dockerfile_test.go:5393: 
        	Error Trace:	dockerfile_test.go:5393
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	docker.io/library/scratch:latest: not found
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestNamedImageContextScratch/worker=dockerd/frontend=builtin
    sandbox.go:234: stdout: /usr/bin/dockerd

TestNamedImageContextPlatform: https://github.com/crazy-max/buildkit/actions/runs/3235292532/jobs/5299596379#step:9:4067

=== CONT  TestIntegration/TestNamedImageContextPlatform/worker=dockerd/frontend=client
2022/10/12 14:11:31 http2: server connection error from localhost: connection error: PROTOCOL_ERROR
    dockerfile_test.go:5237: 
        	Error Trace:	dockerfile_test.go:5237
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	exporter "image" could not be found
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestNamedImageContextPlatform/worker=dockerd/frontend=client
    sandbox.go:234: stdout: /usr/bin/dockerd

TestAttestationDefaultSubject: https://github.com/crazy-max/buildkit/actions/runs/3241141725/jobs/5312765705#step:9:1168

Same for testExportAnnotationsMediaTypes and testExportAttestations.

=== CONT  TestIntegration/TestAttestationDefaultSubject/worker=dockerd
    client_test.go:6739: 
        	Error Trace:	client_test.go:6739
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	exporter "image" could not be found
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestAttestationDefaultSubject/worker=dockerd
    sandbox.go:234: stdout: /usr/bin/dockerd

And another one related to #3171.

func testPushByDigest(t *testing.T, sb integration.Sandbox) {
integration.SkipIfDockerd(t, sb, "direct push")
integration.SkipIfDockerdMoby(t, sb, "direct push")
integration.SkipIfDockerdSnapshotter(t, sb, "can't push ref tagged by digest")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/crazy-max/buildkit/actions/runs/3257225568/jobs/5348378063#step:8:1262

=== CONT  TestIntegration/TestPushByDigest/worker=dockerd-containerd
    client_test.go:788: 
        	Error Trace:	client_test.go:788
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	can't push tagged ref localhost:40335/foo/bar:latest by digest
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestPushByDigest/worker=dockerd-containerd

TestPushByDigest.log

func testPullWithLayerLimit(t *testing.T, sb integration.Sandbox) {
integration.SkipIfDockerd(t, sb, "direct push")
integration.SkipIfDockerdMoby(t, sb, "direct push")
integration.SkipIfDockerdSnapshotter(t, sb, "unknown API capability source.image.layerlimit")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/crazy-max/buildkit/actions/runs/3257160268/jobs/5348276727#step:8:1173

=== CONT  TestIntegration/TestPullWithLayerLimit/worker=dockerd-containerd
    client_test.go:6030: 
        	Error Trace:	client_test.go:6030
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	failed to load LLB: unknown API capability source.image.layerlimit
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestPullWithLayerLimit/worker=dockerd-containerd

TestPullWithLayerLimit.log


func testAttestationDefaultSubject(t *testing.T, sb integration.Sandbox) {
integration.SkipIfDockerdMoby(t, sb, "direct push")
integration.SkipIfDockerdSnapshotter(t, sb, "number of platforms does not match references 1 2")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/crazy-max/buildkit/actions/runs/3257051098/jobs/5348086746#step:8:1111

=== CONT  TestIntegration/TestAttestationDefaultSubject/worker=dockerd-containerd
    client_test.go:6745: 
        	Error Trace:	client_test.go:6745
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	number of platforms does not match references 1 2
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestAttestationDefaultSubject/worker=dockerd-containerd

TestAttestationDefaultSubject.log

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀 uh oh, something seems actually wrong there...

That error message is usually a signal that something has gone quite wrong - the number of refs stop matching up with the number of things that use them.

I'm fairly sure this isn't correct anymore, the error message is also changed recently to be slightly more indicative of the actual problem: https://github.com/moby/buildkit/blob/master/exporter/containerimage/writer.go#L118.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes the snapshot adapter does not seem to match next v0.11 but v0.10 atm: https://github.com/rumpl/moby/blob/c8d/builder/builder-next/adapters/snapshot/snapshot.go

}, nil)
require.NoError(t, err)

integration.SkipIfDockerdSnapshotter(t, sb, "no match for platform in manifest")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/crazy-max/buildkit/actions/runs/3257051098/jobs/5348086904#step:8:1817

=== CONT  TestIntegration/TestNamedImageContextPlatform/worker=dockerd-containerd/frontend=builtin
    dockerfile_test.go:5265: 
        	Error Trace:	dockerfile_test.go:5265
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	no match for platform in manifest sha256:301ee552783ae53eaeb667945fd876066675c539c259cdb3e70fc8dfb6e0ea48: not found
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestNamedImageContextPlatform/worker=dockerd-containerd/frontend=builtin

TestNamedImageContextPlatform.log

func testNamedImageContextTimestamps(t *testing.T, sb integration.Sandbox) {
integration.SkipIfDockerd(t, sb, "direct push")
integration.SkipIfDockerdMoby(t, sb, "direct push", "named contexts timestamps")
integration.SkipIfDockerdSnapshotter(t, sb, "named contexts timestamps")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/crazy-max/buildkit/actions/runs/3257051098/jobs/5348086904#step:8:1232

=== CONT  TestIntegration/TestNamedImageContextTimestamps/worker=dockerd-containerd/frontend=builtin
    dockerfile_test.go:5349: 
        	Error Trace:	dockerfile_test.go:5349
        	            				run.go:86
        	            				run.go:189
        	Error:      	Should not be: time.Date(2022, time.October, 15, 20, 48, 54, 585592478, time.UTC)
        	Test:       	TestIntegration/TestNamedImageContextTimestamps/worker=dockerd-containerd/frontend=builtin

TestNamedImageContextTimestamps.log

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the connection in here. Assuming DockerdSnapshotter uses the image exporter directly and not moby.

Copy link
Copy Markdown
Member Author

@crazy-max crazy-max Oct 18, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This means for DockerdMoby we have to skip because direct push and named contexts timestamps are not working but with DockerdSnapshotter only named contexts timestamps is not working:

require.NoError(t, err)

@crazy-max crazy-max marked this pull request as ready for review October 17, 2022 08:07
func testCacheMultiPlatformImportExport(t *testing.T, sb integration.Sandbox) {
integration.SkipIfDockerd(t, sb, "direct push")
integration.SkipIfDockerdMoby(t, sb, "direct push")
integration.SkipIfDockerdSnapshotter(t, sb, "cache multi-platform hangs")
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one hangs with containerd-snapshotter which might be because docker daemon panics. Will repro and post the logs.

Copy link
Copy Markdown
Member Author

@crazy-max crazy-max Oct 18, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok this one fails here:

desc2, provider, err := contentutil.ProviderFromRef(target + "-img")
require.NoError(t, err)

Looking at the logs it seems it fails to pull the frontend gateway image:

=== CONT  TestIntegration/TestCacheMultiPlatformImportExport/worker=dockerd-containerd/frontend=gateway
    dockerfile_test.go:3954:
                Error Trace:    dockerfile_test.go:3954
                                                        run.go:86
                                                        run.go:189
                Error:          Received unexpected error:
                                pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
                                github.com/moby/buildkit/util/stack.Enable
                                        /src/util/stack/stack.go:77
                                github.com/moby/buildkit/util/grpcerrors.FromGRPC
                                        /src/util/grpcerrors/grpcerrors.go:196
                                github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
                                        /src/util/grpcerrors/intercept.go:41
                                google.golang.org/grpc.(*ClientConn).Invoke
                                        /src/vendor/google.golang.org/grpc/call.go:35
                                github.com/moby/buildkit/api/services/control.(*controlClient).Solve
                                        /src/api/services/control/control.pb.go:1535
                                github.com/moby/buildkit/client.(*Client).solve.func2
                                        /src/client/solve.go:231
                                golang.org/x/sync/errgroup.(*Group).Go.func1
                                        /src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
                                runtime.goexit
                                        /usr/local/go/src/runtime/asm_amd64.s:1594
                                failed to solve
                                github.com/moby/buildkit/client.(*Client).solve.func2
                                        /src/client/solve.go:244
                                golang.org/x/sync/errgroup.(*Group).Go.func1
                                        /src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
                                runtime.goexit
                                        /usr/local/go/src/runtime/asm_amd64.s:1594
                Test:           TestIntegration/TestCacheMultiPlatformImportExport/worker=dockerd-containerd/frontend=gateway

TestCacheMultiPlatformImportExport.log

Comment on lines +1195 to +1196
case "TestDiffSelf", "TestDiffScratch":
integration.SkipIfDockerdSnapshotter(t, sb, "https://github.com/moby/buildkit/pull/3176")
Copy link
Copy Markdown
Member Author

@crazy-max crazy-max Oct 17, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TestDiffSelf and TestDiffScratch hang too (dockerd panics):

=== CONT  TestIntegration/TestDiffScratch/worker=dockerd-containerd
    client_test.go:6071: checkAllReleasable: skipping check for exported tars in non-containerd test
    mergediff_test.go:1256: 
                Error Trace:    /src/client/client_test.go:5960
                                                        /src/client/mergediff_test.go:1256
                                                        /src/client/run.go:195
                Error:          Received unexpected error:
                                rpc error: code = Canceled desc = context canceled
                                failed to receive status
                                github.com/moby/buildkit/client.(*Client).solve.func4
                                        /src/client/solve.go:306
                                golang.org/x/sync/errgroup.(*Group).Go.func1
                                        /src/vendor/golang.org/x/sync/errgroup/errgroup.go:75
                                runtime.goexit
                                        /usr/local/go/src/runtime/asm_amd64.s:1594
                Test:           TestIntegration/TestDiffScratch/worker=dockerd-containerd

TestDiffScratch.log

    sandbox.go:249: panic: runtime error: invalid memory address or nil pointer dereference
    sandbox.go:249: [signal SIGSEGV: segmentation violation code=0x1 addr=0x70 pc=0x16db65e]
    sandbox.go:249:
    sandbox.go:249: goroutine 421 [running]:
    sandbox.go:249: github.com/docker/docker/builder/builder-next/exporter/containerimage.(*imageExporterInstance).unpackImage(0xc000f52d80, {0x27ed380, 0xc0013845a0}, {{0xc000234150, 0x2f}, 0x0, {{0x1e715b8, 0x34}, {0xc0013a6140, 0x47}, ...}, ...}, ...)
    sandbox.go:249:     /go/src/github.com/docker/docker/builder/builder-next/exporter/containerimage/export.go:473 +0x37e
    sandbox.go:249: github.com/docker/docker/builder/builder-next/exporter/containerimage.(*imageExporterInstance).Export(0xc000f52d80, {0x27ed380, 0xc000bdbdd0}, {{0x0?, 0x0?}, 0x0?, 0xc000bdbcb0?}, {0xc000660300, 0x19})
    sandbox.go:249:     /go/src/github.com/docker/docker/builder/builder-next/exporter/containerimage/export.go:355 +0x1bda
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver.(*Solver).Solve.func4({0x27ed380?, 0xc000bdbdd0}, {0xc000bee770?, 0x40f700?})
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go:260 +0x6e
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver.inBuilderContext.func1({0x27ed380, 0xc000bdbd10}, {0x27cf360, 0xc000e30720})
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go:444 +0x1d9
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver.(*Job).InContext(0xc0010ea580, {0x27ed380, 0xc000bdb8f0}, 0xc000e30708)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/jobs.go:569 +0x130
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver.inBuilderContext({0x27ed380, 0xc000bdb8f0}, {0x27e5180, 0xc0010ea580}, {0x1df8879, 0x12}, {0x0, 0x0}, 0xc000bf2aa0)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go:440 +0x1b3
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver.(*Solver).Solve(0xc000598240, {0x27ed380, 0xc000bdb8f0}, {0xc0006602e0, 0x19}, {0xc000660300, 0x19}, {0x0, 0xc000bdb920, {0x0, ...}, ...}, ...)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go:259 +0x19fd
    sandbox.go:249: github.com/docker/docker/builder/builder-next/control.(*Controller).Solve(0xc00056a160, {0x27ed380, 0xc000bdb8f0}, 0xc00016b320)
    sandbox.go:249:     /go/src/github.com/docker/docker/builder/builder-next/control/control.go:352 +0xc95
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/api/services/control._Control_Solve_Handler.func1({0x27ed380, 0xc000bdb8f0}, {0x276a320?, 0xc00016b320})
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/api/services/control/control.pb.go:1611 +0x78
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/util/grpcerrors.UnaryServerInterceptor({0x27ed380?, 0xc000bdb8f0?}, {0x276a320?, 0xc00016b320?}, 0xc0000cbad0?, 0x247a160?)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/util/grpcerrors/intercept.go:14 +0x3d
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/api/services/control._Control_Solve_Handler({0x2697360?, 0xc00056a160}, {0x27ed380, 0xc000bdb8f0}, 0xc000bee700, 0x27c2808)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/api/services/control/control.pb.go:1613 +0x138
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).processUnaryRPC(0xc0002694a0, {0x27fc220, 0xc0010aae10}, 0xc00016aea0, 0xc000c62bd0, 0x38c8f78, 0x0)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:1301 +0xb2b
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).handleStream(0xc0002694a0, {0x27fc220, 0xc0010aae10}, 0xc00016aea0, 0x0)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:1642 +0xa2f
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.2()
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:938 +0x98
    sandbox.go:249: created by github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).serveStreams.func1
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:936 +0x28a
    sandbox.go:249: > stopped 2022-11-22 17:01:01.50387662 +0000 UTC m=+10.060884675 exit status 2 2

@crazy-max
Copy link
Copy Markdown
Member Author

@tonistiigi Found out image cache doesn't work with dockerd worker and containerd snapshotter:

sandbox.go:237: time="2022-10-14T22:50:20.308946182Z" level=info msg="API listen on /tmp/integration1292582028/dywvpp5a7fs2j/docker.sock"
    sandbox.go:237: time="2022-10-14T22:50:20.309086595Z" level=debug msg="Calling HEAD /_ping"
    sandbox.go:237: time="2022-10-14T22:50:20.309716024Z" level=debug msg="Calling POST /grpc"
    sandbox.go:237: time="2022-10-14T22:50:20.331622378Z" level=debug msg="session started"
    sandbox.go:237: time="2022-10-14T22:50:20.331684364Z" level=info msg="[core] original dial target is: \"localhost\"" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331724038Z" level=info msg="[core] parsed dial target is: {Scheme: Authority: Endpoint:localhost URL:{Scheme: Opaque: User: Host: Path:localhost RawPath: ForceQuery:false RawQuery: Fragment: RawFragment:}}" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331756680Z" level=info msg="[core] fallback to scheme \"passthrough\"" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331777640Z" level=info msg="[core] parsed dial target is: {Scheme:passthrough Authority: Endpoint:localhost URL:{Scheme:passthrough Opaque: User: Host: Path:/localhost RawPath: ForceQuery:false RawQuery: Fragment: RawFragment:}}" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331783521Z" level=info msg="[core] Channel authority set to \"localhost\"" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331800312Z" level=info msg="[core] ccResolverWrapper: sending update to cc: {[{localhost  <nil> <nil> 0 <nil>}] <nil> <nil>}" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331813707Z" level=info msg="[core] ClientConn switching balancer to \"pick_first\"" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331823916Z" level=info msg="[core] Channel switches to new LB policy \"pick_first\"" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331854093Z" level=info msg="[core] Subchannel Connectivity change to CONNECTING" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331873419Z" level=info msg="[core] Subchannel picks a new address \"localhost\" to connect" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.331901361Z" level=info msg="[core] Channel Connectivity change to CONNECTING" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.334515858Z" level=info msg="[core] Subchannel Connectivity change to READY" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.334797898Z" level=info msg="[core] Channel Connectivity change to READY" module=grpc
    sandbox.go:237: time="2022-10-14T22:50:20.354511825Z" level=debug msg="prepare snapshot" key=lv2a2tuf6mbqkdiyze0utblef parent=
    sandbox.go:237: time="2022-10-14T22:50:20.383233708Z" level=debug msg="event published" ns=dywvpp5a7fs2j topic=/snapshot/prepare type=containerd.events.SnapshotPrepare
    sandbox.go:237: time="2022-10-14T22:50:20.408683171Z" level=debug msg="get snapshot mounts" key=lv2a2tuf6mbqkdiyze0utblef
    sandbox.go:237: time="2022-10-14T22:50:20.423181048Z" level=debug msg="|<--- NewContainer g9zrdui0rfwcukmsuhv9cjleh"
    sandbox.go:237: time="2022-10-14T22:50:20.431050460Z" level=debug msg=resolving host=registry-1.docker.io
    sandbox.go:237: time="2022-10-14T22:50:20.431075026Z" level=debug msg="do request" host=registry-1.docker.io request.header.accept="application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=buildkit/0.0.0+unknown request.method=HEAD url="https://registry-1.docker.io/v2/library/busybox/manifests/latest"
    sandbox.go:237: time="2022-10-14T22:50:20.823808572Z" level=debug msg="fetch response received" host=registry-1.docker.io response.header.content-length=158 response.header.content-type=application/json response.header.date="Fri, 14 Oct 2022 22:50:21 GMT" response.header.docker-distribution-api-version=registry/2.0 response.header.docker-ratelimit-source=xx.xx.xx.xx response.header.strict-transport-security="max-age=31536000" response.header.www-authenticate="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\",scope=\"repository:library/busybox:pull\"" response.status="401 Unauthorized" url="https://registry-1.docker.io/v2/library/busybox/manifests/latest"
    sandbox.go:237: time="2022-10-14T22:50:20.823854027Z" level=debug msg=Unauthorized header="Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\",scope=\"repository:library/busybox:pull\"" host=registry-1.docker.io      
    sandbox.go:237: time="2022-10-14T22:50:20.825067801Z" level=debug msg="do request" host=registry-1.docker.io request.header.accept="application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, */*" request.header.user-agent=buildkit/0.0.0+unknown request.method=HEAD url="https://registry-1.docker.io/v2/library/busybox/manifests/latest"
    sandbox.go:237: time="2022-10-14T22:50:21.488728484Z" level=debug msg="fetch response received" host=registry-1.docker.io response.header.content-length=2295 response.header.content-type=application/vnd.docker.distribution.manifest.list.v2+json response.header.date="Fri, 14 Oct 2022 22:50:22 GMT" response.header.docker-content-digest="sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698" response.header.docker-distribution-api-version=registry/2.0 response.header.docker-ratelimit-source=xx.xx.xx.xx response.header.etag="\"sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698\"" response.header.ratelimit-limit="100;w=21600" response.header.ratelimit-remaining="0;w=21600" response.header.strict-transport-security="max-age=31536000" response.status="200 OK" url="https://registry-1.docker.io/v2/library/busybox/manifests/latest"
    sandbox.go:237: time="2022-10-14T22:50:21.488884957Z" level=debug msg=resolved desc.digest="sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698" host=registry-1.docker.io
    sandbox.go:237: time="2022-10-14T22:50:21.489100861Z" level=debug msg=fetch digest="sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698" mediatype=application/vnd.docker.distribution.manifest.list.v2+json size=2295        
    sandbox.go:237: time="2022-10-14T22:50:21.489698390Z" level=debug msg="(*service).Write started" expected="sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698" ref="index-sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698" total=2295
    sandbox.go:237: time="2022-10-14T22:50:21.506871619Z" level=debug msg="do request" digest="sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698" mediatype=application/vnd.docker.distribution.manifest.list.v2+json request.header.accept="application/vnd.docker.distribution.manifest.list.v2+json, */*" request.header.user-agent=buildkit/0.0.0+unknown request.method=GET size=2295 url="https://registry-1.docker.io/v2/library/busybox/manifests/sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698"
    sandbox.go:237: time="2022-10-14T22:50:21.688942408Z" level=debug msg="fetch response received" digest="sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698" mediatype=application/vnd.docker.distribution.manifest.list.v2+json response.header.cache-control=no-cache response.header.content-type=application/json response.status="429 Too Many Requests" size=2295 url="https://registry-1.docker.io/v2/library/busybox/manifests/sha256:9810966b5f712084ea05bf28fc8ba2c8fb110baa2531a10e2da52c1efc504698"

I guess that's because snapshots are put in another location.

@crazy-max crazy-max added this to the v0.11.0 milestone Oct 17, 2022
@crazy-max
Copy link
Copy Markdown
Member Author

crazy-max commented Oct 20, 2022

Enabled integration tests with oci exporter (see last commit) for containerd snapshotter using https://github.com/vvoland/moby/tree/c8d-store-rebased (rumpl/moby#99)

cc @rumpl @vvoland


dockerfile_test.go:5700: 
        	Error Trace:	dockerfile_test.go:5700
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	failed to do request: Head "https://ocione/v2/image/manifests/sha256:b721a355ccf0bea40c4c7d47063c8eb6f912b1bacbb25bd8a34babdefb0cdc66": dial tcp: lookup ocione on 168.63.129.16:53: no such host
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestNamedOCILayoutContextExport/worker=dockerd-containerd/frontend=client

TestNamedOCILayoutContextExport.log


https://github.com/crazy-max/buildkit/actions/runs/3286839062/jobs/5415408628#step:8:3727

=== CONT  TestIntegration/TestNamedOCILayoutContext/worker=dockerd-containerd/frontend=builtin
    dockerfile_test.go:5591: 
        	Error Trace:	dockerfile_test.go:5591
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	unsupported context source oci-layout for base
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestNamedOCILayoutContext/worker=dockerd-containerd/frontend=builtin

TestNamedOCILayoutContext.log


https://github.com/crazy-max/buildkit/actions/runs/3286839062/jobs/5415408441#step:8:2206

=== CONT  TestIntegration/TestExportAnnotations/worker=dockerd-containerd
    client_test.go:6214: 
        	Error Trace:	client_test.go:6214
        	            				run.go:86
        	            				run.go:189
        	Error:      	Not equal: 
        	            	expected: "generic index"
        	            	actual  : ""
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1 +1 @@
        	            	-generic index
        	            	+
        	Test:       	TestIntegration/TestExportAnnotations/worker=dockerd-containerd

TestExportAnnotations.log


https://github.com/crazy-max/buildkit/actions/runs/3286839062/jobs/5415408441#step:8:2680

=== CONT  TestIntegration/TestOCILayoutPlatformSource/worker=dockerd-containerd
    client_test.go:1887: 
        	Error Trace:	client_test.go:1887
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	requested experimental feature source.ocilayout  is not supported by build server, please update 
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestOCILayoutPlatformSource/worker=dockerd-containerd

TestOCILayoutPlatformSource.log


https://github.com/crazy-max/buildkit/actions/runs/3286839062/jobs/5415408441#step:8:3106

=== CONT  TestIntegration/TestOCILayoutSource/worker=dockerd-containerd
    client_test.go:1716: 
        	Error Trace:	client_test.go:1716
        	            				run.go:86
        	            				run.go:189
        	Error:      	Received unexpected error:
        	            	failed to load LLB: unknown API capability source.ocilayout
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestOCILayoutSource/worker=dockerd-containerd

TestOCILayoutSource.log


https://github.com/crazy-max/buildkit/actions/runs/3286839062/jobs/5415408441#step:8:3654

=== RUN   TestIntegration/TestFrontendImageNaming/worker=dockerd-containerd/frontend/docker
    client_test.go:1083: 
        	Error Trace:	client_test.go:1083
        	Error:      	Received unexpected error:
        	            	invalid reference format
        	            	github.com/moby/buildkit/util/stack.Enable
        	            		/src/util/stack/stack.go:77
        	            	github.com/moby/buildkit/util/grpcerrors.FromGRPC
        	            		/src/util/grpcerrors/grpcerrors.go:196
        	            	github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
        	            		/src/util/grpcerrors/intercept.go:41
        	            	google.golang.org/grpc.(*ClientConn).Invoke
        	            		/src/vendor/google.golang.org/grpc/call.go:35
        	            	github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        	            		/src/api/services/control/control.pb.go:1535
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:231
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	            	failed to solve
        	            	github.com/moby/buildkit/client.(*Client).solve.func2
        	            		/src/client/solve.go:244
        	            	golang.org/x/sync/errgroup.(*Group).Go.func1
        	            		/src/vendor/golang.org/x/sync/errgroup/errgroup.go:57
        	            	runtime.goexit
        	            		/usr/local/go/src/runtime/asm_amd64.s:1594
        	Test:       	TestIntegration/TestFrontendImageNaming/worker=dockerd-containerd/frontend/docker

then hangs for TestIntegration/TestFrontendImageNaming/worker=dockerd-containerd/caller/image

Copy link
Copy Markdown
Member

@tonistiigi tonistiigi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs changes as discussed offline.

Add list of all supported test-features and the list of currently enabled ones. Skip can only happen for a defined feature. Based on dockerd configuration(if containerd image store enabled) the list on the enabled ones will change.

@crazy-max crazy-max marked this pull request as draft November 22, 2022 15:51
@crazy-max crazy-max force-pushed the dockerd-test-c8d branch 2 times, most recently from c23bd0e to af771fa Compare November 22, 2022 15:59
@crazy-max
Copy link
Copy Markdown
Member Author

crazy-max commented Nov 22, 2022

TestClientGatewayNilResult hangs with dockerd and dockerd-container:

=== CONT  TestClientGatewayIntegration/TestClientGatewayNilResult/worker=dockerd
    build_test.go:2018:
                Error Trace:    /src/client/build_test.go:2018
                                                        /src/client/client.go:208
                                                        /src/client/build.go:61
                                                        /src/client/solve.go:273
                                                        /src/client/errgroup.go:75
                                                        /src/client/asm_amd64.s:1594
                Error:          Received unexpected error:
                                Canceled: context canceled
                                github.com/moby/buildkit/util/stack.Enable
                                        /src/util/stack/stack.go:77
                                github.com/moby/buildkit/util/grpcerrors.FromGRPC
                                        /src/util/grpcerrors/grpcerrors.go:196
                                github.com/moby/buildkit/util/grpcerrors.UnaryClientInterceptor
                                        /src/util/grpcerrors/intercept.go:41
                                google.golang.org/grpc.(*ClientConn).Invoke
                                        /src/vendor/google.golang.org/grpc/call.go:35
                                github.com/moby/buildkit/frontend/gateway/pb.(*lLBBridgeClient).ReadDir
                                        /src/frontend/gateway/pb/gateway.pb.go:2828
                                github.com/moby/buildkit/client.(*gatewayClientForBuild).ReadDir
                                        /src/client/build.go:104
                                github.com/moby/buildkit/frontend/gateway/grpcclient.(*reference).ReadDir
                                        /src/frontend/gateway/grpcclient/client.go:1075
                                github.com/moby/buildkit/client.testClientGatewayNilResult.func1
                                        /src/client/build_test.go:2015
                                github.com/moby/buildkit/frontend/gateway/grpcclient.(*grpcClient).Run
                                        /src/frontend/gateway/grpcclient/client.go:208
                                github.com/moby/buildkit/client.(*Client).Build.func2
                                        /src/client/build.go:61
                                github.com/moby/buildkit/client.(*Client).solve.func3
                                        /src/client/solve.go:273
                                golang.org/x/sync/errgroup.(*Group).Go.func1
                                        /src/vendor/golang.org/x/sync/errgroup/errgroup.go:75
                                runtime.goexit
                                        /usr/local/go/src/runtime/asm_amd64.s:1594
                Test:           TestClientGatewayIntegration/TestClientGatewayNilResult/worker=dockerd
    build_test.go:2024: 
                Error Trace:    /src/client/build_test.go:2024
                                                        /src/client/run.go:86
                                                        /src/client/run.go:195
                Error:          Received unexpected error:
                                rpc error: code = Canceled desc = context canceled
                                failed to receive status
                                github.com/moby/buildkit/client.(*Client).solve.func4
                                        /src/client/solve.go:306
                                golang.org/x/sync/errgroup.(*Group).Go.func1
                                        /src/vendor/golang.org/x/sync/errgroup/errgroup.go:75
                                runtime.goexit
                                        /usr/local/go/src/runtime/asm_amd64.s:1594
                Test:           TestClientGatewayIntegration/TestClientGatewayNilResult/worker=dockerd

TestClientGatewayIntegration.log

    sandbox.go:249: panic: runtime error: invalid memory address or nil pointer dereference
    sandbox.go:249: [signal SIGSEGV: segmentation violation code=0x1 addr=0xa8 pc=0x133e50c]
    sandbox.go:249:
    sandbox.go:249: goroutine 671 [running]:
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/frontend/gateway.(*llbBridgeForwarder).ReadDir(0xc000e00580, {0x27ed380?, 0xc00122e630?}, 0xc001426aa0)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/frontend/gateway/gateway.go:827 +0x16c
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/control/gateway.(*GatewayForwarder).ReadDir(0x1e?, {0x27ed380, 0xc00122e630}, 0x203000?)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/control/gateway/gateway.go:145 +0x6f
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/frontend/gateway/pb._LLBBridge_ReadDir_Handler.func1({0x27ed380, 0xc00122e630}, {0x273b180?, 0xc001426aa0})
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.pb.go:2701 +0x78
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/util/grpcerrors.UnaryServerInterceptor({0x27ed380?, 0xc00122e630?}, {0x273b180?, 0xc001426aa0?}, 0xc000cd2ad0?, 0x247a160?)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/util/grpcerrors/intercept.go:14 +0x3d
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/frontend/gateway/pb._LLBBridge_ReadDir_Handler({0x27167e0?, 0xc000f60390}, {0x27ed380, 0xc00122e630}, 0xc0008805b0, 0x27c2808)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.pb.go:2703 +0x138
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).processUnaryRPC(0xc000e2a3c0, {0x27fc220, 0xc000a5c7e0}, 0xc0005e1200, 0xc000f61d10, 0x38d3468, 0x0)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:1301 +0xb2b
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).handleStream(0xc000e2a3c0, {0x27fc220, 0xc000a5c7e0}, 0xc0005e1200, 0x0)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:1642 +0xa2f
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.2()
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:938 +0x98
    sandbox.go:249: created by github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).serveStreams.func1
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:936 +0x28a
    sandbox.go:249: > stopped 2022-11-22 16:17:13.890419579 +0000 UTC m=+5.079215665 exit status 2 2

@crazy-max crazy-max force-pushed the dockerd-test-c8d branch 3 times, most recently from 6a24ba0 to b195e49 Compare November 22, 2022 17:53
@tonistiigi
Copy link
Copy Markdown
Member

What commit is that? Line numbers do not seem to match with master. Does it have 9684fee#diff-b016f4bac6986ada033d4b3498671ff93059731d912904c5bfffb4c8e3358322R828

@crazy-max
Copy link
Copy Markdown
Member Author

Following test fails after rebasing:

=== CONT  TestIntegration/TestBuildInfoSources/worker=dockerd/frontend=builtin
    dockerfile_buildinfo_test.go:124: 
        	Error Trace:	/src/frontend/dockerfile/dockerfile_buildinfo_test.go:124
        	            				/src/frontend/dockerfile/run.go:86
        	            				/src/frontend/dockerfile/run.go:195
        	Error:      	Not equal: 
        	            	expected: 4
        	            	actual  : 3
        	Test:       	TestIntegration/TestBuildInfoSources/worker=dockerd/frontend=builtin
        	Messages:   	[{Type:docker-image Ref:docker.io/library/alpine:latest@sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300 Alias: Pin:sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300} {Type:docker-image Ref:docker.io/library/busybox:latest Alias: Pin:sha256:fcd85228d7a25feb59f101ac3a955d27c80df4ad824d65f5757a954831450185} {Type:http Ref:https://raw.githubusercontent.com/moby/moby/v20.10.21/README.md Alias: Pin:sha256:419455202b0ef97e480d7f8199b26a721a417818bc0e2d106975f74323f25e6c}]

@crazy-max
Copy link
Copy Markdown
Member Author

crazy-max commented Nov 22, 2022

Other test that panics with containerd snapshotter

=== CONT  TestClientGatewayIntegration/TestClientGatewayEmptyImageExec/worker=dockerd-containerd
    build_test.go:2055: 
                Error Trace:    /src/client/build_test.go:2055
                                                        /src/client/run.go:86
                                                        /src/client/run.go:195
                Error:          Received unexpected error:
                                rpc error: code = Canceled desc = context canceled
                                failed to receive status
                                github.com/moby/buildkit/client.(*Client).solve.func4
                                        /src/client/solve.go:306
                                golang.org/x/sync/errgroup.(*Group).Go.func1
                                        /src/vendor/golang.org/x/sync/errgroup/errgroup.go:75
                                runtime.goexit
                                        /usr/local/go/src/runtime/asm_amd64.s:1594
                Test:           TestClientGatewayIntegration/TestClientGatewayEmptyImageExec/worker=dockerd-containerd
    sandbox.go:249: panic: runtime error: invalid memory address or nil pointer dereference
    sandbox.go:249: [signal SIGSEGV: segmentation violation code=0x1 addr=0x70 pc=0x16db65e]
    sandbox.go:249:
    sandbox.go:249: goroutine 253 [running]:
    sandbox.go:249: github.com/docker/docker/builder/builder-next/exporter/containerimage.(*imageExporterInstance).unpackImage(0xc001700300, {0x27ed380, 0xc0010172f0}, {{0xc0012741e0, 0x2e}, 0x0, {{0x1e715b8, 0x34}, {0xc000f22460, 0x47}, ...}, ...}, ...)
    sandbox.go:249:     /go/src/github.com/docker/docker/builder/builder-next/exporter/containerimage/export.go:473 +0x37e
    sandbox.go:249: github.com/docker/docker/builder/builder-next/exporter/containerimage.(*imageExporterInstance).Export(0xc001700300, {0x27ed380, 0xc001016810}, {{0x0?, 0x0?}, 0x0?, 0xc0010166f0?}, {0xc0008d4040, 0x19})
    sandbox.go:249:     /go/src/github.com/docker/docker/builder/builder-next/exporter/containerimage/export.go:355 +0x1bda
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver.(*Solver).Solve.func4({0x27ed380?, 0xc001016810}, {0xc0009829a0?, 0x40f700?})
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go:260 +0x6e
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver.inBuilderContext.func1({0x27ed380, 0xc001016750}, {0x27cf360, 0xc000d762d0})
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go:444 +0x1d9
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver.(*Job).InContext(0xc000b39300, {0x27ed380, 0xc0009b01e0}, 0xc000d762b8)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/jobs.go:569 +0x130
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver.inBuilderContext({0x27ed380, 0xc0009b01e0}, {0x27e5180, 0xc000b39300}, {0x1df8879, 0x12}, {0x0, 0x0}, 0xc0001d2780)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go:440 +0x1b3
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver.(*Solver).Solve(0xc00054d500, {0x27ed380, 0xc0009b01e0}, {0xc0008d4020, 0x19}, {0xc0008d4040, 0x19}, {0x0, 0x0, {0x0, ...}, ...}, ...)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/solver/llbsolver/solver.go:259 +0x19fd
    sandbox.go:249: github.com/docker/docker/builder/builder-next/control.(*Controller).Solve(0xc0005d84d0, {0x27ed380, 0xc0009b01e0}, 0xc000e48120)
    sandbox.go:249:     /go/src/github.com/docker/docker/builder/builder-next/control/control.go:352 +0xc95
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/api/services/control._Control_Solve_Handler.func1({0x27ed380, 0xc0009b01e0}, {0x276a320?, 0xc000e48120})
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/api/services/control/control.pb.go:1611 +0x78
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/util/grpcerrors.UnaryServerInterceptor({0x27ed380?, 0xc0009b01e0?}, {0x276a320?, 0xc000e48120?}, 0xc001709ad0?, 0x247a160?)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/util/grpcerrors/intercept.go:14 +0x3d
    sandbox.go:249: github.com/docker/docker/vendor/github.com/moby/buildkit/api/services/control._Control_Solve_Handler({0x2697360?, 0xc0005d84d0}, {0x27ed380, 0xc0009b01e0}, 0xc000d74000, 0x27c2808)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/github.com/moby/buildkit/api/services/control/control.pb.go:1613 +0x138
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).processUnaryRPC(0xc0001c2780, {0x27fc220, 0xc0004b4360}, 0xc000e48000, 0xc000cad410, 0x38c8f78, 0x0)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:1301 +0xb2b
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).handleStream(0xc0001c2780, {0x27fc220, 0xc0004b4360}, 0xc000e48000, 0x0)
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:1642 +0xa2f
    sandbox.go:249: github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.2()
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:938 +0x98
    sandbox.go:249: created by github.com/docker/docker/vendor/google.golang.org/grpc.(*Server).serveStreams.func1
    sandbox.go:249:     /go/src/github.com/docker/docker/vendor/google.golang.org/grpc/server.go:936 +0x28a

TestClientGatewayEmptyImageExec.log

@crazy-max crazy-max force-pushed the dockerd-test-c8d branch 2 times, most recently from 56c3151 to b34d876 Compare November 23, 2022 09:36
@crazy-max crazy-max marked this pull request as ready for review November 23, 2022 10:08
@crazy-max
Copy link
Copy Markdown
Member Author

@tonistiigi Added extra commit to fix #3355.

var ErrRedirect = errors.New("unexpected redirect in response")

type Client struct {
scheme string
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think almost none of this is actually used. We don't need protos/tls or header/version negotiation. Only thing we need is to dial the UNIX socket and do the upgrade.

We can do this part later if you want. Eg. create a tracking issue for it or we can remove this commit from the current PR for now.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed for now, will do this in another PR.

@crazy-max crazy-max force-pushed the dockerd-test-c8d branch 2 times, most recently from c6e1f22 to 12a80f8 Compare December 6, 2022 09:58
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants