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

water
I’m aware of 2 such projects, are there others? git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
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
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
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews