xshyne88

xshyne88

I will eventually add a more specific and concrete example but first wanted some general help or advice on stacktraces.

I am currently working on an Elixir Phoenix Absinthe application that is currently in the beginning stages of production, however while in development I actually had a fair amount of trouble with stacktraces being cut off. Absinthe a lot of time seems to hog the entirety of the stack trace and its difficult for me to track where in my code the bug currently started. I’ve messed around with using rescue, debugger.start(), but these things seem less useful when I’m not exactly sure where in my code the problem arose.
I have a lot of work being done before data gets pushed back to the resolver and alot of times the resolver stack is the only thing I see when things go wirey.
I set my Phoenix config logger level to infinity and still no good. I feel like outside of explicitly rescuing or knowing right where the problem is (which is the source of my problem) I don’t know how to print a full full stack trace.

TLDR
Is there something I can do to better pinpoint where in my code something is going wrong when extenal libraries tend to take up a huge part of the stack before it gets truncated.

Showing Posts 1 to 5

NobbZ

NobbZ

Hello @xshyne88!

Could you please elaborate what parts of the call stack are missing?

If it is about calls in the mid of the chain, this is totally as expected, as the BEAM does havey tailcall optimisation and some calls simply do not produce a new stackframe but overwrite the old.

def foo(), do: bar()

def bar(), do: :bar

In such a scenario foo/0 would never appear in a call stack.

axelson

axelson

Scenic Core Team

@xshyne88 Have you configured the erlang :backtrace_depth? I believe the default is rather small (although if you use Phoenix they bump it to 20 by default).

What does this print out for you? (it returns the previous :backtrace_depth)

:erlang.system_flag(:backtrace_depth, 20)

docs: erlang — OTP 29.0.2 (erts 17.0.2)

Also welcome to the forum! :wave:

xshyne88

xshyne88 OP

Perfect, thank you! I didn’t know this… I’ll elaborate when I run across another real example, I’ll post it here, did not hit one yesterday.

xshyne88

xshyne88 OP

Hi Axelson!
No I didn’t try it, or at least I don’t remember trying it. I’ll check it out. In my Iex shell it was 20. thanks for the reference I’ll post here again in a bit.

xshyne88

xshyne88 OP

Also thank you for answering my generic non specific question so quickly ! :P, I’m very happy to be here on Elixir Forum its been an incredible resource for me as I’ve been using Elixir at my work for about 6 months now and have progressed very quickly due to this forum and my head developer mentoring me. I’d love to answer questions and give back too.

— All posts loaded —

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
itzmidinesh
Hi all, I’m working on a Phoenix project where I need to make external HTTP requests and I’m trying to choose between Req and HTTPoison....
New
pragdave
How do I tell Hologram not to escape HTML when substituting into templates? {Textile.render(@product.long_description)} escapes the HTM...
New
rlipscombe
I’d like to create a file with 600 permissions (rw-------), but there’s a race condition if I create it and then change the permissions. ...
New
leoschweizer
Hi, we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New
rlipscombe
When I use Mix.install with a git dependency, using git@github.com:... how do I change the SSH identity used? I’ve got two Github accoun...
New
adr
Hello all. I have a question as to best practices for code organization when implementing a liveview with a lot of responsibilities. Sup...
New

Other Trending Topics Top

dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
raa-ziq
Hi everyone :waving_hand: I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover ...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
OndrejValenta
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly) AI dream has many faces, but general...
New
kip
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews