Hi,

I was trying the new --enable-sanitizer-address on our armv7l buildbot
worker and it almost works as is, except for...

debuginfod.cxx:3472:12: runtime error: reference binding to misaligned
address 0x00561ec9 for type '<unknown>', which requires 2 byte
alignment
0x00561ec9: note: pointer points here
 12 0a 00  2d e9 f0 4f 85 b0 00 af  f8 60 df f8 bc e1 fe 44  f8 68 fa
68 00 2a 04 d0  00 f0 03 0c bc
              ^ 

And indeed removing 'right' here:

diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx
index 35424e47..6fad331a 100644
--- a/debuginfod/debuginfod.cxx
+++ b/debuginfod/debuginfod.cxx
@@ -3469,7 +3469,7 @@ database_stats_report()
         throw sqlite_exception(rc, "step");
 
       obatched(clog)
-        << right << setw(20) << ((const char*)
sqlite3_column_text(ps_query, 0) ?: (const char*) "NULL")
+        << setw(20) << ((const char*) sqlite3_column_text(ps_query, 0)
?: (const char*) "NULL")
         << " "
         << (sqlite3_column_text(ps_query, 1) ?: (const unsigned char*)
"NULL")
         << endl;

Makes everything PASS.

But I don't understand why. It might be a bug in gcc/libasan (this is
gcc 8.3.0 Debian 10.11 - Buster). I can try upgrading the machine to
Debian 11 - Bullseye this weekend to see if that helps.

Also, do we really want to right align the log here? We don't seem to
align the log text anywhere else.

Cheers,

Mark

Reply via email to