#1320 closed Bug (fixed)
Daemon stops responding to RPC queries after incorrect RPC requests
Reported by: | spry | Owned by: | charles |
---|---|---|---|
Priority: | High | Milestone: | 1.40 |
Component: | Daemon | Version: | 1.34 |
Severity: | Major | Keywords: | daemon json rpc stability query |
Cc: |
Description
If some incorrect JSON/RPC request arrives, after that daemon stops responding any RPC queries, even not telling that query was incorrent. Session sequence: Query#1: {"tag":0,"method":"session-get"} Response#1: {
"arguments": {
"download-dir": "\/storage\/storage1\/downloads\/", "encryption": "preferred", "peer-limit": 200, "pex-allowed": 1, "port": 16050, "port-forwarding-enabled": 0, "speed-limit-down": 102, "speed-limit-down-enabled": 0, "speed-limit-up": 102, "speed-limit-up-enabled": 0
}, "result": "success", "tag": 0
}
Query#2: {"arguments":{"fields":["activityDate","addedDate","announceResponse","announceURL","comment","corruptEver","creator","dateCreated","desiredAvailable","doneDate","downloadedEver","downloadLimitMode","downloadLimit","error","errorString","eta","files","hashString","haveUnchecked","haveValid","id","isPrivate","lastAnnounceTime","lastScrapeTime","leechers","leftUntilDone","manualAnnounceTime","maxConnectedPeers","name","nextAnnounceTime","nextScrapeTime","peersConnected","peersFrom","peersGettingFromUs","peersKnown","peersSendingToUs","pieceCount","pieceSize","priorities","rateDownload","rateUpload","recheckProgress","scrapeResponse","scrapeURL","seeders","sizeWhenDone","startDate","status","swarmSpeed","timesCompleted","trackers","totalSize","uploadedEver","uploadLimitMode","uploadLimit","uploadRatio","wanted","webseeds","webseedsSendingToUs"]},"tag":0,"method":"torrent-get"}
And thats it. This is the end of RPC live of current session of daemon. So, this is a stability issue.
Attachments (1)
Change History (15)
comment:1 Changed 12 years ago by spry
comment:2 Changed 12 years ago by spry
Again, this issue was discovered during testing of my own remote control :( And, besides, same query worked on 1.32 release, and stopped working after 1.33 release
comment:3 Changed 12 years ago by charles
spry: please test this against a trunk build of the daemon. there have been a lot of very big changes in the rpc server over the past week.
comment:4 Changed 12 years ago by charles
comment:5 Changed 12 years ago by charles
- Milestone changed from None Set to 1.40
- Resolution set to worksforme
- Status changed from new to closed
I'm not able to reproduce this in r6845.
comment:6 Changed 12 years ago by spry
Can you bring up some test server at your place, I'll try to connect via my program, and we will see, if this bug can be reproduced. Email me alexey.pelykh at gmail com
comment:7 Changed 12 years ago by charles
- Resolution worksforme deleted
- Status changed from closed to reopened
comment:8 Changed 12 years ago by spry
This is very annoying bug. Today it raised even without invalid request, and I was able to communicate with daemon only after I've restarted it 5 times..
comment:9 Changed 12 years ago by spry
Well. Again, it raised. I've used -remote --list for 10-20 times, everything was O.K., then tried to load /web interface, it loaded, but no torrents downloaded, and after that -remote --list haven't worked again.
comment:10 Changed 12 years ago by spry
*"no torrents downloaded" - no torrents visible in web interface, 45 in -remote --list
comment:11 Changed 12 years ago by charles
spry: does this persist after r6851?
comment:12 Changed 12 years ago by spry
- Resolution set to fixed
- Status changed from reopened to closed
Seems no.. I'll test tomorrow more hardly. There is some strange things. I have all torrents 100% of all files downloaded, and web interface shows that all are seeding, save as -remote, but there is some incoming traffic coming. Is that normal? But that is very low, like max 1-5 kbytes per second. And as well for some reason my program stopped working :)
comment:13 Changed 12 years ago by spry
Well. For some reason my old methods to 'talk' to transmission daemon via RPC are returning Content-Length: 0 always...
comment:14 Changed 12 years ago by charles
- Severity changed from Normal to Major
\/storage\/storage1\/downloads\/ show be read as /storage/storage1/downloads/ :)