Comment #7 on issue 3645 by [email protected]: MSan vs. Serializer:
Fight!
https://code.google.com/p/v8/issues/detail?id=3645
Here we simply trip on a DCHECK. It's interesting what happens to this
memory later and why we don't detect it in the optimized build. Could be
printf() or any other function that we don't intercept.
The simplest fix would be to add function attributes and __msan_unpoison
calls until MSan stops complaining. If memory goes into write() you'd need
to make a copy of it, unpoison the copy and write() it (in order to avoid
unpoisoning the original object).
It would be interesting to keep MSan metadata in the snapshot. Obtaining
this metadata is simple, though I don't think we have an interface function
for that. You just grab the same number of bytes as the object occupies
from (uintptr_t)ptr & ~0x400000000000ULL, and that's it. This has to be
done in non-instrumented code, and no_sanitize_memory attribute won't help
- this code can't be compiled with MSan at all. We could provide interface
functions for shadow-to-memory and back copies if you are interested in
this kind of thing.
And you would need to find place for this metadata in V8 snapshot format.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.