IE Agent crashing on Windows XP for version 2.11

Hi

I recently upgraded WPT to version 2.11 and since then I have the IE tests (with wptdriver) that keeps being stopped by the Windows DEP (Data Execution Prevention).
I disabled it, IE is crashing.
I modified it to add IE and all agents .exe into the whitelist and I still have the warnings

Other browsers are fine.
It used to work with urlBlast
I’m running it on Windows XP, lastest windows upgrades are made

Did someone encoutered this problem, is there a fix ?

I haven’t seen the issue but I also haven’t been using wptdriver on XP for IE much. When are you seeing the DEP warning? Right at launch or in the middle of a test?

at launch, before going to the site.
Note that sometimes, the page is displayed

I’ll try to reproduce it - IE 8, Windows XP 32-bit, VM Ware guest, wptdriver? What is the V icon (think it’s VNC but want to be sure)?

Thanks,

-Pat

yes, that’s VNC
It’s wptdriver, note that the problem does not occur on the same machine with the old urlBlast exe.

did you had the opportunity to test ?

Yes, sorry for not following up. I’ve been running wptdriver with IE in every config I can manage and can’t seem to reproduce the crash. I’ll start releasing debug builds along with the release ones (next one will be a couple of days) and then that should at least help track it down.

ok, I just did an update to the agents and also did a debug build of them (will try to do that regularly). The debug build is available here: http://www.webpagetest.org/releases/debug/

If you download debugview and run it while the agent is running it should spew all sorts of information about what it is doing: http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx

I copied / pasted all the files I found in the 2 archives in my agent folder. I run a triple test on IE, and here are the logs in debugView :

[2208] [Pagetest] ***** CIEHook::SetSite
[2208] [Pagetest] - Not hooking, wptdriver test is active
[2888] [Pagetest] ***** CIEHook::SetSite
[2888] [Pagetest] - Not hooking, wptdriver test is active
[3608] [Pagetest] ***** CIEHook::SetSite
[3608] [Pagetest] - Not hooking, wptdriver test is active

Are you sure you grabbed the debug versions of wptdriver.exe and wpthook.dll and that the agent wasn’t running when you tried to update? Those messages are from the debug build of pagetest.dll but it isn’t active because the test is being run by wptdriver.

I quit wptdriver before copying the files into the agent/ folder, and reboot the OS

Now I have only those logs for 2 triple tests :
[3108] [Pagetest] ***** CIEHook::SetSite
[3656] [Pagetest] ***** CIEHook::SetSite
[948] [Pagetest] ***** CIEHook::SetSite
[3256] [Pagetest] ***** CIEHook::SetSite
[3740] [Pagetest] ***** CIEHook::SetSite
[3936] [Pagetest] ***** CIEHook::SetSite

Not sure it better helps, or maybe I did something wrong again ?

Even without running any tests, just by running wptdriver you should see something like:

