+check_asan_reports() {
+ local ret=0
+ local root="$1"
+
+ if [[ "$IS_BUILT_WITH_ASAN" = "yes" ]]; then
+ ls -l "$root"
+ if [[ -e "$root/systemd.asan.log.1" ]]; then
+ cat "$root/systemd.asan.log.1"
+ ret=$(($ret+1))
+ fi
+
+ journald_report=$(find "$root" -name "systemd-journald.asan.log*" -exec cat {} \;)
+ if [[ ! -z "$journald_report" ]]; then
+ printf "%s" "$journald_report"
+ ret=$(($ret+1))
+ fi
+
+ pids=$(
+ "$BUILD_DIR/journalctl" -D "$root/var/log/journal" | perl -alne '
+ BEGIN {
+ %services_to_ignore = (
+ "dbus-daemon" => undef,
+ );
+ }
+ print $2 if /\s(\S*)\[(\d+)\]:\s*SUMMARY:\s+\w+Sanitizer/ && !exists $services_to_ignore{$1}'
+ )
+ if [[ ! -z "$pids" ]]; then
+ ret=$(($ret+1))
+ for pid in $pids; do
+ "$BUILD_DIR/journalctl" -D "$root/var/log/journal" _PID=$pid --no-pager
+ done
+ fi
+ fi
+
+ return $ret
+}
+