One thing to check for is that the embedder (Node.js) #defines
V8_COMPRESS_POINTERS before #including any of V8's public headers.
On Thursday, February 20, 2020 at 3:25:13 PM UTC-5, Matheus Marchini wrote:
>
> As part of https://github.com/nodejs/TSC/issues/790, I'm looking into the
>
Hmm... Our latest findings are quite baffling:
* Memory usage levels off after several thousand test iterations, so it may
not be a true leak. We've tested up to 12000 iterations, and memory usage
never grew beyond ~85MB. Graphing a moving average clearly indicated an
asymptotic curve. Still,
Hi Igor,
>Could you please open an issue here: https://bugs.chromium.org/p/v8/issues/
Sure thing; we were just hoping to collect some useful diagnostic info,
since we don't have simple repro code.
>Could you please try it again on today's tip of tree V8 (say
Leszek, you were right. The breakage went away once we defined
V8_31BIT_SMIS_ON_64BIT_ARCH in our embedder code.
As an aside, it would be great if V8's public headers were automatically
aligned with the V8 build. These mismatches can be difficult to diagnose.
Anyway, we're now testing this
>That sounds like a build config mismatch, or something similar -- 31-bit
Smis shouldn't cause major breakage, but will if e.g. one header has the
build flag enabled and another doesn't.
Thanks, Leszek; we'll double-check our findings.
On Friday, February 14, 2020 at 9:46:49 AM UTC-5, Leszek
We suspected that, but tested it anyway :)
On Friday, February 14, 2020 at 9:54:28 AM UTC-5, Santiago Aboy Solanes
wrote:
>
> Adding to that, this configuration
> Pointer Compression ON, 31-bit Smis OFF -> Memory leak
> is the same as
> Pointer Compression ON, 31-bit Smis ON -> Memory leak
>
Sorry, here's a clarification. This is what we're seeing with 8.0:
Pointer Compression ON, 31-bit Smis ON -> Memory leak
Pointer Compression ON, 31-bit Smis OFF -> Memory leak
Pointer Compression OFF, 31-bit Smis ON -> Major breakage
Pointer Compression OFF, 31-bit Smis OFF -> All good
On
That particular combination yielded a V8 build that broke a majority of our
test suite, including this memory leak test.
We didn't spend much time investigating, but the build utterly broke
interception (e.g., bad data in FunctionCallbackInfo), so we abandoned it.
On Friday, February 14, 2020
Greetings!
Our project is a V8 embedding library for .NET on Windows. We have a test
that spins up a context, runs SunSpider, and destroys the isolate. We run
it in a loop to check for memory leaks.
This test showed a dramatic leak with V8 8.0 that wasn't there with 7.9.
Our tools found