зеркало из https://github.com/mozilla/gecko-dev.git
b=647469 continue after crashes in addr2line r=dbaron
--HG-- extra : transplant_source : %3B%3D%1AX%09%D6N%5D%A2%3D%1F%23%2C%408%F7P%B46S
This commit is contained in:
Родитель
e0a6c862fb
Коммит
b01fb5db2e
|
@ -243,6 +243,9 @@ sub addr2line_pipe($) {
|
||||||
return $pipe;
|
return $pipe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Ignore SIGPIPE as a workaround for addr2line crashes in some situations.
|
||||||
|
$SIG{PIPE} = 'IGNORE';
|
||||||
|
|
||||||
select STDOUT; $| = 1; # make STDOUT unbuffered
|
select STDOUT; $| = 1; # make STDOUT unbuffered
|
||||||
while (<>) {
|
while (<>) {
|
||||||
my $line = $_;
|
my $line = $_;
|
||||||
|
@ -262,8 +265,10 @@ while (<>) {
|
||||||
printf {$out} "0x%X\n", $address;
|
printf {$out} "0x%X\n", $address;
|
||||||
chomp(my $symbol = <$in>);
|
chomp(my $symbol = <$in>);
|
||||||
chomp(my $fileandline = <$in>);
|
chomp(my $fileandline = <$in>);
|
||||||
if ($symbol eq '??') { $symbol = $badsymbol; }
|
if (!$symbol || $symbol eq '??') { $symbol = $badsymbol; }
|
||||||
if ($fileandline eq '??:0') { $fileandline = $file; }
|
if (!$fileandline || $fileandline eq '??:0') {
|
||||||
|
$fileandline = $file;
|
||||||
|
}
|
||||||
print "$before$symbol ($fileandline)$after\n";
|
print "$before$symbol ($fileandline)$after\n";
|
||||||
} else {
|
} else {
|
||||||
print STDERR "Warning: File \"$file\" does not exist.\n";
|
print STDERR "Warning: File \"$file\" does not exist.\n";
|
||||||
|
|
Загрузка…
Ссылка в новой задаче