Comments (8)
Please check the master branch now.
from erlexec.
BTW, this is how you can check the meaning of a status code:
1> exec:status(132).
{signal,sigill,true}
from erlexec.
@saleyn same error when using the latest erlexec
from master.
Exit code 132=128 + 4
.
SIGILL=4
signal is about Illegal instruction: the program contained some machine code the CPU can't understand.
If I try to run the failing erlexec
command using os:cmd
, they all go perfectly without any error.
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
# dmesg -T | grep opcode
[Tue Apr 9 13:03:44 2024] traps: exec-port[19214] trap invalid opcode ip:5595beec6446 sp:7ffc773eb600 error:0 in exec-port[5595beebf000+22000]
[Tue Apr 9 13:03:45 2024] traps: exec-port[19215] trap invalid opcode ip:56380fb13446 sp:7ffda1300c60 error:0 in exec-port[56380fb0c000+22000]
[Tue Apr 9 13:03:45 2024] traps: exec-port[19250] trap invalid opcode ip:55c5862ed446 sp:7ffed779f4c0 error:0 in exec-port[55c5862e6000+22000]
[Tue Apr 9 13:03:45 2024] traps: exec-port[19251] trap invalid opcode ip:5575d1129446 sp:7ffca453a680 error:0 in exec-port[5575d1122000+22000]
[Tue Apr 9 13:03:46 2024] traps: exec-port[19257] trap invalid opcode ip:5618a1e6c446 sp:7fff001fa900 error:0 in exec-port[5618a1e65000+22000]
[Tue Apr 9 13:03:46 2024] traps: exec-port[19262] trap invalid opcode ip:55cf26e09446 sp:7fffcf58da40 error:0 in exec-port[55cf26e02000+22000]
[Tue Apr 9 13:05:21 2024] traps: exec-port[20144] trap invalid opcode ip:564cd448a446 sp:7ffc7bb1df80 error:0 in exec-port[564cd4483000+22000]
[Tue Apr 9 13:05:21 2024] traps: exec-port[20163] trap invalid opcode ip:559a8398f446 sp:7ffca74f5be0 error:0 in exec-port[559a83988000+22000]
[Tue Apr 9 13:12:19 2024] traps: exec-port[20165] trap invalid opcode ip:564f0228f446 sp:7ffd9dc36c60 error:0 in exec-port[564f02288000+22000]
[Tue Apr 9 13:12:29 2024] traps: exec-port[20439] trap invalid opcode ip:5621ecce9446 sp:7fff27454e20 error:0 in exec-port[5621ecce2000+22000]
[Tue Apr 9 13:12:37 2024] traps: exec-port[20441] trap invalid opcode ip:55b5c22a9446 sp:7ffd4be08900 error:0 in exec-port[55b5c22a2000+22000]
[Tue Apr 9 13:12:42 2024] traps: exec-port[20443] trap invalid opcode ip:5556451be446 sp:7ffce9cfbb00 error:0 in exec-port[5556451b7000+22000]
[Tue Apr 9 13:37:33 2024] traps: exec-port[21109] trap invalid opcode ip:5571ac457446 sp:7fffc6569880 error:0 in exec-port[5571ac450000+22000]
[Tue Apr 9 13:37:33 2024] traps: exec-port[21110] trap invalid opcode ip:561a15fa6446 sp:7ffc2f1e4e40 error:0 in exec-port[561a15f9f000+22000]
[Tue Apr 9 13:37:33 2024] traps: exec-port[21129] trap invalid opcode ip:55d409242446 sp:7ffcffdf2ee0 error:0 in exec-port[55d40923b000+22000]
[Tue Apr 9 13:37:34 2024] traps: exec-port[21149] trap invalid opcode ip:560a5a16b446 sp:7ffc108eb9c0 error:0 in exec-port[560a5a164000+22000]
[Tue Apr 9 13:37:34 2024] traps: exec-port[21150] trap invalid opcode ip:55675b655446 sp:7fff89c52280 error:0 in exec-port[55675b64e000+22000]
[Tue Apr 9 13:37:34 2024] traps: exec-port[21155] trap invalid opcode ip:5636961ed446 sp:7ffc1632bc20 error:0 in exec-port[5636961e6000+22000]
[Tue Apr 9 13:38:39 2024] traps: exec-port[21589] trap invalid opcode ip:565462efd446 sp:7ffd8247b0a0 error:0 in exec-port[565462ef6000+22000]
[Tue Apr 9 13:38:40 2024] traps: exec-port[21608] trap invalid opcode ip:55ed9fe4d446 sp:7fffbc44d180 error:0 in exec-port[55ed9fe46000+22000]
[Tue Apr 9 13:46:58 2024] traps: exec-port[22196] trap invalid opcode ip:562811cc9446 sp:7ffeac45abc0 error:0 in exec-port[562811cc2000+22000]
[Tue Apr 9 13:46:59 2024] traps: exec-port[22215] trap invalid opcode ip:56122d506446 sp:7ffc34d853e0 error:0 in exec-port[56122d4ff000+22000]
from erlexec.
@saleyn We found the issue:
https://github.com/saleyn/erlexec/blob/master/c_src/Makefile#L72-L77
You've added AVX/AVX2
compilation flags, and our target Docker machine doesn't support them.
After recompiling erlexec
without these flags, it worked.
Question: why these AVX/AVX2
flags ? Do you really need SIMD
instructions inside erlexec
?
from erlexec.
This was an optimization to vectorize loops. I can take it out for compatibility.
from erlexec.
BTW, this is how you can check the meaning of a status code:
1> exec:status(132). {signal,sigill,true}
Forget that one, thanks.
from erlexec.
This was an optimization to vectorize loops. I can take it out for compatibility.
Yes please, take it off. We heavily rely on erlexec
for many years.
from erlexec.
Please check the master branch now.
Working as expected now. Many thanks.
from erlexec.
Related Issues (20)
- Disable erl_interface for Erlang 23 HOT 1
- :env option in 1.18.8 HOT 2
- Establishing/Supervising Communications With a Long-Running, Data Streaming Python Process HOT 3
- New release? Resolve port hanging HOT 2
- Exit codes appear to be x256 too large HOT 1
- erlexec on linux slows down when nofile limit is a large value HOT 2
- Mac OS error: use of undeclared identifier 'pipe2' HOT 2
- Could not compile dependency :erlexec HOT 15
- I am running into issues with elixir release HOT 3
- When native stdin process buffer is full, erlexec does not retry HOT 11
- PTY dynamic option test failing HOT 6
- Does 2.0.0 contain a breaking change? HOT 1
- Compile failure on OSX M1 mac HOT 4
- Passing command arguments as list HOT 1
- USE_POLL is not set HOT 1
- Failed build on FreeBSD HOT 9
- Compile fails on arm HOT 4
- Issue on ARM Mac HOT 9
- Erlexec compile fails on FreeBSD 14 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from erlexec.