https://bugs.winehq.org/show_bug.cgi?id=40330
--- Comment #10 from Austin English austinenglish@gmail.com --- (In reply to Kyle Auble from comment #9)
- From researching the docs, there are a few linker flags (like
"--no-undefined" and "-z,defs") that are conceptually incompatible with ASan. AFAICT though, wine's build configuration doesn't use them. Clang also has some kinks that apparently require you to link in ASan differently, but this report discusses GCC.
Yeah, I later ran into that as well. I worked around it with: sed -i -e 's/-fsanitize=address//' -e 's/-lasan//' loader/Makefile
long term, if this proves usable, it shouldn't be too hard to add a configure option so that the Makefile are properly generated without sed.
Just skimming the actual ASan documentation and bug tracker, they seem pretty adamant that manually calling any flags besides "-fsanitize=address" is deprecated and shouldn't be necessary. There are still lots of people using it though, and it's obviously important here so I'm thinking this deserves a bug-report with ASan. Besides documenting it in our building instructions, I suspect this isn't ultimately Wine's bug.
Agreed.
- Now as for the sfnt2fon problem, it looks like that actually may just be
ASan doing its job. At least their documented example of a heap-overflow at compile-time is also a fatal error: https://github.com/google/sanitizers/wiki/ AddressSanitizerExampleHeapOutOfBounds
I definitely don't know the code well enough to say for sure, but unless it's a false positive, for now I would interpret it as a legitimate overflow. You said you got a similar log to the original reporter, but there are gaps in his call-stack trace. Any guesses at if/where sfnt2fon might be acting funny?
I ran sfnt2fon under valgrind, which showed some more info, see bug 45422.