blob: cbe1085afb780ac412353daea920e656f591f524 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
runtime: 0.454
instruction: 0.321
syscall: 0.225
Segmentation fault when compiling elixir app on qemu aarch64 on x86_64 host
Description of problem:
When I try to install an elixir escript using
```
mix escript.install github upmaru/pakman --force
```
I run into a segfault with the following output
```
Build and Deploy
failed Oct 22, 2023 in 1m 27s
2s
2s
22s
56s
remote: Compressing objects: 86% (144/167)
remote: Compressing objects: 87% (146/167)
remote: Compressing objects: 88% (147/167)
remote: Compressing objects: 89% (149/167)
remote: Compressing objects: 90% (151/167)
remote: Compressing objects: 91% (152/167)
remote: Compressing objects: 92% (154/167)
remote: Compressing objects: 93% (156/167)
remote: Compressing objects: 94% (157/167)
remote: Compressing objects: 95% (159/167)
remote: Compressing objects: 96% (161/167)
remote: Compressing objects: 97% (162/167)
remote: Compressing objects: 98% (164/167)
remote: Compressing objects: 99% (166/167)
remote: Compressing objects: 100% (167/167)
remote: Compressing objects: 100% (167/167), done.
remote: Total 2568 (delta 86), reused 188 (delta 58), pack-reused 2341
origin/HEAD set to develop
Resolving Hex dependencies...
Resolution completed in 0.872s
New:
castore 1.0.4
finch 0.16.0
hpax 0.1.2
jason 1.4.1
mime 2.0.5
mint 1.5.1
nimble_options 1.0.2
nimble_pool 1.0.0
slugger 0.3.0
telemetry 1.2.1
tesla 1.7.0
yamerl 0.10.0
yaml_elixir 2.8.0
* Getting tesla (Hex package)
* Getting jason (Hex package)
* Getting yaml_elixir (Hex package)
* Getting slugger (Hex package)
* Getting finch (Hex package)
* Getting mint (Hex package)
* Getting castore (Hex package)
* Getting hpax (Hex package)
* Getting mime (Hex package)
* Getting nimble_options (Hex package)
* Getting nimble_pool (Hex package)
* Getting telemetry (Hex package)
* Getting yamerl (Hex package)
Resolving Hex dependencies...
Resolution completed in 0.413s
Unchanged:
castore 1.0.4
finch 0.16.0
hpax 0.1.2
jason 1.4.1
mime 2.0.5
mint 1.5.1
nimble_options 1.0.2
nimble_pool 1.0.0
slugger 0.3.0
telemetry 1.2.1
tesla 1.7.0
yamerl 0.10.0
yaml_elixir 2.8.0
All dependencies are up to date
==> mime
Compiling 1 file (.ex)
Generated mime app
==> nimble_options
Compiling 3 files (.ex)
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
```
Steps to reproduce:
1. Create a repo using the github action zacksiri/setup-alpine
2. Install elixir
3. run `mix escript.install github upmaru/pakman --force`
Additional information:
You can use the following github action config as an example / starting point.
```yml
name: 'Deployment'
on:
push:
branches:
- main
- master
- develop
jobs:
build_and_deploy:
name: Build and Deploy
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v3
with:
ref: ${{ github.event.workflow_run.head_branch }}
fetch-depth: 0
- name: 'Setup Alpine'
uses: zacksiri/setup-alpine@master
with:
branch: v3.18
arch: aarch64
qemu-repo: edge
packages: |
zip
tar
sudo
alpine-sdk
coreutils
cmake
elixir
- name: 'Setup PAKman'
run: |
export MIX_ENV=prod
mix local.rebar --force
mix local.hex --force
mix escript.install github upmaru/pakman --force
shell: alpine.sh {0}
```
I'm using alpine 3.18 which has otp25 with jit enabled so I suspect this is something to do with https://gitlab.com/qemu-project/qemu/-/issues/1034
|