Sync feeds : Import task could not complete: script failure -> Failed to write tags!
Describe the bug
Hi Castopod!
we try to sync feeds from rss.
The sync fails : Import task could not complete: script failure.
In writtable/logs/, we have this error :
CRITICAL - 2024-01-30 15:34:16 --> Failed to write tags!
filename set to non-existant file "1706628843_4e778078d49777dad878" in getid3_writetags
CRITICAL - 2024-01-30 15:34:17 --> Error when importing https://MY_DOMAIN/channels/?castopod=1&rss=10343&nb=23
#0 /var/www/podcasts.MY_DOMAIN/castopod/modules/PodcastImport/Commands/PodcastImport.php(491): Modules\PodcastImport\Commands\PodcastImport->importEpisodePersons()
#1 /var/www/podcasts.MY_DOMAIN/castopod/modules/PodcastImport/Commands/PodcastImport.php(156): Modules\PodcastImport\Commands\PodcastImport->importEpisodes()
#2 /var/www/podcasts.MY_DOMAIN/castopod/vendor/codeigniter4/framework/system/CLI/Commands.php(65): Modules\PodcastImport\Commands\PodcastImport->run()
#3 /var/www/podcasts.MY_DOMAIN/castopod/vendor/codeigniter4/framework/system/Common.php(196): CodeIgniter\CLI\Commands->run()
#4 /var/www/podcasts.MY_DOMAIN/castopod/vendor/codeigniter4/tasks/src/Task.php(212): command()
#5 /var/www/podcasts.MY_DOMAIN/castopod/vendor/codeigniter4/tasks/src/Task.php(127): CodeIgniter\Tasks\Task->runCommand()
#6 /var/www/podcasts.MY_DOMAIN/castopod/vendor/codeigniter4/tasks/src/TaskRunner.php(61): CodeIgniter\Tasks\Task->run()
#7 /var/www/podcasts.MY_DOMAIN/castopod/vendor/codeigniter4/tasks/src/Commands/Run.php(61): CodeIgniter\Tasks\TaskRunner->run()
#8 /var/www/podcasts.MY_DOMAIN/castopod/vendor/codeigniter4/framework/system/CLI/Commands.php(65): CodeIgniter\Tasks\Commands\Run->run()
#9 /var/www/podcasts.MY_DOMAIN/castopod/vendor/codeigniter4/framework/system/CLI/Console.php(46): CodeIgniter\CLI\Commands->run()
#10 /var/www/podcasts.MY_DOMAIN/castopod/spark(102): CodeIgniter\CLI\Console->run()
#11 {main}
But, the file 'public/media/podcasts/nouveautes/1706628843_4e778078d49777dad878.mp3' exists.
The first error is raised by vendor/james-heinrich/getid3/src/WriteTags.php in the function WriteTags() , $this->filename
must be the absolute path of the file
public function WriteTags() {
if (empty($this->filename)) {
$this->errors[] = 'filename is undefined in getid3_writetags';
return false;
} elseif (!file_exists($this->filename)) {
$this->errors[] = 'filename set to non-existant file "'.$this->filename.'" in getid3_writetags';
return false;
}
Steps to reproduce
- We have a podcast 'Nouveautés' imported by rss
- We try to sync feeds in Admin > Podcasts > Nouveautés > Sync feeds
- click on add queue
Expected behavior
Sync feeds :-)
Context
- Castopod: 1.8.2, upgraded from 1.1.2 (but not in one step)
- OS: Debian 11
- Web server: Nginx 1.18.0 with php-fpm 8.2