Page 1 of 2

pv.exe runs every second

PostPosted: 08. July 2006 09:19
by th1alb
If the XAMPP Control Panel is running, the pv.exe is started every second.
How could that behaviour be switched off?

Commandline seems to be:
.../xampp/apache/bin/pv.exe mercury*

I do not even use mercury*

PostPosted: 08. July 2006 11:57
by Izzy
I'm afraid I can't answer your question but thanks very much for bringing this issue to the forum's attention.

The author of the control panel should answer your question and also why it is being used at all.

I have version 1 of the control panel and it does not load pv.exe.

So why was it introduced in versions after 1?
What is it and what is it doing?

I have WinHexed it and there are many unusual internal commands relating to killing processes and the explorer that make no sense to me.

I for one would like some answers, and no bull shit, form the control panels author.

Is it some sort of Trojan perhaps thats sending out information because it has the perfect platform, a running web server, to do just that without ever being detected?

I for one have lost trust in this version of the control panel and have reverted to version 1 and renamed pv.exe so it can't be used until I see some answers that might change my mind. :x

PostPosted: 08. July 2006 16:41
by Dacapo
Izzy, ... I posted a question about excessive memory usage and system crashes

I seem to think it has something to do with the control panel. It's very interesting what you have said about the new version and the possibility of it containing a trojan! Like you pointed out ... it has the perfect platform to operate from, ... a wide open webserver.

Could you possibly send me the original version you have of the control panel??? I'll enable my profile to display my email address. Thanks! :D

PostPosted: 08. July 2006 17:54
by Dacapo
Ok, I've found out a couple of very interesting things from this thread! First, I renamed pv.exe on the suggestion of Izzy. Here's what happened ...


When I clicked ok ...


So, the new control panel (ver 2.3) won't work once you disable pv.exe.

Here is one of the error messages that kept crashing my pc ...

PV caused an invalid page fault in
module KERNEL32.DLL at 0177:bff88396.
EAX=c00309c4 CS=0177 EIP=bff88396 EFLGS=00010202
EBX=0064ffec SS=017f ESP=0054feb0 EBP=00550028
ECX=00000000 DS=017f ESI=00000000 FS=808f
EDX=bff76855 ES=017f EDI=bff79060 GS=0000
Bytes at CS:EIP:
53 56 57 8b 75 10 8b 38 33 db 85 f6 75 2d 8d b5
Stack dump:

I then started xampp by using xampp_start.exe. The program runs flawlessly! No excessive memory usage, no crashes, no problems! I ran the server for about 45 minutes without a single problem.

In conclusion, there is definitly something wrong (intentional or not) with ver 2.3 of the control panel. My suggestion is ... Don't use it!

Thanks again Izzy :D

PostPosted: 09. July 2006 01:17
by Izzy
John, you can close off your e-mail link as it may be a risk for you.

I have uploaded the XAMPP Control Panel version 1 in a zip file to RapidShare in case there are any other members who want to revert. Just unzip it to the xampp directory and you should be set to go. (36 KB)

Just scroll down the page in Rapidshare and click on Free.
On the next page type in the 3 characters (not case sensitive) from the image file to the text box provided and press Download from Mirror .... Done.

As you know it is an exe file and as such you should check it for virus infection even though I can guarantee it was clean when I uploaded it to RapidShare. Also I am not sure if it too requires any dependant files to run. If so just post here the files it is asking for if it fails to load. I doubt it though as I had no problems switching back to version 1.

Is anyone using any earlier version of the CP that does not have the pv.exe issue as I only had version 1 to fall back on?
Maybe the pv.exe issue raised its ugly head in earlier versions also. If not perhaps they could also post a link to versions they know are clean of the pv.exe issue.

I hope the author fixes this issue before too long. I see many references to pv.exe file and how it is called and with what switches it uses in the source code zip file obtainable from their web site but I can't find the actual pv.exe file in the release or the source code zip.

Just done some more digging and found this after doing a Google for pv.exe ... .html#kill
in their FAQ is a reference to pv.exe not being a virus/trojan but is obviously a memory/process hog and should be fixed as it is abviously not doing its job without causing other major problems. ... inz.h.html
When Backdoor.IRC.Aladinz.H is executed, it performs the following actions:

1. Drops the following files into the %Windir% folder:
* Pv.exe (a legitimate process viewer called PrcView)
* Mirc.hlp (a clean help file for the mIRC IRC client)
* Inst.bat (detected as IRC Trojan)
* Dd4a.exe (detected as Hacktool.Hidewindow)
* Cab2.exe (detected as Backdoor.IRC.Aladinz.H)
Gives all the command line switches and a brief description.

I still hold with my initial suspicions that this pv.exe is not to be trusted and an alternative method should be applied to replace it's use in what is otherwise a very useful piece of server software.

PostPosted: 09. July 2006 06:28
by Dacapo
Thanks Izzy, ... I downloaded your ver 1 of the control panel. I still get the same error though on startup as shown in the first pic I posted in this thread. Guess I'll have to enable pv.exe again and see what happens.

I'll play around with it tomorrow and post my results.

PostPosted: 09. July 2006 07:43
by Izzy
I wonder what version of xampp they introduced the need for pv.exe to be a resident process devouring system resources? Mindless IMHO.

With version 1.4.13 of xampp and version 1 and 2.3 of the control panel the pv.exe is not in my running processes list - Task Manager - so the memory issue is not evident.

In version 1.5.3a of xampp and either CP version the pv.exe is loaded into memory and is in the running processes list - Task Manager - that is killing and reviving every second which won't do the system performance any good at all.

Perhaps they should consider changing the command line parameters to prevent this memory problem but I wish they would drop it all together and find an alternative method to achieve the results they want.

I believe it may be a security issue too if this file is manipulated by another (malicious) program on your system if it knew it was on your hard drive.

PostPosted: 09. July 2006 18:09
by Dacapo
Izzy wrote: ... With version 1.4.13 of xampp and version 1 and 2.3 of the control panel the pv.exe is not in my running processes list - Task Manager - so the memory issue is not evident.

In version 1.5.3a of xampp and either CP version the pv.exe is loaded into memory and is in the running processes list - Task Manager - that is killing and reviving every second which won't do the system performance any good at all ...

Well, I don't have ver 1.4, but I can confirm what you have said about ver 1.5.3a. In order for either version of the control panel to function, pv.exe has to be loaded into memory.

Since pv.exe is what's caused all the problems on my pc, I've simply disabled it. I start xampp without using the control panel (and without running pv.exe) and everything seems to run fine.

I guess pv.exe is just an event viewer, and process killer? I wonder why it is even needed? I haven't used Mercury or FileZilla, and I don't think I've run any pages with perl scripting through the server yet. Maybe those programs would be affected by not having pv.exe available?

It would be nice if one of the developers could jump in and give an explanation. I really do believe xampp is the best all in one webserver solution I've found, that's ported to windows! So, no complaints at all ... just curious about the very excessive memory usage and system crashes I've encountered due to pv.exe.

Thanks :D ... John

PostPosted: 10. July 2006 01:10
by Izzy
Stranger than fiction.

No matter which version of xampp or CP or with any combination of both, running as a service or running not as a service, checking different modules and using all modules, I can't get pv.exe to show in the Task Manager now. The mind boggles. What changed?
The only thing I have not done is reboot my system. Being an XP it should make no difference.

I can't work that one out and after many hours of fiddling with it the problem seems to have gone away (for now may be).

As you say John, it is time for some answers from the developers now to put this all in to some sort of perspective.
Is this issue platform related perhaps?
Is pv.exe really needed and why and when is it needed?

It is obviously not being used on my system at the moment no matter the combination of versions and uses.

PostPosted: 10. July 2006 06:01
by WorldDrknss
pv.exe - PrcView command line utility allows automating common task like
figuring out if particular process is running or killing a running process
on scheduler.

Checking if a particular process is running is easy. For example the
following command will show all instances of explorer that are running:
pv explorer.exe

Setting a process priority is another common task. To set explorer priority
to normal just type:
pv -pn explorer.exe
or if you like a 'verbose' style
pv -p"Normal" explorer.exe

pv supports the common '*' and '?' wildcards so that the following command
will perfectly work by printing out all the processes starting with 'e'
pv e*

Don't like a particular process and would like to kill it? The following
command will do the job:
pv -k thisprocess.exe

And if you don't like additional questions and would like to force killing:
pv -kf thisprocess.exe

Don't like this particular instance of the process and know the window title?
The following command will do the job (please note that '\' need to be
represented as a '\\' combination if you enter it from the command line):
pv -k thisprocess.exe -w"c:\\"

pv.exe can be easealy executed from a batch file to check if process is running.
When writing a command file please note that the ERRORLEVEL number specifies
a true condition if the last program run returned an exit code equal to or
_greater_ than the number specified.

The following script illustrates how this could be done:

@echo off
pv.exe %1 >nul
if ERRORLEVEL 1 goto Process_NotFound
echo Process %1 is running
goto END
echo Process %1 is not running
goto END

Please note that redirecting standard errors by using 2>file_name does not work under 9x
Windows. Please use "2>file_name" instead. This notation will be processed by pv.exe.

And finally a copy of the -? command:

