-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not showing details of JS frames on node v16.14.0 #399
Comments
I have the same problem! I installed Node v14.19.1 and Node v16 I can't read v8 JS frames. (Ubuntu 20.04.3 LTS) After I come back to Node v12.22.11 I can ,but when I write the command v8 inspect --print-source terminal show me that:
Someone can help me with that? Thank's |
Same problem. |
Same here. |
Is this repo still active? It's been 2 years since last release. |
It looks like the current backtrace support is broken because it assumes This patch gets you a little better output (it fixes the function diff --git a/src/llv8-inl.h b/src/llv8-inl.h
index f32fdf0..1bbecf2 100644
--- a/src/llv8-inl.h
+++ b/src/llv8-inl.h
@@ -1128,20 +1128,12 @@ inline String ScopeInfo::ContextLocalName(int index, Error& err) {
}
inline HeapObject ScopeInfo::MaybeFunctionName(Error& err) {
- int proper_index = ContextLocalIndex(err);
- if (err.Fail()) return HeapObject();
-
- Smi context_local_count = ContextLocalCount(err);
- if (err.Fail()) return HeapObject();
- proper_index += context_local_count.GetValue() * 2;
-
// NOTE(mmarchini): FunctionName can be stored either in the first, second or
// third slot after ContextLocalCount. Since there are missing postmortem
// metadata to determine in which slot its being stored for the present
// ScopeInfo, we try to find it heuristically.
- int tries = 3;
HeapObject likely_function_name;
- while (tries > 0 && proper_index < Length(err).GetValue()) {
+ for (int proper_index = -2; proper_index < 10; proper_index++) {
err = Error();
HeapObject maybe_function_name =
diff --git a/src/llv8.cc b/src/llv8.cc
index c3a331a..ecc78b5 100644
--- a/src/llv8.cc
+++ b/src/llv8.cc
@@ -300,10 +300,11 @@ std::string JSFunction::GetDebugLine(std::string args, Error& err) {
res += " at ";
- res += Info(err).GetPostfix(err);
- if (err.Fail()) return std::string();
-
return res;
+ // res += Info(err).GetPostfix(err);
+ // if (err.Fail()) return std::string();
+
+ // return res;
} The current definition of ScopeInfo is here in Torque. |
OK Thanks to everyone contributing to this issue. |
Hey all, it looks like something has broken ( I am assuming a v8 update perhaps?) in node v16.14.0
Running on Monterey v12.2.1
Using node v12 or node v14, I can attach to a process and get JS frame details and v8 nodeinfo
On v16 (same code.. (test code does nothing but creates a large number of objects and arrays in memory) I can attach and it will break, but v8 bt returns the same thing as regular bt and v8 nodeinfo says No Process to attach to
Happy to provide any more info.
The text was updated successfully, but these errors were encountered: