It turns out that we see this error on a double free of a unique_ptr on
UBSan builds. Can anyone confirm that whether this is a bug on Ubuntu 18.04?
On Monday, January 11, 2021 at 10:59:15 PM UTC+5:30 Vinayaka Kamath wrote:
> Hello All,
>
> Our project recently upgraded from v8 version 7.6 to 8.3. While running
> the unit tests a couple of our tests fail with the following message only
> on Windows and UBSan builds. The linux and MacOS tend to work fine.
>
> 22:43:24 Running mapreduce builtin tests
> 22:43:24
> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:78:2:
>
> runtime error: member call on address 0x60d000000040 which does not point
> to an object of type 'v8::Platform'
> 22:43:24 0x60d000000040: note: object has invalid vptr
> 22:43:24 01 00 00 0e e0 4f b4 9a 9e 7f 00 00 00 00 00 00 00 00 00 00
> 00 00 00 00 00 00 00 00 00 00 00 00
> 22:43:24 ^~~~~~~~~~~~~~~~~~~~~~~
> 22:43:24 invalid vptr
> 22:43:24 #0 0x4f1c88 in
> std::default_delete<v8::Platform>::operator()(v8::Platform*) const
> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:78:2
> 22:43:24 #1 0x4ebbab in std::unique_ptr<v8::Platform,
> std::default_delete<v8::Platform> >::~unique_ptr()
> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:263:4
> 22:43:24 #2 0x7f9e9591c160 in __run_exit_handlers
> /build/glibc-S7xCS9/glibc-2.27/stdlib/exit.c:108
> 22:43:24 #3 0x7f9e9591c259 in exit
> /build/glibc-S7xCS9/glibc-2.27/stdlib/exit.c:139
> 22:43:24 #4 0x7f9e958fabfd in __libc_start_main
> /build/glibc-S7xCS9/glibc-2.27/csu/../csu/libc-start.c:344
> 22:43:24 #5 0x439489 in _start
> (/home/couchbase/jenkins/workspace/couchstore.ASan-UBSan_master/build/couchstore/couchstore_mapreduce-builtin-test+0x439489)
> 22:43:24
> 22:43:24 SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:78:2
>
> in
>
>
> I'm not really sure how to make sense of it. Seems like it has something
> to do with the platform.
>
> void initV8(const char* executable_img)
> {
> V8::InitializeICUDefaultLocation(executable_img, nullptr);
> v8platform = platform::NewDefaultPlatform();
> V8::InitializePlatform(v8platform.get());
> V8::Initialize();
> }
>
> void deinitV8()
> {
> V8::Dispose();
> V8::ShutdownPlatform();
> }
>
> This is how the code looks like!
>
> Thanks
>
>
--
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
---
You received this message because you are subscribed to the Google Groups
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/v8-users/2eb1cb96-774d-4e38-bc46-32c2ddb01ab6n%40googlegroups.com.