Snapd panics on i386 when build with -buildmode=pie in artful

Bug #1711052 reported by Michael Vogt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
golang-1.8 (Ubuntu)
New
Undecided
Unassigned

Bug Description

When I build snapd with -buildmode=pie in artful on i386 and then "snap install core" on a fresh system the system panics. Building without "-buildmode=pie" works fine.

See also https://forum.snapcraft.io/t/artful-i386-panics/

Here is the panic log:

2017/08/16 08:25:54.036850 daemon.go:258: started snapd/unknown (series 16; classic) ubuntu/17.10 (i386) linux/4.11.0-13-generic.
2017/08/16 08:25:54.037665 snapmgr.go:429: No snaps to auto-refresh found
2017/08/16 08:26:00.480739 api.go:987: Installing snap "core" revision unset
runtime: pointer 0x1158dc31 to unallocated span idx=0x8ac6 span.base()=0x1158c000 span.limit=0x1158df80 span.state=0
runtime: found in object at *(0x11145578+0x4)
object=0x11145578 k=0x88a2 s.base()=0x11140000 s.limit=0x0 s.sizeclass=0 s.elemsize=0 s.state=_MSpanStack
 *(object+0) = 0x115b7540
 *(object+4) = 0x1158dc31 <==
fatal error: found bad pointer in Go heap (incorrect use of unsafe or cgo?)

runtime stack:
runtime.throw(0xa28bba, 0x3e)
 /usr/lib/go-1.8/src/runtime/panic.go:596 +0x87
runtime.heapBitsForObject(0x1158dc31, 0x11145578, 0x4, 0xffa48ab, 0x0, 0xb6366740, 0x1111c92c, 0x22)
 /usr/lib/go-1.8/src/runtime/mbitmap.go:433 +0x2b3
runtime.scanblock(0x11145578, 0x18, 0xa757d0, 0x1111c92c)
 /usr/lib/go-1.8/src/runtime/mgcmark.go:1220 +0xc5
runtime.scanframeworker(0xb4ffe0f0, 0xb4ffe164, 0x1111c92c)
 /usr/lib/go-1.8/src/runtime/mgcmark.go:925 +0xae
runtime.scanstack.func1(0xb4ffe0f0, 0x0, 0xb4ffdf01)
 /usr/lib/go-1.8/src/runtime/mgcmark.go:819 +0x57
runtime.gentraceback(0xffffffff, 0x11145574, 0x0, 0x112a8960, 0x0, 0x0, 0x7fffffff, 0xb4ffe224, 0x0, 0x0, ...)
 /usr/lib/go-1.8/src/runtime/traceback.go:378 +0xf44
runtime.scanstack(0x112a8960, 0x1111c92c)
 /usr/lib/go-1.8/src/runtime/mgcmark.go:842 +0x21d
runtime.scang(0x112a8960, 0x1111c92c)
 /usr/lib/go-1.8/src/runtime/proc.go:866 +0x21a
runtime.markroot.func1()
 /usr/lib/go-1.8/src/runtime/mgcmark.go:264 +0x5e
runtime.systemstack(0xb4ffe2c8)
 /usr/lib/go-1.8/src/runtime/asm_386.s:353 +0x9b
runtime.markroot(0x1111c92c, 0x11)
 /usr/lib/go-1.8/src/runtime/mgcmark.go:269 +0x1f9
runtime.gcDrain(0x1111c92c, 0x5)
 /usr/lib/go-1.8/src/runtime/mgcmark.go:1051 +0xff
runtime.gcBgMarkWorker.func2()
 /usr/lib/go-1.8/src/runtime/mgc.go:1532 +0xbf
runtime.systemstack(0x1111c000)
 /usr/lib/go-1.8/src/runtime/asm_386.s:337 +0x73
runtime.mstart()
 /usr/lib/go-1.8/src/runtime/proc.go:1132

goroutine 49 [GC worker (idle)]:
runtime.systemstack_switch()
 /usr/lib/go-1.8/src/runtime/asm_386.s:291 fp=0x1111ffa0 sp=0x1111ff9c
