-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Communication over Erlang port does not work in release version #6166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@DerKastellan if you see the output that you have added of Finally, if you are not sure if something is a bug and you need help, prefer to use the Elixir Forum or Stack Overflow. We are very few maintainers and unfortunately we cannot help everyone in the community. If nobody can identify the root cause, then it is fine to open up an issue. If you have done that already, then no sweat! |
Hello, José.
Thank you for your answer. I will try your recommendation. Did you test it?
What I don't understand about your answer is that my program actually starts the test.esh (I see the first printout), so it is indeed found, but then it does not pipe into the program.
I tried getting an answer in the Elixir forum, but 0 replies. To me it was not clear it was not a bug, I could reproduce it.
Thank you for your help.
Oliver
|
Awesome that you tried to get help before, thank you! It worked correctly in a release but I cannot get it to work anymore. :( I will reopen until I can provide the full instructions. |
Ok, apparently it didn't work and I tested the wrong thing when I thought it did. So the issue is that, when you run the release, it changes your PATH and it is picking the escript executable inside the release, at Now, the release escript is the same as you have in your machine, but I assume it does not work because your release is configured to run differently than the erlang installed in your machine. I would advise opening up an issue in distillery for further investigation as it is not an Elixir issue per se. It may be an Erlang issue though - although it is debatable if escripts are supposed to be part of the release. |
Thank you for your time, José! I will heed your advice and direct my issue elsewhere. I do appreciate the help. (The script is just a placeholder for host testing, delivering predefined responses, I also deliver a C application for production use on target machine with different functionality that uses a legacy API.) |
Uh oh!
There was an error while loading. Please reload this page.
Precheck
Done.
Environment
elixir --version
Erlang/OTP 19 [erts-8.0] [source] [64-bit] [smp:48:48] [async-threads:10] [hipe] [kernel-poll:false]
Elixir 1.3.4
Linux [...] 4.4.36-2.[...].el6.x86_64 If-statement in body causes warning message #1 SMP Mon Dec 12 12:45:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.7 (Santiago)
Current behavior
When I use my communication through an Erlang port in a escript or with
mix run
, it works. When I do amix release
with distillery (1.4), in the resulting application the communication over the pipe doesn't work anymore for no apparent reason. It simply hangs as soon when it writes to the pipe. The port application itself never receives anything over the pipe but starts up.I wrote a sample application to replicate my problem: https://github.com/DerKastellan/release-weirdness
Expected behavior
Pipe communication to Erlang port should work whether in dev mode with mix or in released application.
I would appreciate any help with this. I'm at a loss why behavior changes when using distillery...
The text was updated successfully, but these errors were encountered: