This job view page is being replaced by Spyglass soon. Check out the new job view.
PRjayunit100: Warn / Thread through steps for permissions fixing (pod security policy / fsGroup)
ResultFAILURE
Tests 1 failed / 1 succeeded
Started2019-02-12 10:44
Elapsed3m20s
Revision
Buildergke-prow-containerd-pool-99179761-mrdv
Refs master:a1539747
73924:12e8d2f5
pod2533147a-2eb3-11e9-80b7-0a580a6c0524
infra-commit866b882e9
job-versionv1.14.0-alpha.2.571+bcaae2a645225c
pod2533147a-2eb3-11e9-80b7-0a580a6c0524
repok8s.io/kubernetes
repo-commitbcaae2a645225c14ef84865733d8664ccf0c87ef
repos{u'k8s.io/kubernetes': u'master:a1539747db15b01e4b6baab6fb505a31e30c05ef,73924:12e8d2f58c1942af9d1825ea8ea16ecbaa18eddd', u'k8s.io/release': u'master'}
revisionv1.14.0-alpha.2.571+bcaae2a645225c

Test Failures


Build 1m21s

error during make -C /go/src/k8s.io/kubernetes bazel-release: exit status 2
				from junit_runner.xml

Filter through log files | View test history on testgrid


Show 1 Passed Tests

Error lines from build-log.txt

... skipping 203 lines ...
W0212 10:46:46.340] [822 / 3,759] GoCompile vendor/github.com/coreos/etcd/pkg/transport/linux_amd64_pure_stripped/go_default_library%/k8s.io/kubernetes/vendor/github.com/coreos/etcd/pkg/transport.a; 0s remote-cache ... (8 actions, 7 running)
W0212 10:46:53.776] [1,915 / 3,759] GoCompile pkg/security/apparmor/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/security/apparmor.a; 0s remote-cache ... (8 actions, 4 running)
W0212 10:46:53.777] [1,915 / 3,759] GoCompile pkg/security/apparmor/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/security/apparmor.a; 0s remote-cache ... (8 actions, 6 running)
W0212 10:46:56.399] INFO: From  <rule context for //pkg/generated/openapi:zz_generated.openapi>:
W0212 10:46:56.399] 2019/02/11 20:18:45 Code for OpenAPI definitions generated
W0212 10:47:02.136] [2,809 / 3,759] GoLink cmd/kubeadm/linux_amd64_pure_stripped/kubeadm; 4s linux-sandbox ... (8 actions running)
W0212 10:47:05.919] ERROR: /go/src/k8s.io/kubernetes/pkg/volume/BUILD:3:1: GoCompile pkg/volume/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/volume.a failed (Exit 1) compile failed: error executing command 
W0212 10:47:05.920]   (cd /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/execroot/__main__ && \
W0212 10:47:05.920]   exec env - \
W0212 10:47:05.920]     CGO_ENABLED=1 \
W0212 10:47:05.921]     GOARCH=amd64 \
W0212 10:47:05.921]     GOOS=linux \
W0212 10:47:05.921]     GOROOT=external/go_sdk \
W0212 10:47:05.921]     GOROOT_FINAL=GOROOT \
W0212 10:47:05.921]     PATH=/usr/bin:/bin \
W0212 10:47:05.928]   bazel-out/host/bin/external/io_bazel_rules_go/go/tools/builders/linux_amd64_stripped/compile -sdk external/go_sdk -installsuffix linux_amd64 -src pkg/volume/doc.go -src pkg/volume/metrics_cached.go -src pkg/volume/metrics_du.go -src pkg/volume/metrics_errors.go -src pkg/volume/metrics_nil.go -src pkg/volume/metrics_statfs.go -src pkg/volume/noop_expandable_plugin.go -src pkg/volume/plugins.go -src pkg/volume/volume.go -src pkg/volume/volume_linux.go -src pkg/volume/volume_unsupported.go -arc 'k8s.io/kubernetes/pkg/util/mount=k8s.io/kubernetes/pkg/util/mount=bazel-out/k8-fastbuild/bin/pkg/util/mount/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/util/mount.a' -arc 'k8s.io/kubernetes/pkg/volume/util/fs=k8s.io/kubernetes/pkg/volume/util/fs=bazel-out/k8-fastbuild/bin/pkg/volume/util/fs/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/volume/util/fs.a' -arc 'k8s.io/kubernetes/pkg/volume/util/recyclerclient=k8s.io/kubernetes/pkg/volume/util/recyclerclient=bazel-out/k8-fastbuild/bin/pkg/volume/util/recyclerclient/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/volume/util/recyclerclient.a' -arc 'k8s.io/api/authentication/v1=k8s.io/kubernetes/vendor/k8s.io/api/authentication/v1=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/api/authentication/v1/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/api/authentication/v1.a' -arc 'k8s.io/api/core/v1=k8s.io/kubernetes/vendor/k8s.io/api/core/v1=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/api/core/v1/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/api/core/v1.a' -arc 'k8s.io/apimachinery/pkg/api/resource=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/api/resource/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource.a' -arc 'k8s.io/apimachinery/pkg/apis/meta/v1=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1.a' -arc 'k8s.io/apimachinery/pkg/types=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/types=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/types/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/types.a' -arc 'k8s.io/apimachinery/pkg/util/errors=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/errors=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/util/errors/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/errors.a' -arc 'k8s.io/apimachinery/pkg/util/validation=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/validation=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/util/validation/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/validation.a' -arc 'k8s.io/client-go/kubernetes=k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/client-go/kubernetes/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes.a' -arc 'k8s.io/client-go/tools/record=k8s.io/kubernetes/vendor/k8s.io/client-go/tools/record=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/client-go/tools/record/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/record.a' -arc 'k8s.io/cloud-provider=k8s.io/kubernetes/vendor/k8s.io/cloud-provider=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/cloud-provider/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/cloud-provider.a' -arc 'k8s.io/csi-api/pkg/client/clientset/versioned=k8s.io/kubernetes/vendor/k8s.io/csi-api/pkg/client/clientset/versioned=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/csi-api/pkg/client/clientset/versioned/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/csi-api/pkg/client/clientset/versioned.a' -arc 'k8s.io/klog=k8s.io/kubernetes/vendor/k8s.io/klog=bazel-out/k8-fastbuild/bin/vendor/k8s.io/klog/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/klog.a' -o bazel-out/k8-fastbuild/bin/pkg/volume/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/volume.a -package_list bazel-out/host/bin/external/go_sdk/packages.txt -- -trimpath . -p k8s.io/kubernetes/pkg/volume)
W0212 10:47:05.929] Execution platform: @bazel_tools//platforms:host_platform
W0212 10:47:05.929] 
W0212 10:47:05.929] Use --sandbox_debug to see verbose messages from the sandbox: compile failed: error executing command 
W0212 10:47:05.930]   (cd /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/execroot/__main__ && \
W0212 10:47:05.930]   exec env - \
W0212 10:47:05.930]     CGO_ENABLED=1 \
W0212 10:47:05.930]     GOARCH=amd64 \
W0212 10:47:05.930]     GOOS=linux \
W0212 10:47:05.930]     GOROOT=external/go_sdk \
W0212 10:47:05.930]     GOROOT_FINAL=GOROOT \
W0212 10:47:05.930]     PATH=/usr/bin:/bin \
W0212 10:47:05.934]   bazel-out/host/bin/external/io_bazel_rules_go/go/tools/builders/linux_amd64_stripped/compile -sdk external/go_sdk -installsuffix linux_amd64 -src pkg/volume/doc.go -src pkg/volume/metrics_cached.go -src pkg/volume/metrics_du.go -src pkg/volume/metrics_errors.go -src pkg/volume/metrics_nil.go -src pkg/volume/metrics_statfs.go -src pkg/volume/noop_expandable_plugin.go -src pkg/volume/plugins.go -src pkg/volume/volume.go -src pkg/volume/volume_linux.go -src pkg/volume/volume_unsupported.go -arc 'k8s.io/kubernetes/pkg/util/mount=k8s.io/kubernetes/pkg/util/mount=bazel-out/k8-fastbuild/bin/pkg/util/mount/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/util/mount.a' -arc 'k8s.io/kubernetes/pkg/volume/util/fs=k8s.io/kubernetes/pkg/volume/util/fs=bazel-out/k8-fastbuild/bin/pkg/volume/util/fs/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/volume/util/fs.a' -arc 'k8s.io/kubernetes/pkg/volume/util/recyclerclient=k8s.io/kubernetes/pkg/volume/util/recyclerclient=bazel-out/k8-fastbuild/bin/pkg/volume/util/recyclerclient/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/volume/util/recyclerclient.a' -arc 'k8s.io/api/authentication/v1=k8s.io/kubernetes/vendor/k8s.io/api/authentication/v1=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/api/authentication/v1/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/api/authentication/v1.a' -arc 'k8s.io/api/core/v1=k8s.io/kubernetes/vendor/k8s.io/api/core/v1=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/api/core/v1/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/api/core/v1.a' -arc 'k8s.io/apimachinery/pkg/api/resource=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/api/resource/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource.a' -arc 'k8s.io/apimachinery/pkg/apis/meta/v1=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/apis/meta/v1.a' -arc 'k8s.io/apimachinery/pkg/types=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/types=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/types/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/types.a' -arc 'k8s.io/apimachinery/pkg/util/errors=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/errors=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/util/errors/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/errors.a' -arc 'k8s.io/apimachinery/pkg/util/validation=k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/validation=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/apimachinery/pkg/util/validation/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/validation.a' -arc 'k8s.io/client-go/kubernetes=k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/client-go/kubernetes/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes.a' -arc 'k8s.io/client-go/tools/record=k8s.io/kubernetes/vendor/k8s.io/client-go/tools/record=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/client-go/tools/record/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/record.a' -arc 'k8s.io/cloud-provider=k8s.io/kubernetes/vendor/k8s.io/cloud-provider=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/cloud-provider/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/cloud-provider.a' -arc 'k8s.io/csi-api/pkg/client/clientset/versioned=k8s.io/kubernetes/vendor/k8s.io/csi-api/pkg/client/clientset/versioned=bazel-out/k8-fastbuild/bin/staging/src/k8s.io/csi-api/pkg/client/clientset/versioned/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/csi-api/pkg/client/clientset/versioned.a' -arc 'k8s.io/klog=k8s.io/kubernetes/vendor/k8s.io/klog=bazel-out/k8-fastbuild/bin/vendor/k8s.io/klog/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/vendor/k8s.io/klog.a' -o bazel-out/k8-fastbuild/bin/pkg/volume/linux_amd64_stripped/go_default_library%/k8s.io/kubernetes/pkg/volume.a -package_list bazel-out/host/bin/external/go_sdk/packages.txt -- -trimpath . -p k8s.io/kubernetes/pkg/volume)
W0212 10:47:05.934] Execution platform: @bazel_tools//platforms:host_platform
W0212 10:47:05.935] 
W0212 10:47:05.935] Use --sandbox_debug to see verbose messages from the sandbox
W0212 10:47:05.935] GoCompile: error running compiler: exit status 2
I0212 10:47:06.036] /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/sandbox/linux-sandbox/3246/execroot/__main__/pkg/volume/volume_linux.go:48:75: undefined: mask
I0212 10:47:06.036] /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/sandbox/linux-sandbox/3246/execroot/__main__/pkg/volume/volume_linux.go:90:22: undefined: FileInfo
I0212 10:47:06.036] /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/sandbox/linux-sandbox/3246/execroot/__main__/pkg/volume/volume_linux.go:90:32: undefined: FileMode
I0212 10:47:06.037] /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/sandbox/linux-sandbox/3246/execroot/__main__/pkg/volume/volume_linux.go:92:5: undefined: mounter
I0212 10:47:06.037] /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/sandbox/linux-sandbox/3246/execroot/__main__/pkg/volume/volume_linux.go:95:5: undefined: info
I0212 10:47:06.037] /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/sandbox/linux-sandbox/3246/execroot/__main__/pkg/volume/volume_linux.go:99:2: undefined: info
I0212 10:47:06.037] /bazel-scratch/.cache/bazel/_bazel_prow/48d5366022b4e3197674c8d6e2bee219/sandbox/linux-sandbox/3246/execroot/__main__/pkg/volume/volume_linux.go:100:1: missing return at end of function
W0212 10:47:06.391] Target //build/release-tars:release-tars failed to build
W0212 10:47:06.437] INFO: Elapsed time: 81.396s, Critical Path: 18.12s
W0212 10:47:06.438] INFO: 3286 processes: 3284 remote cache hit, 2 linux-sandbox.
W0212 10:47:06.453] FAILED: Build did NOT complete successfully
W0212 10:47:06.455] FAILED: Build did NOT complete successfully
W0212 10:47:06.462] make: *** [bazel-release] Error 1
W0212 10:47:06.463] 2019/02/12 10:47:06 process.go:155: Step 'make -C /go/src/k8s.io/kubernetes bazel-release' finished in 1m21.508772703s
W0212 10:47:06.463] 2019/02/12 10:47:06 util.go:255: Flushing memory.
I0212 10:47:06.564] Makefile:604: recipe for target 'bazel-release' failed
I0212 10:47:06.564] make: Leaving directory '/go/src/k8s.io/kubernetes'
W0212 10:47:23.969] 2019/02/12 10:47:23 process.go:96: Saved XML output to /workspace/_artifacts/junit_runner.xml.
W0212 10:47:24.071] 2019/02/12 10:47:23 process.go:153: Running: bash -c . hack/lib/version.sh && KUBE_ROOT=. kube::version::get_version_vars && echo "${KUBE_GIT_VERSION-}"
W0212 10:47:35.853] 2019/02/12 10:47:35 process.go:155: Step 'bash -c . hack/lib/version.sh && KUBE_ROOT=. kube::version::get_version_vars && echo "${KUBE_GIT_VERSION-}"' finished in 11.883560675s
W0212 10:47:35.904] 2019/02/12 10:47:35 main.go:297: Something went wrong: failed to acquire k8s binaries: error during make -C /go/src/k8s.io/kubernetes bazel-release: exit status 2
W0212 10:47:35.907] Traceback (most recent call last):
W0212 10:47:35.908]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 764, in <module>
W0212 10:47:35.920]     main(parse_args())
W0212 10:47:35.920]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 615, in main
W0212 10:47:35.921]     mode.start(runner_args)
W0212 10:47:35.921]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 262, in start
W0212 10:47:35.921]     check_env(env, self.command, *args)
W0212 10:47:35.921]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 111, in check_env
W0212 10:47:35.922]     subprocess.check_call(cmd, env=env)
W0212 10:47:35.922]   File "/usr/lib/python2.7/subprocess.py", line 186, in check_call
W0212 10:47:35.952]     raise CalledProcessError(retcode, cmd)
W0212 10:47:35.953] subprocess.CalledProcessError: Command '('kubetest', '--dump=/workspace/_artifacts', '--gcp-service-account=/etc/service-account/service-account.json', '--build=bazel', '--stage=gs://kubernetes-release-pull/ci/pull-kubernetes-e2e-gce-device-plugin-gpu', '--up', '--down', '--test', '--provider=gce', '--cluster=e2e-59526-8baae', '--gcp-network=e2e-59526-8baae', '--extract=local', '--gcp-node-image=gci', '--gcp-nodes=4', '--gcp-project=k8s-jkns-pr-gce-gpus', '--gcp-zone=us-west1-b', '--ginkgo-parallel=30', '--test_args=--ginkgo.focus=\\[Feature:GPUDevicePlugin\\] --minStartupPods=8', '--timeout=60m')' returned non-zero exit status 1
E0212 10:47:35.965] Command failed
I0212 10:47:35.965] process 540 exited with code 1 after 1.9m
E0212 10:47:35.965] FAIL: pull-kubernetes-e2e-gce-device-plugin-gpu
I0212 10:47:35.966] Call:  gcloud auth activate-service-account --key-file=/etc/service-account/service-account.json
W0212 10:47:42.827] Activated service account credentials for: [pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com]
I0212 10:47:42.904] process 1068 exited with code 0 after 0.1m
I0212 10:47:42.904] Call:  gcloud config get-value account
I0212 10:47:43.308] process 1080 exited with code 0 after 0.0m
I0212 10:47:43.308] Will upload results to gs://kubernetes-jenkins/pr-logs using pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com
I0212 10:47:43.309] Upload result and artifacts...
I0212 10:47:43.309] Gubernator results at https://gubernator.k8s.io/build/kubernetes-jenkins/pr-logs/pull/73924/pull-kubernetes-e2e-gce-device-plugin-gpu/59526
I0212 10:47:43.309] Call:  gsutil ls gs://kubernetes-jenkins/pr-logs/pull/73924/pull-kubernetes-e2e-gce-device-plugin-gpu/59526/artifacts
W0212 10:47:50.096] CommandException: One or more URLs matched no objects.
E0212 10:47:50.264] Command failed
I0212 10:47:50.265] process 1092 exited with code 1 after 0.1m
W0212 10:47:50.265] Remote dir gs://kubernetes-jenkins/pr-logs/pull/73924/pull-kubernetes-e2e-gce-device-plugin-gpu/59526/artifacts not exist yet
I0212 10:47:50.265] Call:  gsutil -m -q -o GSUtil:use_magicfile=True cp -r -c -z log,txt,xml /workspace/_artifacts gs://kubernetes-jenkins/pr-logs/pull/73924/pull-kubernetes-e2e-gce-device-plugin-gpu/59526/artifacts
I0212 10:47:52.639] process 1234 exited with code 0 after 0.0m
I0212 10:47:52.640] Call:  git rev-parse HEAD
I0212 10:47:52.645] process 1758 exited with code 0 after 0.0m
... skipping 21 lines ...