in mozetl/bhr_collection/bhr_collection.py [0:0]
def process_module(module, offsets, config):
result = []
if module is None or module[0] is None:
return [((module, offset), (UNSYMBOLICATED, "unknown")) for offset in offsets]
if module[0] == "pseudo":
return [
((module, offset), ("" if offset is None else offset, ""))
for offset in offsets
]
file_url = get_file_url(module, config)
module_name = module[0]
if file_url:
success, response = fetch_url(file_url)
else:
success = False
if success:
sorted_keys, sym_map = make_sym_map(response)
for offset in offsets:
try:
i = bisect(sorted_keys, int(offset, 16))
key = sorted_keys[i - 1] if i else None
symbol = sym_map.get(key)
except UnicodeEncodeError:
symbol = None
except ValueError:
symbol = None
if symbol is not None:
result.append(((module, offset), (symbol, module_name)))
else:
result.append(((module, offset), (UNSYMBOLICATED, module_name)))
else:
for offset in offsets:
result.append(((module, offset), (UNSYMBOLICATED, module_name)))
return result