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

Repository is showing as unknown and panic: deadlock detected #393

Closed
mattheworiordan opened this issue Jun 24, 2014 · 2 comments
Closed
Labels
frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion

Comments

@mattheworiordan
Copy link

After running syncthing on Mac OS OX, and setting it to point at a folder with a lot of files, syncthing now seems to be stuck with all repositories showing as unknown.

Attached is a screen shot of the GUI whilst it's starting up, and pasted below is the log showing the deadlock detected after a few minutes:

[OWFUS] 19:10:40 INFO: syncthing v0.8.16 (go1.3 darwin-amd64 default) jb@jborg-mbp 2014-06-22 16:18:21 UTC
[OWFUS] 19:10:40 INFO: My ID: [OBFUSCATED]
[OWFUS] 19:10:40 INFO: Starting web GUI on http://127.0.0.1:8080/
[OWFUS] 19:10:40 INFO: Populating repository index
panic: deadlock detected

goroutine 23 [running]:
runtime.panic(0x37cfa0, 0xc20a9ed290)
    /usr/local/go/src/pkg/runtime/panic.c:279 +0xf5
github.com/calmh/syncthing/model.func·011()
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:114 +0x175
created by github.com/calmh/syncthing/model.deadlockDetect
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:117 +0x8f

goroutine 16 [semacquire]:
sync.runtime_Semacquire(0xc20810c33c)
    /usr/local/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*RWMutex).RLock(0xc20810c330)
    /usr/local/go/src/pkg/sync/rwmutex.go:36 +0x5e
github.com/calmh/syncthing/model.(*Model).SeedLocal(0xc20810c2d0, 0xc208001968, 0x8, 0xc208244000, 0x6629b, 0x6629b)
    /Users/jb/src/github.com/calmh/syncthing/model/model.go:462 +0x1a2
github.com/calmh/syncthing/model.(*Model).LoadIndexes(0xc20810c2d0, 0xc20803c200, 0x31)
    /Users/jb/src/github.com/calmh/syncthing/model/model.go:736 +0x12e
main.main()
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/main.go:346 +0x15de

goroutine 19 [finalizer wait, 1 minutes]:
runtime.park(0x2b400, 0x7c33a0, 0x7c1669)
    /usr/local/go/src/pkg/runtime/proc.c:1369 +0x89
runtime.parkunlock(0x7c33a0, 0x7c1669)
    /usr/local/go/src/pkg/runtime/proc.c:1385 +0x3b
runfinq()
    /usr/local/go/src/pkg/runtime/mgc0.c:2644 +0xcf
runtime.goexit()
    /usr/local/go/src/pkg/runtime/proc.c:1445

goroutine 64 [semacquire]:
sync.runtime_Semacquire(0xc20810c390)
    /usr/local/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*RWMutex).Lock(0xc20810c388)
    /usr/local/go/src/pkg/sync/rwmutex.go:83 +0xa3
github.com/calmh/syncthing/model.func·009()
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:103 +0x46
created by github.com/calmh/syncthing/model.func·011
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:106 +0xb8

goroutine 21 [chan receive]:
main.trackCPUUsage()
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui_unix.go:22 +0xe8
created by main.init·2
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui_unix.go:15 +0x22

goroutine 22 [chan receive, 1 minutes]:
main.saveConfigLoop(0xc2081ca440, 0x3c)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/main.go:539 +0x5b
created by main.main
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/main.go:193 +0xd32

goroutine 24 [runnable]:
time.Sleep(0x37e11d600)
    /usr/local/go/src/pkg/runtime/time.goc:39 +0x31
github.com/calmh/syncthing/model.func·011()
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:99 +0x49
created by github.com/calmh/syncthing/model.deadlockDetect
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:117 +0x8f

goroutine 25 [runnable]:
runtime.panic(0x37cfa0, 0xc210c8aae0)
    /usr/local/go/src/pkg/runtime/panic.c:213
github.com/calmh/syncthing/model.func·011()
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:114 +0x175
created by github.com/calmh/syncthing/model.deadlockDetect
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:117 +0x8f

