stephenfewer/grinder

Logger does not log complete logged information

Closed this issue · 11 comments

Hi Stephen,

I have started getting issues with grinder_logger.dll. When the test cases are small it's working perfectly.

But as my test cases has grown large in size, the logger is not able to log the complete logged information. I see partial information, basically, it's missing the starting part of the logged messages.

Suspect

https://github.com/stephenfewer/grinder/blob/master/node/source/logger/logger.c

dwLogMessageSize = 8192;

I need to dig in and rebuild the logger and check.

pyoor commented

Are you sure this is caused by logger and not by max_allowed_packet set in MySQL? Check your Apache access logs. If it is, you'll see a 400 error when the crash is posted.

Cool pyoor. Seems possible reason. Let me quickly verify and let you know if that's the case. Thanks for pointing out.

Hi pyoor,

You were correct. I increased the max_allowed_packet value and now I'm getting complete log file.

However, let's keep this issue request open until I give final confirmation.

Thanks for prompt reply.

It's seems that max_allowed_packet is not the issue. I checked the XML log file generated by Grinder and it too does not have complete logged information. So, the suspect seems to be grinder_logger.dll

I'm updating the grinder_logger and will post the result.

Hi, the internal buffer used by grinder_logger.dll is supposed to resize itself as needed so hopefully that is not the problem, but let me know if you spot anything. One issue could be that the data to-be written to file has not been flushed to disk at the point a crash occurs (I don't know if windows has a policy to flush pending buffers to disk upon app crash).

A call to FlushFileBuffers( hLog ); on line 212 has been commented out as it introduces a large performance hit. You might want to try un-commenting the call to FlushFileBuffers and see if that helps:
https://github.com/stephenfewer/grinder/blob/master/node/source/logger/logger.c#L212

Hi Stephen,

I guess the issue lies some where else. I have conducted a test to see if the grinder_logger.dll has the issue.

What I did is removed the reload(window.location) part and finished the test with logger.finished.

Then I looked into the XML file created and I see that it does not contain the first part of the logged messages.

One more thing to note. After some tests I found that this issue is only with Internet Explorer. I'm doing some more tests.

It's happening with FireFox too if the test cases are large.

Hi Stephen,

I managed to fix the issue. I'm still doing some tests to see if that's the issue.

This was not grinder issue, instead, this was some issues with my fuzzer itself.

So, let's keep this issue ticket open for a while and I'll update the same.

Thank you very much.

Awesome, glad to hear you made some progress on resolving this!

Hi Stephen,

I'm closing this issue as the issue was with my fuzzer.

The solution that worked was to set logger to null after logger.finished();

So, here is what I did.

logger.finished();
logger = null;

Thanks.