Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Bezel is stuck trying to do a build #15886

Closed
beettlle opened this issue Jul 14, 2022 · 3 comments
Closed

Bezel is stuck trying to do a build #15886

beettlle opened this issue Jul 14, 2022 · 3 comments

Comments

@beettlle
Copy link

Description of the bug:

I'm trying to run a build on my machine and it gets stuck on different places of the build but all have to do with fetching. Every run locks up in different places. I have a very flaky internet connection and, while I can't tie every time the build freezes to a connection drop, I've found my connection is a good test for if code has good retry logic.

I've attached the output of a build that I let sit for over a day. As well I've attached a multiple back-to-back runs that I kill once I see they're stuck.

Any help would be greatly appreciated.

What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

I'm not sure, I just run bazel build //... in my repo.

Which operating system are you running Bazel on?

macOS 12.4 Monterey

What is the output of bazel info release?

5.2.0

If bazel info release returns development version or (@non-git), tell us how you built Bazel.

No response

What's the output of git remote get-url origin; git rev-parse master; git rev-parse HEAD ?

git remote get-url origin; git rev-parse master; git rev-parse HEAD
git@github.com:<redacted>/<redacted>.git
master
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
e87d1c637a0c7ffb3738be9ecb85c2395bbae07f

Have you found anything relevant by searching the web?

#748

Any other information, logs, or outputs that you want to share?

I tried to run it as long as I could but finally just terminated with ctrl-\ as mentioned in #748 . Here is the output

Wed Jul 13 15:52:44 PDT 2022
Starting local Bazel server and connecting to it...
INFO: Invocation ID: 8d61770d-288e-4a3d-9e12-ba262c3782f0
Analyzing: 109 targets (196 packages loaded, 18366 targets configured)
    currently loading: @org_golang_x_net//context
    Fetching @in_gopkg_yaml_v2; fetching
    Fetching @nodejs_image_base; fetching
    Fetching @remotejdk11_macos_aarch64; fetching
    Fetching @remote_java_tools; fetching
    Fetching @org_uber_go_multierr; fetching
    Fetching @org_uber_go_atomic; fetching
^\
Sending SIGQUIT to JVM process 30003 (see /private/var/tmp/_bazel_cdelgado/bb347e4dce4148326033b94d5bf27b0a/server/jvm.out).

SIGQUIT: quit
PC=0x1ac492270 m=0 sigcode=0

goroutine 0 [idle]:
runtime.pthread_cond_wait(0x1045d3200, 0x1045d31c0)
	runtime/sys_darwin.go:448 +0x20
runtime.semasleep(0xffffffffffffffff)
	runtime/os_darwin.go:66 +0x78
runtime.notesleep(0x1045d2fc8)
	runtime/lock_sema.go:181 +0xc8
runtime.mPark()
	runtime/proc.go:1449 +0x20
runtime.stoplockedm()
	runtime/proc.go:2422 +0x54
runtime.schedule()
	runtime/proc.go:3119 +0x38
runtime.park_m(0x110?)
	runtime/proc.go:3336 +0x13c
runtime.mcall()
	runtime/asm_arm64.s:190 +0x54

goroutine 1 [syscall]:
syscall.syscall6(0x14000074000?, 0x1400008e3b8?, 0x140000d5b88?, 0x104151260?, 0x100014050?, 0x140000022e8?, 0x1047d05b8?)
	runtime/sys_darwin.go:44 +0x48
syscall.wait4(0x140000d5b48?, 0x1041ec02c?, 0x90?, 0x104444600?)
	syscall/zsyscall_darwin_arm64.go:43 +0x50
syscall.Wait4(0x1041b8060?, 0x140000d5b84, 0x140000d5b88?, 0x10420d29c?)
	syscall/syscall_bsd.go:144 +0x2c
os.(*Process).wait(0x140000b4450)
	os/exec_unix.go:43 +0x84
os.(*Process).Wait(...)
	os/exec.go:132
os/exec.(*Cmd).Wait(0x140000fa580)
	os/exec/exec.go:510 +0x48
