[erlang-questions] Trunkated stacktrace
Tue Nov 1 17:09:19 CET 2016
Increase the stack trace depth. 8 is default. No serious drawbacks I can think of. Indeed 8 is often too little.
On Tuesday, November 1, 2016 11:25 AM, Håkan Mattsson <hm@REDACTED> wrote:
Anybody who knows why the stacktrace returned by process_info(Pid, current_stacktrace) is truncated to 8 items? Is it due to some performance consideration?
In order to get more usable stacktraces I were thinking of doing this little fix in our system? Do you foresee any drawbacks with it?
Btw, 8 happens to be the default of the system flag backtrace_depth.
diff --git a/otp/erts/emulator/beam/erl_bif_info.c b/otp/erts/emulator/beam/erl_bif_info.c
index d7f1e2d..2dc310f 100755
@@ -1607,7 +1607,7 @@ current_stacktrace(Process* p, Process* rp, Eterm** hpp)
Eterm res = NIL;
- depth = 8;
+ depth = erts_backtrace_depth;
sz = offsetof(struct StackTrace, trace) + sizeof(BeamInstr *)*depth;
s = (struct StackTrace *) erts_alloc(ERTS_ALC_T_TMP, sz);
s->depth = 0;
erlang-questions mailing list
More information about the erlang-questions