Hi,

I don't think it's possible to do that from the near heap limit callback as 
our C++ code doesn't doesn't handle allocation failures gracefully. I 
believe on OOM you have to do something like: 1) extend the limit using 
that callback first and then 2) use Isolate::RequestTermination to cancel 
execution.

Hope that helps!

Cheers,
Dominik

On Tuesday, March 21, 2023 at 8:37:46 AM UTC+1 Camillo Bruni wrote:

> Hi Paul,
>
> You could try using v8::Isolate::TerminateExecution(). It's a best-effort 
> approach to limit further JS execution and allocations.
>
> cheers,
> Camillo
>
> On Tue, 21 Mar 2023 at 08:00, Paul Harris <harr...@gmail.com> wrote:
>
>> Hi again,
>>
>> Is there a nice way I could cancel a JS execution (eg raise an exception) 
>> from within eg the NearHeapCallback to avoid OOMs?
>>
>> I'd rather if the script is consuming more RAM than expected, that it 
>> raises exceptions and unwinds rather than bombing out.
>>
>> Thanks,
>> Paul
>>
>> -- 
>> -- 
>> v8-dev mailing list
>> v8-...@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+un...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/v8-dev/9b1749b5-ccda-4a74-b846-d0347121c7fen%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/v8-dev/9b1749b5-ccda-4a74-b846-d0347121c7fen%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> Camillo Bruni |  Software Engineer, V8 |  Google Germany GmbH |  Erika-Mann 
> Str. 33, 80636 München 
>
> Registergericht und -nummer: Hamburg, HRB 86891 | Sitz der Gesellschaft: 
> Hamburg | Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
>
> Diese E-Mail ist vertraulich. Falls Ssie diese fälschlicherweise erhalten 
> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, 
> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, 
> dass die E-Mail an die falsche Person gesendet wurde.  This e-mail is 
> confidential. If you received this communication by mistake, please don't 
> forward it to anyone else, please erase all copies and attachments, and 
> please let me know that it has gone to the wrong person.
>

-- 
-- 
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/cc729466-982c-4145-adce-8784c7758ffen%40googlegroups.com.

Reply via email to