On Sun, May 27, 2012 at 10:33 AM, Dmitry Vyukov <
dvy...@google.com> wrote:
> Humm... looks strange. Please run it with GOTRACEBACK=2 env.
Thanks, I didn't know about GOTRACEBACK. The output follows. The
[sleep]ing goroutines do appear to be waiting for malloc to return.
goroutine 20005 [running]:
runtime/pprof.writeGoroutineStacks(0x19974500, 0x188cd4e0, 0x820a770,
0x188cdf7b)
/home/phiggins/go/src/pkg/runtime/pprof/pprof.go:488 +0x74
runtime/pprof.writeGoroutine(0x19974500, 0x188cd4e0, 0x2, 0x18df5f30, 0x0, ...)
/home/phiggins/go/src/pkg/runtime/pprof/pprof.go:477 +0x35
runtime/pprof.(*Profile).WriteTo(0x83969d8, 0x19974500, 0x188cd4e0,
0x2, 0x188cd4e0, ...)
/home/phiggins/go/src/pkg/runtime/pprof/pprof.go:221 +0x92
net/http/pprof.handler.ServeHTTP(0x188cdf71, 0x9, 0x19974d00,
0x188cd4e0, 0x1e1863f0, ...)
/home/phiggins/go/src/pkg/net/http/pprof/pprof.go:154 +0x18e
net/http/pprof.Index(0x19974d00, 0x188cd4e0, 0x1e1863f0, 0x809c98c)
/home/phiggins/go/src/pkg/net/http/pprof/pprof.go:166 +0x132
net/http.HandlerFunc.ServeHTTP(0x80a9f28, 0x19974d00, 0x188cd4e0,
0x1e1863f0, 0x0, ...)
/home/phiggins/go/src/pkg/net/http/server.go:690 +0x35
net/http.(*ServeMux).ServeHTTP(0x18857720, 0x19974d00, 0x188cd4e0,
0x1e1863f0, 0x188cd4e0, ...)
/home/phiggins/go/src/pkg/net/http/server.go:926 +0xd3
net/http.(*conn).serve(0x189c65d0, 0x18a24690)
/home/phiggins/go/src/pkg/net/http/server.go:656 +0x4fa
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by net/http.(*Server).Serve
/home/phiggins/go/src/pkg/net/http/server.go:1042 +0x3aa
goroutine 1 [semacquire]:
runtime.gosched()
/home/phiggins/go/src/pkg/runtime/proc.c:927 +0x56
runtime.semacquire(0x18df1450, 0x0)
/home/phiggins/go/src/pkg/runtime/zsema_386.c:106 +0xec
sync.runtime_Semacquire(0x18df1450, 0x18df1450)
/home/phiggins/go/src/pkg/runtime/zsema_386.c:146 +0x29
sync.(*WaitGroup).Wait(0x188a3200, 0x18df1440)
/home/phiggins/go/src/pkg/sync/waitgroup.go:78 +0xe6
main.main()
/home/phiggins/src/gocode/src/geochat/geobot/geobot.go:81 +0x5db
runtime.main()
/home/phiggins/go/src/pkg/runtime/proc.c:244 +0x8c
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
goroutine 2 [syscall]:
runtime.entersyscall()
/home/phiggins/go/src/pkg/runtime/proc.c:952 +0x33
runtime.MHeap_Scavenger()
/home/phiggins/go/src/pkg/runtime/mheap.c:363 +0xe3
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by runtime.main
/home/phiggins/go/src/pkg/runtime/proc.c:221
goroutine 3 [chan receive]:
runtime.gosched()
/home/phiggins/go/src/pkg/runtime/proc.c:927 +0x56
runtime.chanrecv(0x818aa30, 0x19586600, 0xb7533dc8, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/runtime/chan.c:359 +0x1ab
runtime.chanrecv1(0x818aa30, 0x19586600, 0x72)
/home/phiggins/go/src/pkg/runtime/chan.c:408 +0x2f
net.(*pollServer).WaitRead(0x188e6c90, 0x194e6b60, 0x188f1ca0, 0xb)
/home/phiggins/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).accept(0x194e6b60, 0x8087c86, 0x0, 0x188570e0, 0x18800170, ...)
/home/phiggins/go/src/pkg/net/fd.go:622 +0x199
net.(*TCPListener).AcceptTCP(0x19591ae8, 0x18e63100, 0x0, 0x0)
/home/phiggins/go/src/pkg/net/tcpsock_posix.go:320 +0x56
net.(*TCPListener).Accept(0x19591ae8, 0x0, 0x0, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/net/tcpsock_posix.go:330 +0x39
net/http.(*Server).Serve(0x18845e40, 0x19590680, 0x19591ae8, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/net/http/server.go:1014 +0x77
net/http.(*Server).ListenAndServe(0x18845e40, 0x18845e40, 0x0)
/home/phiggins/go/src/pkg/net/http/server.go:1004 +0x9f
net/http.ListenAndServe(0x8205f20, 0x5, 0x0, 0x0, 0x188720ac, ...)
/home/phiggins/go/src/pkg/net/http/server.go:1076 +0x55
main._func_001()
/home/phiggins/src/gocode/src/geochat/geobot/geobot.go:67 +0x33
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by main.main
/home/phiggins/src/gocode/src/geochat/geobot/geobot.go:68 +0x35f
goroutine 15991 [sleep]:
runtime.gosched()
/home/phiggins/go/src/pkg/runtime/proc.c:927 +0x56
runtime.mallocgc(0x1c, 0x0, 0x0, 0x1, 0x3, ...)
/home/phiggins/go/src/pkg/runtime/zmalloc_386.c:29 +0x374
runtime.malloc(0x1c, 0x80ad813)
/home/phiggins/go/src/pkg/runtime/zmalloc_386.c:92 +0x42
runtime.deferproc(0x4, 0x80ad89d, 0x21a94c5c)
/home/phiggins/go/src/pkg/runtime/proc.c:1311 +0x12
code.google.com/p/go.net/websocket.(*Conn).Write(0x21a94c30,
0x21b00120, 0x1a, 0x1a, 0x0, ...)
/home/phiggins/src/gocode/src/
code.google.com/p/go.net/websocket/websocket.go:204
+0x52
geochat/bot.(*Bot).send(0x18a1a240, 0x8056127)
/home/phiggins/src/gocode/src/geochat/bot/bot.go:58 +0x10d
geochat/bot._func_001(0x21add320, 0x18cba578, 0x0)
/home/phiggins/src/gocode/src/geochat/bot/bot.go:153 +0x66
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by geochat/bot.(*Bot).Run
/home/phiggins/src/gocode/src/geochat/bot/bot.go:154 +0x763
goroutine 5978 [chan receive]:
runtime.gosched()
/home/phiggins/go/src/pkg/runtime/proc.c:927 +0x56
runtime.chanrecv(0x818aa30, 0x1c860780, 0xb29e4b48, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/runtime/chan.c:359 +0x1ab
runtime.chanrecv1(0x818aa30, 0x1c860780, 0x72)
/home/phiggins/go/src/pkg/runtime/chan.c:408 +0x2f
net.(*pollServer).WaitRead(0x188e6c90, 0x19af0230, 0x188f1ca0, 0xb)
/home/phiggins/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).Read(0x19af0230, 0x1c8f1000, 0x1000, 0x1000, 0xffffffff, ...)
/home/phiggins/go/src/pkg/net/fd.go:428 +0x19a
net.(*TCPConn).Read(0x1b23c928, 0x1c8f1000, 0x1000, 0x1000, 0x0, ...)
/home/phiggins/go/src/pkg/net/tcpsock_posix.go:87 +0xb1
bufio.(*Reader).fill(0x1bb295a0, 0x1)
/home/phiggins/go/src/pkg/bufio/bufio.go:77 +0x115
bufio.(*Reader).ReadByte(0x1bb295a0, 0x81e98b8, 0x0, 0x0)
/home/phiggins/go/src/pkg/bufio/bufio.go:166 +0x85
code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0x1bb295a0,
0x18f24e40, 0x197030c0, 0x0, 0x0, ...)
/home/phiggins/src/gocode/src/
code.google.com/p/go.net/websocket/hybi.go:115
+0x98
code.google.com/p/go.net/websocket.(*Conn).Read(0x21a94c30,
0x21af6000, 0x1000, 0x1000, 0x0, ...)
/home/phiggins/src/gocode/src/
code.google.com/p/go.net/websocket/websocket.go:177
+0x87
geochat/bot.(*Bot).recv(0x18a1a240, 0x18cba578)
/home/phiggins/src/gocode/src/geochat/bot/bot.go:77 +0x7a
geochat/bot.(*Bot).Run(0x18a1a240, 0x0, 0x8055350)
/home/phiggins/src/gocode/src/geochat/bot/bot.go:155 +0x781
main._func_002(0x188a3200, 0x18a18420, 0x0)
/home/phiggins/src/gocode/src/geochat/geobot/geobot.go:78 +0x4c
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by main.main
/home/phiggins/src/gocode/src/geochat/geobot/geobot.go:79 +0x5b7
goroutine 20008 [chan receive]:
runtime.gosched()
/home/phiggins/go/src/pkg/runtime/proc.c:927 +0x56
runtime.chanrecv(0x818aa30, 0x18eb1bc0, 0xb2802ba8, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/runtime/chan.c:359 +0x1ab
runtime.chanrecv1(0x818aa30, 0x18eb1bc0, 0x72)
/home/phiggins/go/src/pkg/runtime/chan.c:408 +0x2f
net.(*pollServer).WaitRead(0x188e6c90, 0x1b93db60, 0x188f1ca0, 0xb)
/home/phiggins/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).Read(0x1b93db60, 0x18a7f000, 0x1000, 0x1000, 0xffffffff, ...)
/home/phiggins/go/src/pkg/net/fd.go:428 +0x19a
net.(*TCPConn).Read(0x19c6e8c0, 0x18a7f000, 0x1000, 0x1000, 0x0, ...)
/home/phiggins/go/src/pkg/net/tcpsock_posix.go:87 +0xb1
io.(*LimitedReader).Read(0x197893e0, 0x18a7f000, 0x1000, 0x1000, 0x0, ...)
/home/phiggins/go/src/pkg/io/io.go:394 +0xfc
bufio.(*Reader).fill(0x188c1ab0, 0x0)
/home/phiggins/go/src/pkg/bufio/bufio.go:77 +0x115
bufio.(*Reader).ReadSlice(0x188c1ab0, 0x1880000a, 0x0, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/bufio/bufio.go:257 +0x1f3
bufio.(*Reader).ReadLine(0x188c1ab0, 0x0, 0x0, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/bufio/bufio.go:283 +0x43
net/textproto.(*Reader).readLineSlice(0x1a46b220, 0x804fbe9, 0x8)
/home/phiggins/go/src/pkg/net/textproto/reader.go:55 +0x40
net/textproto.(*Reader).ReadLine(0x1a46b220, 0x1e1db3f0, 0xb2802e5c)
/home/phiggins/go/src/pkg/net/textproto/reader.go:36 +0x29
net/http.ReadRequest(0x188c1ab0, 0x1e1db3f0, 0x0, 0x0)
/home/phiggins/go/src/pkg/net/http/request.go:457 +0xa2
net/http.(*conn).readRequest(0x188c1a80, 0x18cecb80, 0x0, 0x0)
/home/phiggins/go/src/pkg/net/http/server.go:240 +0xba
net/http.(*conn).serve(0x188c1a80, 0x18a31300)
/home/phiggins/go/src/pkg/net/http/server.go:594 +0x124
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by net/http.(*Server).Serve
/home/phiggins/go/src/pkg/net/http/server.go:1042 +0x3aa
goroutine 18140 [sleep]:
runtime.gosched()
/home/phiggins/go/src/pkg/runtime/proc.c:927 +0x56
runtime.mallocgc(0x1c, 0x0, 0x0, 0x1, 0x3, ...)
/home/phiggins/go/src/pkg/runtime/zmalloc_386.c:29 +0x374
runtime.malloc(0x1c, 0x80ad813)
/home/phiggins/go/src/pkg/runtime/zmalloc_386.c:92 +0x42
runtime.deferproc(0x4, 0x80ad89d, 0x1e9fd98c)
/home/phiggins/go/src/pkg/runtime/proc.c:1311 +0x12
code.google.com/p/go.net/websocket.(*Conn).Write(0x1e9fd960,
0x21de6bc0, 0x1a, 0x1a, 0x0, ...)
/home/phiggins/src/gocode/src/
code.google.com/p/go.net/websocket/websocket.go:204
+0x52
geochat/bot.(*Bot).send(0x18aa2120, 0x8056127)
/home/phiggins/src/gocode/src/geochat/bot/bot.go:58 +0x10d
geochat/bot._func_001(0x21de8920, 0x18d84900, 0x0)
/home/phiggins/src/gocode/src/geochat/bot/bot.go:153 +0x66
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by geochat/bot.(*Bot).Run
/home/phiggins/src/gocode/src/geochat/bot/bot.go:154 +0x763
goroutine 8172 [chan receive]:
runtime.gosched()
/home/phiggins/go/src/pkg/runtime/proc.c:927 +0x56
runtime.chanrecv(0x818aa30, 0x1b18d980, 0xb2136b48, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/runtime/chan.c:359 +0x1ab
runtime.chanrecv1(0x818aa30, 0x1b18d980, 0x72)
/home/phiggins/go/src/pkg/runtime/chan.c:408 +0x2f
net.(*pollServer).WaitRead(0x188e6c90, 0x194b40e0, 0x188f1ca0, 0xb)
/home/phiggins/go/src/pkg/net/fd.go:268 +0x75
net.(*netFD).Read(0x194b40e0, 0x1c865000, 0x1000, 0x1000, 0xffffffff, ...)
/home/phiggins/go/src/pkg/net/fd.go:428 +0x19a
net.(*TCPConn).Read(0x18a0b6d8, 0x1c865000, 0x1000, 0x1000, 0x0, ...)
/home/phiggins/go/src/pkg/net/tcpsock_posix.go:87 +0xb1
bufio.(*Reader).fill(0x1891e960, 0x1)
/home/phiggins/go/src/pkg/bufio/bufio.go:77 +0x115
bufio.(*Reader).ReadByte(0x1891e960, 0x81e98b8, 0x0, 0x0)
/home/phiggins/go/src/pkg/bufio/bufio.go:166 +0x85
code.google.com/p/go.net/websocket.hybiFrameReaderFactory.NewFrameReader(0x1891e960,
0x18f24e40, 0x18b4a300, 0x0, 0x0, ...)
/home/phiggins/src/gocode/src/
code.google.com/p/go.net/websocket/hybi.go:115
+0x98
code.google.com/p/go.net/websocket.(*Conn).Read(0x1e9fd960,
0x21deb000, 0x1000, 0x1000, 0x0, ...)
/home/phiggins/src/gocode/src/
code.google.com/p/go.net/websocket/websocket.go:177
+0x87
geochat/bot.(*Bot).recv(0x18aa2120, 0x18d84900)
/home/phiggins/src/gocode/src/geochat/bot/bot.go:77 +0x7a
geochat/bot.(*Bot).Run(0x18aa2120, 0x0, 0x8055350)
/home/phiggins/src/gocode/src/geochat/bot/bot.go:155 +0x781
main._func_002(0x188a3200, 0x18aa3040, 0x0)
/home/phiggins/src/gocode/src/geochat/geobot/geobot.go:78 +0x4c
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by main.main
/home/phiggins/src/gocode/src/geochat/geobot/geobot.go:79 +0x5b7
goroutine 10004 [syscall]:
runtime.entersyscall()
/home/phiggins/go/src/pkg/runtime/proc.c:952 +0x33
syscall.Syscall6()
/home/phiggins/go/src/pkg/syscall/asm_linux_386.s:46 +0x27
syscall.EpollWait(0x2716, 0x18869f08, 0xa, 0xa, 0xffffffff, ...)
/home/phiggins/go/src/pkg/syscall/zerrors_linux_386.go:1780 +0x7d
net.(*pollster).WaitFD(0x18869f00, 0x188e6c90, 0x0, 0x0, 0x0, ...)
/home/phiggins/go/src/pkg/net/fd_linux.go:146 +0x12b
net.(*pollServer).Run(0x188e6c90, 0x0)
/home/phiggins/go/src/pkg/net/fd.go:236 +0xdf
runtime.goexit()
/home/phiggins/go/src/pkg/runtime/proc.c:271
created by net.newPollServer
/home/phiggins/go/src/pkg/net/newpollserver.go:35 +0x308