Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1675 closed Bug (fixed)

Transmission hangs on a .torrent file with non-UTF-8 data

Reported by: alexxxwork Owned by: charles
Priority: Normal Milestone: 1.50
Component: libtransmission Version: 1.42
Severity: Critical Keywords: web interface hung daemon encoding
Cc:

Description

After adding an attached torrent file transmission daemon hungs every time I try to access web-interface. The transmission-daemon process starts to eat 90-100% of processor time and all remaining memory. I think there is a memory leak. I used latest version 1.42+ from svn and 1.42 from gentoo ~x86 ebuild. Last messages when run in foreground:

Searching for web interface file "/root/.local/share/transmission/web/javascript/transmission.js"
Searching for web interface file "/usr/local/share/transmission/web/javascript/transmission.js"

My uname -a:

Linux xcxc.ath.cx 2.6.25-gentoo-r8 #1 Sat Oct 25 04:23:01 YEKST 2008 i686 VIA Samuel 2 CentaurHauls GNU/Linux

The bug is somehow with strange encoding of the torrents files direcory name. It's in a non-unicode russian encoding (cp1251 as I can see). My system locale is LANG=ru_RU.UTF-8, so the file system is also in utf8. I think transmission-daemon should decode cp1251 into utf8 before writing file to disc and before displaying in web interface.

here is my settings file:

{
    "blocklist-enabled": 1,
    "download-dir": "\/home\/samba\/public\/Movies",
    "download-limit": 20,
    "download-limit-enabled": 0,
    "encryption": 1,
    "lazy-bitfield-enabled": 1,
    "max-peers-global": 200,
    "message-level": 2,
    "peer-limit-global": 512,
    "peer-limit-per-torrent": 250,
    "peer-port": 51413,
    "peer-port-random-enabled": 0,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 1024,
    "peer-socket-tos": 8,
    "pex-enabled": 1,
    "port-forwarding-enabled": 0,
    "proxy": "",
    "proxy-auth-enabled": 0,
    "proxy-auth-password": "",
    "proxy-auth-username": "",
    "proxy-enabled": 0,
    "proxy-port": 80,
    "proxy-type": 0,
    "rpc-access-control-list": "+192.168.1.0\/24",
    "rpc-authentication-required": 1,
    "rpc-enabled": 1,
    "rpc-password": "******",
    "rpc-port": 9091,
    "rpc-username": "******",
    "rpc-whitelist": "*",
    "rpc-whitelist-enabled": 1,
    "upload-limit": 100,
    "upload-limit-enabled": 0
}

Attachments (1)

error-torrent-[torrents.ru].t43763.torrent (110.2 KB) - added by alexxxwork 12 years ago.
torrent file which causes the problem

Download all attachments as: .zip

Change History (8)

Changed 12 years ago by alexxxwork

torrent file which causes the problem

comment:1 Changed 12 years ago by charles

  • Component changed from Web Client to libtransmission
  • Milestone changed from None Set to 1.50
  • Owner changed from Gimp to charles
  • Status changed from new to assigned
  • Version changed from 1.42+ to 1.42

comment:2 Changed 12 years ago by charles

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

That torrent is not utf-8 clean, as specified in the BitTorrent? spec. In fact its `name' field is nothing but nasty characters, so I suspect someone's having a laugh :)

Fixed in trunk in r7656 by adding better utf-8 checking to name, creator, and comment fields when parsing metainfo.

comment:3 Changed 12 years ago by charles

See also related ticket #1635, which was fixed in r7657

comment:4 Changed 12 years ago by mikronom

"See also" above should refer to #1634, not 1635.

comment:5 Changed 12 years ago by charles

  • Summary changed from Transmission-daemon hungs on accessing web interface when a specific torrent is present to Transmission hangs when a specific torrent is present

comment:6 Changed 12 years ago by charles

  • Priority changed from High to Normal
  • Severity changed from Major to Critical

comment:7 Changed 12 years ago by charles

  • Summary changed from Transmission hangs when a specific torrent is present to Transmission hangs on a .torrent file with non-UTF-8 data
Note: See TracTickets for help on using tickets.