Fl4m3Ph03n1x
Background
I have Phoenix umbrella application. When inside said application, I can run it without issues if MIX_ENV=prod. However, if I do mix test while MIX_ENV=dev, I get an error.
Problem
The error I have is as follows:
18:39:42.101 [error] ** wx object server {:local, WebInterface} terminating
** Last message in was {:"$gen_cast", {:show, &WebInterface.Endpoint.url/0}}
** When Server state == %Desktop.Window{
module: nil,
taskbar: nil,
frame: {:wx_ref, 35, :wxFrame, []},
notifications: %{},
webview: {:wx_ref, 49, :wxWebView, []},
home_url: &WebInterface.Endpoint.url/0,
last_url: nil,
title: "Market Manager",
rebuild: 0,
rebuild_timer: {:interval, #Reference<0.2679771817.2635857922.255366>}
}
** Reason for termination ==
** {:badarg,
[
{:erlang, :binary_to_existing_atom,
["Elixir.WebInterface.Endpoint.HTTP", :utf8],
[error_info: %{module: :erl_erts_errors}]},
{:elixir_aliases, :safe_concat, 1,
[file: ~c"src/elixir_aliases.erl", line: 139]},
{WebInterface.Endpoint, :url, 0,
[file: ~c"lib/web_interface/endpoint.ex", line: 4]},
{Desktop.Window, :prepare_url, 1,
[file: ~c"lib/desktop/window.ex", line: 666]},
{Desktop.Window, :handle_cast, 2,
[file: ~c"lib/desktop/window.ex", line: 604]},
{:wx_object, :handle_msg, 5, [file: ~c"wx_object.erl", line: 493]},
{:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 241]}
]}
Reading this, I understand the problem comes from my application.ex, namely:
@impl true
def start(_type, _args) do
children = [
Telemetry,
{Phoenix.PubSub, name: PubSub},
Endpoint,
Manager,
%{
id: Desktop.Window,
start:
{Desktop.Window, :start_link,
[
[
app: :web_interface,
id: WebInterface,
title: "Market Manager",
size: WindowUtils.calculate_window_size(0.6, 0.8),
menubar: MenuBar,
icon: "static/images/resized_logo_5_32x32.png",
url: &WebInterface.Endpoint.url/0 # This line seems to be a problem
]
]},
restart: :transient,
shutdown: 5_000
}
]
opts = [strategy: :one_for_one, name: WebInterface.Supervisor]
Supervisor.start_link(children, opts)
end
After reading more on the subject I changed my config/test.exs to this:
import Config
config :web_interface, WebInterface.Endpoint,
http: [ip: {127, 0, 0, 1}, port: 4002],
secret_key_base: "some_key",
server: true,
check_origin: false
But this still does not fix the issue.
In contrast, this is my config/prod.exs:
config :web_interface, WebInterface.Endpoint,
http: [ip: {127, 0, 0, 1}, port: 80],
cache_static_manifest: "priv/static/cache_manifest.json",
secret_key_base: "some_key",
check_origin: false,
server: true
But the issue still occurs.
Questions
- Why am I having this issue?
- How can I fix it?
Trending in Questions
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
Hello,
I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
So my question is quite simple and i have found no conclusive answer on forum, google or AI.
Should we use :erlang.float for Integer to ...
New
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Latest Phoenix Threads
Latest in /Elixir Desktop
Latest on Elixir Forum
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 1- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Fl4m3Ph03n1x
Answer
Turns out that in a previous launch of the application, wxWidgets (the process) had exited in a bad state. Perhaps it crashed or something else happened, but what matters here is that trying to restart it was impossible.
I had to restart my machine to start everything in a new clean state.
I also deleted the
_buildfolder to be sure.This solved the issue.