Page 1 of 1

ADL 3.1 running error with log file

Posted: Fri Jun 29, 2012 9:57 am
by lucy liu
I am running ADL3.1. I keep getting this error
../../util/src/InfTk_ConfigStore.cpp|388|createLwProcInstance|/home/ADL_3.1/ADL/log/ProEdrViirsLstController.exe_17527:MKDIR_ERR:File exists
../../util/src/InfTk_ConfigStore.cpp|388|createLwProcInstance|/home/ADL_3.1/ADL/log/ProEdrViirsLstController.exe_17405:MKDIR_ERR:File exists
...
Could you tell me how to avoid such error? I just run ADl to generate LST file in a batch mode.

And I found that the log suck up space rapidly.

Any ideas? Thanks.

Re: ADL 3.1 running error with log file

Posted: Sun Jul 01, 2012 3:53 pm
by rayg
Are you providing a clean work directory for ADL to operate in, or re-using the same directory? The simplest scenario I can think of for this happening is that you're re-using the same work directory, and the process ID generator has cycled (through reboot or long-term).

Typically we create a work directory for ADL, then extract products (or direct them elsewhere) before doing a clean-up of the workspace. Workspace build-up is a performance issue for ADL due to the overhead of metadata parsing.

Re: ADL 3.1 running error with log file

Posted: Thu Jul 05, 2012 11:53 am
by kbisanz
As rayg alluded to, the number (the 17405 in "ProEdrViirsLstController.exe_17405") is the process id (PID) of the ProEdrViirsLstController.exe process. There are a finite number of PIDs for the operating system to use. In this case it looks like it's a 5 digit number, so there are 100,000 unique PIDs. As the operating system creates different processes, each one is assigned a different number. You can see some PIDs with the "ps -u $USER" or "top" commands. Each PID represents a currently running process. When a process ends its number can be reused at a later time for a different process. Obviously, after a system has executed 100,000 processes, it must start reusing numbers. Normally this is fine. The problem is that ADL creates a log file (assuming logging is enabled). To keep log files relatively unique, the PID is used to name the directory/file. This works fine until the operating system starts reusing PIDs.

To fix the issues, you have a couple of options:
1. Delete some old log files from the path specified by <dbgPath> in ProEdrViirsLstControllerLwFile.xml
2. Change the value of <dbgPath> in ProEdrViirsLstControllerLwFile.xml to be an empty directory.

You are correct that log files take up a lot of space. At the DBG_LOW level they are very verbose. In ProEdrViirsLstControllerLwFile.xml you could try changing <debugLevel> to be DBG_MED or DBG_HIGH (DBG_HIGH contains only high level information and is the least verbose) to have less verbose logging. Alternatively you can change <debugLevel> to be DBG_OFF to disable logging completely. Though if you turn it off completely it'll be harder to diagnose problems. Changing the <debugLevel> value won't fix your PID problem, but it'll reduce the size of the log files.

The "MKDIR_ERR:File exists" error periodically happens to me, at which point I delete all the files in my log directory.

You might have too many files in the log directory and "cd log ; rm -r * " won't work. You may have to "cd $ADL_HOME ; rm -rf log ; mkdir log". Obviously those commands remove everything in your log directory.

Re: ADL 3.1 running error with log file

Posted: Mon Jul 09, 2012 1:19 pm
by lucy liu
Thanks for the detailed explanation. I will empty the log and set the debug level to be high.

Re: ADL 3.1 running error with log file

Posted: Fri Sep 25, 2015 6:28 am
by derekarnold
I am newbie here. Thanks for your suggestion.
For making your future bright we should work hard and try to get our goal. Online sources can be helpful for education.