These are chat archives for anacrolix/torrent

2nd
Feb 2018
Matt Joiner
@anacrolix
Feb 02 2018 02:11
actually i should implement seed ratio
the only catch is persistence, where do you store the ratio between sessions
if that's not a requirement inside the torrent package, it shouldn't be too hard to do
i'm surprised you've not had any panics from the introduced bug
Denis
@elgatito
Feb 02 2018 05:23
ouch, got a panic from user:
01:49:53 T:4076  NOTICE: [plugin.video.elementum] panic: 1
01:49:53 T:4076  NOTICE: [plugin.video.elementum]
01:49:53 T:4076  NOTICE: [plugin.video.elementum] goroutine 18075 [running]:
01:49:53 T:4076  NOTICE: [plugin.video.elementum] github.com/anacrolix/torrent.(*Torrent).assertNoPendingRequests(0x12fbe8c0)
01:49:53 T:4076  NOTICE: [plugin.video.elementum]     /ext-go/2/src/github.com/anacrolix/torrent/torrent.go:1186 +0xa4
01:49:53 T:4076  NOTICE: [plugin.video.elementum] github.com/anacrolix/torrent.(*Torrent).deleteConnection(0x12fbe8c0, 0x1255f4a0, 0x12b25ef4)
01:49:53 T:4076  NOTICE: [plugin.video.elementum]     /ext-go/2/src/github.com/anacrolix/torrent/torrent.go:1178 +0x9f
01:49:53 T:4076  NOTICE: [plugin.video.elementum] github.com/anacrolix/torrent.(*Torrent).dropConnection(0x12fbe8c0, 0x1255f4a0)
01:49:53 T:4076  NOTICE: [plugin.video.elementum]     /ext-go/2/src/github.com/anacrolix/torrent/torrent.go:1194 +0x4b
01:49:53 T:4076  NOTICE: [plugin.video.elementum] github.com/anacrolix/torrent.(*Client).runHandshookConn(0x12578000, 0x1255f4a0, 0x12fbe8c0, 0x0)
01:49:53 T:4076  NOTICE: [plugin.video.elementum]     /ext-go/2/src/github.com/anacrolix/torrent/client.go:870 +0x1f8
01:49:53 T:4076  NOTICE: [plugin.video.elementum] github.com/anacrolix/torrent.(*Client).runReceivedConn(0x12578000, 0x1255f4a0)
01:49:53 T:4076  NOTICE: [plugin.video.elementum]     /ext-go/2/src/github.com/anacrolix/torrent/client.go:853 +0x1b9
01:49:53 T:4076  NOTICE: [plugin.video.elementum] github.com/anacrolix/torrent.(*Client).incomingConnection(0x12578000, 0x134c420, 0x1c812200, 0x12941801)
01:49:53 T:4076  NOTICE: [plugin.video.elementum]     /ext-go/2/src/github.com/anacrolix/torrent/client.go:480 +0x262
01:49:53 T:4076  NOTICE: [plugin.video.elementum] created by github.com/anacrolix/torrent.(*Client).acceptConnections
01:49:53 T:4076  NOTICE: [plugin.video.elementum]     /ext-go/2/src/github.com/anacrolix/torrent/client.go:468 +0x296
01:49:53 T:4076  NOTICE: [plugin.video.elementum]
01:49:53 T:4076  NOTICE: Previous line repeats 287 times.
that is what has been fixed with the last commits?
Matt Joiner
@anacrolix
Feb 02 2018 05:24
yes
should be fixed
i'm running in prod now to verify
fortunately it's fairly rare (every few hours), so you might not get too many users hit it
but i'd upgrade them asap
Denis
@elgatito
Feb 02 2018 05:25
this one was caught on Torrent.Drop()
Matt Joiner
@anacrolix
Feb 02 2018 05:26
ah
it's a race condition for it to occur
closing a connection wasn't telling the writer to stop, which would send new requests even tho the connection was closed and detached from the torrent
Matt Joiner
@anacrolix
Feb 02 2018 05:45
any reports of upnp working (num devices != 0)?
Denis
@elgatito
Feb 02 2018 05:52
nope, you know people report only errors :D
Matt Joiner
@anacrolix
Feb 02 2018 05:52
hahaha
i was thinking about that earlier. you can make some things log messages instead of panics, but then nobody reports them
Denis
@elgatito
Feb 02 2018 05:54
panics are fine, at least error is visible to user as well
Matt Joiner
@anacrolix
Feb 02 2018 06:26
(y)
Denis
@elgatito
Feb 02 2018 09:32
new version release with your fixes
Matt Joiner
@anacrolix
Feb 02 2018 11:09
hm
can't help but feel like the wheel is being reinvented
they've just taken a poor performing nosql db, and tried to make it more relational
you can take postgres and use it as nosql just fine :P
and it's really good at it
it'd be more interesting if storm was implemented on a generic kv-store interface
then you coudl even run it on top of sqlite3
Denis
@elgatito
Feb 02 2018 11:39
that is already done with any ORM package :D
Denis
@elgatito
Feb 02 2018 18:20
I re-configured UPNP on the router
and now I get this on start:
20:20:02.156 T:140504541546240  NOTICE: [plugin.video.elementum] discovered 1 upnp devices, map[], map[]
20:20:02.172 T:140504541546240  NOTICE: [plugin.video.elementum] forwarded external UDP port 34407
20:20:02.177 T:140504541546240  NOTICE: [plugin.video.elementum] forwarded external TCP port 34407
Denis
@elgatito
Feb 02 2018 18:38
can see port is opened on router, but probably not configured well, http://portcheck.transmissionbt.com/37215 - tihs one gives false, probably not forwarding port
Denis
@elgatito
Feb 02 2018 18:54
waiting for 10 minutes with 100% ready torrent, that was previously downloaded (so loaded with 100% done), no connections opened
"acceptReject": 0,
"acceptTCP": 0,
"acceptUTP": 0,
"chunksReceived": 0,
"chunksReceivedUnexpected": 0,
"chunksReceivedUnwanted": 0,
Denis
@elgatito
Feb 02 2018 19:06
strange behavior when restarting a client and adding torrent with 100% downloaded
Denis
@elgatito
Feb 02 2018 19:12
hm. after Torrent.Drop() it still accepts connections doing something
even after 5-10 minutes
after adding previously downloaded torrent - t.BytesCompleted() seems to return 0 after it gets all completions from boltdb, like it was not recalculated
ouch, segfault from dht server - https://paste.ubuntu.com/26508982/
Denis
@elgatito
Feb 02 2018 19:27
hoho,
DataBytesWritten: (int64) 116359168,
  DataBytesRead: (int64) 0
 TotalPeers: (int) 159,
 PendingPeers: (int) 71,
 ActivePeers: (int) 8,
 ConnectedSeeders: (int) 5,
 HalfOpenPeers: (int) 80
Denis
@elgatito
Feb 02 2018 20:48
This is a new torrent that was downloaded and now needing:
  DataBytesWritten: (int64) 1315481231,
  DataBytesRead: (int64) 1292746752
Can be much more agressive when finished, but, anyway, upload is working