I’m trying to make sense of the following error in /var/logs/httpd/error_log. The error gets thrown when I start a python script from /var/www/cgi-bin via the apache web server. What I don’t understand is that it does not actually look like an error but rather I/O stats. The python script fires a shell script which downloads a file with curl via subprocess.Popen. My best guess is something is amiss with the download process. Also, the error only gets raised sometimes – other times the python script and shell script run without error and the file is downloaded to the server as expected. No other error messages are given in the log.
[Mon Aug 13 05:16:56 2012] [error] [client x.x.x.x] Dload Upload Total Spent Left Speed
[Mon Aug 13 05:16:56 2012] [error] [client x.x.x.x] \r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
[Mon Aug 13 05:16:56 2012] [error] [client x.x.x.x] \r 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
[Mon Aug 13 05:16:56 2012] [error] [client x.x.x.x] \r100 174 0 174 0 0 43 0 --:--:-- 0:00:04 --:--:-- 43
[Mon Aug 13 05:16:56 2012] [error] [client x.x.x.x] \r 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
[Mon Aug 13 05:16:56 2012] [error] [client x.x.x.x] \r100 348 0 348 0 0 85 0 --:--:-- 0:00:04 --:--:-- 85
[Mon Aug 13 05:16:56 2012] [error] [client x.x.x.x] \r 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
[Mon Aug 13 05:16:57 2012] [error] [client x.x.x.x] \r100 174 0 174 0 0 49 0 --:--:-- 0:00:03 --:--:-- 50
[Mon Aug 13 05:16:57 2012] [error] [client x.x.x.x] \r 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
[Mon Aug 13 05:16:57 2012] [error] [client x.x.x.x] \r100 174 0 174 0 0 40 0 --:--:-- 0:00:04 --:--:-- 40
[Mon Aug 13 05:16:57 2012] [error] [client x.x.x.x] \r 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
[Mon Aug 13 05:16:57 2012] [error] [client x.x.x.x] \r 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
Similar issue in this thread: http://www.velocityreviews.com/forums/t341052-curl-and-popen2.html
It seems the “error” output is curl reporting on its progress and is not actually an error. Putting –silent in the curl command should suppress the output. I still do not understand why it ended up in the error log.