github.com/bazelbuild/bazelisk/core.runBazel({0x1400008e1e0?, 0x0?}, {0x1400009a190?, 0x5?, 0x140000e4b80?}, {0x0?, 0x0?})
	github.com/bazelbuild/bazelisk/core/core.go:448 +0x148
github.com/bazelbuild/bazelisk/core.RunBazelisk({0x1400009a190, 0x2, 0x2}, 0x1046028a0?)
	github.com/bazelbuild/bazelisk/core/core.go:158 +0x800
main.main()
	github.com/bazelbuild/bazelisk/bazelisk.go:32 +0x108

goroutine 34 [syscall]:
os/signal.signal_recv()
	runtime/sigqueue.go:148 +0x30
os/signal.loop()
	os/signal/signal_unix.go:23 +0x20
created by os/signal.Notify.func1.1
	os/signal/signal.go:151 +0x30

goroutine 20 [chan receive]:
github.com/bazelbuild/bazelisk/core.runBazel.func1()
	github.com/bazelbuild/bazelisk/core/core.go:440 +0x34
created by github.com/bazelbuild/bazelisk/core.runBazel
	github.com/bazelbuild/bazelisk/core/core.go:439 +0x140

r0      0x104
r1      0x0
r2      0x400
r3      0x0
r4      0x0
r5      0xa0
r6      0x0
r7      0x0
r8      0x16bcbb408
r9      0x401
r10     0x1045d31d8
r11     0x2
r12     0x0
r13     0x0
r14     0x0
r15     0x0
r16     0x131
r17     0x206557638
r18     0x0
r19     0x1045d31c0
r20     0x1045d3200
r21     0x10490c660
r22     0x0
r23     0x0
r24     0x400
r25     0x401
r26     0x500
r27     0xffffffffffffffe0
r28     0x1045d28e0
r29     0x16bcbb480
lr      0x1ac4cc83c
sp      0x16bcbb3f0
pc      0x1ac492270
fault   0x1ac492270

real	1452m38.429s
user	0m0.041s
sys	0m0.035s
Thu Jul 14 16:05:23 PDT 2022```

Here are a handfull of runs that I kill as soon as they get stuck.

```time bazel build //...
INFO: Invocation ID: 72366d29-497e-45e1-8de9-49c15e8083ae
Analyzing: 109 targets (182 packages loaded, 20631 targets configured)
    currently loading: @go_image_base//image ... (48 packages)
    Fetching @nodejs_image_base; fetching
    Fetching @in_gopkg_yaml_v2; fetching
    Fetching @remotejdk11_macos_aarch64; fetching
    Fetching https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz; 218,405B
    Fetching @remote_java_tools; fetching
^\
Sending SIGQUIT to JVM process 76103 (see /private/var/tmp/_bazel_cdelgado/bb347e4dce4148326033b94d5bf27b0a/server/jvm.out).

SIGQUIT: quit
PC=0x1ac492270 m=0 sigcode=0

goroutine 0 [idle]:
runtime.pthread_cond_wait(0x1048ff200, 0x1048ff1c0)
	runtime/sys_darwin.go:448 +0x20
runtime.semasleep(0xffffffffffffffff)
	runtime/os_darwin.go:66 +0x78
runtime.notesleep(0x1048fefc8)
	runtime/lock_sema.go:181 +0xc8
runtime.mPark()
	runtime/proc.go:1449 +0x20
runtime.stoplockedm()
	runtime/proc.go:2422 +0x54
runtime.schedule()
	runtime/proc.go:3119 +0x38
runtime.park_m(0x110?)
	runtime/proc.go:3336 +0x13c
runtime.mcall()
	runtime/asm_arm64.s:190 +0x54

goroutine 1 [syscall]:
syscall.syscall6(0x1049fca68?, 0x104486817?, 0x140000d5b88?, 0x10447d260?, 0x90000101014050?, 0x10b852ca8?, 0x1049fca68?)
	runtime/sys_darwin.go:44 +0x48
syscall.wait4(0x140000d5b48?, 0x10451802c?, 0x90?, 0x104770600?)
	syscall/zsyscall_darwin_arm64.go:43 +0x50
