Help! IIS Filter Crash

Topics: Developer Forum, Project Management Forum, User Forum
Jun 22, 2007 at 1:03 PM
The hosting company kindly installed this filter for us and it all appeared to be working but we've had an email from the hosting company saying the filter keeps crashing. This is what they get in their error logs...

Application popup: Microsoft Visual C++ Debug Library : Debug Assertion Failed!
Program: d:\windows\system32\inetsrv\w3wp.exe
File: f:\sp\vctools\crtbld\selfx86\crt\src\vsprintf.c
Line: 244
Expression: ("Buffer too small", 0)

For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts.

Faulting application w3wp.exe, version 6.0.3790.1830, faulting module ntdll.dll, version 5.2.3790.1830, fault address 0x00022583.

I'm using the rules fine on my local apache server - I had to translate them a bit for this one (NC => I, ! operator in RewriteCond needing changing etc)...


  1. swap round the javascript php files to read correctly
RewriteRule ^/(.*)\.php\.js /$1.js.php

  1. rewrite the filetype icons nicely
RewriteRule ^/images/icons/small/(.*)$ /images/filetypes/filetypes.php?filename=$1&prefix=s_ I,L,U
RewriteRule ^/images/icons/(.*)$ /images/filetypes/filetypes.php?filename=$1 I,L,U

  1. allows the images/ directory to be used anywhere
RewriteCond %{HTTP_URL} ^(?!/(htmlarea)) I
RewriteRule ^/.+images/(.*) /images/$1 I

  1. NEWS
RewriteRule ^/news/files/(0-9)/(0-9)/(.*)? /file.php?path=news&src=$1_$2&filename=$3 I,L,U
RewriteRule ^/news($|\.htm$|/(index\.(php|html?))?$) /news.php I,L,U
RewriteRule ^/news/(^/\.+)\.htm(.*)? /news.php?filename=$1 I,L,U

  1. CASE STUDIES
RewriteRule ^/case-studies/files/(0-9)/(0-9)/(.*)? /file.php?path=case&src=$1_$2&filename=$3 I,L,U
RewriteRule ^/case-studies($|\.htm$|/(index\.(php|html?))?$) /case.php I,L,U
RewriteRule ^/case-studies/(^/\.+)\.htm(.*)? /case.php?filename=$1 I,L,U

  1. PRODUCTS
RewriteRule ^/products($|\.htm|/(index\.(php|html?))?$) /products_index.php I,L,U
RewriteRule ^/products/(^/\.+)($|\.htm$|/(index\.(php|html?))?$) /products.php?cat_name=$1&pg=1 I,L,U
RewriteRule ^/products/(^/\.)/page(0-9)\.htm$ /products.php?cat_name=$1&pg=$2 I,L,U
RewriteRule ^/products/(^/\.)/(^/\.)($|\.htm|/(index\.(php|html?))?$) /products.php?catname=$1&dirname=$2 I,L,U

  1. SERVICES
RewriteRule ^/services($|\.htm|/(index\.(php|html?))?$) /services.php I,L,U
RewriteRule ^/services/(^/\.+)($|\.htm$|/(index\.(php|html?))?$) /services_$1.php I,L,U

  1. rewrite anything with .htm on the end to .php unless its in the htmlarea directory
RewriteCond %{HTTP_URL} ^(?!/(htmlarea)) I
RewriteRule ^/(.)\.htm(.)$ /$1.php$2


