Opened 9 years ago

Closed 6 years ago

#4882 closed Bug (fixed)

RPC invalid JSON output

Reported by: adamjacobmuller Owned by: jordan
Priority: Normal Milestone: 2.90
Component: Transmission Version: 2.51
Severity: Normal Keywords:
Cc: transmissionbt@…

Description (last modified by jordan)

transmission-remote http://...../transmission/ -l
[20:26:01.806] JSON parser failed at line 1, column 116234: "'f,"eta":-1,""
[20:26:01.807] transmission-remote: Unable to parse response  ....

The actual response bits shown are wrong, but i've narrowed it down to this:

{"error":2,"errorString":"torrent not registered with this tracker | \u034e3.'f","eta":-1,"id":421,"isFinished":false,"leftUntilDone":433132,"name":"namewashere","peersGettingFromUs":1,"peersSendingToUs":0,"rateDownload":0,"rateUpload":0,"sizeWhenDone":1509858284,"status":4,"uploadRatio":0.0446},

This also obviously exposes itself via the webui being broken.

Change History (11)

comment:1 Changed 9 years ago by adamjacobmuller

  • Cc transmissionbt@… added

comment:2 Changed 9 years ago by jordan

  • Description modified (diff)
  • Owner set to jordan
  • Status changed from new to assigned

Looks like we need to do a better job of cleaning up the utf-8 dirty strings before we send them over the RPC

comment:3 Changed 8 years ago by livings124

Does #5131 impact this?

comment:4 Changed 8 years ago by jordan

livings124: no, but it sounds a little like #5158...

comment:5 Changed 8 years ago by jordan

I'm not able to reproduce this issue.

adamjacobmuller, is this behavior still showing up for you in newer versions of Transmission?

comment:6 Changed 8 years ago by adamjacobmuller

The issue corrected when the tracker that was causing this issue fixed their output, but the bug inside transmission that causes error strings with non-ascii to cause invalid json output still exists.

comment:7 Changed 8 years ago by jordan

  • Milestone changed from None Set to 2.80

comment:8 Changed 8 years ago by jordan

  • Milestone changed from 2.80 to 2.90

comment:9 Changed 7 years ago by adamjacobmuller

FYI this still occurs on 2.82.

Right now though it appears that transmission-remote is more resilient to the errors though and works fine, but any other json libraries I see/try do exhibit the failure.

acheron ~ # dd if=/tmp/transmission-json2Njp4w skip=1501500 bs=1 count=175|hexdump -C
175+0 records in
175+0 records out
175 bytes (175 B) copied, 0.000256755 s, 682 kB/s
00000000  68 6f 6d 65 2f 73 65 65  64 2f 66 69 6c 65 73 2f  |home/seed/files/|
00000010  22 2c 22 64 6f 77 6e 6c  6f 61 64 65 64 45 76 65  |","downloadedEve|
00000020  72 22 3a 35 33 34 36 30  39 32 31 2c 22 65 72 72  |r":53460921,"err|
00000030  6f 72 22 3a 32 2c 22 65  72 72 6f 72 53 74 72 69  |or":2,"errorStri|
00000040  6e 67 22 3a 22 74 6f 72  72 65 6e 74 20 6e 6f 74  |ng":"torrent not|
00000050  20 72 65 67 69 73 74 65  72 65 64 20 77 69 74 68  | registered with|
00000060  20 74 68 69 73 20 74 72  61 63 6b 65 72 20 44 37  | this tracker D7|
00000070  3d 5c 75 30 37 32 62 2d  16 7d 22 2c 22 66 69 6c  |=\u072b-.}","fil|
00000080  65 73 22 3a 5b 7b 22 62  79 74 65 73 43 6f 6d 70  |es":[{"bytesComp|
00000090  6c 65 74 65 64 22 3a 38  33 37 36 35 2c 22 6c 65  |leted":83765,"le|
000000a0  6e 67 74 68 22 3a 31 36  35 36 36 32 39 2c 22     |ngth":1656629,"|
000000af
acheron ~ # 

comment:10 Changed 6 years ago by mike.dld

Closed #5951 as duplicate of this ticket.

comment:11 Changed 6 years ago by mike.dld

  • Resolution set to fixed
  • Status changed from assigned to closed

Try out r14529, works nice for me.

Note: See TracTickets for help on using tickets.