{"action":"created","issue":{"url":"https://api.github.com/repos/rakshasa/libtorrent/issues/83","repository_url":"https://api.github.com/repos/rakshasa/libtorrent","labels_url":"https://api.github.com/repos/rakshasa/libtorrent/issues/83/labels{/name}","comments_url":"https://api.github.com/repos/rakshasa/libtorrent/issues/83/comments","events_url":"https://api.github.com/repos/rakshasa/libtorrent/issues/83/events","html_url":"https://github.com/rakshasa/libtorrent/issues/83","id":93629247,"number":83,"title":"File stats lock-up rtorrent in resume_load_progress/resume_save_progress","user":{"login":"rcawston","id":3699708,"avatar_url":"https://avatars.githubusercontent.com/u/3699708?v=3","gravatar_id":"","url":"https://api.github.com/users/rcawston","html_url":"https://github.com/rcawston","followers_url":"https://api.github.com/users/rcawston/followers","following_url":"https://api.github.com/users/rcawston/following{/other_user}","gists_url":"https://api.github.com/users/rcawston/gists{/gist_id}","starred_url":"https://api.github.com/users/rcawston/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcawston/subscriptions","organizations_url":"https://api.github.com/users/rcawston/orgs","repos_url":"https://api.github.com/users/rcawston/repos","events_url":"https://api.github.com/users/rcawston/events{/privacy}","received_events_url":"https://api.github.com/users/rcawston/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":14,"created_at":"2015-07-07T21:06:13Z","updated_at":"2016-08-26T21:53:59Z","closed_at":null,"body":"Using the latest libtorrent/rtorrent releases, rtorrent is freezing for extended periods of time on my machine that is seeding from a CIFS share (sadly, we have no other storage option).  GDB backtraces show activity in the resume_load_progress resume_save_progress functions in resume.cc.  This happens on all older versions I have tested as well.  When lots of torrents with many files are open, this leads to the rtorrent ui being unresponsive indefinitely, tracker request timeouts, etc.\r\n\r\nI made an incredibly hacky patch (mainly to confirm the issue) for seeding that removes the fileExists and mtimeValue checks in resume_load_progress, and fileExists check in resume_save_progress and just presumes the file exists.  This leads to a responsive and functional rtorrent UI, but is obviously not production worthy.\r\n\r\nDo you think it would be possible to thread out the file_stat calls in resume.cc's resume_load_progress and resume_save_progress, or otherwise prevent them from locking up rtorrent?"},"comment":{"url":"https://api.github.com/repos/rakshasa/libtorrent/issues/comments/242861208","html_url":"https://github.com/rakshasa/libtorrent/issues/83#issuecomment-242861208","issue_url":"https://api.github.com/repos/rakshasa/libtorrent/issues/83","id":242861208,"user":{"login":"Speeddymon","id":1396056,"avatar_url":"https://avatars.githubusercontent.com/u/1396056?v=3","gravatar_id":"","url":"https://api.github.com/users/Speeddymon","html_url":"https://github.com/Speeddymon","followers_url":"https://api.github.com/users/Speeddymon/followers","following_url":"https://api.github.com/users/Speeddymon/following{/other_user}","gists_url":"https://api.github.com/users/Speeddymon/gists{/gist_id}","starred_url":"https://api.github.com/users/Speeddymon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Speeddymon/subscriptions","organizations_url":"https://api.github.com/users/Speeddymon/orgs","repos_url":"https://api.github.com/users/Speeddymon/repos","events_url":"https://api.github.com/users/Speeddymon/events{/privacy}","received_events_url":"https://api.github.com/users/Speeddymon/received_events","type":"User","site_admin":false},"created_at":"2016-08-26T21:53:59Z","updated_at":"2016-08-26T21:53:59Z","body":"I need to check back on this. I got back from vacation and haven't powered on the server since. Will update you on this hopefully in the next couple of days."}}
{"actor":{"display_login":"Speeddymon"}}