syscall.Wait4(0x1044e4060?, 0x140000d5b84, 0x0?, 0x10b852db8?)
	syscall/syscall_bsd.go:144 +0x2c
os.(*Process).wait(0x140000b4450)
	os/exec_unix.go:43 +0x84
os.(*Process).Wait(...)
	os/exec.go:132
os/exec.(*Cmd).Wait(0x140000fa420)
	os/exec/exec.go:510 +0x48
github.com/bazelbuild/bazelisk/core.runBazel({0x1400008e1e0?, 0x0?}, {0x1400009a190?, 0x5?, 0x140000e4b80?}, {0x0?, 0x0?})
	github.com/bazelbuild/bazelisk/core/core.go:448 +0x148
github.com/bazelbuild/bazelisk/core.RunBazelisk({0x1400009a190, 0x2, 0x2}, 0x10492e8a0?)
	github.com/bazelbuild/bazelisk/core/core.go:158 +0x800
main.main()
	github.com/bazelbuild/bazelisk/bazelisk.go:32 +0x108

goroutine 34 [syscall]:
os/signal.signal_recv()
	runtime/sigqueue.go:148 +0x30
os/signal.loop()
	os/signal/signal_unix.go:23 +0x20
created by os/signal.Notify.func1.1
	os/signal/signal.go:151 +0x30

goroutine 35 [chan receive]:
github.com/bazelbuild/bazelisk/core.runBazel.func1()
	github.com/bazelbuild/bazelisk/core/core.go:440 +0x34
created by github.com/bazelbuild/bazelisk/core.runBazel
	github.com/bazelbuild/bazelisk/core/core.go:439 +0x140

r0      0x104
r1      0x0
r2      0x200
r3      0x0
r4      0x0
r5      0xa0
r6      0x0
r7      0x0
r8      0x16b98f408
r9      0x201
r10     0x1048ff1d8
r11     0x2
r12     0x0
r13     0x0
r14     0x0
r15     0x0
r16     0x131
r17     0x206557638
r18     0x0
r19     0x1048ff1c0
r20     0x1048ff200
r21     0x104b00660
r22     0x0
r23     0x0
r24     0x200
r25     0x201
r26     0x300
r27     0xffffffffffffffe0
r28     0x1048fe8e0
r29     0x16b98f480
lr      0x1ac4cc83c
sp      0x16b98f3f0
pc      0x1ac492270
fault   0x1ac492270

real	0m15.610s
user	0m0.008s
sys	0m0.019s
time bazel build //...

Server terminated abruptly (error code: 14, error message: 'Connection reset by peer', log file: '/private/var/tmp/_bazel_cdelgado/bb347e4dce4148326033b94d5bf27b0a/server/jvm.out')

Killed non-responsive server process (pid=76103)
Starting local Bazel server and connecting to it...
INFO: Invocation ID: 209347ed-54d7-4e65-bcde-c050a16d034b
Analyzing: 109 targets (208 packages loaded, 21235 targets configured)
    currently loading: @org_golang_google_grpc//codes ... (4 packages)
    Fetching @nodejs_image_base; fetching
    Fetching @remote_java_tools; fetching
    Fetching @remotejdk11_macos_aarch64; fetching
^\
Sending SIGQUIT to JVM process 76766 (see /private/var/tmp/_bazel_cdelgado/bb347e4dce4148326033b94d5bf27b0a/server/jvm.out).

SIGQUIT: quit
PC=0x1ac492270 m=0 sigcode=0

goroutine 0 [idle]:
runtime.pthread_cond_wait(0x1006ef200, 0x1006ef1c0)
	runtime/sys_darwin.go:448 +0x20
runtime.semasleep(0xffffffffffffffff)
	runtime/os_darwin.go:66 +0x78
runtime.notesleep(0x1006eefc8)
	runtime/lock_sema.go:181 +0xc8
runtime.mPark()
	runtime/proc.go:1449 +0x20
runtime.stoplockedm()
	runtime/proc.go:2422 +0x54
runtime.schedule()
	runtime/proc.go:3119 +0x38
runtime.park_m(0x110?)
	runtime/proc.go:3336 +0x13c
runtime.mcall()
	runtime/asm_arm64.s:190 +0x54

