Crashes not showing up on Grinder Server
Opened this issue · 4 comments
On the grinder node: I got a crash for the browser.
Now, it posts the crash information to grinder server's status.php
I am able to see the crash data being sent in the HTTP POST request to the grinder server and also a 200OK response from it as shown below:
POST /status.php HTTP/1.1
Accept: */*
User-Agent: Ruby
Content-Type: application/x-www-form-urlencoded
Connection: close
Host: xxx.xxx.xxx.xxx
Content-Length: 16957
key=xxxxxx&action=add_crash&time=2012-01-10+16%3A13%3A55&node=G1&browser=&hash_quick=xxxxxxxx&hash_full=xxxxxxxx&type=Read+Access+Violation&fuzzer=custom&crash_data=CkNh....&log_data=&verified=0
HTTP/1.1 200 OK
Date: Tue, 10 Jun 2014 10:43:56 GMT
Server: Apache/2.4.4 (Win32) PHP/5.4.16
X-Powered-By: PHP/5.4.16
Content-Length: 0
Connection: close
Content-Type: text/html
I have masked some information above.
Now, on grinder server: It does not report the crash on grinder server's web interface and does not show in crashes section either.
I checked the database tables, "crashes" using phpmyadmin on grinder server and no data specific to crash was inserted in the Database either.
The only statistics being updated on the grinder server are that the node is active and number of test cases tested per minute.
I checked the add_crash function defined in status.php and it should be inserting data in the crashes table when it receives the crash information from a grinder node
function add_crash( $time, $node, $target, $hash_quick, $hash_full, $type, $fuzzer, $log_data, $crash_data, $verified )
{
......
$sql = "INSERT INTO crashes ( time, node, target, hash, hash_quick, hash_full, type, fuzzer, count, log_data, crash_data, verified ) VALUES ";
$sql .= "( '" . $time . "', '" . $node . "', '" . $target . "', '" . $hash . "', '" . $hash_quick . "', '" . $hash_full . "', '" . $type . "', '" . $fuzzer . "', '1', '" . $log_data . "', '" . $crash_data . "', '" . $verified . "' );";
$result = mysql_query( $sql );
I am not sure why it is not inserting the data in the table.
Also, I can see that the grinder server responds with a 200OK response code.
And in status.php, if there was an error in processing the request, it would return 404 not found:
if( $success )
header( 'HTTP/1.0 200 OK' );
else
header( 'HTTP/1.0 404 Not Found' );
There should not be an issue in inserting data into the DB because the "nodes" table does get updated.
Help would be appreciated.
Thanks.
The issue above occurred while fuzzing IE6. I just tested with IE8 and the crash details are being reported to grinder server properly. I will recheck with IE6 to make sure that the issue is reproducible and also this problem occurs with other versions of Browser as well.
Hmm to be honest I'm not super sure why the data isn't being inserted. But have you noticed that the PHP code specifies "HTTP/1.0 200 OK", and you're getting "HTTP/1.1 200 OK"
Look closer: HTTP/1.0 vs HTTP/1.1? The version number is different.
Are you sure the function add_crash
was actually called?
do the logger actually log? i mean do you see the xml log files gets
created in $logger_dir and grow i size?
because i believe that grinder dose not support IE6 or IE7 since
node/browser/internetexplorer.rb dose not have the assembly code to patch
any logging function (ie: parseFloat()) for IE6
On 11 June 2014 07:54, sinn3r notifications@github.com wrote:
Hmm to be honest I'm not super sure why the data isn't being inserted. But
have you noticed that the PHP code specifies "HTTP/1.0 200 OK", and you're
getting "HTTP/1.1 200 OK"Look closer: HTTP/1.0 vs HTTP/1.1?
Are you sure the function add_crash was actually called?
—
Reply to this email directly or view it on GitHub
#41 (comment).