runtime.gcBgMarkWorker(0x1111c000)
 /usr/lib/go-1.8/src/runtime/mgc.go:1537 +0x1f2 fp=0x1111ffe8 sp=0x1111ffa0
runtime.goexit()
 /usr/lib/go-1.8/src/runtime/asm_386.s:1629 +0x1 fp=0x1111ffec sp=0x1111ffe8
created by runtime.gcBgMarkStartWorkers
 /usr/lib/go-1.8/src/runtime/mgc.go:1412 +0x84

goroutine 1 [select]:
main.run(0x0, 0x0)
 /home/ubuntu/go/src/github.com/snapcore/snapd/cmd/snapd/main.go:76 +0x422
main.main()
 /home/ubuntu/go/src/github.com/snapcore/snapd/cmd/snapd/main.go:49 +0x24

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
 /usr/lib/go-1.8/src/runtime/asm_386.s:1629 +0x1

goroutine 5 [syscall]:
os/signal.signal_recv(0x0)
 /usr/lib/go-1.8/src/runtime/sigqueue.go:116 +0x17c
os/signal.loop()
 /usr/lib/go-1.8/src/os/signal/signal_unix.go:22 +0x1b
created by os/signal.init.1
 /usr/lib/go-1.8/src/os/signal/signal_unix.go:28 +0x3d

goroutine 7 [select]:
github.com/snapcore/snapd/overlord.(*Overlord).Loop.func1(0x0, 0x0)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/overlord.go:242 +0x194
github.com/snapcore/snapd/vendor/gopkg.in/tomb%2ev2.(*Tomb).run(0x112659e0, 0x11274660)
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/gopkg.in/tomb.v2/tomb.go:163 +0x22
created by github.com/snapcore/snapd/vendor/gopkg.in/tomb%2ev2.(*Tomb).Go
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/gopkg.in/tomb.v2/tomb.go:159 +0xc2

goroutine 8 [IO wait]:
net.runtime_pollWait(0xb6360420, 0x72, 0x6d1325)
 /usr/lib/go-1.8/src/runtime/netpoll.go:164 +0x4c
net.(*pollDesc).wait(0x112696fc, 0x72, 0x112c4650, 0x6d1385)
 /usr/lib/go-1.8/src/net/fd_poll_runtime.go:75 +0x2c
net.(*pollDesc).waitRead(0x112696fc, 0xffffffff, 0x0)
 /usr/lib/go-1.8/src/net/fd_poll_runtime.go:80 +0x2a
net.(*netFD).accept(0x112696c0, 0x0, 0xe70d70, 0x112c4660)
 /usr/lib/go-1.8/src/net/fd_unix.go:430 +0x16b
net.(*UnixListener).accept(0x1126d1e0, 0x9f6ff1, 0x1128ce4c, 0x1128ce20)
 /usr/lib/go-1.8/src/net/unixsock_posix.go:162 +0x28
net.(*UnixListener).Accept(0x1126d1e0, 0x112939c0, 0x58dddf, 0x58c803, 0x56db7a)
 /usr/lib/go-1.8/src/net/unixsock.go:237 +0x3d
github.com/snapcore/snapd/daemon.(*ucrednetListener).Accept(0x112741b0, 0x0, 0x0, 0x0, 0x0)
 /home/ubuntu/go/src/github.com/snapcore/snapd/daemon/ucrednet.go:72 +0x4b
net/http.(*Server).Serve(0x11217200, 0xe74260, 0x112741b0, 0x0, 0x0)
 /usr/lib/go-1.8/src/net/http/server.go:2643 +0x1d7
github.com/snapcore/snapd/daemon.(*shutdownServer).Serve(0x1128ce40, 0x112746f8, 0x0)
 /home/ubuntu/go/src/github.com/snapcore/snapd/daemon/daemon.go:305 +0x32
github.com/snapcore/snapd/daemon.(*Daemon).Start.func2(0x0, 0x0)
 /home/ubuntu/go/src/github.com/snapcore/snapd/daemon/daemon.go:394 +0x37
github.com/snapcore/snapd/vendor/gopkg.in/tomb%2ev2.(*Tomb).run(0x1127a264, 0x11274668)
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/gopkg.in/tomb.v2/tomb.go:163 +0x22
created by github.com/snapcore/snapd/vendor/gopkg.in/tomb%2ev2.(*Tomb).Go
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/gopkg.in/tomb.v2/tomb.go:159 +0xc2

goroutine 9 [select, locked to thread]:
runtime.gopark(0xc5450c, 0x0, 0xa04b08, 0x6, 0x18, 0x2)
 /usr/lib/go-1.8/src/runtime/proc.go:271 +0x110
runtime.selectgoImpl(0x11125fa0, 0x0, 0xc)
 /usr/lib/go-1.8/src/runtime/select.go:423 +0x10d3
runtime.selectgo(0x11125fa0)
 /usr/lib/go-1.8/src/runtime/select.go:238 +0xf
runtime.ensureSigM.func1()
 /usr/lib/go-1.8/src/runtime/signal_unix.go:434 +0x2b8
runtime.goexit()
 /usr/lib/go-1.8/src/runtime/asm_386.s:1629 +0x1

goroutine 10 [IO wait]:
net.runtime_pollWait(0xb63603a8, 0x72, 0x6d1325)
 /usr/lib/go-1.8/src/runtime/netpoll.go:164 +0x4c
net.(*pollDesc).wait(0x112697bc, 0x72, 0x11289f0c, 0x6d1385)
 /usr/lib/go-1.8/src/net/fd_poll_runtime.go:75 +0x2c
net.(*pollDesc).waitRead(0x112697bc, 0xffffffff, 0x0)
 /usr/lib/go-1.8/src/net/fd_poll_runtime.go:80 +0x2a
net.(*netFD).accept(0x11269780, 0x0, 0xe70d70, 0x112c4000)
 /usr/lib/go-1.8/src/net/fd_unix.go:430 +0x16b
net.(*UnixListener).accept(0x1126d240, 0x1128d520, 0xbda560, 0xe68740)
 /usr/lib/go-1.8/src/net/unixsock_posix.go:162 +0x28
net.(*UnixListener).Accept(0x1126d240, 0x1128d500, 0xbda560, 0xe68740, 0xc2df80)
 /usr/lib/go-1.8/src/net/unixsock.go:237 +0x3d
net/http.(*Server).Serve(0x11217180, 0xe74580, 0x1126d240, 0x0, 0x0)
 /usr/lib/go-1.8/src/net/http/server.go:2643 +0x1d7
github.com/snapcore/snapd/daemon.(*shutdownServer).Serve(0x1128ce00, 0x0, 0x0)
 /home/ubuntu/go/src/github.com/snapcore/snapd/daemon/daemon.go:305 +0x32
github.com/snapcore/snapd/daemon.(*Daemon).Start.func2.1(0x0, 0x0)
 /home/ubuntu/go/src/github.com/snapcore/snapd/daemon/daemon.go:386 +0x2c
github.com/snapcore/snapd/vendor/gopkg.in/tomb%2ev2.(*Tomb).run(0x1127a264, 0x112746f8)
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/gopkg.in/tomb.v2/tomb.go:163 +0x22
created by github.com/snapcore/snapd/vendor/gopkg.in/tomb%2ev2.(*Tomb).Go
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/gopkg.in/tomb.v2/tomb.go:159 +0xc2

goroutine 11 [semacquire]:
sync.runtime_SemacquireMutex(0x11268604)
 /usr/lib/go-1.8/src/runtime/sema.go:62 +0x2a
sync.(*Mutex).Lock(0x11268600)
 /usr/lib/go-1.8/src/sync/mutex.go:87 +0xbd
github.com/snapcore/snapd/overlord/state.(*State).Lock(0x11268600)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/state/state.go:129 +0x24
github.com/snapcore/snapd/daemon.(*Command).ServeHTTP(0xe6b8a0, 0xe74280, 0x1156a010, 0x114ef580)
 /home/ubuntu/go/src/github.com/snapcore/snapd/daemon/daemon.go:122 +0x34
github.com/snapcore/snapd/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0x112765a0, 0xe74280, 0x1156a010, 0x114ef580)
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/github.com/gorilla/mux/mux.go:103 +0x1c3
github.com/snapcore/snapd/daemon.logit.func1(0xe74640, 0x114e6000, 0x114ef580)
 /home/ubuntu/go/src/github.com/snapcore/snapd/daemon/daemon.go:181 +0xe2
net/http.HandlerFunc.ServeHTTP(0x11289e90, 0xe74640, 0x114e6000, 0x114ef580)
 /usr/lib/go-1.8/src/net/http/server.go:1942 +0x35
net/http.serverHandler.ServeHTTP(0x11217200, 0xe74640, 0x114e6000, 0x114ef580)
 /usr/lib/go-1.8/src/net/http/server.go:2568 +0x71
net/http.(*conn).serve(0x11293980, 0xe75060, 0x1128d9c0)
 /usr/lib/go-1.8/src/net/http/server.go:1825 +0x5d3
created by net/http.(*Server).Serve
 /usr/lib/go-1.8/src/net/http/server.go:2668 +0x264

goroutine 22 [runnable (scan)]:
bytes.(*Buffer).WriteString(0x115b7540, 0x1158dc31, 0x4, 0x0, 0x0, 0x0)
 /usr/lib/go-1.8/src/bytes/buffer.go:144 +0xa4
encoding/json.(*encodeState).string(0x115b7540, 0x114d9240, 0x9709dc, 0x114d9201, 0x9709dc)
 /usr/lib/go-1.8/src/encoding/json/encode.go:893 +0xfb
encoding/json.stringEncoder(0x115b7540, 0xbc70c0, 0x1149ab70, 0x198, 0x100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:608 +0x183
encoding/json.(*structEncoder).encode(0x1128d7e0, 0x115b7540, 0xc05980, 0x1149ab70, 0x199, 0x6b0100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:645 +0x1b0
encoding/json.(*structEncoder).(encoding/json.encode)-fm(0x115b7540, 0xc05980, 0x1149ab70, 0x199, 0x11490100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:659 +0x53
encoding/json.(*ptrEncoder).encode(0x112748d0, 0x115b7540, 0xb90920, 0x114eff20, 0x96, 0x6b0100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:786 +0xbf
encoding/json.(*ptrEncoder).(encoding/json.encode)-fm(0x115b7540, 0xb90920, 0x114eff20, 0x96, 0x100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:791 +0x53
encoding/json.(*structEncoder).encode(0x1128d700, 0x115b7540, 0xc3d3c0, 0x114eff00, 0x99, 0x6b0100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:645 +0x1b0
encoding/json.(*structEncoder).(encoding/json.encode)-fm(0x115b7540, 0xc3d3c0, 0x114eff00, 0x99, 0x6a0100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:659 +0x53
encoding/json.(*encodeState).reflectValue(0x115b7540, 0xc3d3c0, 0x114eff00, 0x99, 0x100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:323 +0x6b
encoding/json.(*encodeState).marshal(0x115b7540, 0xc3d3c0, 0x114eff00, 0xc30100, 0x0, 0x0)
 /usr/lib/go-1.8/src/encoding/json/encode.go:296 +0xa3
encoding/json.Marshal(0xc3d3c0, 0x114eff00, 0xc3d3c0, 0x114eff00, 0x28, 0x30, 0x1149ad00)
 /usr/lib/go-1.8/src/encoding/json/encode.go:161 +0x67
github.com/snapcore/snapd/overlord/state.(*Task).MarshalJSON(0x114875e0, 0xc4ba00, 0x114875e0, 0xb63605b8, 0x114875e0, 0x1122fe01)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/state/task.go:122 +0x1c4
encoding/json.marshalerEncoder(0x115b6fa0, 0xc4ba00, 0x114875e0, 0x16, 0x11220100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:451 +0x84
encoding/json.(*mapEncoder).encode(0x11274790, 0x115b6fa0, 0xbcdca0, 0x1139e748, 0x95, 0x6b0100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:690 +0x442
encoding/json.(*mapEncoder).(encoding/json.encode)-fm(0x115b6fa0, 0xbcdca0, 0x1139e748, 0x95, 0x100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:706 +0x53
encoding/json.(*structEncoder).encode(0x1128d580, 0x115b6fa0, 0xc1dfa0, 0x1139e740, 0x99, 0x6b0100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:645 +0x1b0
encoding/json.(*structEncoder).(encoding/json.encode)-fm(0x115b6fa0, 0xc1dfa0, 0x1139e740, 0x99, 0x6a0100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:659 +0x53
encoding/json.(*encodeState).reflectValue(0x115b6fa0, 0xc1dfa0, 0x1139e740, 0x99, 0x100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:323 +0x6b
encoding/json.(*encodeState).marshal(0x115b6fa0, 0xc1dfa0, 0x1139e740, 0xc10100, 0x0, 0x0)
 /usr/lib/go-1.8/src/encoding/json/encode.go:296 +0xa3
encoding/json.Marshal(0xc1dfa0, 0x1139e740, 0xc1dfa0, 0x1139e740, 0xe9e990, 0x5d4da5, 0x5d4d77)
 /usr/lib/go-1.8/src/encoding/json/encode.go:161 +0x67
github.com/snapcore/snapd/overlord/state.(*State).MarshalJSON(0x11268600, 0xc48a60, 0x11268600, 0xb6360558, 0x11268600, 0xc48a01)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/state/state.go:172 +0x97
encoding/json.marshalerEncoder(0x115b6f00, 0xc48a60, 0x11268600, 0x16, 0x6a0100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:451 +0x84
encoding/json.(*encodeState).reflectValue(0x115b6f00, 0xc48a60, 0x11268600, 0x16, 0x100)
 /usr/lib/go-1.8/src/encoding/json/encode.go:323 +0x6b
encoding/json.(*encodeState).marshal(0x115b6f00, 0xc48a60, 0x11268600, 0x11280100, 0x0, 0x0)
 /usr/lib/go-1.8/src/encoding/json/encode.go:296 +0xa3
encoding/json.Marshal(0xc48a60, 0x11268600, 0x58dddf, 0x0, 0x563c96, 0x4, 0x1128d480)
 /usr/lib/go-1.8/src/encoding/json/encode.go:161 +0x67
github.com/snapcore/snapd/overlord/state.(*State).checkpointData(0x11268600, 0xc53ebc, 0x11268600, 0x1111c000)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/state/state.go:201 +0x35
github.com/snapcore/snapd/overlord/state.(*State).Unlock(0x11268600)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/state/state.go:225 +0x68
github.com/snapcore/snapd/overlord/snapstate.(*taskProgressAdapter).Finished(0x114f8160)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/snapstate/progress.go:74 +0x69
github.com/snapcore/snapd/store.glob..func1(0xb63688f8, 0x114f8180, 0x114d9240, 0x4, 0x11455980, 0x60, 0x114558c0, 0x59, 0x0, 0x11153e30, ...)
 /home/ubuntu/go/src/github.com/snapcore/snapd/store/store.go:1477 +0x6c8
github.com/snapcore/snapd/store.(*Store).Download(0x11153e30, 0xb63688f8, 0x114f8180, 0x114d9240, 0x4, 0x114eb080, 0x23, 0x114eb020, 0xe76e60, 0x114f8160, ...)
 /home/ubuntu/go/src/github.com/snapcore/snapd/store/store.go:1364 +0x2a9
github.com/snapcore/snapd/overlord/snapstate.(*SnapManager).doDownloadSnap(0x11267540, 0x114875e0, 0x114d57d0, 0x0, 0x984995)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/snapstate/handlers.go:252 +0x22c
github.com/snapcore/snapd/overlord/snapstate.(*SnapManager).(github.com/snapcore/snapd/overlord/snapstate.doDownloadSnap)-fm(0x114875e0, 0x114d57d0, 0x112b2cfd, 0x58dddf)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/snapstate/snapmgr.go:318 +0x31
github.com/snapcore/snapd/overlord/state.(*TaskRunner).run.func1(0x0, 0x0)
 /home/ubuntu/go/src/github.com/snapcore/snapd/overlord/state/taskrunner.go:146 +0x4f
github.com/snapcore/snapd/vendor/gopkg.in/tomb%2ev2.(*Tomb).run(0x114d57d0, 0x114cb840)
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/gopkg.in/tomb.v2/tomb.go:163 +0x22
created by github.com/snapcore/snapd/vendor/gopkg.in/tomb%2ev2.(*Tomb).Go
 /home/ubuntu/go/src/github.com/snapcore/snapd/vendor/gopkg.in/tomb.v2/tomb.go:159 +0xc2

goroutine 176 [syscall]:
syscall.Syscall(0x3, 0x8, 0x112b2cfd, 0x1, 0x0, 0xff800000, 0x7ff)
 /usr/lib/go-1.8/src/syscall/asm_linux_386.s:20 +0x5
syscall.read(0x8, 0x112b2cfd, 0x1, 0x1, 0x72, 0x0, 0x5a8b35)
 /usr/lib/go-1.8/src/syscall/zsyscall_linux_386.go:783 +0x46
syscall.Read(0x8, 0x112b2cfd, 0x1, 0x1, 0x1, 0x54a005, 0x54a99d)
 /usr/lib/go-1.8/src/syscall/syscall_unix.go:162 +0x3a
net.(*netFD).Read(0x11297680, 0x112b2cfd, 0x1, 0x1, 0x0, 0x0, 0x0)
 /usr/lib/go-1.8/src/net/fd_unix.go:246 +0x106
net.(*conn).Read(0x112749e8, 0x112b2cfd, 0x1, 0x1, 0x0, 0x0, 0x0)
 /usr/lib/go-1.8/src/net/net.go:181 +0x57
github.com/snapcore/snapd/daemon.(*ucrednetConn).Read(0x112c4640, 0x112b2cfd, 0x1, 0x1, 0x1155f860, 0xe70801, 0x1155f860)
 <autogenerated>:29 +0x50
net/http.(*connReader).backgroundRead(0x112b2cf0)
 /usr/lib/go-1.8/src/net/http/server.go:656 +0x47
created by net/http.(*connReader).startBackgroundRead
 /usr/lib/go-1.8/src/net/http/server.go:652 +0xcc

goroutine 31 [IO wait]:
net.runtime_pollWait(0xb6360240, 0x72, 0x6d1325)
 /usr/lib/go-1.8/src/runtime/netpoll.go:164 +0x4c
net.(*pollDesc).wait(0x114b3f7c, 0x72, 0xe71ef0, 0x6d1385)
 /usr/lib/go-1.8/src/net/fd_poll_runtime.go:75 +0x2c
net.(*pollDesc).waitRead(0x114b3f7c, 0x1151c000, 0x8000)
 /usr/lib/go-1.8/src/net/fd_poll_runtime.go:80 +0x2a
net.(*netFD).Read(0x114b3f40, 0x1151c000, 0x8000, 0x8000, 0x0, 0xe71ef0, 0xe6eedc)
 /usr/lib/go-1.8/src/net/fd_unix.go:250 +0x15f
net.(*conn).Read(0x114f0390, 0x1151c000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
 /usr/lib/go-1.8/src/net/net.go:181 +0x57
crypto/tls.(*block).readFromUntil(0x114f8d20, 0xb63606d0, 0x114f0390, 0x5, 0x114f0390, 0xc)
 /usr/lib/go-1.8/src/crypto/tls/conn.go:488 +0x7a
crypto/tls.(*Conn).readRecord(0x111af200, 0xc54517, 0x111af2a0, 0x58b430)
 /usr/lib/go-1.8/src/crypto/tls/conn.go:590 +0xaa
crypto/tls.(*Conn).Read(0x111af200, 0x1151a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
 /usr/lib/go-1.8/src/crypto/tls/conn.go:1134 +0xf3
net/http.(*persistConn).Read(0x114ec5a0, 0x1151a000, 0x1000, 0x1000, 0x5, 0x5897f0, 0x11500840)
 /usr/lib/go-1.8/src/net/http/transport.go:1316 +0x168
bufio.(*Reader).fill(0x11518180)
 /usr/lib/go-1.8/src/bufio/bufio.go:97 +0xd6
bufio.(*Reader).Peek(0x11518180, 0x1, 0x11137dad, 0x1, 0x0, 0x11500780, 0x0)
 /usr/lib/go-1.8/src/bufio/bufio.go:129 +0x52
net/http.(*persistConn).readLoop(0x114ec5a0)
 /usr/lib/go-1.8/src/net/http/transport.go:1474 +0x1b7
created by net/http.(*Transport).dialConn
 /usr/lib/go-1.8/src/net/http/transport.go:1117 +0x920

goroutine 20 [IO wait]:
net.runtime_pollWait(0xb63602b8, 0x72, 0x6d1325)
 /usr/lib/go-1.8/src/runtime/netpoll.go:164 +0x4c
net.(*pollDesc).wait(0x112ea0bc, 0x72, 0xe71ef0, 0x6d1385)
 /usr/lib/go-1.8/src/net/fd_poll_runtime.go:75 +0x2c
net.(*pollDesc).waitRead(0x112ea0bc, 0x11489000, 0x800)
 /usr/lib/go-1.8/src/net/fd_poll_runtime.go:80 +0x2a
net.(*netFD).Read(0x112ea080, 0x11489000, 0x800, 0x800, 0x0, 0xe71ef0, 0xe6eedc)
 /usr/lib/go-1.8/src/net/fd_unix.go:250 +0x15f
net.(*conn).Read(0x11274bf0, 0x11489000, 0x800, 0x800, 0x0, 0x0, 0x0)
 /usr/lib/go-1.8/src/net/net.go:181 +0x57
crypto/tls.(*block).readFromUntil(0x112de5e0, 0xb63606d0, 0x11274bf0, 0x5, 0x11274bf0, 0x0)
 /usr/lib/go-1.8/src/crypto/tls/conn.go:488 +0x7a
crypto/tls.(*Conn).readRecord(0x111aea00, 0xc54517, 0x111aeaa0, 0x58b430)
 /usr/lib/go-1.8/src/crypto/tls/conn.go:590 +0xaa
crypto/tls.(*Conn).Read(0x111aea00, 0x114cc000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
 /usr/lib/go-1.8/src/crypto/tls/conn.go:1134 +0xf3
net/http.(*persistConn).Read(0x11111220, 0x114cc000, 0x1000, 0x1000, 0x5, 0x5897f0, 0x114b27c0)
 /usr/lib/go-1.8/src/net/http/transport.go:1316 +0x168
bufio.(*Reader).fill(0x114a7c20)
 /usr/lib/go-1.8/src/bufio/bufio.go:97 +0xd6
bufio.(*Reader).Peek(0x114a7c20, 0x1, 0x11135dad, 0x1, 0x0, 0x114b37c0, 0x0)
 /usr/lib/go-1.8/src/bufio/bufio.go:129 +0x52
net/http.(*persistConn).readLoop(0x11111220)
 /usr/lib/go-1.8/src/net/http/transport.go:1474 +0x1b7
created by net/http.(*Transport).dialConn
 /usr/lib/go-1.8/src/net/http/transport.go:1117 +0x920

goroutine 21 [select]:
net/http.(*persistConn).writeLoop(0x11111220)
 /usr/lib/go-1.8/src/net/http/transport.go:1704 +0x3b2
created by net/http.(*Transport).dialConn
 /usr/lib/go-1.8/src/net/http/transport.go:1118 +0x946

goroutine 32 [select]:
net/http.(*persistConn).writeLoop(0x114ec5a0)
 /usr/lib/go-1.8/src/net/http/transport.go:1704 +0x3b2
created by net/http.(*Transport).dialConn
 /usr/lib/go-1.8/src/net/http/transport.go:1118 +0x946
egon@top:~/devel/go/src/github.com/snapcore/snapd$

Michael Vogt (mvo)
description: updated
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Have you tested this with go 1.10 out of curiosity? I doubt it's been fixed but who knows... In any case I'm about to request the removal of 1.8 from the archive.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.