Don't dump failures which aren't reported
authorDario Sestito <darios@symbian.org>
Mon, 08 Mar 2010 18:21:32 +0000
changeset 185 b76adfbc6648
parent 184 978ef35b4e5f
child 186 ec83a06d23a8
child 188 0d02b2df4cbb
Don't dump failures which aren't reported
uh_parser/RaptorCommon.pm
uh_parser/RaptorError.pm
uh_parser/RaptorRecipe.pm
uh_parser/RaptorUnreciped.pm
uh_parser/RaptorWarning.pm
uh_parser/uh.pl
--- a/uh_parser/RaptorCommon.pm	Mon Mar 08 17:19:08 2010 +0000
+++ b/uh_parser/RaptorCommon.pm	Mon Mar 08 18:21:32 2010 +0000
@@ -31,10 +31,12 @@
 
 sub dump_fault
 {
-	my ($category, $subcategory, $severity, $location, $component, $mmp, $phase, $recipe, $file, $line) = @_;
+	my ($category, $subcategory, $severity, $location, $component, $mmp, $phase, $recipe, $file) = @_;
+	
+	$::failure_item_number++;
 	
 	open(SUMMARY, ">>$::raptorbitsdir/summary.csv");
-	print SUMMARY "$category,$subcategory,$severity,$location,$component,$mmp,$phase,$recipe,$file,$line\n";
+	print SUMMARY "$category,$subcategory,$severity,$location,$component,$mmp,$phase,$recipe,$file,$::failure_item_number\n";
 	close(SUMMARY);
 }
 
--- a/uh_parser/RaptorError.pm	Mon Mar 08 17:19:08 2010 +0000
+++ b/uh_parser/RaptorError.pm	Mon Mar 08 18:21:32 2010 +0000
@@ -36,7 +36,6 @@
 $buildlog_error_status->{on_chars} = 'RaptorError::on_chars_buildlog_error';
 
 my $filename = '';
-my $failure_item = 0;
 
 my $characters = '';
 
@@ -53,7 +52,9 @@
 
 sub process
 {
-	my ($text, $logfile, $component, $mmp, $phase, $recipe, $file, $line) = @_;
+	my ($text, $logfile, $component, $mmp, $phase, $recipe, $file) = @_;
+	
+	my $dumped = 1;
 	
 	my $category = $CATEGORY_RAPTORERROR;
 	my $severity = '';
@@ -63,68 +64,72 @@
 	{
 		$severity = $RaptorCommon::SEVERITY_CRITICAL;
 		$subcategory = $CATEGORY_RAPTORERROR_CANNOTPROCESSSCHEMAVERSION;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,No bld\.inf found at,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MAJOR;
 		$subcategory = $CATEGORY_RAPTORERROR_NOBLDINFFOUND;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,Can't find mmp file,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MAJOR;
 		$subcategory = $CATEGORY_RAPTORERROR_CANTFINDMMPFILE;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,The make-engine exited with errors,)
 	{
 		$severity = $RaptorCommon::SEVERITY_CRITICAL;
 		$subcategory = $CATEGORY_RAPTORERROR_MAKEEXITEDWITHERRORS;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,tool .* from config .* did not return version .* as required,)
 	{
 		$severity = $RaptorCommon::SEVERITY_CRITICAL;
 		$subcategory = $CATEGORY_RAPTORERROR_TOOLDIDNOTRETURNVERSION;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,Unknown build configuration '.*',)
 	{
 		$severity = $RaptorCommon::SEVERITY_CRITICAL;
 		$subcategory = $CATEGORY_RAPTORERROR_UNKNOWNBUILDCONFIG;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,No build configurations given,)
 	{
 		$severity = $RaptorCommon::SEVERITY_CRITICAL;
 		$subcategory = $CATEGORY_RAPTORERROR_NOBUILDCONFIGSGIVEN;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,Could not export .* to .* : \[Errno 2\] No such file or directory: .*,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MAJOR;
 		$subcategory = $CATEGORY_RAPTORERROR_COULDNOTEXPORT;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,win32/mingw/bin/cpp\.exe: .*bld\.inf:.*bld\.inf: No such file or directory,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MAJOR;
 		$subcategory = $CATEGORY_RAPTORERROR_MISSINGBLDINFFILE;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^Preprocessor exception: ''Errors in .*bld\.inf'' : in command,)
 	{
 		# don't dump
+		$dumped = 0;
 	}
 	elsif ($text =~ m,Source of export does not exist: .*,)
 	{
 		# don't dump
+		$dumped = 0;
 	}
 	else # log everything by default
 	{
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
+	
+	return $dumped;
 }
 
 sub on_start_buildlog
@@ -164,25 +169,15 @@
 	
 	if ($characters =~ m,[^\s^\r^\n],)
 	{	
-		if ($failure_item == 0 and -f "$filename")
+		my $dumped = process($characters, $::current_log_file, '', '', '', '', "raptor_error.txt");
+		
+		if ($dumped)
 		{
-			open(FILE, "$filename");
-			{
-				local $/ = undef;
-				my $filecontent = <FILE>;
-				$failure_item = $1 if ($filecontent =~ m/.*---failure_item_(\d+)/s);
-			}
+			open(FILE, ">>$filename");
+			print FILE "---failure_item_$::failure_item_number\---\n";
+			print FILE "$characters\n\n";
 			close(FILE);
 		}
-		
-		$failure_item++;
-	
-		open(FILE, ">>$filename");
-		print FILE "---failure_item_$failure_item\---\n";
-		print FILE "$characters\n\n";
-		close(FILE);
-		
-		process($characters, $::current_log_file, '', '', '', '', "raptor_error.txt", $failure_item);
 	}
 	
 	$characters = '';
--- a/uh_parser/RaptorRecipe.pm	Mon Mar 08 17:19:08 2010 +0000
+++ b/uh_parser/RaptorRecipe.pm	Mon Mar 08 18:21:32 2010 +0000
@@ -43,7 +43,6 @@
 
 
 my $filename = '';
-my $failure_item = 0;
 
 my $recipe_info = {};
 
@@ -70,7 +69,9 @@
 
 sub process
 {
-	my ($text, $config, $component, $mmp, $phase, $recipe, $file, $line) = @_;
+	my ($text, $config, $component, $mmp, $phase, $recipe, $file) = @_;
+	
+	my $dumped = 1;
 	
 	my $category = $CATEGORY_RECIPEFAILURE;
 	my $severity = '';
@@ -97,79 +98,81 @@
 	if ($text =~ m,Error:  #5: cannot open source input file .*: No such file or directory,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ARMCC_CANNOTOPENSOURCEINPUTFILE;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,Fatal error: L6002U: Could not open file .*: No such file or directory,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ARMLINK_COULDNOTOPENFILE;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,elf2e32 : Error: E1001: Could not open file : .*.,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ELF2E32_COULDNOTOPENFILE;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,elf2e32 : Error: E1036: Symbol .* Missing from ELF File,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ELF2E32_SYMBOLMISSINGFROMELFFILE;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,Error: L6833E: File '.*' does not exist,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ARMAR_FILEDOESNOTEXIST;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,: Warning:  #236-D: controlling expression is constant,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ARMCC_CONTROLLINGEXPRESSIONISCONSTANT;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,/armcc.exe , and $text =~ m,Internal fault: ,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ARMCC_INTERNALFAULT;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,/armcc.exe , and $text =~ m,Error:  #655-D: the modifier ".*" is not allowed on this declaration,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ARMCC_MODIFIERNOTALLOWED;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^\+.*/make.exe .*\n/bin/sh: .*: command not found,m)
 	{
 		$severity = $RaptorCommon::SEVERITY_CRITICAL;
 		my $subcategory = $CATEGORY_RECIPEFAILURE_BINSH_COMMANDNOTFOUND;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^\+.*/arm-none-symbianelf-as\.exe .*^Error: .*,ms)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_AS_ERROR;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^\+.*/arm-none-symbianelf-g\+\+\.exe .*:\d+: [Ee]rror: .*,ms)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_GPP_ERROR;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^\+.*/arm-none-symbianelf-g\+\+\.exe .*:\d+: [Ww]arning: .*,ms)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_GPP_WARNING;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	# the following captures generic armcc error/warnings, not captured by regexps above
 	elsif ($text =~ m,/armcc.exe , and $text =~ m,: \d+ warnings\, \d+ errors$,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_ARMCC_GENERICWARNINGSERRORS;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,mwccsym2.exe , and $text =~ m,: the file '.*' cannot be opened,)
 	{
 		my $subcategory = $CATEGORY_RECIPEFAILURE_MWCCSYM2_FILECANNOTBEOPENED;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
 	else # log everything by default
 	{
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $config, $component, $mmp, $phase, $recipe, $file);
 	}
+	
+	return $dumped;
 }
 
 sub on_start_buildlog
