I think it's an error caused by Windows device naming conventions (guid) in combination with Go's address parsing... I wonder what's correct here, will look into it.
Pretty sure that^ is the problem. We get a local announcement over ipv6, just jam the port on after it with sprintf, and produce something nonsesical. Using net.JoinHostPort which is made to handle this correctly should solve it.
Indeed! We must escape the percent sign before the scope identifier, as per RFC 6874. Or rather, use url.URL to construct the URL string in the first place.
Activity
calmh commented on Sep 26, 2015
I think it's an error caused by Windows device naming conventions (guid) in combination with Go's address parsing... I wonder what's correct here, will look into it.
calmh commented on Sep 26, 2015
I think we're missing []s somewhere too.
xMase commented on Sep 26, 2015
how can i help you?
AudriusButkevicius commented on Sep 26, 2015
Enable STTRACE=log env var, and provide a proper log log with timestamps and lines around it when it happens again.
xMase commented on Sep 26, 2015
i set STTRACE with "set STTRACE=all" and after i restarted syncthing but nothing change is the log file. I use SyncTrayzor.
AudriusButkevicius commented on Sep 26, 2015
You have to launch synctrayzor from the same shell you set the env var, as set is local to the shell.
xMase commented on Sep 27, 2015
STTRACE=discover
[SZ2UL] 2015/09/27 20:13:08.011801 cache.go:91: DEBUG: lookup for ISPPO3T-***********************************************-AYQCQQN at IPv4 local [SZ2UL] 2015/09/27 20:13:08.011801 cache.go:92: DEBUG: [] [SZ2UL] 2015/09/27 20:13:08.011801 cache.go:93: DEBUG: [] [SZ2UL] 2015/09/27 20:13:08.012302 cache.go:91: DEBUG: lookup for ISPPO3T-***********************************************-AYQCQQN at IPv6 local [SZ2UL] 2015/09/27 20:13:08.012302 cache.go:92: DEBUG: [tcp://fe80::**************:8113%{0EC755D4-**************-25CB7EFC6F8C}:22000] [SZ2UL] 2015/09/27 20:13:08.012302 cache.go:93: DEBUG: [] [SZ2UL] 2015/09/27 20:13:08.012302 cache.go:108: DEBUG: lookup results for ISPPO3T-***********************************************-AYQCQQN [SZ2UL] 2015/09/27 20:13:08.012801 cache.go:109: DEBUG: [tcp://79.************.146:29523 tcp://79.************.146:22000 tcp://79.************.146:29523 tcp://79.************.146:22000 tcp://79.************.146:29523 tcp://79.************.146:22000 tcp://fe80::**************:8113%{0EC755D4-**************-25CB7EFC6F8C}:22000] [SZ2UL] 2015/09/27 20:13:08.012801 cache.go:110: DEBUG: [{relay://194.126.249.21:443/?id=BHEHSWE-***********************************************-KDH22AF 110} {relay://194.126.249.21:443/?id=BHEHSWE-***********************************************-KDH22AF 110} {relay://194.126.249.21:443/?id=BHEHSWE-***********************************************-KDH22AF 110}] [SZ2UL] 2015/09/27 20:13:12.794006 local.go:171: DEBUG: discover: Received local announcement from [fe80::**************:8113%{0EC755D4-**************-25CB7EFC6F8C}]:58144 for ISPPO3T-***********************************************-AYQCQQN [SZ2UL] 2015/09/27 20:13:12.800011 local.go:171: DEBUG: discover: Received local announcement from [fe80::**************:8113%{0EC755D4-**************-25CB7EFC6F8C}]:58144 for ISPPO3T-***********************************************-AYQCQQN [SZ2UL] 2015/09/27 20:13:12.806015 local.go:171: DEBUG: discover: Received local announcement from [fe80::**************:8113%{0EC755D4-**************-25CB7EFC6F8C}]:58144 for ISPPO3T-***********************************************-AYQCQQN [SZ2UL] 2015/09/27 20:13:12.812017 local.go:171: DEBUG: discover: Received local announcement from [fe80::**************:8113%{0EC755D4-**************-25CB7EFC6F8C}]:58144 for ISPPO3T-***********************************************-AYQCQQN [SZ2UL] 2015/09/27 20:13:14.105662 connections.go:284: INFO: Failed to parse connection url: tcp://fe80::**************:8113%{0EC755D4-**************-25CB7EFC6F8C}:22000 parse tcp://fe80::**************:8113%{0EC755D4-**************-25CB7EFC6F8C}:22000: hexadecimal escape in host [SZ2UL] 2015/09/27 20:13:15.627107 connections.go:214: INFO: Established secure connection to ISPPO3T-***********************************************-AYQCQQN at 192.168.0.6:4831-194.126.249.21:443 (relay-dial) [SZ2UL] 2015/09/27 20:13:15.628611 model.go:613: INFO: Device ISPPO3T-***********************************************-AYQCQQN client is "syncthing v0.12.0-beta1" [SZ2UL] 2015/09/27 20:13:15.629104 model.go:618: INFO: Device ISPPO3T-***********************************************-AYQCQQN name is "DEADBEEF" [SZ2UL] 2015/09/27 20:13:21.959698 cache.go:91: DEBUG: lookup for 6BX3CRL-T63Y7S5-3XNQDT3-DXTQFOX-5LIWPKQ-5QMNVBJ-7C5DILO-47L5IAT at global@https://discovery-v4-1.syncthing.net/ [SZ2UL] 2015/09/27 20:13:21.959698 cache.go:92: DEBUG: [tcp://79.************.146:59969 tcp://79.************.146:22000] [SZ2UL] 2015/09/27 20:13:21.959698 cache.go:93: DEBUG: [] [SZ2UL] 2015/09/27 20:13:27.367651 cache.go:91: DEBUG: lookup for 6BX3CRL-T63Y7S5-3XNQDT3-DXTQFOX-5LIWPKQ-5QMNVBJ-7C5DILO-47L5IAT at global@https://discovery-v4-2.syncthing.net/ [SZ2UL] 2015/09/27 20:13:27.367651 cache.go:92: DEBUG: [tcp://79.************.146:59969 tcp://79.************.146:22000] [SZ2UL] 2015/09/27 20:13:27.367651 cache.go:93: DEBUG: []AudriusButkevicius commented on Sep 27, 2015
So I cannot reproduce the same issue.
I seem to get a different error: percent-encoded characters in host, but that's golang/go#7991
Can you replace a few characters in the address with some other characters, rather than blanking them out with stars?
calmh commented on Sep 27, 2015
Pretty sure that^ is the problem. We get a local announcement over ipv6, just jam the port on after it with sprintf, and produce something nonsesical. Using net.JoinHostPort which is made to handle this correctly should solve it.
Merge pull request #2322 from calmh/colons
chucic commented on Oct 30, 2015
This issue still affects me:
Failed to parse connection url: tcp://[fe80::8e77:what:ever:9377%{09F88706-this-is-still-athing}]:39018 parse tcp://[fe80::8e77:what:ever:9377%{09F88706-this-is-still-athing}]:39018: hexadecimal escape in hostBetween all my devices here in this local network, ST v0.12.0-rc6 64bit in Windows, ST v0.12.0-rc6 32bit in Linux and ST-Android v0.12.0-rc5
calmh commented on Oct 30, 2015
Indeed! We must escape the percent sign before the scope identifier, as per RFC 6874. Or rather, use url.URL to construct the URL string in the first place.
http://play.golang.org/p/P1eDY8tA0R
Thanks @chucic
Merge pull request #2423 from calmh/urls