kodepett
I check my logs today in production and found below error logs indicating the crashing of my phoenix server endpoint.
request_id=FfJ7ijs3cGTfqa8AHM_B [error] 3914- fatal: :expected_element_start_tag
[error] pid<0.21588.4> running DebitorWeb.Endpoint (connection pid<0.21587.4>, stream id 1) terminated
I think :expected_element_start_tag per what I stumbled upon is related to xmerl - I’m using SweetXml which is a wrapper around xmerl.
Will I be right in concluding that this is what is causing the crashing of the Endpoint - can I simply wrap the library in a try and catch block to resolve this issue.
Thanks.
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!
Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app.
I creat...
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
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
apply_graft/2 doesn’t rewrite an add_many sub-workflow’s deps on an add step. Grafted jobs cancel with “upstream job was deleted”
Version...
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
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
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
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
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
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
- #blog-post
- #ai
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 5- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
idi527
What for exactly? I’d prefer a crashing endpoint (note this is not the whole application, but a single connection/stream process pair crashing) with a log trace.
kodepett
That sounds comforting, I was a bit worried it was affecting the entire endpoint. BTW - it’s a transactional processing system and I will be much more comfortable trapping and logging all exceptions rather than have it crashed. Please advise if wrapping SweetXml in try and catch will help.
idi527
But they are logged with a stacktrace by default, no? And why would you want to trap them?
kodepett
I want to avoid the spawned process crashing- per how cowboy handles request, if the process crashes, only the crash report is logged. I want to be able to catch xmerl exception, log it with the exact xml string and possibly proceed to run other api calls.
idi527
Ah, I see. Then, I guess, yes, trapping is one of the possible approaches. You can also try parsing in a separate process which is not linked but monitored by the request processes.