goroutine 1 [syscall]:
syscall.syscall6(0x1008ec5b8?, 0x100276817?, 0x1400014db88?, 0x10026d260?, 0x900001010122e8?, 0x127640910?, 0x1008ec5b8?)
	runtime/sys_darwin.go:44 +0x48
syscall.wait4(0x1400014db48?, 0x10030802c?, 0x90?, 0x100560600?)
	syscall/zsyscall_darwin_arm64.go:43 +0x50
syscall.Wait4(0x1002d4060?, 0x1400014db84, 0x0?, 0x127640aa8?)
	syscall/syscall_bsd.go:144 +0x2c
os.(*Process).wait(0x1400012e3f0)
	os/exec_unix.go:43 +0x84
os.(*Process).Wait(...)
	os/exec.go:132
os/exec.(*Cmd).Wait(0x14000172420)
	os/exec/exec.go:510 +0x48
github.com/bazelbuild/bazelisk/core.runBazel({0x140001021e0?, 0x0?}, {0x14000114190?, 0x5?, 0x1400015c9c0?}, {0x0?, 0x0?})
	github.com/bazelbuild/bazelisk/core/core.go:448 +0x148
github.com/bazelbuild/bazelisk/core.RunBazelisk({0x14000114190, 0x2, 0x2}, 0x10071e8a0?)
	github.com/bazelbuild/bazelisk/core/core.go:158 +0x800
main.main()
	github.com/bazelbuild/bazelisk/bazelisk.go:32 +0x108

goroutine 5 [syscall]:
os/signal.signal_recv()
	runtime/sigqueue.go:148 +0x30
os/signal.loop()
	os/signal/signal_unix.go:23 +0x20
created by os/signal.Notify.func1.1
	os/signal/signal.go:151 +0x30

goroutine 34 [chan receive]:
github.com/bazelbuild/bazelisk/core.runBazel.func1()
	github.com/bazelbuild/bazelisk/core/core.go:440 +0x34
created by github.com/bazelbuild/bazelisk/core.runBazel
	github.com/bazelbuild/bazelisk/core/core.go:439 +0x140

r0      0x104
r1      0x0
r2      0x500
r3      0x0
r4      0x0
r5      0xa0
r6      0x0
r7      0x0
r8      0x16fb9f408
r9      0x501
r10     0x1006ef1d8
r11     0x2
r12     0x0
r13     0x0
r14     0x0
r15     0x0
r16     0x131
r17     0x206557638
r18     0x0
r19     0x1006ef1c0
r20     0x1006ef200
r21     0x1009d0660
r22     0x0
r23     0x0
r24     0x500
r25     0x501
r26     0x600
r27     0xffffffffffffffe0
r28     0x1006ee8e0
r29     0x16fb9f480
lr      0x1ac4cc83c
sp      0x16fb9f3f0
pc      0x1ac492270
fault   0x1ac492270

real	0m39.491s
user	0m0.006s
sys	0m0.012s
time bazel build //...

Server terminated abruptly (error code: 14, error message: 'Connection reset by peer', log file: '/private/var/tmp/_bazel_cdelgado/bb347e4dce4148326033b94d5bf27b0a/server/jvm.out')

Killed non-responsive server process (pid=76766)
Starting local Bazel server and connecting to it...
INFO: Invocation ID: 77e2bf5a-1492-422e-9a0b-dddbc0af6550
Analyzing: 109 targets (182 packages loaded, 21083 targets configured)
    currently loading: @zlib//
    Fetching @nodejs_image_base; fetching
    Fetching @remote_java_tools; fetching
    Fetching @remotejdk11_macos_aarch64; fetching
    Fetching https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz; 705,768B
    Fetching https://mirror.bazel.build/bazel_java_tools/releases/java/v11.7.1/java_tools-v11.7.1.zip; 722,520B
^\
Sending SIGQUIT to JVM process 76914 (see /private/var/tmp/_bazel_cdelgado/bb347e4dce4148326033b94d5bf27b0a/server/jvm.out).

SIGQUIT: quit
PC=0x1ac492270 m=0 sigcode=0