00000000	0.00000000	[4068] Starting...	
00000001	10.05265236	[4068] HKCR 	
00000002	10.05265236	[4068] { 	
00000003	10.05265236	[4068]  NoRemove CLSID 	
00000004	10.05265236	[4068]  { 	
00000005	10.05265236	[4068]   ForceRemove {2B925455-8D0C-401F-AA4C-9336C2167F14} = s 'WptBHO Class' 	
00000006	10.05265236	[4068]   { 	
00000007	10.05265236	[4068]    ForceRemove Programmable 	
00000008	10.05265236	[4068]    InprocServer32 = s 'C:\webpagetest\agent\wptbho.dll' 	
00000009	10.05265236	[4068]    { 	
00000010	10.05265236	[4068]     val ThreadingModel = s 'Apartment' 	
00000011	10.05265236	[4068]    } 	
00000012	10.05265236	[4068]    TypeLib = s '{24211012-D5F5-4827-8659-32E419A0D29B}' 	
00000013	10.05265236	[4068]    Version = s '1.0' 	
00000014	10.05265236	[4068]   } 	
00000015	10.05265236	[4068]  } 	
00000016	10.05265236	[4068] } 	
00000017	10.05265236	[4068]  	
00000018	10.05265236	[4068] HKLM 	
00000019	10.05265236	[4068] { 	
00000020	10.05265236	[4068]  NoRemove SOFTWARE 	
00000021	10.05265236	[4068]  { 	
00000022	10.05265236	[4068]   NoRemove Microsoft 	
00000023	10.05265236	[4068]   {  	
00000024	10.05265236	[4068]    NoRemove Windows 	
00000025	10.05265236	[4068]    { 	
00000026	10.05265236	[4068]     NoRemove CurrentVersion 	
00000027	10.05265236	[4068]     { 	
00000028	10.05265236	[4068]      NoRemove Explorer 	
00000029	10.05265236	[4068]      { 	
00000030	10.05265236	[4068]       NoRemove 'Browser Helper Objects' 	
00000031	10.05265236	[4068]       { 	
00000032	10.05265236	[4068]        ForceRemove {2B925455-8D0C-401F-AA4C-9336C2167F14} = s 'WebPagetest' 	
00000033	10.05265236	[4068]       } 	
00000034	10.05265236	[4068]      } 	
00000035	10.05265236	[4068]     } 	
00000036	10.05265236	[4068]    } 	
00000037	10.05265236	[4068]   } 	
00000038	10.05265236	[4068]  } 	
00000039	10.05265236	[4068] } 	
00000040	10.05265236	[4068] 	
00000041	10.06690884	[4068] HKCR 	
00000042	10.06690884	[4068] { 	
00000043	10.06690884	[4068]  NoRemove CLSID 	
00000044	10.06690884	[4068]  { 	
00000045	10.06690884	[4068]   ForceRemove {2B925455-8D0C-401F-AA4C-9336C2167F14} = s 'WptBHO Class' 	
00000046	10.06690884	[4068]   { 	
00000047	10.06690884	[4068]    ForceRemove Programmable 	
00000048	10.06690884	[4068]    InprocServer32 = s 'C:\webpagetest\agent\wptbho.dll' 	
00000049	10.06690884	[4068]    { 	
00000050	10.06690884	[4068]     val ThreadingModel = s 'Apartment' 	
00000051	10.06690884	[4068]    } 	
00000052	10.06690884	[4068]    TypeLib = s '{24211012-D5F5-4827-8659-32E419A0D29B}' 	
00000053	10.06690884	[4068]    Version = s '1.0' 	
00000054	10.06690884	[4068]   } 	
00000055	10.06690884	[4068]  } 	
00000056	10.06690884	[4068] } 	
00000057	10.06690884	[4068]  	
00000058	10.06690884	[4068] HKLM 	
00000059	10.06690884	[4068] { 	
00000060	10.06690884	[4068]  NoRemove SOFTWARE 	
00000061	10.06690884	[4068]  { 	
00000062	10.06690884	[4068]   NoRemove Microsoft 	
00000063	10.06690884	[4068]   {  	
00000064	10.06690884	[4068]    NoRemove Windows 	
00000065	10.06690884	[4068]    { 	
00000066	10.06690884	[4068]     NoRemove CurrentVersion 	
00000067	10.06690884	[4068]     { 	
00000068	10.06690884	[4068]      NoRemove Explorer 	
00000069	10.06690884	[4068]      { 	
00000070	10.06690884	[4068]       NoRemove 'Browser Helper Objects' 	
00000071	10.06690884	[4068]       { 	
00000072	10.06690884	[4068]        ForceRemove {2B925455-8D0C-401F-AA4C-9336C2167F14} = s 'WebPagetest' 	
00000073	10.06690884	[4068]       } 	
00000074	10.06690884	[4068]      } 	
00000075	10.06690884	[4068]     } 	
00000076	10.06690884	[4068]    } 	
00000077	10.06690884	[4068]   } 	
00000078	10.06690884	[4068]  } 	
00000079	10.06690884	[4068] } 	
00000080	10.06690884	[4068] 	
00000081	10.06769562	[4068] Installing software...	
00000082	10.06830883	[4068] [wptdriver] SoftwareUpdate::UpdateBrowsers	
00000083	10.06837273	[4068] [wptdriver] SoftwareUpdate::UpdateBrowsers complete: Succeeded	
00000084	10.06853485	[4068] Running...	
00000085	10.06872082	[4068] Checking for software updates...	
00000086	10.06886864	[4068] Checking for work...	
00000087	10.10232735	[4068] WebPagetest::GetTest	
00000088	10.17722416	[4068] WebPagetest::GetTest - No test available	
00000089	10.17773151	[4068] Waiting for work...	
00000090	15.20733166	[4068] Checking for software updates...	
00000091	15.20803261	[4068] Checking for work...	
00000092	15.20907307	[4068] WebPagetest::GetTest	
00000093	15.24399471	[4068] WebPagetest::GetTest - No test available	
00000094	15.24424267	[4068] Waiting for work...	
00000095	18.05778503	[4068] Stopping...	
00000096	18.07552338	[4068] Exiting...	

