Opened 11 years ago

Closed 8 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 11 years ago by adamjacobmuller

  • Cc transmissionbt@… added

comment:2 Changed 11 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 10 years ago by livings124

Does #5131 impact this?

comment:4 Changed 10 years ago by jordan

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

comment:5 Changed 10 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 10 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 10 years ago by jordan

  • Milestone changed from None Set to 2.80

comment:8 Changed 10 years ago by jordan

  • Milestone changed from 2.80 to 2.90

comment:9 Changed 9 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 8 years ago by mike.dld

Closed #5951 as duplicate of this ticket.

comment:11 Changed 8 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.