Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1332 closed Bug (fixed)

libtransmission crashes from invalid RPC query

Reported by: spry Owned by: charles
Priority: Normal Milestone: 1.40
Component: libtransmission Version: 1.34
Severity: Major Keywords:
Cc:

Description

RPC Server: Deflated response from 427 bytes to 192
RPC Server: Deflated response from 668709 bytes to 42974
Assertion failed: (!data->key), function callback, file json.c, line 122.
Abort trap: 6 (core dumped)

Only my remote control somehow is doing somewhat that crashes transmission via RPC.. And this bug I've seen @ 1.32, 1.33, releases, and now on r6868, on r6866 and prior everything was O.k.

Here is what daemon told before going to core:

RPC Server: Deflated response from 63735 bytes to 6470
parsing json: [{"tag":0,"method":"session-get"}]
RPC Server: Deflated response from 427 bytes to 192
parsing json: [{"method":"torrent-get","arguments":{"fields":["addedDate","announceURL","comment","creator","dateCreated","downloadedEver","error","errorString","eta","hashString","haveUnchecked","haveValid","id","isPrivate","leechers","leftUntilDone","name","peersConnected","peersGettingFromUs","peersSendingToUs","rateDownload","rateUpload","seeders","sizeWhenDone","status","swarmSpeed","totalSize","uploadedEver"]}}]
RPC Server: Deflated response from 63725 bytes to 6443
parsing json: [{"method":"torrent-get","arguments":{"fields":["addedDate","announceURL","comment","creator","dateCreated","downloadedEver","error","errorString","eta","hashString","haveUnchecked","haveValid","id","isPrivate","leechers","leftUntilDone","name","peersConnected","peersGettingFromUs","peersSendingToUs","rateDownload","rateUpload","seeders","sizeWhenDone","status","swarmSpeed","totalSize","uploadedEver"]}}]
RPC Server: Deflated response from 63717 bytes to 6425
parsing json: [{"method":"torrent-get","arguments":{"fields":["addedDate","announceURL","comment","creator","dateCreated","downloadedEver","error","errorString","eta","hashString","haveUnchecked","haveValid","id","isPrivate","leechers","leftUntilDone","name","peersConnected","peersGettingFromUs","peersSendingToUs","rateDownload","rateUpload","seeders","sizeWhenDone","status","swarmSpeed","totalSize","uploadedEver"]}}]
RPC Server: Deflated response from 63720 bytes to 6434
parsing json: [{"method":"torrent-get","arguments":{"fields":["addedDate","announceURL","comment","creator","dateCreated","downloadedEver","error","errorString","eta","hashString","haveUnchecked","haveValid","id","isPrivate","leechers","leftUntilDone","name","peersConnected","peersGettingFromUs","peersSendingToUs","rateDownload","rateUpload","seeders","sizeWhenDone","status","swarmSpeed","totalSize","uploadedEver"]}}]
RPC Server: Deflated response from 63719 bytes to 6443
parsing json: [{"method":"torrent-get","arguments":{"fields":["addedDate","announceURL","comment","creator","dateCreated","downloadedEver","error","errorString","eta","hashString","haveUnchecked","haveValid","id","isPrivate","leechers","leftUntilDone","name","peersConnected","peersGettingFromUs","peersSendingToUs","rateDownload","rateUpload","seeders","sizeWhenDone","status","swarmSpeed","totalSize","uploadedEver"]}}]
RPC Server: Deflated response from 63731 bytes to 6461
Stalker Clear Sky by LaGos: Tracker error: "Torrent not registered with this tracker."
parsing json: [{"method":"torrent-get","arguments":{"fields":["addedDate","announceURL","comment","creator","dateCreated","downloadedEver","error","errorString","eta","hashString","haveUnchecked","haveValid","id","isPrivate","leechers","leftUntilDone","name","peersConnected","peersGettingFromUs","peersSendingToUs","rateDownload","rateUpload","seeders","sizeWhenDone","status","swarmSpeed","totalSize","uploadedEver"]}}]
RPC Server: Deflated response from 63719 bytes to 6432
parsing json: [{"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"}]
RPC Server: Deflated response from 679598 bytes to 44004
parsing json: [{"tag":0,"method":"session-stats"}]
RPC Server: Deflated response from 290 bytes to 153
parsing json: [{"arguments":{"fields":null},"tag":0,"method":"torrent-get"}]
I already have data->key; it is [fields]
Assertion failed: (!data->key), function callback, file json.c, line 123.
Abort trap: 6 (core dumped)

Change History (6)

comment:1 Changed 12 years ago by spry

In reality, due to my bug I sent

{"arguments":{"fields":null},"tag":0,"method":"torrent-get"}

but daemon should not react like that

comment:2 Changed 12 years ago by charles

  • Component changed from Transmission to libtransmission
  • Keywords backport-candidate added; core daemon rpc removed
  • Milestone changed from None Set to 1.40
  • Owner set to charles
  • Status changed from new to assigned

comment:3 Changed 12 years ago by charles

  • Resolution set to fixed
  • Status changed from assigned to closed
  • Summary changed from Transmission daemon crashes after RPC query to libtransmission crashes from invalid RPC query

fixed in r6875.

comment:4 Changed 12 years ago by charles

  • Severity changed from Normal to Major

comment:5 Changed 12 years ago by charles

fix committed to 1.3x branch in r7278

comment:6 Changed 12 years ago by charles

  • Keywords backport-candidate removed
Note: See TracTickets for help on using tickets.