Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO
0 votes
in CompleteFTP by (310 points)
I have been experimenting with creating custom commands to be accessible via Process Triggers and noticed that the memory does not seem to be freed up when I run 'executeCustomCommand' but does if that entire command is inlined into the process trigger itself.

I found this by writing a custom command that scans all FTP folder paths for files older that x days and flags them for deletion/further processing.

Originally the custom command was invoked from a scheduled process trigger via


But I noticed after a day or so of running memory consumption would shoot up to 1.5 gb for the CompleteFTPService.exe, after which it started running out of memory.

By inlining the Custom Command (and it's dependents) into the Process Trigger the memory appears to be getting released again.

Any suggestions as to why this is happening or what techniques I should employ to avoid it?
by (156k points)
Just to clarify, you have written a custom command in JSS, and when executed as part of the trigger it is fine, but when called via system.executeCustomCommand you get the leak?
by (310 points)
Custom command in JSS. When inlined into the trigger it is fine,
When the trigger has a single line 'system.executeCustomCommand('FolderScanner')' it will leak.
by (156k points)
OK, we'll take a look at the code for this - thanks.
by (310 points)
One more piece of pertinent information.
I am only sitting on version 12.0
I have been planning on upgrading and applying the license for 12.1.4 but am beholden to internal processes (even in our development environment). so I don't have the latest version available for installation at this stage.
by (46.8k points)
Quick update: I think we've replicated the problem and are analysing it at the moment.  We'll update you here when we've diagnosed the problem.

1 Answer

0 votes
by (46.8k points)

We've located the leak and can provide you with a patch to try.  To get it, please open a ticket here.