Ripster

Ripster

Intellij-elixir phoenix debugger error

I’m trying to setup intellij to give it a try but I’m having trouble getting it working with Phoenix.
I have created a new Run/Debug configuration, set my program arguments to phx.server. When I run the project using the debug button it appears to run but when I visit the page I’m greeted with the error Internal server error. The console in intellij shows this:

[info] Running WebsiteWeb.Endpoint with Cowboy using http://0.0.0.0:4000
23:22:31 - info: compiled 6 files into 2 files, copied 3 in 587 ms
[info] GET /
[debug] Processing with WebsiteWeb.PageController.index/2
  Parameters: %{}
  Pipelines: [:browser]
[info] Sent 200 in 46ms
[info] Sent 500 in 66ms
[error] #PID<0.549.0> running WebsiteWeb.Endpoint terminated
Server: 0.0.0.0:4000 (http)
Request: GET /
** (exit) {%ArgumentError{message: "argument error"}, []}

Oddly enough when I run the project using the same configuration by clicking the “run” button in intellij it works perfectly fine.

Is there something I’m missing or have misconfigured? I’d like to be able to set break points and use the debugger.

Marked As Solved

KronicDeth

KronicDeth

Given no other information and since the logger doesn’t show the error, I’m going to guess it is this bug, which was actually a bug with Logger, which turned out to be a bug with :dbg_ieval, which is part of the debugger in OTP. @josevalim fixed the :dbg_ieval bug, but that means you need to wait until the next version of OTP to be released to get the fix (or erlc just that module to get the fix).

You can work around the problem for now by excluding modules from being interpreted that trigger the bug. In most cases this will be modules that have Logger calls that take an anonymous function and then interpolate inside that anonymous function like

thing = ...
Logger.info(fn -> "thing=#{thing}" end)

Last Post!

Ripster

Ripster

Excluding WebsiteWeb.Endpoint seems to have fixed it. I don’t have any explicit calls to the logger but it does use Phoenix.Endpoint and have calls to plug, both of which I believe have Logger calls with interpolated anonymous functions in them.

Thank you very much for taking time to explain the issue and help get it fixed!

Where Next?

Popular in Questions Top

hariharasudhan94
lets say i have a sample like a = 20; b = 10; if (a &gt; b) do {:ok, "a"} end if (a &lt; b) do {:ok, b} end if (a == b) do {:ok, "equa...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID&lt;0.412.0&gt; terminating ** (Postgrex.Error) FATAL...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New

Other popular topics Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 44608 311
New

We're in Beta

About us Mission Statement