goroutine 26 [semacquire]:
sync.runtime_Semacquire(0xc20810c33c)
    /usr/local/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*RWMutex).RLock(0xc20810c330)
    /usr/local/go/src/pkg/sync/rwmutex.go:36 +0x5e
github.com/calmh/syncthing/model.(*Model).broadcastIndexLoop(0xc20810c2d0)
    /Users/jb/src/github.com/calmh/syncthing/model/model.go:585 +0xc7
created by github.com/calmh/syncthing/model.NewModel
    /Users/jb/src/github.com/calmh/syncthing/model/model.go:103 +0x440

goroutine 27 [IO wait, 1 minutes]:
net.runtime_pollWait(0x8a6b58, 0x72, 0x0)
    /usr/local/go/src/pkg/runtime/netpoll.goc:146 +0x66
net.(*pollDesc).Wait(0xc2081fa1b0, 0x72, 0x0, 0x0)
    /usr/local/go/src/pkg/net/fd_poll_runtime.go:84 +0x46
net.(*pollDesc).WaitRead(0xc2081fa1b0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/fd_poll_runtime.go:89 +0x42
net.(*netFD).accept(0xc2081fa150, 0x5b25e8, 0x0, 0x8a0208, 0x23)
    /usr/local/go/src/pkg/net/fd_unix.go:409 +0x343
net.(*TCPListener).AcceptTCP(0xc20803a0a0, 0x8, 0x0, 0x0)
    /usr/local/go/src/pkg/net/tcpsock_posix.go:234 +0x5d
net.(*TCPListener).Accept(0xc20803a0a0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/tcpsock_posix.go:244 +0x4b
net/http.(*Server).Serve(0xc208198000, 0x8a5b88, 0xc20803a0a0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/http/server.go:1698 +0x91
net/http.Serve(0x8a5b88, 0xc20803a0a0, 0x8a6f00, 0xc2080d3280, 0x0, 0x0)
    /usr/local/go/src/pkg/net/http/server.go:1576 +0x7c
created by main.startGUI
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:128 +0x188e

goroutine 33 [semacquire, 1 minutes]:
sync.runtime_Semacquire(0xc20810c33c)
    /usr/local/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*RWMutex).RLock(0xc20810c330)
    /usr/local/go/src/pkg/sync/rwmutex.go:36 +0x5e
github.com/calmh/syncthing/model.(*Model).GlobalSize(0xc20810c2d0, 0xc208001718, 0x7, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/model/model.go:223 +0x7f
main.reportData(0xc20810c2d0, 0xc209c7aa90)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/usage_report.go:36 +0x4d1
main.restGetReport(0xf04148, 0xc20aab2000, 0xc20810c2d0)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:394 +0xee
reflect.Value.call(0x3be0a0, 0x5b2430, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20aab2100, 0x2, 0x2, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3be0a0, 0x5b2430, 0x0, 0x130, 0xc20aab2100, 0x2, 0x2, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20aaaa060, 0x3be0a0, 0x5b2430, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).Invoke(0xc20aab0050, 0x3be0a0, 0x5b2430, 0x0, 0x0, 0x0, 0x0, 0x0)
    <autogenerated>:29 +0x92
github.com/codegangsta/martini.(*routeContext).run(0xc208130570)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:314 +0xb4
github.com/codegangsta/martini.(*route).Handle(0xc2081d5bd0, 0xf04180, 0xc20aab0050, 0xf04148, 0xc20aab2000)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:217 +0xae
github.com/codegangsta/martini.(*router).Handle(0xc2081d4690, 0xf04148, 0xc20aab2000, 0xc20a9828f0, 0xf04180, 0xc20aab0050)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:112 +0x187
github.com/codegangsta/martini.Router.Handle·fm(0xf04148, 0xc20aab2000, 0xc20a9828f0, 0xf04180, 0xc20aab0050)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:122 +0x6a
reflect.Value.call(0x3ecea0, 0xc2081abc40, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20aab6060, 0x3, 0x3, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3ecea0, 0xc2081abc40, 0x0, 0x130, 0xc20aab6060, 0x3, 0x3, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20aaaa060, 0x3ecea0, 0xc2081abc40, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).run(0xc20aab0050)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:163 +0x86
github.com/codegangsta/martini.(*context).Next(0xc20aab0050)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:154 +0x32
github.com/codegangsta/martini.func·004(0xf04180, 0xc20aab0050, 0xc2081b8f00)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/recovery.go:140 +0x76
reflect.Value.call(0x3b8ce0, 0x5b1f20, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20aab2080, 0x2, 0x2, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3b8ce0, 0x5b1f20, 0x0, 0x130, 0xc20aab2080, 0x2, 0x2, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20aaaa060, 0x3b8ce0, 0x5b1f20, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).run(0xc20aab0050)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:163 +0x86
github.com/codegangsta/martini.(*Martini).ServeHTTP(0xc2080d3280, 0xf04058, 0xc20a8f9ea0, 0xc20a9828f0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:69 +0x53
net/http.serverHandler.ServeHTTP(0xc208198000, 0xf04058, 0xc20a8f9ea0, 0xc20a9828f0)
    /usr/local/go/src/pkg/net/http/server.go:1673 +0x19f
net/http.(*conn).serve(0xc209c4a000)
    /usr/local/go/src/pkg/net/http/server.go:1174 +0xa7e
created by net/http.(*Server).Serve
    /usr/local/go/src/pkg/net/http/server.go:1721 +0x313

goroutine 34 [IO wait]:
net.runtime_pollWait(0x8a69f8, 0x72, 0x0)
    /usr/local/go/src/pkg/runtime/netpoll.goc:146 +0x66
net.(*pollDesc).Wait(0xc209c460d0, 0x72, 0x0, 0x0)
    /usr/local/go/src/pkg/net/fd_poll_runtime.go:84 +0x46
net.(*pollDesc).WaitRead(0xc209c460d0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/fd_poll_runtime.go:89 +0x42
net.(*netFD).Read(0xc209c46070, 0xc209c56000, 0x1000, 0x1000, 0x0, 0x8a0208, 0x23)
    /usr/local/go/src/pkg/net/fd_unix.go:232 +0x34c
net.(*conn).Read(0xc2081ee018, 0xc209c56000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/net.go:122 +0xe7
net/http.(*liveSwitchReader).Read(0xc209c4a128, 0xc209c56000, 0x1000, 0x1000, 0x495fa0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/http/server.go:206 +0xaf
io.(*LimitedReader).Read(0xc209c440c0, 0xc209c56000, 0x1000, 0x1000, 0x10, 0x0, 0x0)
    /usr/local/go/src/pkg/io/io.go:399 +0xd0
bufio.(*Reader).fill(0xc209c4e0c0)
    /usr/local/go/src/pkg/bufio/bufio.go:97 +0x1b3
bufio.(*Reader).ReadSlice(0xc209c4e0c0, 0x10a, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/bufio/bufio.go:298 +0x22c
bufio.(*Reader).ReadLine(0xc209c4e0c0, 0x0, 0x0, 0x0, 0x3a300, 0x0, 0x0)
    /usr/local/go/src/pkg/bufio/bufio.go:326 +0x69
net/textproto.(*Reader).readLineSlice(0xc208025590, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/textproto/reader.go:55 +0x9d
net/textproto.(*Reader).ReadLine(0xc208025590, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/textproto/reader.go:36 +0x4e
net/http.ReadRequest(0xc209c4e0c0, 0xc210c9a0d0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/http/request.go:556 +0xc7
net/http.(*conn).readRequest(0xc209c4a100, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/http/server.go:577 +0x276
net/http.(*conn).serve(0xc209c4a100)
    /usr/local/go/src/pkg/net/http/server.go:1132 +0x61e
created by net/http.(*Server).Serve
    /usr/local/go/src/pkg/net/http/server.go:1721 +0x313

goroutine 35 [IO wait]:
net.runtime_pollWait(0x8a6948, 0x72, 0x0)
    /usr/local/go/src/pkg/runtime/netpoll.goc:146 +0x66
net.(*pollDesc).Wait(0xc209c46140, 0x72, 0x0, 0x0)
    /usr/local/go/src/pkg/net/fd_poll_runtime.go:84 +0x46
net.(*pollDesc).WaitRead(0xc209c46140, 0x0, 0x0)
    /usr/local/go/src/pkg/net/fd_poll_runtime.go:89 +0x42
net.(*netFD).Read(0xc209c460e0, 0xc209c5c000, 0x1000, 0x1000, 0x0, 0x8a0208, 0x23)
    /usr/local/go/src/pkg/net/fd_unix.go:232 +0x34c
net.(*conn).Read(0xc2081ee020, 0xc209c5c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/net.go:122 +0xe7
net/http.(*liveSwitchReader).Read(0xc209c4a1a8, 0xc209c5c000, 0x1000, 0x1000, 0x495fa0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/http/server.go:206 +0xaf
io.(*LimitedReader).Read(0xc209c44120, 0xc209c5c000, 0x1000, 0x1000, 0x10, 0x0, 0x0)
    /usr/local/go/src/pkg/io/io.go:399 +0xd0
bufio.(*Reader).fill(0xc209c4e120)
    /usr/local/go/src/pkg/bufio/bufio.go:97 +0x1b3
bufio.(*Reader).ReadSlice(0xc209c4e120, 0x10a, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/bufio/bufio.go:298 +0x22c
bufio.(*Reader).ReadLine(0xc209c4e120, 0x0, 0x0, 0x0, 0x3a300, 0x0, 0x0)
    /usr/local/go/src/pkg/bufio/bufio.go:326 +0x69
net/textproto.(*Reader).readLineSlice(0xc208226150, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/textproto/reader.go:55 +0x9d
net/textproto.(*Reader).ReadLine(0xc208226150, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/textproto/reader.go:36 +0x4e
net/http.ReadRequest(0xc209c4e120, 0xc210c58a90, 0x0, 0x0)
    /usr/local/go/src/pkg/net/http/request.go:556 +0xc7
net/http.(*conn).readRequest(0xc209c4a180, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/net/http/server.go:577 +0x276
net/http.(*conn).serve(0xc209c4a180)
    /usr/local/go/src/pkg/net/http/server.go:1132 +0x61e
created by net/http.(*Server).Serve
    /usr/local/go/src/pkg/net/http/server.go:1721 +0x313

goroutine 48 [semacquire, 1 minutes]:
sync.runtime_Semacquire(0xc20810c33c)
    /usr/local/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*RWMutex).RLock(0xc20810c330)
    /usr/local/go/src/pkg/sync/rwmutex.go:36 +0x5e
github.com/calmh/syncthing/model.(*Model).GlobalSize(0xc20810c2d0, 0xc20a1dd665, 0x8, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/model/model.go:223 +0x7f
main.restGetModel(0xc20810c2d0, 0xf04148, 0xc20a92c400, 0xc209c7a750)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:171 +0x298
reflect.Value.call(0x3d2820, 0x5b2420, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a936540, 0x3, 0x3, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3d2820, 0x5b2420, 0x0, 0x130, 0xc20a936540, 0x3, 0x3, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a928560, 0x3d2820, 0x5b2420, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).Invoke(0xc20a9b9590, 0x3d2820, 0x5b2420, 0x0, 0x0, 0x0, 0x0, 0x0)
    <autogenerated>:29 +0x92
github.com/codegangsta/martini.(*routeContext).run(0xc20a1dd920)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:314 +0xb4
github.com/codegangsta/martini.(*route).Handle(0xc2081d4aa0, 0xf04180, 0xc20a9b9590, 0xf04148, 0xc20a92c400)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:217 +0xae
github.com/codegangsta/martini.(*router).Handle(0xc2081d4690, 0xf04148, 0xc20a92c400, 0xc209c7a750, 0xf04180, 0xc20a9b9590)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:112 +0x187
github.com/codegangsta/martini.Router.Handle·fm(0xf04148, 0xc20a92c400, 0xc209c7a750, 0xf04180, 0xc20a9b9590)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:122 +0x6a
reflect.Value.call(0x3ecea0, 0xc2081abc40, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a9364e0, 0x3, 0x3, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3ecea0, 0xc2081abc40, 0x0, 0x130, 0xc20a9364e0, 0x3, 0x3, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a928560, 0x3ecea0, 0xc2081abc40, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).run(0xc20a9b9590)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:163 +0x86
github.com/codegangsta/martini.(*context).Next(0xc20a9b9590)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:154 +0x32
github.com/codegangsta/martini.func·004(0xf04180, 0xc20a9b9590, 0xc2081b8f00)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/recovery.go:140 +0x76
reflect.Value.call(0x3b8ce0, 0x5b1f20, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a92c480, 0x2, 0x2, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3b8ce0, 0x5b1f20, 0x0, 0x130, 0xc20a92c480, 0x2, 0x2, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a928560, 0x3b8ce0, 0x5b1f20, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).run(0xc20a9b9590)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:163 +0x86
github.com/codegangsta/martini.(*Martini).ServeHTTP(0xc2080d3280, 0xf04058, 0xc20a952320, 0xc209c7a750)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:69 +0x53
net/http.serverHandler.ServeHTTP(0xc208198000, 0xf04058, 0xc20a952320, 0xc209c7a750)
    /usr/local/go/src/pkg/net/http/server.go:1673 +0x19f
net/http.(*conn).serve(0xc209c68000)
    /usr/local/go/src/pkg/net/http/server.go:1174 +0xa7e
created by net/http.(*Server).Serve
    /usr/local/go/src/pkg/net/http/server.go:1721 +0x313

goroutine 49 [semacquire, 1 minutes]:
sync.runtime_Semacquire(0xc20810c33c)
    /usr/local/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*RWMutex).RLock(0xc20810c330)
    /usr/local/go/src/pkg/sync/rwmutex.go:36 +0x5e
github.com/calmh/syncthing/model.(*Model).ConnectionStats(0xc20810c2d0, 0xcbc800)
    /Users/jb/src/github.com/calmh/syncthing/model/model.go:142 +0x69
main.restGetConnections(0xc20810c2d0, 0xf04148, 0xc20a9ce4c0)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:206 +0x27
reflect.Value.call(0x396820, 0x5b2400, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a9ce5c0, 0x2, 0x2, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x396820, 0x5b2400, 0x0, 0x130, 0xc20a9ce5c0, 0x2, 0x2, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a9da060, 0x396820, 0x5b2400, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).Invoke(0xc20a9de050, 0x396820, 0x5b2400, 0x0, 0x0, 0x0, 0x0, 0x0)
    <autogenerated>:29 +0x92
github.com/codegangsta/martini.(*routeContext).run(0xc20a062540)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:314 +0xb4
github.com/codegangsta/martini.(*route).Handle(0xc2081d5040, 0xf04180, 0xc20a9de050, 0xf04148, 0xc20a9ce4c0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:217 +0xae
github.com/codegangsta/martini.(*router).Handle(0xc2081d4690, 0xf04148, 0xc20a9ce4c0, 0xc209c7a8f0, 0xf04180, 0xc20a9de050)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:112 +0x187
github.com/codegangsta/martini.Router.Handle·fm(0xf04148, 0xc20a9ce4c0, 0xc209c7a8f0, 0xf04180, 0xc20a9de050)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:122 +0x6a
reflect.Value.call(0x3ecea0, 0xc2081abc40, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a9c9380, 0x3, 0x3, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3ecea0, 0xc2081abc40, 0x0, 0x130, 0xc20a9c9380, 0x3, 0x3, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a9da060, 0x3ecea0, 0xc2081abc40, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).run(0xc20a9de050)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:163 +0x86
github.com/codegangsta/martini.(*context).Next(0xc20a9de050)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:154 +0x32
github.com/codegangsta/martini.func·004(0xf04180, 0xc20a9de050, 0xc2081b8f00)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/recovery.go:140 +0x76
reflect.Value.call(0x3b8ce0, 0x5b1f20, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a9ce540, 0x2, 0x2, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3b8ce0, 0x5b1f20, 0x0, 0x130, 0xc20a9ce540, 0x2, 0x2, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a9da060, 0x3b8ce0, 0x5b1f20, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).run(0xc20a9de050)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:163 +0x86
github.com/codegangsta/martini.(*Martini).ServeHTTP(0xc2080d3280, 0xf04058, 0xc20a92a460, 0xc209c7a8f0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:69 +0x53
net/http.serverHandler.ServeHTTP(0xc208198000, 0xf04058, 0xc20a92a460, 0xc209c7a8f0)
    /usr/local/go/src/pkg/net/http/server.go:1673 +0x19f
net/http.(*conn).serve(0xc209c68100)
    /usr/local/go/src/pkg/net/http/server.go:1174 +0xa7e
created by net/http.(*Server).Serve
    /usr/local/go/src/pkg/net/http/server.go:1721 +0x313

goroutine 50 [semacquire, 1 minutes]:
sync.runtime_Semacquire(0xc20810c338)
    /usr/local/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*RWMutex).Lock(0xc20810c330)
    /usr/local/go/src/pkg/sync/rwmutex.go:83 +0xa3
github.com/calmh/syncthing/model.(*Model).Version(0xc20810c2d0, 0xc20a1dcf15, 0x7, 0xc20a976670)
    /Users/jb/src/github.com/calmh/syncthing/model/model.go:886 +0x4b
main.restGetModel(0xc20810c2d0, 0xf04148, 0xc20a92c240, 0xc209c7a0d0)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:183 +0x92b
reflect.Value.call(0x3d2820, 0x5b2420, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a936360, 0x3, 0x3, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3d2820, 0x5b2420, 0x0, 0x130, 0xc20a936360, 0x3, 0x3, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a9283e0, 0x3d2820, 0x5b2420, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).Invoke(0xc20a924320, 0x3d2820, 0x5b2420, 0x0, 0x0, 0x0, 0x0, 0x0)
    <autogenerated>:29 +0x92
github.com/codegangsta/martini.(*routeContext).run(0xc20a1dd470)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:314 +0xb4
github.com/codegangsta/martini.(*route).Handle(0xc2081d4aa0, 0xf04180, 0xc20a924320, 0xf04148, 0xc20a92c240)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:217 +0xae
github.com/codegangsta/martini.(*router).Handle(0xc2081d4690, 0xf04148, 0xc20a92c240, 0xc209c7a0d0, 0xf04180, 0xc20a924320)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/router.go:112 +0x187
github.com/codegangsta/martini.Router.Handle·fm(0xf04148, 0xc20a92c240, 0xc209c7a0d0, 0xf04180, 0xc20a924320)
    /Users/jb/src/github.com/calmh/syncthing/cmd/syncthing/gui.go:122 +0x6a
reflect.Value.call(0x3ecea0, 0xc2081abc40, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a936300, 0x3, 0x3, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3ecea0, 0xc2081abc40, 0x0, 0x130, 0xc20a936300, 0x3, 0x3, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a9283e0, 0x3ecea0, 0xc2081abc40, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).run(0xc20a924320)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:163 +0x86
github.com/codegangsta/martini.(*context).Next(0xc20a924320)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:154 +0x32
github.com/codegangsta/martini.func·004(0xf04180, 0xc20a924320, 0xc2081b8f00)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/recovery.go:140 +0x76
reflect.Value.call(0x3b8ce0, 0x5b1f20, 0x0, 0x130, 0x4b52f0, 0x4, 0xc20a92c2c0, 0x2, 0x2, 0x0, ...)
    /usr/local/go/src/pkg/reflect/value.go:563 +0x1210
reflect.Value.Call(0x3b8ce0, 0x5b1f20, 0x0, 0x130, 0xc20a92c2c0, 0x2, 0x2, 0x0, 0x0, 0x0)
    /usr/local/go/src/pkg/reflect/value.go:411 +0xd7
github.com/codegangsta/inject.(*injector).Invoke(0xc20a9283e0, 0x3b8ce0, 0x5b1f20, 0x0, 0x0, 0x0, 0x0, 0x0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/inject/inject.go:102 +0x3b7
github.com/codegangsta/martini.(*context).run(0xc20a924320)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:163 +0x86
github.com/codegangsta/martini.(*Martini).ServeHTTP(0xc2080d3280, 0xf04058, 0xc20a92a320, 0xc209c7a0d0)
    /Users/jb/src/github.com/calmh/syncthing/Godeps/_workspace/src/github.com/codegangsta/martini/martini.go:69 +0x53
net/http.serverHandler.ServeHTTP(0xc208198000, 0xf04058, 0xc20a92a320, 0xc209c7a0d0)
    /usr/local/go/src/pkg/net/http/server.go:1673 +0x19f
net/http.(*conn).serve(0xc209c68180)
    /usr/local/go/src/pkg/net/http/server.go:1174 +0xa7e
created by net/http.(*Server).Serve
    /usr/local/go/src/pkg/net/http/server.go:1721 +0x313

goroutine 81 [sleep]:
time.Sleep(0xdf8475800)
    /usr/local/go/src/pkg/runtime/time.goc:39 +0x31
github.com/calmh/syncthing/model.func·010()
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:109 +0x32
created by github.com/calmh/syncthing/model.func·011
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:111 +0xee

goroutine 51 [semacquire]:
sync.runtime_Semacquire(0xc20810c334)
    /usr/local/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*Mutex).Lock(0xc20810c330)
    /usr/local/go/src/pkg/sync/mutex.go:66 +0xd6
sync.(*RWMutex).Lock(0xc20810c330)
    /usr/local/go/src/pkg/sync/rwmutex.go:78 +0x32
github.com/calmh/syncthing/model.func·009()
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:103 +0x46
created by github.com/calmh/syncthing/model.func·011
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:106 +0xb8

goroutine 31 [sleep]:
time.Sleep(0xdf8475800)
    /usr/local/go/src/pkg/runtime/time.goc:39 +0x31
github.com/calmh/syncthing/model.func·010()
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:109 +0x32
created by github.com/calmh/syncthing/model.func·011
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:111 +0xee

goroutine 67 [sleep]:
time.Sleep(0xdf8475800)
    /usr/local/go/src/pkg/runtime/time.goc:39 +0x31
github.com/calmh/syncthing/model.func·010()
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:109 +0x32
created by github.com/calmh/syncthing/model.func·011
    /Users/jb/src/github.com/calmh/syncthing/model/util.go:111 +0xee

voila_capture2014-06-24_07-09-17_pm

@zombiecalypse
Copy link

Same problem here (even the name "~/Projects" is the same) on Linux. Link to output. In my case the folder contains ~120k entries (98k files and some folders).

@calmh
Copy link
Member

calmh commented Jun 26, 2014

Yeah, sorry about that, the timeout was bad. Increased to 20 minutes, which should be enough, and I'm interested in the backtrace if it isn't. If I'm still wrong, it can be disabled with something like STDEADLOCKTIMEOUT=100000 syncthing.

@calmh calmh closed this as completed Jun 26, 2014
calmh added a commit that referenced this issue Jun 29, 2014
* v0.8:
  Increase deadlock timeout, make configurable (fixes #389, fixes #393)
  Remove spurious debug output in .stignore handling
  Connection notices are informational
  No need to hold a write lock in Override
  Don't whine about unexpected EOFs
  Ensure correct version string format

Conflicts:
	model/model.go
calmh added a commit that referenced this issue Jun 30, 2014
* master:
  Improve XDR performance
  XDR incorrect encoding of uint16; tests and benchmarks
  Fix linux/freebsd/windows compilation
  Refactor node ID handling, use check digits (fixes #269)
  discosrv: Tunable limiter settings
  Increase deadlock timeout, make configurable (fixes #389, fixes #393)
  Logger should use stdout instead of stderr
  Remove spurious debug output in .stignore handling
  Connection notices are informational
  No need to hold a write lock in Override
  Don't whine about unexpected EOFs
  Ensure correct version string format
  Include MaxVersion in Cluster Config message
  Test script for REST interface
  Don't deadlock on connect close while sending Index (fixes #386)
  Detect deadlock in model and panic
  Asset update for previous commit

Conflicts:
	model/model.go
@st-review st-review added the frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion label Jun 17, 2017
@syncthing syncthing locked and limited conversation to collaborators Jun 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
frozen-due-to-age Issues closed and untouched for a long time, together with being locked for discussion
Projects
None yet
Development

No branches or pull requests

4 participants