goroutine 0 [idle]:
runtime.pthread_cond_wait(0x104f9b200, 0x104f9b1c0)
	runtime/sys_darwin.go:448 +0x20
runtime.semasleep(0xffffffffffffffff)
	runtime/os_darwin.go:66 +0x78
runtime.notesleep(0x104f9afc8)
	runtime/lock_sema.go:181 +0xc8
runtime.mPark()
	runtime/proc.go:1449 +0x20
runtime.stoplockedm()
	runtime/proc.go:2422 +0x54
runtime.schedule()
	runtime/proc.go:3119 +0x38
runtime.park_m(0x110?)
	runtime/proc.go:3336 +0x13c
runtime.mcall()
	runtime/asm_arm64.s:190 +0x54

goroutine 1 [syscall]:
syscall.syscall6(0x1050985b8?, 0x104b22817?, 0x1400014db88?, 0x104b19260?, 0x900001010122e8?, 0x12bee8910?, 0x1050985b8?)
	runtime/sys_darwin.go:44 +0x48
syscall.wait4(0x1400014db48?, 0x104bb402c?, 0x90?, 0x104e0c600?)
	syscall/zsyscall_darwin_arm64.go:43 +0x50
syscall.Wait4(0x104b80060?, 0x1400014db84, 0x0?, 0x12bee8aa8?)
	syscall/syscall_bsd.go:144 +0x2c
os.(*Process).wait(0x1400012e450)
	os/exec_unix.go:43 +0x84
os.(*Process).Wait(...)
	os/exec.go:132
os/exec.(*Cmd).Wait(0x14000172420)
	os/exec/exec.go:510 +0x48
github.com/bazelbuild/bazelisk/core.runBazel({0x140001021e0?, 0x0?}, {0x14000114190?, 0x5?, 0x1400015cb80?}, {0x0?, 0x0?})
	github.com/bazelbuild/bazelisk/core/core.go:448 +0x148
github.com/bazelbuild/bazelisk/core.RunBazelisk({0x14000114190, 0x2, 0x2}, 0x104fca8a0?)
	github.com/bazelbuild/bazelisk/core/core.go:158 +0x800
main.main()
	github.com/bazelbuild/bazelisk/bazelisk.go:32 +0x108

goroutine 5 [syscall]:
os/signal.signal_recv()
	runtime/sigqueue.go:148 +0x30
os/signal.loop()
	os/signal/signal_unix.go:23 +0x20
created by os/signal.Notify.func1.1
	os/signal/signal.go:151 +0x30

goroutine 34 [chan receive]:
github.com/bazelbuild/bazelisk/core.runBazel.func1()
	github.com/bazelbuild/bazelisk/core/core.go:440 +0x34
created by github.com/bazelbuild/bazelisk/core.runBazel
	github.com/bazelbuild/bazelisk/core/core.go:439 +0x140

r0      0x104
r1      0x0
r2      0x300
r3      0x0
r4      0x0
r5      0xa0
r6      0x0
r7      0x0
r8      0x16b2f3408
r9      0x301
r10     0x104f9b1d8
r11     0x2
r12     0x0
r13     0x0
r14     0x0
r15     0x0
r16     0x131
r17     0x206557638
r18     0x0
r19     0x104f9b1c0
r20     0x104f9b200
r21     0x105198660
r22     0x0
r23     0x0
r24     0x300
r25     0x301
r26     0x400
r27     0xffffffffffffffe0
r28     0x104f9a8e0
r29     0x16b2f3480
lr      0x1ac4cc83c
sp      0x16b2f33f0
pc      0x1ac492270
fault   0x1ac492270

real	0m52.242s
user	0m0.008s
sys	0m0.019s
time bazel build //...

Server terminated abruptly (error code: 14, error message: 'Connection reset by peer', log file: '/private/var/tmp/_bazel_cdelgado/bb347e4dce4148326033b94d5bf27b0a/server/jvm.out')

Killed non-responsive server process (pid=76914)
Starting local Bazel server and connecting to it...
INFO: Invocation ID: 32660410-cedd-4f62-a3b9-080d14da88f7
Analyzing: 109 targets (182 packages loaded, 20577 targets configured)
    currently loading: @go_image_base//image
    Fetching @nodejs_image_base; fetching
    Fetching @remotejdk11_macos_aarch64; fetching
