Hi all,
I ran into a crash while running a Node.js app which used the V8 profiler
(via the CpuProfiler API, not --prof). A segfault was occurring
intermittently (about 10% of the time), and when I ran the test on debug
mode, I encountered an assert failure:
# Fatal error in ../src/profiler/cpu-profiler.cc, line 414
# Check failed: !is_profiling_.
The reason this assert was failing was because the profiler was started but
never stopped, so the profiler would continue to try to run during the
isolate's shutdown sequence. A solution to this problem would be to turn
off the profiler as part of the Isolate::Deinit() function (at Line 1906 in
v8/src/isolate.cc - see below).
I will submit this following the V8 process, but I wanted to make sure that
this was a reasonable fix (it's my first time contributing to V8) before
doing so.
Thanks in advance,
Gibson
if (FLAG_print_deopt_stress) {
PrintF(stdout, "=== Stress deopt counter: %u\n", stress_deopt_count_);
}
// Insert at Line 1906 in Isolate::Deinit() in v8/src/isolate.cc
if (cpu_profiler_) {
cpu_profiler_->DeleteAllProfiles();
}
// End of insertion
// We must stop the logger before we tear down other components.
Sampler* sampler = logger_->sampler();
if (sampler && sampler->IsActive()) sampler->Stop();
}
--
--
v8-dev mailing list
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.