I downloaded the wptdriver-debug-109.zip version, and it seems you updated at least one file (different size when I copied it).
Now in the debugger I see the trace you are showing to me, however traces stop being that verbose before the first test

[2316] Starting... [2316] HKCR [2316] { [2316] NoRemove CLSID [2316] { [2316] ForceRemove {2B925455-8D0C-401F-AA4C-9336C2167F14} = s 'WptBHO Class' [2316] { [2316] ForceRemove Programmable [2316] InprocServer32 = s 'C:\webpagetest\agent\wptbho.dll' [2316] { [2316] val ThreadingModel = s 'Apartment' [2316] } [2316] TypeLib = s '{24211012-D5F5-4827-8659-32E419A0D29B}' [2316] Version = s '1.0' [2316] } [2316] } [2316] } [2316] [2316] HKLM [2316] { [2316] NoRemove SOFTWARE [2316] { [2316] NoRemove Microsoft [2316] { [2316] NoRemove Windows [2316] { [2316] NoRemove CurrentVersion [2316] { [2316] NoRemove Explorer [2316] { [2316] NoRemove 'Browser Helper Objects' [2316] { [2316] ForceRemove {2B925455-8D0C-401F-AA4C-9336C2167F14} = s 'WebPagetest' [2316] } [2316] } [2316] } [2316] } [2316] } [2316] } [2316] } [2316] [2316] HKCR [2316] { [2316] NoRemove CLSID [2316] { [2316] ForceRemove {2B925455-8D0C-401F-AA4C-9336C2167F14} = s 'WptBHO Class' [2316] { [2316] ForceRemove Programmable [2316] InprocServer32 = s 'C:\webpagetest\agent\wptbho.dll' [2316] { [2316] val ThreadingModel = s 'Apartment' [2316] } [2316] TypeLib = s '{24211012-D5F5-4827-8659-32E419A0D29B}' [2316] Version = s '1.0' [2316] } [2316] } [2316] } [2316] [2316] HKLM [2316] { [2316] NoRemove SOFTWARE [2316] { [2316] NoRemove Microsoft [2316] { [2316] NoRemove Windows [2316] { [2316] NoRemove CurrentVersion [2316] { [2316] NoRemove Explorer [2316] { [2316] NoRemove 'Browser Helper Objects' [2316] { [2316] ForceRemove {2B925455-8D0C-401F-AA4C-9336C2167F14} = s 'WebPagetest' [2316] } [2316] } [2316] } [2316] } [2316] } [2316] } [2316] } [2316] [2316] Installing software... [2316] [wptdriver] SoftwareUpdate::UpdateBrowsers [2316] [wptdriver] Checking browser - http://www.webpagetest.org/installers/browsers/chrome.dat [2316] [wptdriver] SoftwareUpdate::InstallSoftware - Chrome [2316] [wptdriver] SoftwareUpdate::InstallSoftware Complete Chrome: Succeeded [2316] [wptdriver] Checking browser - http://www.webpagetest.org/installers/browsers/firefox.dat [2316] [wptdriver] SoftwareUpdate::InstallSoftware - Firefox [2316] [wptdriver] SoftwareUpdate::InstallSoftware Complete Firefox: Succeeded [2316] [wptdriver] SoftwareUpdate::UpdateBrowsers complete: Succeeded [2316] [wptdriver] SoftwareUpdate::InstallSoftware - FlashAX [2316] [wptdriver] SoftwareUpdate::InstallSoftware Complete FlashAX: Succeeded [2316] [wptdriver] SoftwareUpdate::InstallSoftware - Flash [2316] [wptdriver] SoftwareUpdate::InstallSoftware Complete Flash: Succeeded [2316] [wptdriver] SoftwareUpdate::InstallSoftware - Silverlight [2316] [wptdriver] SoftwareUpdate::InstallSoftware Complete Silverlight: Succeeded [2316] Running... [2316] Checking for software updates... [2316] Checking for work... [2316] WebPagetest::GetTest [2316] Stopping... [2316] Waiting for work... [2316] Exiting... [664] [Pagetest] ***** CIEHook::SetSite

