drftpd-ng / drftpd

Distributed Daemon FTP Server (aka DrFTPD)
GNU General Public License v2.0
57 stars 20 forks source link

4.0.9 Archives plugin, crash all slave after archived #271

Closed Speedmod88 closed 1 year ago

Speedmod88 commented 2 years ago

Describe the bug When the Archives Plugin start his job, it crash all slaves that have files from all the archived releases

To Reproduce do Archives

Expected behavior Archives without crashing slaves

Additional context

ARCHIVED: 'Kim.Possible.S01E21.FiNAL.FRENCH.720p.WEB.H264-D4KiD' From '/ANiMES-FR-HD' To '/Archives/ANiMES-FR-HD/Kim.Possible' In 3.322s

ARCHIVED: 'Boruto.Naruto.Next.Generations.VOL09.MULTi.BDRip.x264-AMB3R' From '/ANiMES-FR' To '/Archives/ANiMES-FR/UNKNOWN' In 3.092s

ARCHIVED: 'Calmos.1976.iNTERNAL.FRENCH.BDRip.x264-UNSKiLLED' From '/XViD-FR' To '/Archives/FILM-FR/C' In 4.443s

-= SlaveI =- went offline: org.drftpd.slave.exceptions.FileExistsException: cannot rename from /drftpd/release/site/XViD-FR/Calmos.1976.iNTERNAL.FRENCH.BDRip.x264-UNSKiLLED to /drftpd/release/site/Archives/FILM-FR/C/Calmos.1976.iNTERNAL.FRENCH.BDRip.x264-UNSKiLLED, destination exists -= SlaveI =- IOException reading AsyncResponse -= SlaveII =- went offline: org.drftpd.slave.exceptions.FileExistsException: cannot rename from /home/drftpd/mnt/drftpd3/site/XViD-FR/Calmos.1976.iNTERNAL.FRENCH.BDRip.x264-UNSKiLLED to /home/drftpd/mnt/drftpd3/site/Archives/FILM-FR/C/Calmos.1976.iNTERNAL.FRENCH.BDRip.x264-UNSKiLLED, destination exists -= SlaveII =- IOException reading AsyncResponse

whenever I try to restart the slave

the slave crash again because of this same bug

systemctl --user start slave.service -= SlaveI =- cannot rename from /drftpd/release/site/ANiMES-FR/Boruto.Naruto.Next.Generations.VOL09.MULTi.BDRip.x264-AMB3R to /drftpd/release/site/Archives/ANiMES-FR/UNKNOWN/Boruto.Naruto.Next.Generations.VOL09.MULTi.BDRip.x264-AMB3R, destination exists -= SlaveI =- IOException reading AsyncResponse systemctl --user stop slave.service systemctl --user start slave.service -= SlaveI =- cannot rename from /drftpd/release/site/TV-720P-FR/In.Treatment.S01E28.FRENCH.720p.WEB.H264-SHEEEIT to /drftpd/release/site/Archives/TV-720P-FR/In.Treatment.WEB/Saison.01/In.Treatment.S01E28.FRENCH.720p.WEB.H264-SHEEEIT, destination exists -= SlaveI =- IOException reading AsyncResponse systemctl --user stop slave.service systemctl --user start slave.service -= SlaveI =- cannot rename from /drftpd/release/site/XViD-FR/Scary.Movie.2.2001.FRENCH.WEB.H264-MACK4 to /drftpd/release/site/Archives/FILM-FR/S/Scary.Movie.2.2001.FRENCH.WEB.H264-MACK4, destination exists

that's for all my today archived releases :/

and the destination doesnt exists before the plugin start

all releases are archived in the vfs but not in the HDD. They all still in their dir and the destination folder (Archives/folder/releasename) are not created in HDD

nothing in both master/slave logs in DEBUG

mvangoor commented 2 years ago

Hi @Speedmod88,

Can you please check the slave if the destination really did not exist already in this case?

Speedmod88 commented 2 years ago

yes, already check

VFS Folder = Exist Destination Folder = Do not Exist

Speedmod88 commented 2 years ago

to be able to restart and remerge my slaves, I needed to stop and start the slaves until all releases from the Archives plugin passed the cannot rename from /blabla/, destination exists