Jump to content
Software FX Community

Intermittent errors in the Event log that say "Can not read file D:\chartfx7\PSS\Temp\(anonymous)"


DanielL_550

Recommended Posts

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

We are seeing intermittent errors in the Event log with the following message

 

 

Event Type: Error

Event

Source:  Chart FX 7.0 PSS Service

Event Category:   None

Event ID:   0

Date: 6/29/2007

Time: 9:40:51 AM

User:   N/A

Computer: Test02

Description:

Can not read file D:\chartfx7\PSS\Temp\(anonymous)

Could not find file 'D:\chartfx7\PSS\Temp\(anonymous)'.

For more information, see Help and <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />SupportCenter at http://go.microsoft.com/fwlink/events.asp.

Normal files that Chart FX stores in this location have file names like

 

062907480(anonymous)

062907480(anonymous)_png

 

We do have 2 servers in a web farm and the PSS services are configured to see each other.

 

Why does the PSS service try to load a file with no number in the name? What condition would cause this to happen?

 

Thank you.

Link to comment
Share on other sites

This may be a bug. Change the Event Log level to Trace in PSS (more info here http://support.softwarefx.com/ShowArticle.aspx?Type=KB&Product=CfxNet70&Source=http://support.softwarefx.com/kb/762/1/004.htm?_r=1)

You should see an information trace right before this error tagged "Load State <id>  (<requrest info>)". Check if the id is empty. Also, check for events tagged:

"Redirecting request to machine <machine id>"

On both machines. We have to see whether the error happens only after redirecting the request.

Link to comment
Share on other sites

I attached a ZIP file containing the event logs from our two servers. I saved the event logs as CSV files. You can search for Error to find the event entries for the errors we are seeing. Server 2 has more errors than server 1. Let me know if you need more information from me.

Thank you.

Link to comment
Share on other sites

I can't figure out what's going on.

I see no "Redirect" messages. Looks like your Web Farm is not properly described in the PSS config file.

Please attach your ChartFX.PSS.Service.exe.config

Also one strange thing is that "Can Not Read File" errors should be followed by the file name and the error description. Was this truncated when you exported it or is it actually missing from the log.

 

Link to comment
Share on other sites

Francisco, 

I have attached our PSS configuration files. 

The error log information is not truncated. The file names do not appear in these error messages. The errors appear as

Can not read file D:\chartfx7\PSS\Temp\(anonymous)Could not find file 'D:\chartfx7\PSS\Temp\(anonymous)'.For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Thank you. 

 

 

 

 

Link to comment
Share on other sites

Francisco, 

We have determined that at the same time we see these errors in the server event log our clients get a generic default chart displayed. I was able to duplicate this yesterday. This only happens when the render mode is PNG and interactive and does not happen with the .NET control. The problem is very intermittent but it always happens when the toolbar buttons are being used to manipulate the chart.

Our clients display a chart with specific data they have chosen and the chart always displays without any problem. The customers then start using the toolbar controls to change the look of the chart. The problem occurs most often when they turn 3D on or off or rotate the chart. Sometimes the problem occurs quickly after using the toolbar and sometimes they must turn 3D on and off and rotate the chart multiple times to see the problem.

When I duplicated the problem yesterday I had an HTTP analyzer connected. Under normal operation when using the buttons I saw gets and posts in the trace like these.

60   17:05:44:703  0.016 s   GET 200 72974 image/png  https://webserver01/chartfx70/temp/CFV0718_050542105E4.png

61   17:05:45:828  0.155 s   POST   200 6162   text/html  https://webserver01/eLynxFramework/GroupTrending2.aspx?GroupID=2

62   17:05:46:250  0.016 s   GET 200 56655 image/png  https://webserver01/chartfx70/temp/CFV0718_0505433095D.png  

63   17:05:46:937  0.171 s   POST   200 6617   text/html  https://webserver01/eLynxFramework/GroupTrending2.aspx?GroupID=2

64   17:05:47:281  0.031 s   GET 200 90498 image/png  https://webserver01/chartfx70/temp/CFV0718_05054437642.png  

65   17:05:48:312  0.281 s   POST   200 1481   text/html  https://webserver01/eLynxFramework/GroupTrending2.aspx?GroupID=2

At the moment it failed and I saw the default chart, I saw this in the trace

 66   17:05:48:750  0.030 s   GET 200 63915 image/png https://webserver01/chartfx70/pss/ChartFX.aspx?id=1-071817050&type=png&mime=image%2fpng

I also did not see the normal POST that was occuring after the GET. 

I have attached a zip file with the trace requests from the HTTP analyzer and an image of the gereric default chart. I can give you more information from the 20 Meg trace if you need it.

Do you have any idea what is happening? Is there anything else I can do to gather more information for you? 

Thank you.

Link to comment
Share on other sites

First of all, your config files look good. The fact that there is no Redirect messages in your PSS logs seems to be due to your servers being configured to have "Session affinity", meaning that all requests in one session go to the same server. Please confirm this. 

So this rules out any re-direction problems, which leaves us with this:

A normal log entry for LoadState would be like this:

 Load State 070216450(|64.92.217.220)

Where 070216450 is the state id.

In your logs, there is one with empty id immediately following the error log.

The fact that is after is a little odd, because this log actually happens BEFORE the error log, but PSS is heavily multi threaded so I'm thinking the log entries can get crossed. However, the fact that ALL instances of the error follow this pattern is a little suspicious.

I've been looking at the code trying to figure out when can the id be empty and found two possibilities:

1) The ViewState for the chart is empty. There are no calls to Save State with empty, so the only way I see this happening is during a PostBack/Callback. In this case the state ID comes from the chart's viewstate (from the page). Why is the page giving us an empty ViewState? I never seen this happen but look in your code for any tricky manipulations you may be doing with to the page's viewstate.

2) The viewstate id is fine but PSS is messing it up: What's in the log is not actually what Chart FX sent to PSS, it only part of it. Chart FX sends a longer string formed like this:

<machine id>-<entry id>

The log is displaying <entry id>. The code that makes the split is very simple but if the string is malformed this could theoretically happen. If you can not find anything in your code related to ViewState that is causing the problem, I can modify PSS to log the whole string, this way we can rule out 2).

 

Link to comment
Share on other sites

Francisco,

You are correct, we have the session affinity set very high so our customers will not jump servers.

I wonder why the log entries are always out of order? That seems strange.

We have one page with a chart that saves the viewstate to local storage and one page that does not. I will ask if the problem happens on both pages or only one of them. We are not doing anything very tricky with the local storage though so unless we are in some kind of race condition I don't understand why it would cause a problem.

If you think it would help, we can try a version of ChartFX with addtitional trace statements.

I will be on vacation next week, so after tomorrow I will not be able to work on this issue until I get back.

Thank you for all or your help.

Dan

 

 

Link to comment
Share on other sites

  • 2 weeks later...

Francisco,

We found out we could only duplicate this problem on our production servers and not our test servers. We finally figured out that the patch KB905915 (http://www.microsoft.com/technet/security/bulletin/ms05-054.mspx) was applied to the test servers and not the production servers. We applied this patch to one of our production servers and it appears that it fixed the problem. We will apply the patch to our second production server tonight and test it tomorrow. I will let you know the results of our testing.

Thank you for all of your help.

Dan

Link to comment
Share on other sites

  • 1 month later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...