`Hi everybody, I'm playing around with Goroutine and got a strange issue.
I tried to run the following code: package main import ( "fmt" "time" ) func loop(c chan int) { i := 0 for { time.Sleep(time.Second / 30) i = i + 1 c <- i } } func main() { num := make(chan int) go loop(num) for { select { case count := <-num: fmt.Printf("Current: %d\n", count) } } } It's just a simple goroutine that execute 30 times per second, and it should run forever. This code run normally on *Mac OS X 10.11 *and *Arch Linux Kernel 4.6.3* But when I run it on* macOS 10.12 beta 2*, the loop stop updating after running for a while. Go version is *1.6.2* for all environment. Here is the screen cap: https://www.youtube.com/watch?v=lre18XwZMOo I also tried to stop it with: And this is the output I got, it seems to be stopped at *time.Sleep* statement: SIGABRT: abort PC=0x56c7b m=0 goroutine 0 [idle]: runtime.mach_semaphore_wait(0xc800000107, 0xc800000000, 0x1, 0x10000000002c401, 0xc820000180, 0x1835c0, 0x4b2a9, 0xffffffffffffffff, 0x100000000, 0x7fff5fbff8ec, ...) /usr/local/go/src/runtime/sys_darwin_amd64.s:411 +0xb runtime.semasleep1(0xffffffffffffffff, 0x100000000) /usr/local/go/src/runtime/os1_darwin.go:423 +0xdf runtime.semasleep.func1() /usr/local/go/src/runtime/os1_darwin.go:439 +0x29 runtime.systemstack(0x7fff5fbff8f0) /usr/local/go/src/runtime/asm_amd64.s:307 +0xab runtime.semasleep(0xffffffffffffffff, 0x0) /usr/local/go/src/runtime/os1_darwin.go:440 +0x36 runtime.notesleep(0x183a08) /usr/local/go/src/runtime/lock_sema.go:166 +0xed runtime.stopm() /usr/local/go/src/runtime/proc.go:1538 +0x10b runtime.findrunnable(0xc820018000, 0x0) /usr/local/go/src/runtime/proc.go:1976 +0x739 runtime.schedule() /usr/local/go/src/runtime/proc.go:2075 +0x24f runtime.park_m(0xc820000180) /usr/local/go/src/runtime/proc.go:2140 +0x18b runtime.mcall(0x7fff5fbffa70) /usr/local/go/src/runtime/asm_amd64.s:233 +0x5b goroutine 1 [chan receive]: main.main() /Users/huy/code/go/sleep/main.go:22 +0x99 goroutine 5 [sleep]: time.Sleep(0x1fca055) /usr/local/go/src/runtime/time.go:59 +0xf9 main.loop(0xc82000e0c0) /Users/huy/code/go/sleep/main.go:11 +0x29 created by main.main /Users/huy/code/go/sleep/main.go:19 +0x67 rax 0xe rbx 0x183900 rcx 0x7fff5fbff878 rdx 0x7fff5fbff8f0 rdi 0x107 rsi 0x1835c0 rbp 0x107 rsp 0x7fff5fbff878 r8 0x183900 r9 0xc82001aa00 r10 0xc820019ac0 r11 0x286 r12 0x0 r13 0x27 r14 0x10 r15 0x10f300 rip 0x56c7b rflags 0x286 cs 0x7 fs 0x0 gs 0x0 Does anybody know why this happen? Is this the issue of the compiler? Thanks, Huy -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.