mwrock / RequestReduce

Instantly makes your .net website faster by reducing the number and size of requests with almost no effort.
www.requestreduce.org
Apache License 2.0
228 stars 49 forks source link

Some Reduced JS/CSS files just return blank content - Breaks entire site. #223

Open dazbradbury opened 11 years ago

dazbradbury commented 11 years ago

No matter what I do, when certain reduced files are created and served, I am for some reason getting blank content returned.

You can see this for example here:

http://d3mff8qslgqf8a.cloudfront.net/RequestReduceContent/6df8e1106f85f0b132598ff69bcd7876-5b5191148bccf33df7a629a87a2503a9-RequestReducedScript.js

I use a content host (namely cloudfront).

Here is a working bit of js that was produced at the same time by RR:

http://d3mff8qslgqf8a.cloudfront.net/RequestReduceContent/32c9c935cd47574e8512434fe7b59e08-7dc0c9d5359cd31963459eff0aef2489-RequestReducedScript.js

Looking in the DB, I can see the problematic file is there and has the content set. However, I don't see a way I can simply view the file (without reading in the binary programmatically and checking it is correct).

Hence I'm a bit stumped as to what is going on.

Should replacing the CDN with the usual hostname allow the file to be viewed? If so, why doesn't that work with the working js file?

ie.

http://www.openrent.co.uk/RequestReduceContent/6df8e1106f85f0b132598ff69bcd7876-5b5191148bccf33df7a629a87a2503a9-RequestReducedScript.js

and

http://www.openrent.co.uk/RequestReduceContent/32c9c935cd47574e8512434fe7b59e08-7dc0c9d5359cd31963459eff0aef2489-RequestReducedScript.js

Both return blank files - even though one works perfectly from the CDN.

For now I've had to disable js processing, but would really appreciate any help uncovering the bug.

dazbradbury commented 11 years ago

I just looked into my logs, and I can see when attempting to access the problem file from the CDN it produces:

Exception has been thrown by the target of an invocation. :    
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)     
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)     
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)     
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)     
at System.Web.Util.ArglessEventHandlerProxy.Callback(Object sender, EventArgs e)     
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()     
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

The same error is thrown if trying to accessing the file directly (ie. using openrent.co.uk).

dazbradbury commented 11 years ago

FYI - Turning on tracing doesn't get me any further. Appharbor seems to just think it is transmitting the file from the disk as expected. But the file is empty.

Have had to turn RR off for now, which is a shame. It was running flawlessly for so long!