@@ -271,26 +274,16 @@
 				close(FILE);
 			}
 			
-			if ($failure_item == 0 and -f "$filename")
+			my $dumped = process($characters, $recipe_info->{config}, $recipe_info->{bldinf}, $recipe_info->{mmp}, $recipe_info->{phase}, $recipe_info->{name}, "$package.txt");
+			
+			if ($dumped)
 			{
-				open(FILE, "$filename");
-				{
-					local $/ = undef;
-					my $filecontent = <FILE>;
-					$failure_item = $1 if ($filecontent =~ m/.*---failure_item_(\d+)/s);
-				}
+				open(FILE, ">>$filename");
+				print FILE "---failure_item_$::failure_item_number\---\n";
+				print FILE "$characters\n\n";
 				close(FILE);
 			}
-			
-			$failure_item++;
-			
-			open(FILE, ">>$filename");
-			print FILE "---failure_item_$failure_item\---\n";
-			print FILE "$characters\n\n";
-			close(FILE);
 		}
-		
-		process($characters, $recipe_info->{config}, $recipe_info->{bldinf}, $recipe_info->{mmp}, $recipe_info->{phase}, $recipe_info->{name}, "$package.txt", $failure_item);
 	}
 
 	$characters = '';
--- a/uh_parser/RaptorUnreciped.pm	Mon Mar 08 17:19:08 2010 +0000
+++ b/uh_parser/RaptorUnreciped.pm	Mon Mar 08 18:21:32 2010 +0000
@@ -37,7 +37,6 @@
 $buildlog_subtag_status->{on_end} = 'RaptorUnreciped::on_end_buildlog_subtag';
 
 my $filename = '';
-my $failure_item = 0;
 
 my $characters = '';
 my $store_chars = 1;
@@ -54,7 +53,9 @@
 
 sub process
 {
-	my ($text, $logfile, $component, $mmp, $phase, $recipe, $file, $line) = @_;
+	my ($text, $logfile, $component, $mmp, $phase, $recipe, $file) = @_;
+	
+	my $dumped = 1;
 
 	my $category = $CATEGORY_RAPTORUNRECIPED;	
 	my $severity = '';
@@ -64,72 +65,80 @@
 	{
 		$severity = $RaptorCommon::SEVERITY_MAJOR;
 		my $subcategory = $CATEGORY_RAPTORUNRECIPED_NORULETOMAKETARGET;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,make\.exe: Target .* not remade because of errors,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MINOR;
 		my $subcategory = $CATEGORY_RAPTORUNRECIPED_TARGETNOTREMADEFORERRORS;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,: warning: ignoring old commands for target,)
 	{
 		# don't dump
+		$dumped = 0;
 	}
 	elsif ($text =~ m,: warning: overriding commands for target,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MINOR;
 		my $subcategory = $CATEGORY_RAPTORUNRECIPED_OVERRIDINGCOMMANDSFORTARGET;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^make: Target .* not remade because of errors\.,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MINOR;
 		my $subcategory = $CATEGORY_RAPTORUNRECIPED_MAKE_TARGETNOTREMADEBECAUSEOFERRORS;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^make: \*\*\* .* Error 1,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MINOR;
 		my $subcategory = $CATEGORY_RAPTORUNRECIPED_MAKE_ERROR1;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^make: \*\*\* No rule to make target .*\ needed by .*,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MINOR;
 		my $subcategory = $CATEGORY_RAPTORUNRECIPED_MAKE_NORULETOMAKETARGETNEEDEDBY;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^make: \*\*\* No rule to make target .*,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MINOR;
 		my $subcategory = $CATEGORY_RAPTORUNRECIPED_MAKE_NORULETOMAKETARGET;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,^make: Nothing to be done for .*,)
 	{
 		# don't dump
+		$dumped = 0;
 	}
 	elsif ($text =~ m,^(true|false)$,)
 	{
 		# don't dump
+		$dumped = 0;
 	}
 	elsif ($text =~ m,win32/cygwin/bin/cp\.exe,)
 	{
 		# don't dump
+		$dumped = 0;
 	}
 	elsif ($text =~ m,epoc32/tools/svgtbinencode\.exe,)
 	{
 		# don't dump
+		$dumped = 0;
 	}
 	elsif ($text =~ m,win32/cygwin/bin/chmod\.exe a\+rw,)
 	{
 		# don't dump
+		$dumped = 0;
 	}
 	else # log everything by default
 	{
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
+	
+	return $dumped;
 }
 
 sub on_start_buildlog
@@ -178,27 +187,15 @@
 	{
 		if ($line =~ m,[^\s^\r^\n],)
 		{
-			#print "dumping chars\n";
+			my $dumped = process($line, $::current_log_file, '', '', '', '', "raptor_unreciped.txt");
 			
-			if ($failure_item == 0 and -f "$filename")
+			if ($dumped)
 			{
-				open(FILE, "$filename");
-				{
-					local $/ = undef;
-					my $filecontent = <FILE>;
-					$failure_item = $1 if ($filecontent =~ m/.*---failure_item_(\d+)/s);
-				}
+				open(FILE, ">>$filename");
+				print FILE "---failure_item_$::failure_item_number\---\n";
+				print FILE "$line\n\n";
 				close(FILE);
 			}
-			
-			$failure_item++;
-							
-			open(FILE, ">>$filename");
-			print FILE "---failure_item_$failure_item\---\n";
-			print FILE "$line\n\n";
-			close(FILE);
-			
-			process($line, $::current_log_file, '', '', '', '', "raptor_unreciped.txt", $failure_item);
 		}
 	}
 	
--- a/uh_parser/RaptorWarning.pm	Mon Mar 08 17:19:08 2010 +0000
+++ b/uh_parser/RaptorWarning.pm	Mon Mar 08 18:21:32 2010 +0000
@@ -36,7 +36,6 @@
 $buildlog_warning_status->{on_chars} = 'RaptorWarning::on_chars_buildlog_warning';
 
 my $filename = '';
-my $failure_item = 0;
 
 my $characters = '';
 
@@ -46,7 +45,9 @@
 
 sub process
 {
-	my ($text, $logfile, $component, $mmp, $phase, $recipe, $file, $line) = @_;
+	my ($text, $logfile, $component, $mmp, $phase, $recipe, $file) = @_;
+	
+	my $dumped = 1;
 	
 	my $category = $CATEGORY_RAPTORWARNING;
 	my $severity = '';
@@ -56,18 +57,20 @@
 	{
 		$severity = $RaptorCommon::SEVERITY_MINOR;
 		my $subcategory = $CATEGORY_RAPTORWARNING_MISSINGFLAGABIV2;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	elsif ($text =~ m,While Searching for a SPECIFIED DEFFILE: file not found: .*,)
 	{
 		$severity = $RaptorCommon::SEVERITY_MINOR;
 		my $subcategory = $CATEGORY_RAPTORWARNING_WHILESEARCHINGFORDEFFILEFILENOTFOUND;
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
 	else # log everything by default
 	{
-		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file, $line);
+		RaptorCommon::dump_fault($category, $subcategory, $severity, $logfile, $component, $mmp, $phase, $recipe, $file);
 	}
+	
+	return $dumped;
 }
 
 sub on_start_buildlog
@@ -107,25 +110,15 @@
 	
 	if ($characters =~ m,[^\s^\r^\n],)
 	{
-		if ($failure_item == 0 and -f "$filename")
+		my $dumped = process($characters, $::current_log_file, '', '', '', '', "raptor_warning.txt");
+		
+		if ($dumped)
 		{
-			open(FILE, "$filename");
-			{
-				local $/ = undef;
-				my $filecontent = <FILE>;
-				$failure_item = $1 if ($filecontent =~ m/.*---failure_item_(\d+)/s);
-			}
+			open(FILE, ">>$filename");
+			print FILE "---failure_item_$::failure_item_number\---\n";
+			print FILE "$characters\n\n";
 			close(FILE);
 		}
-		
-		$failure_item++;
-	
-		open(FILE, ">>$filename");
-		print FILE "---failure_item_$failure_item\---\n";
-		print FILE "$characters\n\n";
-		close(FILE);
-		
-		process($characters, $::current_log_file, '', '', '', '', "raptor_warning.txt", $failure_item);
 	}
 	
 	$characters = '';
--- a/uh_parser/uh.pl	Mon Mar 08 17:19:08 2010 +0000
+++ b/uh_parser/uh.pl	Mon Mar 08 18:21:32 2010 +0000
@@ -61,6 +61,8 @@
 mkdir($raptorbitsdir);
 #print "Created dir $raptorbitsdir.\n";
 
+our $failure_item_number = 0;
+
 # create empty summary file anyway
 open(SUMMARY, ">$raptorbitsdir/summary.csv");
 close(SUMMARY);