Sonarr: Season Misrecognized Resulting in Re-Downloading

Created on 18 Nov 2019  ·  11Comments  ·  Source: Sonarr/Sonarr

Describe the bug
When Sword Art Online Season 4 (Alicization) is in Sonarr, the episodes are searched for and downloaded automatically without issue. When Sonarr then attempts to import the episode after downloading, it thinks the episode downloaded is from Season 1 and imports it as such.

This results in two issues, the first is I don't recognise there is a new episode as it gets the incorrect season, and the second is that it then attempts to re-download the same episode as it does not recognise it's been downloaded due to the import marking it as a different season.

Screenshots
image
image
image
image

The following two screenshots are from after importing the first two episodes again manually:
image
image

Logs
Logs aren't too useful for this, but it's worth noting while it says it couldn't import the episode, the episode was imported to the correct location on disk. The following logs are after telling it to import the episode, replacing the existing one on disk. This may be caused by the torrents seeding in the torrent client at the time they were imported.

19-11-18 23:27:42.1|Info|RecycleBinProvider|Recycling Bin has not been configured, deleting permanently. Q:\Anime\Sword Art Online\S01E02 - Beater.mkv
19-11-18 23:27:45.3|Warn|ImportApprovedEpisodes|Couldn't import episode C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv

[v2.0.0.5338] System.IO.IOException: The process cannot access the file because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.__Error.WinIOError()
   at System.IO.File.InternalMove(String sourceFileName, String destFileName, Boolean checkHost)
   at NzbDrone.Common.Disk.DiskProviderBase.MoveFileInternal(String source, String destination) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskProviderBase.cs:line 232
   at NzbDrone.Common.Disk.DiskProviderBase.MoveFile(String source, String destination, Boolean overwrite) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskProviderBase.cs:line 227
   at NzbDrone.Common.Disk.DiskTransferService.TryMoveFileVerified(String sourcePath, String targetPath, Int64 originalSize) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskTransferService.cs:line 577
   at NzbDrone.Common.Disk.DiskTransferService.TransferFile(String sourcePath, String targetPath, TransferMode mode, Boolean overwrite, DiskTransferVerificationMode verificationMode) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskTransferService.cs:line 321
   at NzbDrone.Common.Disk.DiskTransferService.TransferFile(String sourcePath, String targetPath, TransferMode mode, Boolean overwrite, Boolean verified) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskTransferService.cs:line 196
   at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.TransferFile(EpisodeFile episodeFile, Series series, List`1 episodes, String destinationFilePath, TransferMode mode) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\EpisodeFileMovingService.cs:line 119
   at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.MoveEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\EpisodeFileMovingService.cs:line 79
   at NzbDrone.Core.MediaFiles.UpgradeMediaFileService.UpgradeEpisodeFile(EpisodeFile episodeFile, LocalEpisode localEpisode, Boolean copyOnly) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\UpgradeMediaFileService.cs:line 76
   at NzbDrone.Core.MediaFiles.EpisodeImport.ImportApprovedEpisodes.Import(List`1 decisions, Boolean newDownload, DownloadClientItem downloadClientItem, ImportMode importMode) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\EpisodeImport\ImportApprovedEpisodes.cs:line 105

System Information

  • Sonarr Version: 2.0.0.5338
  • Operating System: Windows 10
  • .net Framework Version: 4.8

Additional context
This also affected Season 3 (also Alicization) as it aired.

Most helpful comment

That makes sense, that character causes Sonarr to be unable to determine the season because the series title in the file name doesn't match the known aliases for the series (the logs replace ː with ?).

The easiest way to fix this is to get an alias added on thexem.de that contains ː, beyond that it's trickier since we prefer not to strip our characters. I've added the alias on thexem.de, let's see how it works for the next release.

All 11 comments

Logs aren't too useful for this

Debug logs are invaluable in this case. Without them we can't investigate.

In this case trace logs will show us exactly what regex was used to extract the title and episode number, but checking this against the v3 beta shows it parses correctly.

Whoops, forgot to enable debug logs.

19-11-19 18:51:15.2|Info|DownloadService|Report sent to qBittorrent. [MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:51:17.2|Info|DownloadService|Report sent to qBittorrent. [MTBB] Sword Art Online Alicization - War of Underworld - 04 [6BB6B4F6].mkv
19-11-19 18:51:17.3|Info|SeasonSearchService|Season search completed. 2 reports downloaded.
19-11-19 18:51:20.8|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:51:20.8|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:51:20.8|Debug|Parser|Language parsed: English
19-11-19 18:51:20.8|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:51:20.8|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:51:20.8|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:51:20.8|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:51:20.8|Debug|ParsingService|No matching series Sword Art Online? Alicization - War of Underworld
19-11-19 18:51:20.8|Debug|Parser|Parsing string '[MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:51:20.8|Debug|Parser|Episode Parsed. Sword Art Online Alicization - War of Underworld - 002 
19-11-19 18:51:20.8|Debug|Parser|Language parsed: English
19-11-19 18:51:20.8|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:51:20.8|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:51:20.8|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:51:20.8|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:51:20.8|Debug|TrackedDownloadService|Tracking 'qBittorrent:[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv': ClientState=Warning (readonly) SonarrStage=Downloading Episode='Sword Art Online Alicization - War of Underworld - 002 HDTV-720p v1' OutputPath=C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv.
19-11-19 18:51:20.8|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (6 ms)
19-11-19 18:51:20.8|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (2 ms)
19-11-19 18:51:20.8|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (9 ms)
19-11-19 18:52:31.7|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:52:31.7|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:52:31.7|Debug|Parser|Language parsed: English
19-11-19 18:52:31.7|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:52:31.7|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:52:31.7|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:52:31.7|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:52:31.7|Debug|ParsingService|No matching series Sword Art Online? Alicization - War of Underworld
19-11-19 18:52:31.8|Debug|Parser|Parsing string '[MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:52:31.8|Debug|Parser|Episode Parsed. Sword Art Online Alicization - War of Underworld - 002 
19-11-19 18:52:31.8|Debug|Parser|Language parsed: English
19-11-19 18:52:31.8|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:52:31.8|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:52:31.8|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:52:31.8|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:52:31.8|Debug|TrackedDownloadService|Tracking 'qBittorrent:[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv': ClientState=Downloading (readonly) SonarrStage=Downloading Episode='Sword Art Online Alicization - War of Underworld - 002 HDTV-720p v1' OutputPath=C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv.
19-11-19 18:52:31.8|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (3 ms)
19-11-19 18:52:31.8|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (4 ms)
19-11-19 18:52:31.8|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (2 ms)
19-11-19 18:54:04.5|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:54:04.5|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:54:04.5|Debug|Parser|Language parsed: English
19-11-19 18:54:04.5|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:54:04.5|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:54:04.5|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:54:04.5|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:54:04.5|Debug|ParsingService|No matching series Sword Art Online? Alicization - War of Underworld
19-11-19 18:54:04.5|Debug|Parser|Parsing string '[MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:54:04.5|Debug|Parser|Episode Parsed. Sword Art Online Alicization - War of Underworld - 002 
19-11-19 18:54:04.5|Debug|Parser|Language parsed: English
19-11-19 18:54:04.5|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:54:04.5|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:54:04.5|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:54:04.5|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:54:04.5|Debug|TrackedDownloadService|Tracking 'qBittorrent:[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv': ClientState=Completed (readonly) SonarrStage=Downloading Episode='Sword Art Online Alicization - War of Underworld - 002 HDTV-720p v1' OutputPath=C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv.
19-11-19 18:54:04.5|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:54:04.5|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:54:04.5|Debug|Parser|Language parsed: English
19-11-19 18:54:04.5|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:54:04.5|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:54:04.5|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:54:04.5|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:54:10.6|Debug|ImportDecisionMaker|Analyzing 1/1 files.
19-11-19 18:54:10.6|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:54:10.6|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:54:10.6|Debug|Parser|Language parsed: English
19-11-19 18:54:10.6|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:54:10.6|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:54:10.6|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:54:10.6|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:54:16.7|Debug|VideoFileInfoReader|Getting media info from C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:54:21.5|Error|VideoFileInfoReader|Unable to parse media info from file: C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv

[v2.0.0.5338] System.IO.IOException: The process cannot access the file 'C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
   at NzbDrone.Common.Disk.DiskProviderBase.OpenReadStream(String path) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskProviderBase.cs:line 405
   at NzbDrone.Core.MediaFiles.MediaInfo.VideoFileInfoReader.GetMediaInfo(String filename) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\MediaInfo\VideoFileInfoReader.cs:line 57

19-11-19 18:54:26.8|Error|DetectSample|Failed to get runtime from the file, make sure mediainfo is available
19-11-19 18:54:26.8|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:54:26.8|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:54:26.8|Debug|Parser|Language parsed: English
19-11-19 18:54:26.8|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:54:26.8|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:54:26.8|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:54:26.8|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:54:37.7|Debug|VideoFileInfoReader|Getting media info from C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:54:40.5|Error|VideoFileInfoReader|Unable to parse media info from file: C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv

[v2.0.0.5338] System.IO.IOException: The process cannot access the file 'C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
   at NzbDrone.Common.Disk.DiskProviderBase.OpenReadStream(String path) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskProviderBase.cs:line 405
   at NzbDrone.Core.MediaFiles.MediaInfo.VideoFileInfoReader.GetMediaInfo(String filename) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\MediaInfo\VideoFileInfoReader.cs:line 57

19-11-19 18:54:40.5|Debug|ParsingService|Using absolute episode number 2 for: Sword Art Online - TVDB: 1x02
19-11-19 18:54:40.5|Debug|AggregateQuality|Using quality: HDTV-720p v1
19-11-19 18:54:40.5|Debug|EpisodeTitleSpecification|Episode aired more than 1 day ago
19-11-19 18:54:40.5|Debug|SameFileSpecification|No existing episode file, skipping
19-11-19 18:54:40.5|Debug|MatchesFolderSpecification|No folder ParsedEpisodeInfo, skipping check
19-11-19 18:54:43.4|Debug|VideoFileInfoReader|Getting media info from C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:54:46.3|Error|VideoFileInfoReader|Unable to parse media info from file: C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv

[v2.0.0.5338] System.IO.IOException: The process cannot access the file 'C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
   at NzbDrone.Common.Disk.DiskProviderBase.OpenReadStream(String path) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskProviderBase.cs:line 405
   at NzbDrone.Core.MediaFiles.MediaInfo.VideoFileInfoReader.GetMediaInfo(String filename) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\MediaInfo\VideoFileInfoReader.cs:line 57

19-11-19 18:54:46.3|Error|DetectSample|Failed to get runtime from the file, make sure mediainfo is available
19-11-19 18:54:46.3|Debug|ImportDecisionMaker|File rejected for the following reasons: [Permanent] Unable to determine if file is a sample
19-11-19 18:54:46.4|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (86 ms)
19-11-19 18:54:46.4|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (98 ms)
19-11-19 18:54:46.4|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (108 ms)
19-11-19 18:56:05.1|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:56:05.1|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:56:05.1|Debug|Parser|Language parsed: English
19-11-19 18:56:05.1|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:56:05.1|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:56:05.1|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:56:05.1|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:56:05.1|Debug|ParsingService|No matching series Sword Art Online? Alicization - War of Underworld
19-11-19 18:56:05.1|Debug|Parser|Parsing string '[MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:56:05.1|Debug|Parser|Episode Parsed. Sword Art Online Alicization - War of Underworld - 002 
19-11-19 18:56:05.1|Debug|Parser|Language parsed: English
19-11-19 18:56:05.1|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:56:05.1|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:56:05.1|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:56:05.1|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:56:05.1|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:56:05.1|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:56:05.1|Debug|Parser|Language parsed: English
19-11-19 18:56:05.1|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:56:05.1|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:56:05.1|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:56:05.1|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:56:05.1|Debug|ImportDecisionMaker|Analyzing 1/1 files.
19-11-19 18:56:05.1|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:56:05.1|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:56:05.1|Debug|Parser|Language parsed: English
19-11-19 18:56:05.1|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:56:05.1|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:56:05.1|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:56:05.1|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:56:05.1|Debug|VideoFileInfoReader|Getting media info from C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:56:05.1|Debug|DetectSample|Runtime is over 90 seconds
19-11-19 18:56:05.1|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv'
19-11-19 18:56:05.1|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:56:05.1|Debug|Parser|Language parsed: English
19-11-19 18:56:05.1|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:56:05.1|Debug|Parser|Quality parsed: HDTV-720p v1
19-11-19 18:56:05.1|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:56:05.1|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:56:05.1|Debug|VideoFileInfoReader|Getting media info from C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:56:05.1|Debug|ParsingService|Using absolute episode number 2 for: Sword Art Online - TVDB: 1x02
19-11-19 18:56:05.1|Debug|AggregateQuality|Using quality: HDTV-1080p v1
19-11-19 18:56:05.1|Debug|EpisodeTitleSpecification|Episode aired more than 1 day ago
19-11-19 18:56:05.1|Debug|SameFileSpecification|No existing episode file, skipping
19-11-19 18:56:05.1|Debug|MatchesFolderSpecification|No folder ParsedEpisodeInfo, skipping check
19-11-19 18:56:05.1|Debug|VideoFileInfoReader|Getting media info from C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv
19-11-19 18:56:05.1|Debug|DetectSample|Runtime is over 90 seconds
19-11-19 18:56:05.1|Debug|ImportDecisionMaker|File accepted
19-11-19 18:56:05.1|Debug|Parser|Parsing string '[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3]'
19-11-19 18:56:05.1|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002 
19-11-19 18:56:05.1|Debug|Parser|Language parsed: English
19-11-19 18:56:05.1|Debug|QualityParser|Trying to parse quality for [MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3]
19-11-19 18:56:05.1|Debug|Parser|Quality parsed: Unknown v1
19-11-19 18:56:05.1|Debug|Parser|Release Group parsed: MTBB
19-11-19 18:56:05.1|Debug|Parser|Release Hash parsed: E05242A3
19-11-19 18:56:05.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:05.1|Debug|EpisodeFileMovingService|Copying episode file: C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv to Q:\Anime\Sword Art Online\S01E02 - Beater.mkv
19-11-19 18:56:05.1|Debug|DiskTransferService|Copy [C:\Users\Administrator\Downloads\[MTBB] Sword Art Online? Alicization - War of Underworld - 02 [E05242A3].mkv] > [Q:\Anime\Sword Art Online\S01E02 - Beater.mkv]
19-11-19 18:56:05.7|Debug|MediaFileAttributeService|Setting last write time on series folder: Q:\Anime\Sword Art Online
19-11-19 18:56:05.7|Warn|EpisodeFileMovingService|Unable to set last write time


[v2.0.0.5338] System.IO.IOException: The process cannot access the file 'Q:\Anime\Sword Art Online' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.OpenHandle(String path)
   at System.IO.Directory.SetLastWriteTimeUtc(String path, DateTime lastWriteTimeUtc)
   at NzbDrone.Common.Disk.DiskProviderBase.FolderSetLastWriteTime(String path, DateTime dateTime) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Common\Disk\DiskProviderBase.cs:line 265
   at NzbDrone.Core.MediaFiles.MediaFileAttributeService.SetFolderLastWriteTime(String path, DateTime time) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\MediaFileAttributeService.cs:line 75
   at NzbDrone.Core.MediaFiles.EpisodeFileMovingService.TransferFile(EpisodeFile episodeFile, Series series, List`1 episodes, String destinationFilePath, TransferMode mode) in M:\BuildAgent\work\5d7581516c0ee5b3\src\NzbDrone.Core\MediaFiles\EpisodeFileMovingService.cs:line 127

19-11-19 18:56:05.9|Debug|EpisodeService|Linking [S01E02 - Beater.mkv] > [[759]Beater]
19-11-19 18:56:05.9|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.1|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (8 ms)
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|Api|[GET] /api/health: 200.OK (7 ms)
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|Api|[GET] /api/episodefile?seriesId=9: 200.OK (38 ms)
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|Api|[GET] /api/health: 200.OK (1 ms)
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (3 ms)
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|MediaInfoFormatter|Formatting audio channels using 'AudioChannelPositions', with a value of: '2/0/0'
19-11-19 18:56:06.2|Debug|Api|[GET] /api/episode?seriesId=9: 200.OK (71 ms)
19-11-19 18:56:06.8|Debug|Api|[GET] /api/health: 200.OK (2 ms)
19-11-19 18:56:06.9|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (2 ms)
19-11-19 18:56:11.3|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (2 ms)

Something else unusual is that [MTBB] Sword Art Online Alicization - War of Underworld - 04 doesn't appear in the logs after being sent to the download client, and it never gets imported. In fact, it even drops from the activity, as though it was never downloaded.
image

19-11-19 18:54:26.8|Debug|Parser|Episode Parsed. Sword Art Online? Alicization - War of Underworld - 002
19-11-19 18:54:40.5|Debug|ParsingService|Using absolute episode number 2 for: Sword Art Online - TVDB: 1x02

Seems like either the alias for Sword Art Online Alicization - War of Underworld doesn't exist, the ? is screwing thing sup and it's a bug that has been fixed as it's working properly in v3.

For the alias do you see it if you hover over the episode number on the series details page?

It says

Titles: 
    Sword Art Online - Alicization - War of Underworld
    SAO3 WoU

Season 3 faced the same issue, which says

Title: 
    Sword Art Online - Alicization

When looking at the torrent on nyaa, the title is [MTBB] Sword Art Onlineː Alicization - War of Underworld - 01. The weird character is a 'Modifier Letter Triangular Colon'.

Is that character part of the torrent/file name as well?

That’d explain where the ? in the file name came from (though that could be a logging issue), but Sonarr should be stripping it out when looking for a match (same as it’s doing when processing the result from the indexer).

Yes it is, the full name is as stated above, with the modified letter triangular colon.

That makes sense, that character causes Sonarr to be unable to determine the season because the series title in the file name doesn't match the known aliases for the series (the logs replace ː with ?).

The easiest way to fix this is to get an alias added on thexem.de that contains ː, beyond that it's trickier since we prefer not to strip our characters. I've added the alias on thexem.de, let's see how it works for the next release.

Thank you!

It would be cool if we could manually add detection overrides like that locally too.

Semi-sort of related to this.. it appears this will still auto-import+delete the old episode even if the old series (eg. S01) is set to unmonitored. Would that be considered a bug? And/or can there be a feature added to 'never touch this', or at least to ask first?

I've also noticed that for anime, subgroups often (if not always) include a CRC32 of the file in their title, which could potentially be used as a sanity check that it is what it thinks it is. I know that anidb tends to have a section that tracks the different release groups, and it appears to maintain the list of CRC32's there as well, eg.:

image

They theoretically have an API..

And appear to list various (admittedly super ancient looking) clients/etc at:


Edit: This thread got me thinking about anidb clients/related features again, and went down a bit of a research rabbithole. This offline-friendly dataset may be a more useful tool:

⇒  cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .title'
"Sword Art Online: Alicization - War of Underworld"
"Sword Art Online: Alicization - War of Underworld"
"Sword Art Online: Alicization - War of Underworld"
"Sword Art Online: Alicization - War of Underworld (2020)"
"Sword Art Online: Alicization - War of Underworld 2"
"Sword Art Online: Alicization - War of Underworld Reflection"

⇒  cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .synonyms'
[
  "SAO 3 2nd Season",
  "SAO Alicization 2",
  "SAO Alicization 2nd Season",
  "Sword Art Online 3 2nd Season",
  "Sword Art Online III 2nd Season",
  "Sword Art Online: Alicization 2",
  "Sword Art Online: Alicization 2nd Season",
  "そーどあーとおんらいんありしぜーしょんうぉーおぶあんだーわーるど",
  "ソードアート・オンライン アリシゼーション 2",
  "ソードアート・オンライン アリシゼーション War of Underworld"
]

..snip..

⇒  cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .sources[] | select(contains("anidb"))'
"https://anidb.net/anime/14796"
"https://anidb.net/anime/15146"

I also noticed this project, which is also .NET, and seems to have a lot of good anime data related features, I wonder if something could be used/accessed from that for enrichment?

We have no plans for local overrides, the point of using things like XEM is to fix it once for everyone.

Unmonitored means do not grab, it won’t stop importing. We don’t have plans to make things read only.

Anidb has its own issue: https://github.com/Sonarr/Sonarr/issues/365 it’s way at the bottom of the list though, from my previous looks at what we can get from them it looked painful coupled with the complications of multiple metadata sources.

Most anime related issues are due to poor naming and while we used to be able to drop extraneous characters anime is the reason we can’t as they have series that differ only by the number of exclamation marks per season.

We’re not looking to implement anime specific functionality at this time.

@BradleyDS2 any news from the last episode?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

antigravity83 picture antigravity83  ·  3Comments

WildOrangutan picture WildOrangutan  ·  4Comments

leftl picture leftl  ·  3Comments

markus101 picture markus101  ·  4Comments

satmandu picture satmandu  ·  3Comments