I think the auto update is overwriting the files, because I see that the files sizes have changed. How can I disable it ?

Go into work/update on your server and rename wptupdate.ini and update.ini

Thanks for the tip.

Here are the logs just before a triple test on IE is running. I manually clicked OK to have the Windows message disappear

[2260] Checking for work... [2260] WebPagetest::GetTest [2260] WebPagetest::GetTest - Processing test [2260] [wptdriver] - WptTestDriver::Load [2260] WptTest::Load() [2260] WptTest::Load() - Loaded test 130523_GQ_TM [2260] Starting test... [2260] [wptdriver] WptDriverCore::BrowserTest [2260] Flushing DNS cache... [2260] DnsFlushResolverCache returned 1 [2260] [wptdriver] - Throttling: 2500 Kbps in, 400 Kbps out, 110 ms latency, 0.00 plr [2260] Launching: "C:\Program Files\Internet Explorer\iexplore.exe" about:blank [2260] [2260] Waiting up to 240 seconds for the test to complete [2260] [3224] [Pagetest] ***** CIEHook::SetSite [3224] [WptBHO] SetSite [3224] [wptbho] - InstallHook [2260] [wptdriver] WptDriverCore::BrowserTest done [2260] [wptdriver] WptDriverCore::BrowserTest [2260] Flushing DNS cache... [2260] DnsFlushResolverCache returned 1 [2260] [wptdriver] - Throttling: 2500 Kbps in, 400 Kbps out, 110 ms latency, 0.00 plr [2260] Launching: "C:\Program Files\Internet Explorer\iexplore.exe" about:blank [2260] [2260] Waiting up to 240 seconds for the test to complete [2260] [3216] [Pagetest] ***** CIEHook::SetSite [3216] [WptBHO] SetSite [3216] [wptbho] - InstallHook [2260] [wptdriver] WptDriverCore::BrowserTest done [2260] [wptdriver] WptDriverCore::BrowserTest [2260] Flushing DNS cache... [2260] DnsFlushResolverCache returned 1 [2260] [wptdriver] - Throttling: 2500 Kbps in, 400 Kbps out, 110 ms latency, 0.00 plr [2260] Launching: "C:\Program Files\Internet Explorer\iexplore.exe" about:blank [2260] [2260] Waiting up to 240 seconds for the test to complete [2260] [1332] [Pagetest] ***** CIEHook::SetSite [1332] [WptBHO] SetSite [1332] [wptbho] - InstallHook

Hi Pat,

Any updates on this? I’m also getting the same IE crash and debug log shows the same thing.

Thanks,
Vicky

No, I’ll see if I can add some extra instrumentation to the hook installing code to see if we can get some more details. That is the point where we inject the instrumentation DLL into the browser process so it’s certainly a risky bit of code but I haven’t seen it crash.

ok, I changed some things that could possibly be going wrong around the code injection and also added a bunch more instrumentation in case it’s still crashing: http://www.webpagetest.org/releases/debug/ (grab the 115 release). If that works then you can just grab the latest build from the WPT server: https://sites.google.com/a/webpagetest.org/docs/private-instances#TOC-Updating-Test-Agents

If it is still crashing, please upload another log and hopefully it gets us closer to the cause.

Sorry for my long absence.

The debug version (116) works fine, thanks !
I updated the agents on the server with your latest versions

Many thanks

ok, we changed of problem :slight_smile:
Here is the complete error message
[attachment=297]