(btw, I know file.php looks a bit insecure bit it isn't - it only allows certain paths to be passed over or produces a 404 ;) )



anyone know what this could be or see any problems with the rules...?

Thanks!
Coordinator
Jun 27, 2007 at 7:23 PM
I cannot read your rules because you haven't enclosed then in double curly-braces. The rules are being interpreted as markup.

BUT, the assertion that failed is not a sign of a bad rule. It is a bug in the filter.

Given the information here, it is hard for me to know where the problem might be.

What version of the filter are you running?
Jul 2, 2007 at 10:27 AM

Cheeso wrote:
BUT, the assertion that failed is not a sign of a bad rule. It is a bug in the filter.

Given the information here, it is hard for me to know where the problem might be.

What version of the filter are you running?



thanks for your reply, the hosting company think the version is 1.2.11b but can't be sure. is there anyway of finding out?
Coordinator
Jul 3, 2007 at 12:48 AM
can check the logfile for the version . when IIRF starts up it writes the version of the filter to the logfile.
Jul 3, 2007 at 8:32 AM

Cheeso wrote:
can check the logfile for the version . when IIRF starts up it writes the version of the filter to the logfile.


the hosting company has informed me the version is 1.2.11b
Coordinator
Jul 13, 2007 at 5:56 PM
Is the problem reproducible? If I sent you a debug-enabled binary, could you repro the problem at will and get me a stack trace?
Jul 16, 2007 at 10:33 AM
I'd imagine its probably reproducable, we've had to put the site on temporary hosting elsewhere for the timebeing but I'm going to go back and test it agian on the old hosting because they want it on that for some reason. Anyway, they've updated it to the latest one, so if you could send me the debug binary for the new one with instructions, I'll pass it on.

Will this debug binary affect any other sites on the server that may be using the filter is it only my instance of the filter? The thing that was strange about the original problem was that it was only my instance of the filter that was crashing not the other sites using the server. So it might be something to do with how its parsing my rules? But as you and I both said, the rules seem fine, they work fine on apache anyway

cheers

nick (nick at pjweb dot co dot uk)
Coordinator
Jul 16, 2007 at 1:02 PM
Ok, I will post a debug release and update this thread when it is available.
The debug binary, or any ISAPI filter, can be installed separately so that it only affects a single website.

Yes, the problem is probably in how IIRF handles your particular rules.

Jul 23, 2007 at 1:32 PM
Hi Cheeso

do you know roughly when you'll have the debug release for me? I'm aware that this is free software so I don't want to pester you!!

Cheers

Nick
Coordinator
Jul 23, 2007 at 5:03 PM
Nick,
try this

http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx?ReleaseId=6043
Jul 24, 2007 at 8:14 AM
thanks Cheeso,

I take it the filter will just run as normal but output a bit more gumph for debug purposes? Will it all get put into Event Viewer or a log file somewhere?

Nick
Jul 27, 2007 at 10:00 AM
Edited Jul 27, 2007 at 10:04 AM
Hi Cheeso

The site stops working altogether with this debug release. Is it supposed to?

It does seem to create some log files though...

{"--------------------------------------------

Tue Jul 24 11:09:36 2007 - Read .ini file: setting LogLevel to 3

Tue Jul 24 11:09:36 2007 - Done reading .ini file: Found 18 rules (0 failed) on 50 lines

Tue Jul 24 11:09:36 2007 - Ionic URL Rewriting ISAPI Filter v1.2.12d

Tue Jul 24 11:09:36 2007 - Initialize, main threadId= 3864

Tue Jul 24 11:09:36 2007 - File watcher thread created.

Tue Jul 24 11:09:36 2007 - GetFilterVersion

Tue Jul 24 11:09:36 2007 - HttpFilterProc SFNOTIFYURL_MAP

Tue Jul 24 11:09:36 2007 - HttpFilterProc SFNOTIFYAUTH_COMPLETE

Tue Jul 24 11:09:36 2007 - DoRewrites

Tue Jul 24 11:09:40 2007 - DllMain THREAD_DETACH, threadId= 7112

Tue Jul 24 11:09:40 2007 - DllMain THREAD_DETACH, threadId= 3408

Tue Jul 24 11:09:41 2007 - DllMain THREAD_DETACH, threadId= 6096

Tue Jul 24 11:09:41 2007 - DllMain THREAD_DETACH, threadId= 4100

Tue Jul 24 11:09:41 2007 - DllMain THREAD_DETACH, threadId= 3460

Tue Jul 24 11:09:46 2007 - DllMain THREAD_DETACH, threadId= 4560

Tue Jul 24 11:10:46 2007 - DllMain THREAD_DETACH, threadId= 5812

Tue Jul 24 11:10:46 2007 - DllMain THREAD_DETACH, threadId= 6224

Tue Jul 24 11:10:46 2007 - DllMain THREAD_DETACH, threadId= 3120

Tue Jul 24 11:10:46 2007 - DllMain THREAD_DETACH, threadId= 2980

Tue Jul 24 11:11:46 2007 - DllMain THREAD_DETACH, threadId= 7548

Tue Jul 24 11:11:46 2007 - DllMain THREAD_DETACH, threadId= 2356

Tue Jul 24 11:12:46 2007 - DllMain THREAD_DETACH, threadId= 5792

Tue Jul 24 11:13:02 2007 - DllMain THREAD_DETACH, threadId= 7344

Tue Jul 24 11:13:02 2007 - DllMain THREAD_DETACH, threadId= 6284

Tue Jul 24 11:13:02 2007 - DllMain THREAD_DETACH, threadId= 5560

Tue Jul 24 11:13:36 2007 - DllMain THREAD_DETACH, threadId= 2320

Tue Jul 24 11:13:46 2007 - DllMain THREAD_DETACH, threadId= 6304

Tue Jul 24 11:13:46 2007 - DllMain THREAD_DETACH, threadId= 6168

Tue Jul 24 11:13:46 2007 - DllMain THREAD_DETACH, threadId= 4328

Tue Jul 24 11:14:40 2007 - DllMain THREAD_DETACH, threadId= 2812

Tue Jul 24 11:14:46 2007 - DllMain THREAD_DETACH, threadId= 7992

Tue Jul 24 11:14:46 2007 - DllMain THREAD_DETACH, threadId= 5224

Tue Jul 24 11:14:46 2007 - DllMain THREAD_DETACH, threadId= 2632

Tue Jul 24 11:14:46 2007 - DllMain THREAD_DETACH, threadId= 7304

Tue Jul 24 11:15:26 2007 - DllMain THREAD_DETACH, threadId= 7760

Tue Jul 24 11:15:27 2007 - DllMain THREAD_DETACH, threadId= 6912

Tue Jul 24 11:15:27 2007 - DllMain THREAD_DETACH, threadId= 2808

Tue Jul 24 11:15:27 2007 - DllMain THREAD_DETACH, threadId= 3616

Tue Jul 24 11:15:28 2007 - DllMain THREAD_DETACH, threadId= 6236

Tue Jul 24 11:15:28 2007 - DllMain THREAD_DETACH, threadId= 1688

Tue Jul 24 11:15:28 2007 - DllMain THREAD_DETACH, threadId= 4560

Tue Jul 24 11:15:46 2007 - DllMain THREAD_DETACH, threadId= 8016

Tue Jul 24 11:16:47 2007 - DllMain THREAD_DETACH, threadId= 4440

Tue Jul 24 11:16:47 2007 - DllMain THREAD_DETACH, threadId= 7208

Tue Jul 24 11:16:47 2007 - DllMain THREAD_DETACH, threadId= 736

Tue Jul 24 11:16:47 2007 - DllMain THREAD_DETACH, threadId= 7672

Tue Jul 24 11:17:47 2007 - DllMain THREAD_DETACH, threadId= 6320

Tue Jul 24 11:17:47 2007 - DllMain THREAD_DETACH, threadId= 8016

Tue Jul 24 11:18:09 2007 - DllMain THREAD_DETACH, threadId= 3084"}

...snip...

{"Tue Jul 24 13:28:35 2007 - HttpFilterProc SF_NOTIFY_URL_MAP

Tue Jul 24 13:28:35 2007 - HttpFilterProc SFNOTIFYAUTH_COMPLETE

Tue Jul 24 13:28:35 2007 - DoRewrites"}

does that mean anything to you?!?

Cheers

Nick
Aug 25, 2007 at 4:31 PM
Cheeso -

Any update on this issue? I'm having the same exact problem and it's killing some of my application pools in iis6 wherein I have to end up restarting those app pools or iis altogether and in fact I've had 2 instances wherein the server crashed entirely and rebooted. I'm painstakingly trying to go through my conditions and whatnot to see if the problem is one of my expressions. But, if you have any suggestions or help here, would love to get this fixed as I love this tool generally, ease of use, speed, etc.

Thanks so much -

Homermt
Coordinator
Sep 1, 2007 at 3:16 PM
let me have a look...
Sep 14, 2007 at 10:13 AM
These are the rules NickAllen is referring to. The site still crashed the application pool in IIS6. This server runs another website using the same filter and this doesn’t crash, which leads me to the conclusion that it is a certain style of rule which is causing the pool to fail. Any chance this can get resolved?

#RewriteRule ^/$ /index.htm [U]
 
# swap round the javascript php files to read correctly
RewriteRule ^/(.*)\.php\.js /$1.js.php
 
#RewriteRule ^/(.+)$ /php.php?thing=$1&HTTP_URL=%{HTTP_URL}HTTP_USER_AGENT=%{HTTP_USER_AGENT} [L,I]
 
# rewrite the filetype icons nicely
RewriteRule ^/images/icons/small/(.*)$ /images/filetypes/filetypes.php?filename=$1&prefix=s_ [I,L,U]
RewriteRule ^/images/icons/(.*)$ /images/filetypes/filetypes.php?filename=$1 [I,L,U]
 
# allows the images/ directory to be used anywhere
RewriteCond %{HTTP_URL} ^(?!/(htmlarea)) [I]
RewriteRule ^/.+images/(.*) /images/$1 [I]
 
# NEWS
RewriteRule ^/news/files/([0-9]+)/([0-9]+)/(.*)? /file.php?path=news&src=$1_$2&filename=$3 [I,L,U]
RewriteRule ^/news($|\.htm$|/(index\.(php|html?))?$) /news.php [I,L,U]
RewriteRule ^/news/([^/\.]+)\.htm(.*)? /news.php?filename=$1 [I,L,U]
 
# CASE STUDIES
RewriteRule ^/case-studies/files/([0-9]+)/([0-9]+)/(.*)? /file.php?path=case&src=$1_$2&filename=$3 [I,L,U]
RewriteRule ^/case-studies($|\.htm$|/(index\.(php|html?))?$) /case.php [I,L,U]
RewriteRule ^/case-studies/([^/\.]+)\.htm(.*)? /case.php?filename=$1 [I,L,U]
 
# PRODUCTS
RewriteRule ^/products($|\.htm|/(index\.(php|html?))?$) /products_index.php [I,L,U]
RewriteRule ^/products/([^/\.]+)($|\.htm$|/(index\.(php|html?))?$) /products.php?cat_name=$1&pg=1 [I,L,U]
RewriteRule ^/products/([^/\.]+)/page([0-9]+)\.htm$ /products.php?cat_name=$1&pg=$2 [I,L,U]
RewriteRule ^/products/([^/\.]+)/([^/\.]+)($|\.htm|/(index\.(php|html?))?$) /products.php?cat_name=$1&dir_name=$2 [I,L,U]
 
# SERVICES
RewriteRule ^/services($|\.htm|/(index\.(php|html?))?$) /services.php [I,L,U]
RewriteRule ^/services/([^/\.]+)($|\.htm$|/(index\.(php|html?))?$) /services_$1.php [I,L,U]
 
 
 
# rewrite anything with .htm on the end to .php unless its in the htmlarea directory
RewriteCond %{HTTP_URL} ^(?!/(htmlarea)) [I]
RewriteRule ^/(.*)\.htm(.*)$ /$1.php$2
 
 
RewriteCond %{HTTP_USER_AGENT} .*(Netscape.?7).* [I]
RewriteCond %{HTTP_USER_AGENT} .*(Windows).* [I]
RewriteRule ^(.*)style2.css$ $1style_ns7win.css
 
 
RewriteLog  E:\Hosted_Web\LocalUser\filingheavencom\iirfLog.out
RewriteLogLevel 3
Sep 21, 2007 at 11:25 AM
Homermt,

could you post your rules up so we can see if there's a similarity in particular rules that may be crashing the filter? That would be really helpful!

Oct 9, 2007 at 7:45 PM
Add me to the list of folks experiencing this problem. I'm only using IIRF on one site I manage, but it's blowing IIS out a few times a day, with the following error:

Debug Assertion Failed!
Program: C:\WINNT\system32\inetsrv\inetinfo.exe
File: f:\sp\vctools\crtbld\selfx86\crt\src\vsprintf.c
Line: 244

Expression: ("Buffer too small", 0)

Here are my rules:

RewriteLog  c:\temp\iirfLog.out
RewriteLogLevel 3
 
# MaxMatchCount
MaxMatchCount 10
 
# IterationLimit
IterationLimit 10
 
# Force the www host
RewriteCond %{HTTP_HOST} ^cdsionline\.com [I]
RewriteRule ^/(.*) http://www.cdsionline.com/$1 [R,I]
 
# Remote Image Linking
RewriteCond %{HTTP_REFERER} ^(?!HTTP_REFERER) 
RewriteCond %{HTTP_REFERER} ^(?!https?://(?:www\.)cdsionline\.com/)   [I]
RewriteCond %{HTTP_REFERER} ^(?!https?://(?:dev\.)cdsionline\.com/)   [I]
RewriteCond %{HTTP_REFERER} ^(?!https?://(?:www\.)google\.com/)   [I]
RewriteCond %{HTTP_REFERER} ^(?!https?://(?:www\.)constantcontact\.com/)   [I]
RewriteCond %{HTTP_REFERER} ^(?!https?://(?:ui\.)constantcontact\.com/)   [I]
RewriteRule ^(?!/images/email)(.*)\.(?:gif|jpg|jpeg|png)$ /blocked.png   [I,L]
RewriteRule ^blocked\.png$/ blocked.png [I,L]
 
# Custom URLs
RewriteRule ^/fmsdsupport /profile.aspx?ProfileID=00480755-c80c-46e4-bb49-cc40c1d5c442	[I]
RewriteRule ^/rob /profile.aspx?ProfileID=16df663c-4b9b-45df-935a-998e89e74475 [I]
RewriteRule ^/josh /profile.aspx?ProfileID=6b910f82-5329-4330-987b-076fb13b9edb [I]

I hate to pull the rewriter, but it's causing real problems. For some reason, when IIS crashes in this way it loses any configuration changes since the last service restart.

Thanks,
Josh

PS -- the Wiki Markup Guide might need to be updated to show double curly-braces for no formatting. It shows a curly brace and a quote.
Oct 10, 2007 at 9:07 PM
Edited Oct 10, 2007 at 9:27 PM
joshcdsi,

As far as IIS losing its settings when it crashes, please check to make sure that the .dll and .ini are not installed in the inetsrv directory. I had the same problem and had a plethora of related errors in the System event log. Look for Event ID: 51228. Unfortunately, the rewriter never lets IIS Metabase changes write to disk due to some sort of lock on the metabase.xml file and you will lose all of your settings when you reset IIS, cleanly or not. You should see these errors disappear after moving the files out of the inetsrv directory.

-pk
Oct 11, 2007 at 1:21 PM
Thanks, I did have it in the inetsrv directory. I've since moved it to its own directory. Let's see what happens. As for the core problem, I'll wait and see what other replies come in. If IIS settings aren't blown out then the issue isn't as critical, but the crash does result in our users not having access for several minutes and affects anything based on the ASP.NET Membership infrastructure, requiring that people log in again.

Josh
Oct 27, 2007 at 3:46 PM
I spent some time disabling the rules I have to determine where the error is happening, and it appears that it's somewhere in the block of rules dealing with remote image linking. This is actually the core reason I implemented the rewriter, so not having access to this functionality is a killer.

Has there been any progress on determining what might be causing this error, or how to work around it?
Oct 29, 2007 at 8:29 AM
I suspect its actually something wrong with the core RewriteCond functionality as this problem only seems to occur for people with RewriteCond. As far as I'm aware, I'm not sure we've had any more problems since we updated to the latest version, however, I could be wrong
Oct 29, 2007 at 5:27 PM
Nick,

Which version are you using? 1.2.12c or the 1.2.12d beta? I'm on the 1.2.12c build and having this problem regularly.

Josh
Nov 6, 2007 at 10:01 PM
I love this filter, it's helped immensely here so great work..

But I'd have to double check, but I think this is the same error I'm getting about every 2 weeks and it's crashing IIS5. I am running an older version v1.2.10 (no suffix) from 11 July 2006, but I have tried 1.2.11b and it constantly crashed, and then I just tried updating to 1.2.12d and it crashed straight away after restarting the service. Then I tried stop it so I could install the older version of the filter again but it had hung IIS and I wouldn't stop. I needed to disable the service, then reboot to install the old version.

Let me know if you need any info trying to sort this out.
Coordinator
Nov 21, 2007 at 10:16 AM
@joshcdsi
if you have a repro, it is easier for me to fix it!
I know you said you narrowed the problem a bit, but if you could repro this in the testdriver or otherwise give me a clear set of steps to reproduce it, (which URL is choking?) that would be helpful!
Nov 23, 2007 at 2:08 AM
This the error message I get when it crashes:

--

Debug Assertion Failed

Program: C:\WINNT\System32\inetsrv\inetinfo.exe
File: F\RTM\vctools\crtbld\SELFX86\crt\src\tcscpy_s.inl
Line:30

Expression: (L"Buffer is too small" && 0)

For information... etc
Nov 26, 2007 at 5:30 PM
I can't reliably reproduce the problem, I can only prevent it from happening by removing the rules associated with remote image linking. So I've identified the general cause, but not with enough detail to provide an example.

Josh
Dec 5, 2007 at 5:25 AM
Hello all,

I believe I am getting the same (or similar) error, hopefully the information I have can shed some light on the situation. This afternoon IIS just kept on crashing, which was a nightmare. The error posted in the event log was:

--
Application popup: Microsoft Visual C++ Debug Library : Debug Assertion Failed!

Program: C:\WINNT\system32\inetsrv\inetinfo.exe
File: f:\sp\vctools\crtbld\selfx86\crt\src\vsprintf.c
Line: 244

Expression: ("Buffer too small", 0)
--
Relevant expressions:
RewriteCond %{URL} (?!^/(?:resources|export|webdav)$)^/.*$
RewriteCond %{URL} (?!^/(?:resources|export|webdav)/)^/.*$
RewriteRule (?!^/opencms/)^/(.*)$ /opencms/$1 [L]

The last logged request had a request path of "/opencms/shop/images/save_$150wwbonline.gif", which I thought was suspicious. I got the user to rename their files to avoid the $ sign and the crashing stopped. Is this the same error as in previous posts to this thread? Or is it due to the extra $ sign in the first RewriteCond expression?

Thanks for your help, and thanks to Cheeso for creating this project - despite the above, it's made a real difference to my ability to get projects working.

Cheers,
JT
Dec 5, 2007 at 10:20 AM
No, I don't think it's a file naming issue for me. My site's files are all alphanumeric with no symbols. I did a few tests putting a $ in a querystring but wasn't able to get it to crash. I'm still at a loss and have had to disable the rewriter.

Josh
Dec 5, 2007 at 9:48 PM
Hmm. Is it possible it's related to the use of zero-width negative lookahead in the regular expression?

As a more general question, what is the best way of debugging what's going on here? IIS is crashing once a week or so and I'd like to narrow down the cause to either IIRF or the Tomcat JK connector.
Coordinator
Feb 5, 2008 at 7:04 PM
Hey everybody, I don't have any good ideas here.
IIRF is sort of a part time thing for me, so I apologize for the poor response you're getting, but it is hard to avoid.
This is pro-bono work for me.

I have recently updated to a later version of the PCRE engine, which may be worth testing.

I would love to have a repro for this problem.
Feb 14, 2008 at 1:46 PM
It is crashing for me too. I was able to reproduce it. Below are the url that causes the crash, the only rule in my filter, and the log file showing failure. It fails both on 1.2.12c and 1.2.13. Below is the results from 1.2.13.

As you can see, the filter is choking on the percent sign followed by the 200 near the end of the url. Any workarounds are greatly appreciated.

URL: http://www.foobar.com/gkrsuvdhtmy/e/14633158717?tob=Y&bnrefer=0-10000-7374-5000000%200-1

Filter:
"
RewriteRule ^/(.*)/e/(\d{4,13})	/search/product.asp?EAN=$2&ourl=$1&%{QUERY_STRING} [I,L]
"

Log File:
"
--------------------------------------------
Thu Feb 14 09:26:04 2008 - Read .ini file: setting LogLevel to 5
Thu Feb 14 09:26:04 2008 - ini line  14: RewriteRule   1 ^/(.*)/e/(\d{4,13})                            /search/product.asp?EAN=$2&ourl=$1&%{QUERY_STRING}    [I,L]
Thu Feb 14 09:26:04 2008 - not a duplicate rule...
Thu Feb 14 09:26:04 2008 - ParseRuleModifierFlags: '[I,L]'
Thu Feb 14 09:26:04 2008 - ParseRuleModifierFlags: token 'I'
Thu Feb 14 09:26:04 2008 - rule: Case Insensitive match
Thu Feb 14 09:26:04 2008 - ParseRuleModifierFlags: token 'L'
Thu Feb 14 09:26:04 2008 - rule: Last
Thu Feb 14 09:26:04 2008 - Done reading .ini file: Found 1 rules (0 failed) on 15 lines
Thu Feb 14 09:26:04 2008 - Ionic URL Rewriting ISAPI Filter v1.2.13
Thu Feb 14 09:26:04 2008 - Initialize,  main threadId= 3232
Thu Feb 14 09:26:04 2008 - File watcher thread created.
Thu Feb 14 09:26:04 2008 - GetFilterVersion
Thu Feb 14 09:26:04 2008 - FileChangeWatcher(): Enter, threadId=3280...
Thu Feb 14 09:26:04 2008 - FileChangeWatcher: Await()...
Thu Feb 14 09:26:04 2008 - AwaitIniChangeAndReinit()...
Thu Feb 14 09:26:32 2008 - HttpFilterProc SF_NOTIFY_URL_MAP
Thu Feb 14 09:26:32 2008 - OnUrlMap: storing physical path (D:\Inetpub\Search\gkrsuvdhtmy\e\14633158717), in ptr (0x0010f078)
Thu Feb 14 09:26:32 2008 - HttpFilterProc SF_NOTIFY_AUTH_COMPLETE
Thu Feb 14 09:26:32 2008 - DoRewrites
Thu Feb 14 09:26:32 2008 - GetServerVariable_AutoFree: getting 'url'
Thu Feb 14 09:26:32 2008 - GetServerVariable_AutoFree - no joy (likely reason: server var not set yet) (GetLastError()=1413)
Thu Feb 14 09:26:32 2008 - GetServerVariable_AutoFree: 128 bytes
Thu Feb 14 09:26:32 2008 - GetServerVariable_AutoFree: result ''
Thu Feb 14 09:26:32 2008 - GetHeader_AutoFree: 33 bytes
Thu Feb 14 09:26:32 2008 - GetHeader_AutoFree: result '/gkrsuvdhtmy/e/14633158717?tob=Y'
Thu Feb 14 09:26:32 2008 - GetServerVariable_AutoFree: getting 'QUERY_STRING'
Thu Feb 14 09:26:32 2008 - GetServerVariable_AutoFree: 6 bytes
Thu Feb 14 09:26:32 2008 - GetServerVariable_AutoFree: result 'tob=Y'
Thu Feb 14 09:26:32 2008 - GetHeader_AutoFree: 4 bytes
Thu Feb 14 09:26:32 2008 - GetHeader_AutoFree: result 'GET'
Thu Feb 14 09:26:32 2008 - New Url: '/gkrsuvdhtmy/e/14633158717?tob=Y'
Thu Feb 14 09:26:32 2008 - ApplyRules (depth=0)
Thu Feb 14 09:26:32 2008 - Rule 1 : 3 matches
Thu Feb 14 09:26:32 2008 - GetServerVariable: getting 'QUERY_STRING'
Thu Feb 14 09:26:32 2008 - GetServerVariable: 6 bytes
Thu Feb 14 09:26:32 2008 - GetServerVariable: result 'tob=Y'
Thu Feb 14 09:26:32 2008 - ReplaceServerVariables: VariableName='QUERY_STRING' Value='tob=Y'
Thu Feb 14 09:26:32 2008 - ReplaceServerVariables: InputString='/search/product.asp?EAN=$2&ourl=$1&%{QUERY_STRING}' out='/search/product.asp?EAN=$2&ourl=$1&tob=Y'
Thu Feb 14 09:26:32 2008 - GenerateReplacementString: src='/gkrsuvdhtmy/e/14633158717?tob=Y','(null)' ReplacePattern='/search/product.asp?EAN=$2&ourl=$1&tob=Y' vec=[[  [  0, 26, 1, 12, 15, 26] [] ] counts=3,0
Thu Feb 14 09:26:32 2008 - GenerateReplacementString: replacing ($2) with 14633158717
Thu Feb 14 09:26:32 2008 - GenerateReplacementString: replacing ($1) with gkrsuvdhtmy
Thu Feb 14 09:26:32 2008 - Result (length 58): /search/product.asp?EAN=14633158717&ourl=gkrsuvdhtmy&tob=Y
Thu Feb 14 09:26:32 2008 - Last if Match
Thu Feb 14 09:26:32 2008 - ApplyRules: returning 1
Thu Feb 14 09:26:32 2008 - Rewrite Url to: '/search/product.asp?EAN=14633158717&ourl=gkrsuvdhtmy&tob=Y'
Thu Feb 14 09:26:32 2008 - HttpFilterProc SF_NOTIFY_URL_MAP
Thu Feb 14 09:26:32 2008 - OnUrlMap: storing physical path (D:\Inetpub\Search\search\product.asp), in ptr (0x0010f078)
Thu Feb 14 09:26:32 2008 - HttpFilterProc SF_NOTIFY_URL_MAP
Thu Feb 14 09:26:43 2008 - HttpFilterProc SF_NOTIFY_URL_MAP
Thu Feb 14 09:26:43 2008 - OnUrlMap: storing physical path (D:\Inetpub\Search\gkrsuvdhtmy\e\14633158717), in ptr (0x00116ea8)
Thu Feb 14 09:26:43 2008 - HttpFilterProc SF_NOTIFY_AUTH_COMPLETE
Thu Feb 14 09:26:43 2008 - DoRewrites
Thu Feb 14 09:26:43 2008 - GetServerVariable_AutoFree: getting 'url'
Thu Feb 14 09:26:43 2008 - GetServerVariable_AutoFree - no joy (likely reason: server var not set yet) (GetLastError()=1413)
Thu Feb 14 09:26:43 2008 - GetServerVariable_AutoFree: 128 bytes
Thu Feb 14 09:26:43 2008 - GetServerVariable_AutoFree: result ''
Thu Feb 14 09:26:43 2008 - GetHeader_AutoFree: 68 bytes
Thu Feb 14 09:26:43 2008 - GetHeader_AutoFree: result '/gkrsuvdhtmy/e/14633158717?tob=Y&bnrefer=0-10000-7374-5000000%200-1'
Thu Feb 14 09:26:43 2008 - GetServerVariable_AutoFree: getting 'QUERY_STRING'
Thu Feb 14 09:26:43 2008 - GetServerVariable_AutoFree: 41 bytes
Thu Feb 14 09:26:43 2008 - GetServerVariable_AutoFree: result 'tob=Y&bnrefer=0-10000-7374-5000000%200-1'
Thu Feb 14 09:26:43 2008 - GetHeader_AutoFree: 4 bytes
Thu Feb 14 09:26:43 2008 - GetHeader_AutoFree: result 'GET'
Thu Feb 14 09:26:43 2008 - New Url: '/gkrsuvdhtmy/e/14633158717?tob=Y&bnrefer=0-10000-7374-5000000%200-1'
Thu Feb 14 09:26:43 2008 - ApplyRules (depth=0)
Thu Feb 14 09:26:43 2008 - Rule 1 : 3 matches
Thu Feb 14 09:26:43 2008 - GetServerVariable: getting 'QUERY_STRING'
Thu Feb 14 09:26:43 2008 - GetServerVariable: 41 bytes
Thu Feb 14 09:26:43 2008 - GetServerVariable: result 'tob=Y&bnrefer=0-10000-7374-5000000%200-1'
Thu Feb 14 09:26:43 2008 - ReplaceServerVariables: VariableName='QUERY_STRING' Value='tob=Y&bnrefer=0-10000-7374-5000000%200-1'
Thu Feb 14 09:26:43 2008 - ReplaceServerVariables: InputString='/search/product.asp?EAN=$2&ourl=$1&%{QUERY_STRING}' out='/search/product.asp?EAN=$2&ourl=$1&tob=Y&bnrefer=0-10000-7374-5000000%200-1'
Thu Feb 14 09:26:43 2008 - GenerateReplacementString: src='/gkrsuvdhtmy/e/14633158717?tob=Y&bnrefer=0-10000-7374-5000000%200-1','(null)' ReplacePattern='/search/product.asp?EAN=$2&ourl=$1&tob=Y&bnrefer=0-10000-7374-5000000%200-1' vec=[[  [  0, 26, 1, 12, 15, 26] [] ] counts=3,0
Thu Feb 14 09:26:43 2008 - GenerateReplacementString: replacing ($2) with 14633158717
Thu Feb 14 09:26:43 2008 - GenerateReplacementString: replacing ($1) with gkrsuvdhtmy
Thu Feb 14 09:26:43 2008 - WARNING: GenerateReplacementString: Substring index out of range (%200)
Thu Feb 14 09:26:43 2008 - (Log Buffer too small to show new string)
Thu Feb 14 09:26:43 2008 - Result length: 2091
Thu Feb 14 09:26:43 2008 - Last if Match
Thu Feb 14 09:26:43 2008 - ApplyRules: returning 1
Thu Feb 14 09:26:43 2008 - Rewrite Url to: '/search/product.asp?EAN=14633158717&ourl=gkrsuvdhtmy&tob=Y&bnrefer=0-10000-7374-5000000ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý

'
Thu Feb 14 09:26:52 2008 - DllMain PROCESS_DETACH
Thu Feb 14 09:26:52 2008 - AwaitWatcherTermination(): closing dir handle.
Thu Feb 14 09:26:52 2008 - AwaitWatcherTermination(): Waiting 150 ms ...
"
Coordinator
Feb 14, 2008 at 4:38 PM
thanks for the note. and the repro.

This is a bug.

I'll have a look, let you know.
Coordinator
Feb 14, 2008 at 4:41 PM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.
Coordinator
Feb 14, 2008 at 6:49 PM
The bug reported and repro-d by msmarcus is fixed in change set 30656.
Coordinator
Feb 15, 2008 at 4:24 PM
I thought the bug reported and repro-d by msmarcus was fixed in change set 30656, btu it is not. stay tuned.
Coordinator
Feb 15, 2008 at 4:33 PM
Edited Feb 15, 2008 at 4:33 PM
ok, fixed for real now. change set 30670.

you can also get a binary in release 1.2.14a