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

runtime: crash in MSpan_Sweep with Go 1.4 #15769

Closed
lakb opened this issue May 20, 2016 · 1 comment
Closed

runtime: crash in MSpan_Sweep with Go 1.4 #15769

lakb opened this issue May 20, 2016 · 1 comment

Comments

@lakb
Copy link

lakb commented May 20, 2016

Please answer these questions before submitting your issue. Thanks!

  1. What version of Go are you using (go version)?
    go 1.4
  2. What operating system and processor architecture are you using (go env)?
    Linux txslhpcscf2172 2.6.32-431.56.1.el6.x86_64 cmd/cgo: fails with gcc 4.4.1 #1 SMP Mon Apr 20 17:00:51 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
  3. What did you do?
    http based client server is running. Only log messages were being displayed at that time.
  4. What did you expect to see?

No panic should happen

  1. What did you see instead?
    Panic occured:
    fatal error: unexpected signal during runtime execution
    [signal 0xb code=0x80 addr=0x0 pc=0x42be6a]

runtime stack:
runtime.MSpan_Sweep(0x7fa08d904d00, 0xe100000000, 0x100000001)
/usr/local/go/src/runtime/mgc0.c:960 +0x14a

goroutine 3 [running]:
runtime.switchtoM()
/usr/local/go/src/runtime/asm_amd64.s:198 fp=0xc20801dfa8 sp=0xc20801dfa0
runtime.gosweepone(0x0)
/usr/local/go/src/runtime/mgc0.c:1165 +0x1e fp=0xc20801dfc0 sp=0xc20801dfa8
runtime.bgsweep()
/usr/local/go/src/runtime/mgc0.go:85 +0x36 fp=0xc20801dfe0 sp=0xc20801dfc0
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1 fp=0xc20801dfe8 sp=0xc20801dfe0
created by gc
/usr/local/go/src/runtime/mgc0.c:1383

goroutine 1 [select (no cases), 39 minutes]:
main.main()
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/swrepo/swrepo.go:116 +0x5da

goroutine 5 [chan receive, 39 minutes]:
code.google.com/p/log4go.ConsoleLogWriter.run(0xc20805a060, 0x7fa08d911c18, 0xc208036008)
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/code.google.com/p/log4go/termlog.go:27 +0x7a
created by code.google.com/p/log4go.NewConsoleLogWriter
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/code.google.com/p/log4go/termlog.go:19 +0x6b