^\
Sending SIGQUIT to JVM process 77084 (see /private/var/tmp/_bazel_cdelgado/bb347e4dce4148326033b94d5bf27b0a/server/jvm.out).

SIGQUIT: quit
PC=0x1ac492270 m=0 sigcode=0

goroutine 0 [idle]:
runtime.pthread_cond_wait(0x1052d7200, 0x1052d71c0)
	runtime/sys_darwin.go:448 +0x20
runtime.semasleep(0xffffffffffffffff)
	runtime/os_darwin.go:66 +0x78
runtime.notesleep(0x1052d6fc8)
	runtime/lock_sema.go:181 +0xc8
runtime.mPark()
	runtime/proc.go:1449 +0x20
runtime.stoplockedm()
	runtime/proc.go:2422 +0x54
runtime.schedule()
	runtime/proc.go:3119 +0x38
runtime.park_m(0x110?)
	runtime/proc.go:3336 +0x13c
runtime.mcall()
	runtime/asm_arm64.s:190 +0x54

goroutine 1 [syscall]:
syscall.syscall6(0x1054d4f18?, 0x104e5e817?, 0x1400014db88?, 0x104e55260?, 0x90000101014050?, 0x1053002e8?, 0x1054d4f18?)
	runtime/sys_darwin.go:44 +0x48
syscall.wait4(0x1400014db48?, 0x104ef002c?, 0x90?, 0x105148600?)
	syscall/zsyscall_darwin_arm64.go:43 +0x50
syscall.Wait4(0x104ebc060?, 0x1400014db84, 0x0?, 0x10c271390?)
	syscall/syscall_bsd.go:144 +0x2c
os.(*Process).wait(0x1400012e450)
	os/exec_unix.go:43 +0x84
os.(*Process).Wait(...)
	os/exec.go:132
os/exec.(*Cmd).Wait(0x14000172420)
	os/exec/exec.go:510 +0x48
github.com/bazelbuild/bazelisk/core.runBazel({0x140001021e0?, 0x0?}, {0x14000114190?, 0x5?, 0x1400015cb80?}, {0x0?, 0x0?})
	github.com/bazelbuild/bazelisk/core/core.go:448 +0x148
github.com/bazelbuild/bazelisk/core.RunBazelisk({0x14000114190, 0x2, 0x2}, 0x1053068a0?)
	github.com/bazelbuild/bazelisk/core/core.go:158 +0x800
main.main()
	github.com/bazelbuild/bazelisk/bazelisk.go:32 +0x108

goroutine 34 [syscall]:
os/signal.signal_recv()
	runtime/sigqueue.go:148 +0x30
os/signal.loop()
	os/signal/signal_unix.go:23 +0x20
created by os/signal.Notify.func1.1
	os/signal/signal.go:151 +0x30

goroutine 35 [chan receive]:
github.com/bazelbuild/bazelisk/core.runBazel.func1()
	github.com/bazelbuild/bazelisk/core/core.go:440 +0x34
created by github.com/bazelbuild/bazelisk/core.runBazel
	github.com/bazelbuild/bazelisk/core/core.go:439 +0x140

r0      0x104
r1      0x0
r2      0x300
r3      0x0
r4      0x0
r5      0xa0
r6      0x0
r7      0x0
r8      0x16afb7408
r9      0x301
r10     0x1052d71d8
r11     0x2
r12     0x0
r13     0x0
r14     0x0
r15     0x0
r16     0x131
r17     0x206557638
r18     0x0
r19     0x1052d71c0
r20     0x1052d7200
r21     0x1056d4660
r22     0x0
r23     0x0
r24     0x300
r25     0x301
r26     0x400
r27     0xffffffffffffffe0
r28     0x1052d68e0
r29     0x16afb7480
lr      0x1ac4cc83c
sp      0x16afb73f0
pc      0x1ac492270
fault   0x1ac492270

real	1m25.360s
user	0m0.006s
sys	0m0.012s```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants
@beettlle and others