Page 1 of 1

Filebot-Node Error: Access Denied

Posted: 19 Jun 2021, 13:14
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

Re: Filebot-Node Error

Posted: 19 Jun 2021, 13:55
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

Re: Filebot-Node Error: Access Denied

Posted: 19 Jun 2021, 14:36
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

Re: Filebot-Node Error: Access Denied

Posted: 19 Jun 2021, 14:50
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.

Re: Filebot-Node Error: Access Denied

Posted: 20 Jun 2021, 07:34
by tbirz
Thanks for your help!
I created a 'pristine' share with permissions and it worked.

Re: Filebot-Node Error: Access Denied

Posted: 20 Jun 2021, 11:23
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

Re: Filebot-Node Error: Access Denied

Posted: 01 Jul 2021, 02:00
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