Thank you Mads and Marcel for the replies.

I've been trying to implement a way to terminate a script execution if
it runs too long in V8. I've seen some previous posts here which
suggested using the Locker and Preemption. However, I haven't been
able to determine a proper way to do this. I'm going to post a new
question regarding this subject.

Thank you again,
Ravi


On Apr 26, 11:09 am, Marcel Laverdet <[email protected]> wrote:
> Is this 64bit? If so it could be this 
> issue:http://code.google.com/p/v8/issues/detail?id=1180
>
> I only observed this issue with stack overflows but the root cause is that
> stack limits are not being set correctly so perhaps they're related? Try
> this.. right after you enter the context in your new thread put this line:
>
> Script::Compile(String::New("void 0;"));
>
> On Tue, Apr 26, 2011 at 9:38 PM, Mads Sig Ager <[email protected]> wrote:
>
>
>
>
>
>
>
> > Hi Ravi,
>
> > would you provide a reduced test case that reproduces this issue? Without
> > that I can only guess. Exception termination takes place by throwing
> > uncatchable exceptions. However, when terminating execution we have to
> > return control to C++ frames on the stack. When that happens the embedder
> > should return out of C++ back to JavaScript until there are no more
> > JavaScript frames on the stack.
>
> > Thanks,    -- Mads
>
> > On Sat, Apr 16, 2011 at 12:54 PM, Chinnu <[email protected]> wrote:
>
> >> Hi,
>
> >> I've been trying to come up with a way to terminate the V8 execution
> >> on a script if it runs too long.
>
> >> For this, I've used the Locker::StartPreemption() and on receiving a
> >> preemption (in RuntimePreempt() method in execution.cc), am
> >> incrementing a count and invoking
> >> V8::TerminateExecution(current_thread_id) if the count exceeds a
> >> limit.
>
> >> However, the use of V8::TerminateExecution(current_thread_id) at that
> >> point is causing a crash probably due to a stack corruption. I was
> >> wondering if this isn't an appropriate place to use this API, and if
> >> this API is supposed to be invoked in a specific way.
>
> >> Please let me know if there is a proper way to use the
> >> V8::TerminateExecution() API.
>
> >> Thanks,
> >> Ravi
>
> >> --
> >> v8-users mailing list
> >> [email protected]
> >>http://groups.google.com/group/v8-users
>
> >  --
> > v8-users mailing list
> > [email protected]
> >http://groups.google.com/group/v8-users

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to