Potential Deadlock Issue on Custom Build

Hello:

I’m running a custom build of Syncthing based on 0.14.49-rc.1, with https://github.com/calmh/syncthing/commit/82c5fc008ce82a02b5d5ad1bab124d4648dca724 applied because of the RAM footprint problem discussed in this thread: Excessive RAM Usage

However, I seem to be experiencing an issue which looks like it was resolved here back in March: https://github.com/syncthing/syncthing/issues/4601

Here’s an excerpt from my log:

[OVPYX] 12:01:56 INFO: syncthing v0.14.49-rc.1+6-gd443c254 “Dysprosium Dragonfly” (go1.10.3 linux-amd64) ****** 2018-06-14 13:01:22 UTC [noupgrade] [OVPYX] 12:01:56 INFO: My ID: OVPYXBH-****** [OVPYX] 12:01:57 INFO: Single thread SHA256 performance is 93 MB/s using minio/sha256-simd (68 MB/s using crypto/sha256). [OVPYX] 12:01:57 VERBOSE: Starting up (/usr/local/syncthing/var) [OVPYX] 12:01:58 INFO: Hashing performance is 80.06 MB/s [OVPYX] 12:11:01 INFO: Starting deadlock detector with 168h0m0s timeout[OVPYX] 14:09:22 INFO: New NAT port mapping: external TCP address 31.53.25.134:8108 to local address 0.0.0.0:22000. POTENTIAL DEADLOCK: Duplicate locking, saw callers this locks in one goroutine: current goroutine 152634035 lock &amp;{{{0 0} 0 0 1 0}} all callers to this lock in the goroutine /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/structs.go:64 nat.( <em>Mapping).notify ??? &lt;&lt;&lt;&lt;&lt; /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/service.go:196 nat.(</em> Service).updateMapping ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/service.go:121 nat.( <em>Service).process ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/service.go:55 nat.(</em> Service).Serve ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/vendor/github.com/thejerf/suture/supervisor.go:525 suture.(*Supervisor).runService.func1 ???

/var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/structs.go:87 nat.( <em>Mapping).ExternalAddresses ??? &lt;&lt;&lt;&lt;&lt; /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/connections/tcp_listen.go:138 connections.(</em> tcpListener).WANAddresses ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/connections/service.go:503 connections.( <em>Service).logListenAddressesChangedEvent ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/connections/service.go:493 connections.logListenAddressesChangedEvent)-fm ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/connections/structs.go:176 connections.(</em> onAddressesChangedNotifier).notifyAddressesChanged ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/connections/tcp_listen.go:74 connections.( <em>tcpListener).Serve.func1 ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/structs.go:66 nat.(</em> Mapping).notify ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/service.go:196 nat.( <em>Service).updateMapping ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/service.go:121 nat.(</em> Service).process ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/nat/service.go:55 nat.( <em>Service).Serve ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/vendor/github.com/thejerf/suture/supervisor.go:525 suture.(</em> Supervisor).runService.func1 ???

Other goroutines holding locks: goroutine 152634002 lock 0xc424650e08 /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/versioner/staggered.go:104 versioner.( <em>Staggered).clean ??? &lt;&lt;&lt;&lt;&lt; /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/lib/versioner/staggered.go:81 versioner.(</em> Staggered).Serve ??? /var/folders/bh/rtfx0nrn3tv1zbk3kjcj3hy40000gp/T/syncthing-cc8ceadb/src/github.com/syncthing/syncthing/vendor/github.com/thejerf/suture/supervisor.go:525 suture.(*Supervisor).runService.func1 ???

[OVPYX] 14:09:24 INFO: syncthing v0.14.49-rc.1+6-gd443c254 “Dysprosium Dragonfly” (go1.10.3 linux-amd64) ***** 2018-06-14 13:01:22 UTC [noupgrade]

Am I just seeing this because I’m running a funny build, and just need to disable something deadlocky? I’m already running with STDEADLOCKTIMEOUT=604800 in the command.

I’m getting this error regularly, on two machines (both running the same build).

Any pointers gratefully received… Thanks!

Rebuild from master, I think this was fixed.

1 Like

Thanks Audrius - I’ll give that a try.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.