I recently had a problem where a Persistent was being initialised in one
Isolate which was then disposed. I accidentally kept an initialised
Persistent around and got an immediate crash when calling Persistent Reset
after creating a 2nd Isolate.
In my case I was neglecting to Reset properly one
A mutex around our persistent creation alone didn't solve this problem.
Removing v8::Persistent and replacing them with v8::Global is not ideal,
since we reuse these Persistent objects across multiple contexts to cache
common function/object templates.
On Friday, August 26, 2022 at 9:17:00
Oh, single-threaded. I would have expected v8 to use a mutex around their
persistent (global handle) management. I'll try a mutex on my side and see
if that resolves the issue. Thanks for your help. 爛
On Fri, Aug 26, 2022 at 12:52 AM dinf...@chromium.org
wrote:
> Hi,
>
> Those
Hi,
Those persistent/global handles are single-threaded only, could it be that
you allocate such handles from multiple threads?
There is also v8::Global which Reset()s itself in the destructor
automatically. We would even like to remove v8::Persistent entirely at some
point
(see
Yeah, we are out of date and I will attempt to upgrade soon. But, I do
think there's a threading issue here that's very intermittent. I did read
other posts that describe problems if you don't call Reset on the
persistent object. See any problems here?
typedef std::pair >
This is unfortunately too little detail to go on, my best guess would be
that you're passing in an invalid Isolate pointer (something to do with
lifetimes in the embedder?). Also note that you're using a 1-year old
version of V8.
On Wednesday, August 24, 2022 at 10:42:51 PM UTC+2
Anyone??
On Wednesday, June 15, 2022 at 5:25:20 PM UTC-7 loude...@gmail.com wrote:
> Any ideas why I'm seeing an intermittent crash here? It happens during a
> stress test for Adobe Character Animator (v8 version: 9.4.146.24). This
> call is made 1000s of times in our app and occasionally