Merge "Handle IOExceptions if addr2line fails."

am: 9a192cd10b

Change-Id: Ia25198fd229ea9ed76d98fafc187ddb144aa4f87
This commit is contained in:
Christopher Ferris
2018-08-10 17:09:48 -07:00
committed by android-build-merger

View File

@@ -297,6 +297,7 @@ def CallAddr2LineForSet(lib, unique_addrs):
child = _PIPE_ADDR2LINE_CACHE.GetProcess(cmd) child = _PIPE_ADDR2LINE_CACHE.GetProcess(cmd)
for addr in addrs: for addr in addrs:
try:
child.stdin.write("0x%s\n" % addr) child.stdin.write("0x%s\n" % addr)
child.stdin.flush() child.stdin.flush()
records = [] records = []
@@ -317,6 +318,9 @@ def CallAddr2LineForSet(lib, unique_addrs):
# The blank line will cause addr2line to emit "??\n??:0\n". # The blank line will cause addr2line to emit "??\n??:0\n".
child.stdin.write("\n") child.stdin.write("\n")
first = False first = False
except IOError as e:
# Remove the / in front of the library name to match other output.
records = [(None, lib[1:] + " ***Error: " + str(e))]
result[addr] = records result[addr] = records
addr_cache[addr] = records addr_cache[addr] = records
return result return result