PrcView v command line utility by Igor Nys
Usage: pv -[<MODE>] -[<OPTIONS>] <ARGUMENTS>...-[<OPTIONS>]
-h,-? --help display this help information
-k --kill kill PROCESS
-a --activate activate PROCESS
-c --close close (send WM_CLOSE) to the PROCESS
-m --module show modules used by specified PROCESS
-g --getenv get startup environment for the PROCESS
-p[nihr] --priority set priority to "Normal", "Idle", "High", "Real Time"
[ba] "Below Normal" and "Above Normal" only on W2K or higher
-t --tree display process tree, -te for computer-readable format
-u --usage show processes that uses specified MODULE
-s --summary show MODULE usage summary
-f, --force never prompt
-e, --extend show additional information if available
-i, --id use process ID instead of the PROCESS name
-q, --quiet supress headers and produce a tab-separated list
-d[time] --delay delay time in milliseconds before executing command
-l[mask] --long include process command line
-w[mask] --window show only processes with visible windows, -e show hidden
-r --repeat repeat command in a cycle

Arguments can contain '*' and '?' wildcards.
Process return code (%ERRORLEVEL%) can be used in batch files
0 - process found, 1 - empty result set, 2 - programm error

pv myprocess.exe get process ID for myprocess.exe.
pv -e get extended list of running processes.
pv -k sleep* kill all processes starting with "sleep"
pv -m -e explorer.exe get extended information about explorer's modules
pv -u oleaut*.dll list of all processes that use matching dll
pv -ph w*.exe set priority to hight for all matching processes
pv explorer.exe -l"*/S" looks for explorer process with /S switch

PostPosted: 10. July 2006 19:42
by th1alb
I read thru the replies and for me it seems that the XAMPP Control Panel is just calling pv.exe every second to verify if all of the 4 programs are still running. Unfortunately if "mercury" isn't started/used it continue to try every second to see if it has been started or not. The neccessary 'code' isn't inside of the XAMPP Control Panel and therefore it is using an external program to check(namely pv.exe) and perform the jobs like restart, stop, start. Seems a bit awkward to start every second an external program to fetch necessary information, but maybe it was a fast, easy programming way to get the funtionality done just using pv.exe, some buttons for the gui and that's it( instead of moving that coding inside of the XAMPP control panel).

PostPosted: 11. July 2006 15:59
by Dacapo
th1alb wrote:I read thru the replies and for me it seems that the XAMPP Control Panel is just calling pv.exe every second to verify if all of the 4 programs are still running. Unfortunately if "mercury" isn't started/used it continue to try every second to see if it has been started or not ...

What I've found ...

With version 2.3 of the control panel, that is absolutely correct. The control panel calls pv.exe every second till all 4 programs are running. Kinda strange behavior if you ask me. Anyway, with W98SE, FileZilla must be run as a service ... but under that OS it causes problems. So, if I have all 4 programs loaded, the excessive memory usage stops, and pv.exe is no longer showing up in the running process all the time. Izzy, I hope that explains your "Stranger than fiction" post (lol).

BUT, if all 4 services are not loaded, then the excessive memory usage continues till all my memory is depleted! I sat there last night and watched the unused physical memory (in system monitor) go from 300 and something, right down to almost zero (my pc crashed just before it ran out). And, it only took about 7 minutes (lol).

With version 1.0 of the control panel however, everything is different. I don't have to have all 4 programs running! And pv.exe does not seem to be running continuosly in the background. As a matter of fact, I'm running Apache and mySQL right now through ver 1.0 of the control panel, and my unused memory is steady at 259.6M (Mercury and FileZilla are turned off).

As I have already pointed out, pv.exe has to be available for either versions of the control panel to work. When I had disabled it, neither would run.

Hope this helps :D ... John

edit - by the way, the version of xampp I'm running is 1.5.3a

PostPosted: 19. July 2006 12:32
by mp3ripper
well Did some research found this. The PV.exe on Control panel Version 1.0 Only runs when you Use the Refresh button. Meanwhile on newer versions they decided to make the Control Panel AUTOMATICALLY update. Cpt they didnt expect it loading every 1 second sucking up everyones ram. Lol they should make it run once every 5 minutes or so

PostPosted: 29. September 2006 15:41
by dimchopicha2003
The problem is not that pv.exe is running every second (at least not such a big problem), but that it didn't freeing the resourses it use after that.
Wiki link - memory leak:
In computer science, a memory leak is a particular kind of unintentional memory consumption by a computer program where the program fails to release memory when no longer needed.
Pv.exe just fails to release the used resourses.
I am wondering how this problem could be from 17.May.2006 with version 2.3 of the CP and now 29.Sept.2006 this problem is still not fixed, OR the developers still bundling XAMPP with this buggy memory leaking CP v.2.3 with there version of XAMPP 1.5.4 from 09.Sept.2006. :shock: :shock: :shock:

PostPosted: 21. November 2006 23:29
by stezzz
so when is this problem going to get fixxed?
or how can you use a work around for this problem?
i have a windows 2k3 server and i have 2 options
1. install xampp and deal with the problem of pv.exe crashing all the time
2. installing apache php mysql by hand and don't have the luxery of xampp

sorry for my bad english.... i'm aware of this.