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

Conn wake write block #46

Open
qqskqsa opened this issue May 9, 2019 · 1 comment
Open

Conn wake write block #46

qqskqsa opened this issue May 9, 2019 · 1 comment

Comments

@qqskqsa
Copy link

qqskqsa commented May 9, 2019

goroutine 8 [IO wait]:
internal/poll.runtime_pollWait(0x7faa33483bc8, 0x72, 0xffffffffffffffff)
C:/Go/src/runtime/netpoll.go:182 +0x56
internal/poll.(*pollDesc).wait(0xc0000ea218, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
C:/Go/src/internal/poll/fd_poll_runtime.go:87 +0x9b
internal/poll.(*pollDesc).waitRead(...)
C:/Go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0000ea200, 0xc0001e8000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc0000ea200, 0xc0001e8000, 0x1000, 0x1000, 0x0, 0xc006875938, 0x6ba3ea)
C:/Go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e090, 0xc0001e8000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Go/src/net/net.go:177 +0x69
net/http.(*connReader).Read(0xc00007f890, 0xc0001e8000, 0x1000, 0x1000, 0x8bd6a8, 0xc006875a10, 0x3ae0042cdee)
C:/Go/src/net/http/server.go:787 +0x107
bufio.(*Reader).fill(0xc000060a20)
C:/Go/src/bufio/bufio.go:100 +0x10f
bufio.(*Reader).ReadSlice(0xc000060a20, 0xc006875a0a, 0x7faa32b2e098, 0xc006875b00, 0x40b7a9, 0xc015940400, 0x100)
C:/Go/src/bufio/bufio.go:356 +0x3d
bufio.(*Reader).ReadLine(0xc000060a20, 0xc006875b08, 0xc01c2a2a80, 0x7faa356f0d98, 0x0, 0x0, 0x89ebc0)
C:/Go/src/bufio/bufio.go:385 +0x34
net/textproto.(*Reader).readLineSlice(0xc01765f200, 0xc015940400, 0xc0000ea200, 0x0, 0x0, 0x42ba81)
C:/Go/src/net/textproto/reader.go:55 +0x6f
net/textproto.(*Reader).ReadLine(...)
C:/Go/src/net/textproto/reader.go:36
net/http.readRequest(0xc000060a20, 0x0, 0xc015940400, 0x0, 0x0)
C:/Go/src/net/http/request.go:968 +0x8d
net/http.(*conn).readRequest(0xc000099040, 0x959280, 0xc00005e840, 0x0, 0x0, 0x0)
C:/Go/src/net/http/server.go:967 +0x163
net/http.(*conn).serve(0xc000099040, 0x959280, 0xc00005e840)
C:/Go/src/net/http/server.go:1819 +0x6a8
created by net/http.(*Server).Serve
C:/Go/src/net/http/server.go:2884 +0x2f4

goroutine 24135 [syscall, 258 minutes]:
syscall.Syscall(0x1, 0xa, 0xc01090fdd8, 0x8, 0x1, 0xc01090fd58, 0xc01090fd58)
C:/Go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.write(0xa, 0xc01090fdd8, 0x8, 0x8, 0xc01090fde0, 0x8, 0x0)
C:/Go/src/syscall/zsyscall_linux_amd64.go:1005 +0x5a
syscall.Write(...)
C:/Go/src/syscall/syscall_unix.go:192
github.com/tidwall/evio/internal.(*Poll).Trigger(0xc0001054a0, 0x86d840, 0xc00012e630, 0x2, 0x2)
G:/gowork/pkg/mod/github.com/tidwall/[email protected]/internal/internal_linux.go:52 +0x3df
github.com/tidwall/evio.(*conn).Wake(0xc00012e630)
G:/gowork/pkg/mod/github.com/tidwall/[email protected]/evio_unix.go:49 +0x165
created by main.(*srv).tx
G:/gowork/src/gprs-server/server.go:231 +0x5d1

@namkazt
Copy link

namkazt commented Nov 5, 2019

for me, it blocked when Tick is not implement

events.Tick = func() (delay time.Duration, action Action){
	log.Printf("tick")
	delay = time.Second
	return
}

@tidwall I think there is maybe need add default case on loop function, example: stdloopRun

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants