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.

Reply via email to