Hi,

I'm getting the same error, seems not releated to the heap size setting.

If I'm running something like this

[image: 07-06-2024_09-04-01.jpg]

I use a relatively constant approx. 150MB memory.
If I start a second thread and call v8Isolate->GetHeapStatistics() every 
1sec, V8 will crash after 5-10sec...

Best Regards
Marek

Sam Cao schrieb am Freitag, 7. Juni 2024 um 06:22:01 UTC+2:

> Hi V8 Dev,
>
> I'd like to report a potential bug in ConcurrentMarking::RunMajor().
>
> *Fatal Error*
> #
> # Fatal error in , line 0
> # Check failed: !IsFreeSpaceOrFillerMap(map).
> #
> #
> #
> #FailureMessage Object: 00000083D21FF440
> ==== C stack trace ===============================
>   CrashForExceptionInNonABICompliantCodeRange [0x00007FFF4AA557BB+1514667]
>   (No symbol) [0x00007FFF4A77D497]
>   (No symbol) [0x00007FFF4A820BBA]
>   CrashForExceptionInNonABICompliantCodeRange [0x00007FFF4AB234A1+2357649]
>   CrashForExceptionInNonABICompliantCodeRange [0x00007FFF4AB3AB62+2453586]
>   CrashForExceptionInNonABICompliantCodeRange [0x00007FFF4AA570A6+1521046]
>   CrashForExceptionInNonABICompliantCodeRange [0x00007FFF4AA5A466+1534294]
>
> *Reproduce*
>
>    1. Set max heap size to 8096
>    2. Start thread 1 and execute the following JS code.
>    var a = [];
>    for (let i = 0; i < 100000000; i++) {
>      a.push({test:'test'});
>    }
>    3. Start thread 2 and call v8Isolate->GetHeapStatistics() periodically.
>    
> There is a high chance that V8 will crash with the fatal error posted 
> above.
>
> *Analysis*
> I reviewed the source code of 12.5.227.6 and found there is only one call 
> to IsFreeSpaceOrFillerMap() inside ConcurrentMarking::RunMajor() as follows.
> [image: 01.png]
>
> It seems this check is not always valid when that V8 isolate is busy 
> allocating memory. It used to be working well before this check was added.
>
> Please check this issue out.
>
> Thank you,
> Sam
>

-- 
-- 
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/08b3cd46-830d-42b6-8c1e-4e9fef00b381n%40googlegroups.com.

Reply via email to