Opened 8 years ago

Closed 7 years ago

#1148 closed defect (fixed)

Copying torrents+files into a new snark folder sometimes results in snark not being able to find the associated files

Reported by: calvin Owned by: zzz
Priority: minor Milestone: 0.9.15
Component: apps/i2psnark Version: 0.9.9
Keywords: Cc:
Parent Tickets: Sensitive: no

Description (last modified by zzz)

Can be reproduced by copying Snark torrents somewhere else. Usually, either copying your snark directory somewhere else and then into a fresh I2P install or copying the entire I2P directory elsewhere will trigger it. Seemingly random what torrents it affects. (This was reproduced on a ext4→fat32→ntfs move and a same-FS ntfs copy)



Change History (11)

comment:1 Changed 8 years ago by calvin


I2P version: 0.9.9-0
Java version: Oracle Corporation 1.7.0_45 (Java™ SE Runtime Environment 1.7.0_45-b18)
Wrapper version: 3.5.17
Server version: 7.6.13.v20130916
Servlet version: Jasper JSP 2.1 Engine
Platform: Windows 8 x86 6.2
Processor: Pentium IV (65 nm) (pentium4)
Jbigi: Locally optimized native BigInteger? library loaded from file
Encoding: Cp1252
Charset: windows-1252

comment:2 Changed 8 years ago by zzz

Description: modified (diff)

You can't see it in the screenshot but you can see it here http://tracker2.postman.i2p/index.php?view=TorrentDetail&id=18948 and by inspecting the .torrent file:

Every file name starts with a space.

When a seeder restarts he will "lose" files with mapped chars. Snark also trims leading whitespace from files which has the same effect. See #571 for details. Blocked by #1132 which is in progress.

comment:3 Changed 8 years ago by zzz

Parent Tickets: 1132

comment:4 Changed 8 years ago by zzz

The workaround is to copy or move each file from its "old" name to its "new" name. Then "touch" each file (on linux, not sure how to do that on Windows) to change the timestamp to force a recheck. Then restart.

comment:5 Changed 8 years ago by zzz

Another example: http://tracker2.postman.i2p/index.php?view=TorrentDetail&id=24352

Note the file that starts with a '.'. Snark removes the dot. Seeder has restarted and now the torrent is busted as seeder can't find that file.

comment:6 Changed 8 years ago by calvin

Here's one I created: http://tracker2.postman.i2p/index.php?view=TorrentDetail&id=22370

There aren't any special characters as far as I'm aware, let it seems that I "lost" the the files as far as Snark is concerned.

comment:7 Changed 8 years ago by calvin

Actually, it's starting to seed again? Before it never would, now it is again…

This is a hard bug to reproduce. Sometimes it does, sometimes it doesn't

comment:8 Changed 8 years ago by zzz

Another possibility is the change in 0.9.9 from torrent file name to torrent base name for display in snark (ticket #985). That would possibly cause you to "lose" the entire directory after you upgraded to 0.9.9. But it shouldn't…

None of these problems should happen unless you created the torrent (as opposed to downloading it). And even then, only after restart.

comment:9 Changed 7 years ago by zzz

Milestone: 0.9.10
Priority: majorminor

comment:10 Changed 7 years ago by zzz

Parent Tickets: 1132

see also #1132

comment:11 Changed 7 years ago by zzz

Milestone: 0.9.15
Resolution: fixed
Status: newclosed

For copying files around, the workaround in comment 4 above should fix it.

For the character mapping issue, that should be fixed in 0.9.15.

Note: See TracTickets for help on using tickets.