goroutine 11 [IO wait]:
net.(_pollDesc).Wait(0xc2080d0060, 0x72, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/fd_poll_runtime.go:84 +0x47
net.(_pollDesc).WaitRead(0xc2080d0060, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/fd_poll_runtime.go:89 +0x43
net.(_netFD).Read(0xc2080d0000, 0xc208178000, 0x8000, 0x8000, 0x0, 0x7fa08d911ba0, 0xc20802b018)
/imsgit/Tools/go_14/go_64/src/net/fd_unix.go:242 +0x40f
net.(_conn).Read(0xc208036030, 0xc208178000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/net.go:121 +0xdc
crypto/tls.(_block).readFromUntil(0xc2080d3560, 0x7fa08d916bc0, 0xc208036030, 0x5, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:454 +0xe6
crypto/tls.(_Conn).readRecord(0xc208100000, 0x17, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:539 +0x2da
crypto/tls.(_Conn).Read(0xc208100000, 0xc2080e7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:904 +0x166
net/http.noteEOFReader.Read(0x7fa08d916af8, 0xc208100000, 0xc2080a01b8, 0xc2080e7000, 0x1000, 0x1000, 0x752ee0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/transport.go:1270 +0x6e
net/http.(_noteEOFReader).Read(0xc2080f7a00, 0xc2080e7000, 0x1000, 0x1000, 0xc208012000, 0x0, 0x0)
:125 +0xd4
bufio.(_Reader).fill(0xc2080c4de0)
/imsgit/Tools/go_14/go_64/src/bufio/bufio.go:97 +0x1ce
bufio.(_Reader).Peek(0xc2080c4de0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/bufio/bufio.go:132 +0xf0
net/http.(_persistConn).readLoop(0xc2080a0160)
/imsgit/Tools/go_14/go_64/src/net/http/transport.go:842 +0xa4
created by net/http.(_Transport).dialConn
/imsgit/Tools/go_14/go_64/src/net/http/transport.go:660 +0xc9f

goroutine 7 [IO wait]:
net.(_pollDesc).Wait(0xc2080d0d10, 0x72, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/fd_poll_runtime.go:84 +0x47
net.(_pollDesc).WaitRead(0xc2080d0d10, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/fd_poll_runtime.go:89 +0x43
net.(_netFD).accept(0xc2080d0cb0, 0x0, 0x7fa08d911ba0, 0xc20812bcf8)
/imsgit/Tools/go_14/go_64/src/net/fd_unix.go:419 +0x40b
net.(_TCPListener).AcceptTCP(0xc208036028, 0xc20805a1e0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/tcpsock_posix.go:234 +0x4e
net.(_TCPListener).Accept(0xc208036028, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/tcpsock_posix.go:244 +0x4c
crypto/tls.(_listener).Accept(0xc20806a6a0, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/tls.go:46 +0x6b
net/http.(_Server).Serve(0xc2080c5e60, 0x7fa08d9169b0, 0xc20806a6a0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/server.go:1728 +0x92
net/http.Serve(0x7fa08d9169b0, 0xc20806a6a0, 0x7fa08d9169e8, 0xc20809a630, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/server.go:1606 +0xa1
web.(_Server).RunTLS(0xc20801f5a0, 0xc20802af70, 0x5, 0xc208088480, 0x0, 0x0)
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/web/server.go:87 +0x491
created by swrepo/sw.RunHTTPS
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/swrepo/sw/server.go:96 +0x656

goroutine 9 [IO wait, 37 minutes]:
net.(_pollDesc).Wait(0xc2080107d0, 0x72, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/fd_poll_runtime.go:84 +0x47
net.(_pollDesc).WaitRead(0xc2080107d0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/fd_poll_runtime.go:89 +0x43
net.(_netFD).Read(0xc208010770, 0xc208049c00, 0x400, 0x400, 0x0, 0x7fa08d911ba0, 0xc20802b040)
/imsgit/Tools/go_14/go_64/src/net/fd_unix.go:242 +0x40f
net.(_conn).Read(0xc2080e2080, 0xc208049c00, 0x400, 0x400, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/net.go:121 +0xdc
crypto/tls.(_block).readFromUntil(0xc2080d2720, 0x7fa08d916bc0, 0xc2080e2080, 0x5, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:454 +0xe6
crypto/tls.(_Conn).readRecord(0xc2080cb340, 0x17, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:539 +0x2da
crypto/tls.(_Conn).Read(0xc2080cb340, 0xc20800f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:904 +0x166
net/http.(_liveSwitchReader).Read(0xc2080f2228, 0xc20800f000, 0x1000, 0x1000, 0x1c00000000000008, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/server.go:214 +0xab
io.(_LimitedReader).Read(0xc2080f6a80, 0xc20800f000, 0x1000, 0x1000, 0x400, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/io/io.go:408 +0xce
bufio.(_Reader).fill(0xc2080c5ec0)
/imsgit/Tools/go_14/go_64/src/bufio/bufio.go:97 +0x1ce
bufio.(_Reader).ReadSlice(0xc2080c5ec0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/bufio/bufio.go:295 +0x257
bufio.(_Reader).ReadLine(0xc2080c5ec0, 0x0, 0x0, 0x0, 0xc207fff400, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/bufio/bufio.go:324 +0x62
net/textproto.(_Reader).readLineSlice(0xc20800b080, 0x0, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/textproto/reader.go:55 +0x9e
net/textproto.(_Reader).ReadLine(0xc20800b080, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2080c5ec0, 0xc20803cc30, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/request.go:598 +0xcb
net/http.(_conn).readRequest(0xc2080f21e0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/server.go:586 +0x26f
net/http.(_conn).serve(0xc2080f21e0)
/imsgit/Tools/go_14/go_64/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/imsgit/Tools/go_14/go_64/src/net/http/server.go:1751 +0x35e

goroutine 13 [runnable]:
bytes.func·001()
/imsgit/Tools/go_14/go_64/src/bytes/buffer.go:186
bytes.makeSlice(0x373f1, 0xc208220000, 0x373f1, 0x373f1)
/imsgit/Tools/go_14/go_64/src/bytes/buffer.go:191 +0x98
bytes.(_Buffer).grow(0xc2081e0000, 0x6d91, 0x8000)
/imsgit/Tools/go_14/go_64/src/bytes/buffer.go:99 +0x243
bytes.(_Buffer).Write(0xc2081e0000, 0xc2081e4000, 0x6d91, 0x8000, 0xc208036258, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/bytes/buffer.go:127 +0x52
mime/multipart.(_part).Write(0xc2081a5be0, 0xc2081e4000, 0x6d91, 0x8000, 0x6d91, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/mime/multipart/writer.go:179 +0x179
io.Copy(0x7fa08d920f68, 0xc2081a5be0, 0x7fa08d911b50, 0xc208036258, 0x18000, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/io/io.go:364 +0x278
swrepo/action.UploadLogFiles(0xc2081d06c0, 0x32, 0x0, 0x0, 0x0)
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/swrepo/action/action.go:178 +0x552
swrepo/action.CompressFiles(0x816a30, 0x6, 0x89e610, 0x41)
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/swrepo/action/action.go:224 +0x9db
swrepo/action.(_ActionT).Run(0xc2080f2e60, 0xc20800b500, 0x0, 0x0, 0x0, 0xc2080df1a0, 0x0, 0x0)
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/swrepo/action/action.go:369 +0x2d63
created by swrepo/sw.ExecuteAction
/imsgit_local2/work/CMREPO_APS/repos/ims_cmrepo/src/swrepo/sw/handlers_agent.go:128 +0x13df

goroutine 12 [select]:
net/http.(_persistConn).writeLoop(0xc2080a0160)
/imsgit/Tools/go_14/go_64/src/net/http/transport.go:945 +0x41d
created by net/http.(_Transport).dialConn
/imsgit/Tools/go_14/go_64/src/net/http/transport.go:661 +0xcbc

goroutine 36 [IO wait]:
net.(_pollDesc).Wait(0xc2080d0760, 0x72, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/fd_poll_runtime.go:84 +0x47
net.(_pollDesc).WaitRead(0xc2080d0760, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/fd_poll_runtime.go:89 +0x43
net.(_netFD).Read(0xc2080d0700, 0xc2080d5000, 0x400, 0x400, 0x0, 0x7fa08d911ba0, 0xc20812b668)
/imsgit/Tools/go_14/go_64/src/net/fd_unix.go:242 +0x40f
net.(_conn).Read(0xc208036238, 0xc2080d5000, 0x400, 0x400, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/net.go:121 +0xdc
crypto/tls.(_block).readFromUntil(0xc2080d2900, 0x7fa08d916bc0, 0xc208036238, 0x5, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:454 +0xe6
crypto/tls.(_Conn).readRecord(0xc2080cadc0, 0x17, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:539 +0x2da
crypto/tls.(_Conn).Read(0xc2080cadc0, 0xc208104000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/crypto/tls/conn.go:904 +0x166
net/http.(_liveSwitchReader).Read(0xc208035308, 0xc208104000, 0x1000, 0x1000, 0x8, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/server.go:214 +0xab
io.(_LimitedReader).Read(0xc2080f7440, 0xc208104000, 0x1000, 0x1000, 0x400, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/io/io.go:408 +0xce
bufio.(_Reader).fill(0xc2080c48a0)
/imsgit/Tools/go_14/go_64/src/bufio/bufio.go:97 +0x1ce
bufio.(_Reader).ReadSlice(0xc2080c48a0, 0xc20800b10a, 0x0, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/bufio/bufio.go:295 +0x257
bufio.(_Reader).ReadLine(0xc2080c48a0, 0x0, 0x0, 0x0, 0xc20800b100, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/bufio/bufio.go:324 +0x62
net/textproto.(_Reader).readLineSlice(0xc20809a0f0, 0x0, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/textproto/reader.go:55 +0x9e
net/textproto.(_Reader).ReadLine(0xc20809a0f0, 0x0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/textproto/reader.go:36 +0x4f
net/http.ReadRequest(0xc2080c48a0, 0xc2081881a0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/request.go:598 +0xcb
net/http.(_conn).readRequest(0xc2080352c0, 0x0, 0x0, 0x0)
/imsgit/Tools/go_14/go_64/src/net/http/server.go:586 +0x26f
net/http.(_conn).serve(0xc2080352c0)
/imsgit/Tools/go_14/go_64/src/net/http/server.go:1162 +0x69e
created by net/http.(*Server).Serve
/imsgit/Tools/go_14/go_64/src/net/http/server.go:1751 +0x35e

@ianlancetaylor ianlancetaylor added this to the Unplanned milestone May 20, 2016
@ianlancetaylor ianlancetaylor changed the title crash in runtime.MSpan_Sweep runtime: crash in MSpan_Sweep with Go 1.4 May 20, 2016
@ianlancetaylor
Copy link
Contributor

Unfortunately, Go 1.4 is no longer supported. The garbage collector has been completely rewritten, so there is no particular reason to think that the same problem exists in current Go. That said, if possible please try your program with Go 1.6.2.

I would suggest running your program under the race detector.

@golang golang locked and limited conversation to collaborators Jan 31, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants