Filebot-Node Error: Access Denied

Support for Synology NAS, QNAP NAS and other Embedded Linux systems
Post Reply
tbirz
Posts: 8
Joined: 28 Mar 2019, 06:31

Filebot-Node Error: Access Denied

Post by tbirz »

Hi All, getting an error on my filebot-node after upgrading the fix to my synology version 6.2.4. I was not getting this error on my earlier versions.
It appears the show is getting renamed into the input directory and transposed into my .groovy file with an .mkv extension.
filebot -script 'fn:amc' /volume1/Media/Downloads/Completed/sonarr --output /volume1/Media/TVShows/ --action move -non-strict --order Airdate --conflict skip --lang en --def 'ut_label=TV' 'excludeLink=y' 'clean=y' 'skipExtract=y' 'seriesFormat=/volume1/Media/Downloads/Completed/sonarr/seriesFormat281220.groovy' 'excludeList=amc.excludes' --apply refresh --log all --log-file '/var/packages/filebot-node/target/data/filebot.log'

------------------------------------------

OpenJDK 64-Bit Server VM warning: Option --illegal-access is deprecated and will be removed in a future release.
Run script [fn:amc] at [Sat Jun 19 22:56:02 AEST 2021]
Parameter: ut_label = TV
Parameter: excludeLink = y
Parameter: clean = y
Parameter: skipExtract = y
Parameter: seriesFormat = /volume1/Media/Downloads/Completed/sonarr/seriesFormat281220.groovy
Parameter: excludeList = amc.excludes
Argument[0]: /volume1/Media/Downloads/Completed/sonarr
Use excludes: /volume1/Media/TVShows/amc.excludes
Input: /volume1/Media/Downloads/Completed/sonarr/Jack.Irish.S03E01.720p.HEVC.x265-MeGusta[eztv.re].mkv
Process as TV Series [TV]
Group: {Series=true} => [Jack.Irish.S03E01.720p.HEVC.x265-MeGusta[eztv.re].mkv]
Rename episodes using [TheTVDB] with [Airdate]
Lookup via [jack irish]
Fetching episode data for [Jack Irish]
[MOVE] from [/volume1/Media/Downloads/Completed/sonarr/Jack.Irish.S03E01.720p.HEVC.x265-MeGusta[eztv.re].mkv] to [/volume1/Media/Downloads/Completed/sonarr/seriesFormat281220.groovy.mkv]
[MOVE] from [/volume1/Media/Downloads/Completed/sonarr/Jack.Irish.S03E01.720p.HEVC.x265-MeGusta[eztv.re].mkv] to [/volume1/Media/Downloads/Completed/sonarr/seriesFormat281220.groovy.mkv] failed due to I/O error [Access Denied: /volume1/Media/Downloads/Completed/sonarr/Jack.Irish.S03E01.720p.HEVC.x265-MeGusta[eztv.re].mkv -> /volume1/Media/Downloads/Completed/sonarr/seriesFormat281220.groovy.mkv]
Processed 0 files
Finished without processing any files
Abort (×_×)

------------------------------------------

[Process error]

🔺 Exit Code: 4
I cannot identify the problem! Does anyone have any ideas?
Thanks,
Tony B
User avatar
rednoah
The Source
Posts: 22899
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Filebot-Node Error

Post by rednoah »

1.
You're using @file syntax incorrectly:

YES:

Code: Select all

--def movieFormat=@/path/to/MovieFormat.groovy
NO:

Code: Select all

--def movieFormat=/path/to/MovieFormat.groovy


2.
Access Denied indicates a permission issue. However, in this particular case, the lack of permissions may have protected you from accidentally moving all your files into the same file path, effectively deleting all of them but one.





:!: :!: :!: DO UNDERSTAND AND ADDRESS THE ABOVE MENTIONED ISSUES BEFORE FIXING THE PERMISSION ISSUES SO YOU DON'T DESTROY YOUR FILES ONCE YOU HAVE GIVEN YOURSELF PERMISSION TO DO SO :!: :!: :!:
rednoah wrote: 10 Jul 2014, 06:56 Package Permissions:
DSM 6.2.4 and DSM 7 restrict file system access by default. FileBot Node may not be able to access your files unless you explicitly grant permission first.

Image
:idea: Please read the FAQ and How to Request Help.
tbirz
Posts: 8
Joined: 28 Mar 2019, 06:31

Re: Filebot-Node Error: Access Denied

Post by tbirz »

Thanks for the replay RedNoah, I had already changed permissions (for the Media folder) by following your instructions in previous posts. i added the the '@' symbol to my seriesFormat line (Filebot-Node) to: @/volume1/Media/Downloads/Completed/sonarr/seriesFormat281220.groovy but the following occurred:

Code: Select all

filebot -script 'fn:amc' /volume1/Media/Downloads/Completed/sonarr --output /volume1/Media/TVShows --action move -non-strict --order Airdate --conflict skip --lang en --def 'ut_label=TV' 'clean=y' 'skipExtract=y' 'ignore=.avi|.mp4' 'seriesFormat=@/volume1/Media/Downloads/Completed/sonarr/seriesFormat281220.groovy' 'excludeList=amc.excludes' --apply refresh --log all --log-file '/var/packages/filebot-node/target/data/filebot.log'

------------------------------------------

OpenJDK 64-Bit Server VM warning: Option --illegal-access is deprecated and will be removed in a future release.
Run script [fn:amc] at [Sun Jun 20 00:28:52 AEST 2021]
Parameter: ut_label = TV
Parameter: clean = y
Parameter: skipExtract = y
Parameter: ignore = .avi|.mp4
Parameter: seriesFormat = {n =~ /^(?i)[0-9a-m]/ ? 'TVShows A-M' : 'TVShows N-Z'}:/{ny}/{ny} {episode.special ? 'Specials' :' - S'+s.pad(2)}  / {norm={it.upperInitial().lowerTrail().replaceTrailingBrackets().replaceAll(/\u0022/, '\'').replaceAll(/[:|]/, ' ').replaceAll(/\?/, '!').replaceAll(/[*\s\.]+/, ' ').replaceAll(/\b[IiVvXx]+\b/, { it.upper() }).replaceAll(/[0-9](th|nd|rd)/, { it.lower() })};norm(n)} ({startdate.format('yyyy')}) {episode.special ? 'S00E'+special.pad(2) : s00e00} {norm(t)} {' ' +vf}{' '+source}{' '+fn.matchAll(/PROPER|REPACK|REMUX/)*.upper().sort().join(' ')}{' '+vc.replace('Microsoft', 'VC-1')} {' '+bitdepth+'bit'}{' '+hdr} {def preferredLang = 'Eng'; def useChFilter = false; def filter = { [it.codec, it.ch, it.objects, it.lang] }; def codecList = ['MP2' : 'MP2','MP3' : 'MP3','PCM' : 'PCM','AAC LC' : 'AAC','AAC LC SBR' : 'AAC','AAC LC SBR PS' : 'AAC','AC 3' : 'AC3','AC 3 Dep' : 'EAC3','E AC 3' : 'EAC3','E AC 3 JOC' : 'EAC3 Atmos','AC 3 Dep JOC' : 'EAC3 Atmos','DTS' : 'DTS','DTS 96 24' : 'DTS 96-24','DTS ES' : 'DTS-ES','DTS ES XXCH' : 'DTS-ES','DTS XBR' : 'DTS-HD HRA','DTS ES XBR' : 'DTS-HD HRA','DTS ES XXCH XBR' : 'DTS-HD HRA','DTS XLL' : 'DTS-HD MA','DTS ES XLL' : 'DTS-HD MA','DTS ES XXCH XLL' : 'DTS-HD MA','DTS-HD Master Audio' : 'DTS-HD MA','DTS XLL X' : 'DTS X','MLP FBA' : 'TrueHD','MLP FBA 16 ch' : 'TrueHD Atmos']; def audioStreams = []; def audioClean = { it.replaceAll(/[\p{Pd}\p{Space}]/, ' ').replaceAll(/\p{Space}{2,}/, ' ').slash(' ') }; def channelClean = { it.replaceAll(/Debug.+|Object\sBased\s?\/?|(\d+)?\sobjects\s\/\s|0.(?=\d.\d)|20/).replaceAll(/6.0/,'5.1').replaceAll(/8.0/,'7.1') }; def oneStream = { it.collect{ filter(it) }*.minus(null).unique().flatten().join(' ') }; def dString = { it.toDouble().toString() }; def toInt = { it.toInteger() }; any{audio.collect{ au -> def codec = audioClean(any{ au['CodecID/Hint'] }{ au['Format'] }); def format_profile = any{ audioClean(au['Format_AdditionalFeatures'])}{}; def String ch = any{ channelClean(au.ChannelPositionsString2).tokenize('\\/')*.toDouble().toString().sum() }{ channelClean(dString(au.ChannelsOriginal)) } { channelClean(dString(au.Channels)) }; def chFilter = ( ( ( (ac == 'AAC'||ac == 'MP2'||ac == 'MP3') && ch != '2.0') || ( (ac == 'AC3'||ac == 'EAC3'||ac == 'DTS'||ac == 'TrueHD'||ac == 'MLPFBA') && ch != '5.1' ) ) ? ch : null ); def combined = allOf{codec}{format_profile}.join(' '); audioStreams << ['index' : codecList.findIndexOf { it.key == combined }, 'default' : any {au['default'][0].toBoolean() }{ audio.size == 1 ? true : '' },'codec' : codecList.get(combined, 'Add ' + combined + ' to codecList'), 'combined' : combined, 'ch' : useChFilter ? chFilter : ch, 'bitrate' : any{ toInt(au.BitRate) }{ toInt(au.BitRate_Maximum) }{ dString(au.FrameRate) }{null}, 'lang' : any{ au.'LanguageString3'.upperInitial() }{null} ]; return audioStreams}; def addToList = audioStreams.codec.findAll{ it.contains('Add to') }.unique().sort(); def allStreams = audioStreams.collect{ filter(it) }*.minus(null).unique()*.join(' '); def preferredStream = oneStream(audioStreams.findAll{ it.index == audioStreams.index.max() }); def bestBitRate = oneStream(audioStreams.findAll{ it.bitrate == audioStreams.bitrate.max() }); def defaultStream = oneStream(audioStreams.findAll{ it.default == true }); def bestPreferredLang = any{ audioStreams.findAll{ it.lang == preferredLang }.sort{ a, b -> b.bitrate <=> a.bitrate }.collect{ filter(it) }*.minus(null).unique().get(0).join(' ') }{}; any{addToList}{preferredStream}}{'NO_AUDIO'}} {'en' in text.language ? '[EngSubs]':''} ({minutes} mins) [{file.length() < 1e9 ? (file.length()/1e6).toFloat().round() + ' MB' : (file.length()/1e9).toFloat().round(1) + ' GB'}]{def g = c{group}; def m = c{fn.match(/(?:(?<=[-])[a-z0-9]+$)|(?:^[a-z0-9]+(?=[-]))/)}; if(g==null && m!=null) return '-'+m.replace(/^tpz$/, 'TOPAZ'); if(g!=null && m!=null && m.lower()!=g.lower()) return '-'+m.replace(/^tpz$/, 'TOPAZ'); if(g!=null) return '-'+g;}
Parameter: excludeList = amc.excludes
Argument[0]: /volume1/Media/Downloads/Completed/sonarr
Use excludes: /volume1/Media/TVShows/amc.excludes
Input: /volume1/Media/Downloads/Completed/sonarr/war of the worlds s02e03.mkv
Process as TV Series [TV]
Group: {Series=true} => [war of the worlds s02e03.mkv]
Rename episodes using [TheTVDB] with [Airdate]
Lookup via [The War of the Worlds, War of the Worlds]
Fetching episode data for [The War of the Worlds]
Fetching episode data for [The War of the World]
Fetching episode data for [War of the Worlds]
Fetching episode data for [War of the Worlds]
Fetching episode data for [The World of the Married]
Stripping invalid characters from new path: TVShows N-Z:/War of the Worlds (2019)/War of the Worlds (2019) - S02/War Of The Worlds (2019) S02E03 Episode 3 1080p AVC 8bit EAC3 5.1 Eng [EngSubs] (48 mins) [2.1 GB]
[MOVE] from [/volume1/Media/Downloads/Completed/sonarr/war of the worlds s02e03.mkv] to [/volume1/Media/TVShows/TVShows N-Z/War of the Worlds (2019)/War of the Worlds (2019) - S02/War Of The Worlds (2019) S02E03 Episode 3 1080p AVC 8bit EAC3 5.1 Eng [EngSubs] (48 mins) [2.1 GB].mkv]
[MOVE] from [/volume1/Media/Downloads/Completed/sonarr/war of the worlds s02e03.mkv] to [/volume1/Media/TVShows/TVShows N-Z/War of the Worlds (2019)/War of the Worlds (2019) - S02/War Of The Worlds (2019) S02E03 Episode 3 1080p AVC 8bit EAC3 5.1 Eng [EngSubs] (48 mins) [2.1 GB].mkv] failed due to I/O error [Access Denied: /volume1/Media/Downloads/Completed/sonarr/war of the worlds s02e03.mkv -> /volume1/Media/TVShows/TVShows N-Z/War of the Worlds (2019)/War of the Worlds (2019) - S02/War Of The Worlds (2019) S02E03 Episode 3 1080p AVC 8bit EAC3 5.1 Eng [EngSubs] (48 mins) [2.1 GB].mkv]
Processed 0 files
Finished without processing any files
Abort (×_×)

------------------------------------------

[Process error]

🔺 Exit Code: 4
Note I changed standard and advanced permissions
regards,
Tony B
User avatar
rednoah
The Source
Posts: 22899
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

Re: Filebot-Node Error: Access Denied

Post by rednoah »

Well, there's not much filebot can do if your system refuses to perform the given operations:

Code: Select all

[MOVE] from [A] to [B] failed due to I/O error [Access Denied: A -> B]

:idea: Permission issues are tricky. Lots of Googling might help. Lots of trying different things might help. You could try Synology Support.


:arrow: I'd start by creating a new pristine share, add permissions, see if it works there, then find out what's different.
:idea: Please read the FAQ and How to Request Help.
tbirz
Posts: 8
Joined: 28 Mar 2019, 06:31

Re: Filebot-Node Error: Access Denied

Post by tbirz »

Thanks for your help!
I created a 'pristine' share with permissions and it worked.
JOKJOK
Posts: 3
Joined: 06 Apr 2020, 07:52

Re: Filebot-Node Error: Access Denied

Post by JOKJOK »

I have the same problem since the last update. Can you tell me how you have configured that new shared folder to work? I have tried to create a new one and I get the same error. Edit: solved! It was a problem with the destiny folder advanced permissions. It's working again :D
abescalamis
Posts: 30
Joined: 26 Jan 2018, 04:10

Re: Filebot-Node Error: Access Denied

Post by abescalamis »

tbirz wrote: 20 Jun 2021, 07:34 Thanks for your help!
I created a 'pristine' share with permissions and it worked.
I'm having the same issue, can you share what did you change? thank you
Post Reply