Skip to content

Commit 99e4e0d

Browse files
authored
Disable ASLR, upgrade Ubuntu CI images (#321)
After much tinkering with libuv's CI, I finally figured out that ASLR is the root cause for the ASan and MSan failures. Newer kernels use bigger PIE slides and the sanitizer runtimes don't know how to handle those (yet - looks like it's been fixed upstream.) Refs: #315 Refs: libuv/libuv#4365
1 parent 3a55b80 commit 99e4e0d

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

.github/workflows/ci.yml

+22-14
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616

1717
jobs:
1818
codegen:
19-
runs-on: ubuntu-20.04
19+
runs-on: ubuntu-latest
2020
steps:
2121
- uses: actions/checkout@v4
2222
- name: build
@@ -25,7 +25,7 @@ jobs:
2525
- name: Check if the git repository is clean
2626
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
2727
linux:
28-
runs-on: ubuntu-20.04
28+
runs-on: ubuntu-latest
2929
strategy:
3030
fail-fast: false
3131
matrix:
@@ -52,7 +52,7 @@ jobs:
5252
run: |
5353
./v8.sh
5454
linux-32bits:
55-
runs-on: ubuntu-20.04
55+
runs-on: ubuntu-latest
5656
defaults:
5757
run:
5858
shell: alpine.sh {0}
@@ -72,7 +72,7 @@ jobs:
7272
run: |
7373
make test
7474
linux-s390x:
75-
runs-on: ubuntu-20.04
75+
runs-on: ubuntu-latest
7676
defaults:
7777
run:
7878
shell: alpine.sh {0}
@@ -92,7 +92,7 @@ jobs:
9292
run: |
9393
make test
9494
linux-gcc48:
95-
runs-on: ubuntu-20.04
95+
runs-on: ubuntu-latest
9696
container:
9797
image: ubuntu:14.04
9898
steps:
@@ -122,7 +122,7 @@ jobs:
122122
run: |
123123
time make test262
124124
linux-examples:
125-
runs-on: ubuntu-20.04
125+
runs-on: ubuntu-latest
126126
steps:
127127
- uses: actions/checkout@v4
128128
- name: build
@@ -144,7 +144,7 @@ jobs:
144144
./build/qjs tests/test_bjson.js
145145
./build/function_source
146146
linux-shared:
147-
runs-on: ubuntu-20.04
147+
runs-on: ubuntu-latest
148148
steps:
149149
- uses: actions/checkout@v4
150150
- name: build
@@ -155,11 +155,15 @@ jobs:
155155
run: |
156156
make stats
157157
linux-asan:
158-
runs-on: ubuntu-20.04
158+
runs-on: ubuntu-latest
159159
steps:
160160
- uses: actions/checkout@v4
161161
with:
162162
submodules: true
163+
# ASLR with big PIE slides does not work well with [AM]San
164+
- name: disable ASLR
165+
run: |
166+
sudo sysctl -w kernel.randomize_va_space=0
163167
- name: build
164168
run: |
165169
make CONFIG_ASAN=ON
@@ -174,11 +178,15 @@ jobs:
174178
run: |
175179
time make test262
176180
linux-msan:
177-
runs-on: ubuntu-20.04
181+
runs-on: ubuntu-latest
178182
steps:
179183
- uses: actions/checkout@v4
180184
with:
181185
submodules: true
186+
# ASLR with big PIE slides does not work well with [AM]San
187+
- name: disable ASLR
188+
run: |
189+
sudo sysctl -w kernel.randomize_va_space=0
182190
- name: build
183191
env:
184192
CC: clang
@@ -190,7 +198,7 @@ jobs:
190198
run: |
191199
make test
192200
linux-ubsan:
193-
runs-on: ubuntu-20.04
201+
runs-on: ubuntu-latest
194202
steps:
195203
- uses: actions/checkout@v4
196204
with:
@@ -209,7 +217,7 @@ jobs:
209217
run: |
210218
time make test262
211219
linux-tcc:
212-
runs-on: ubuntu-20.04
220+
runs-on: ubuntu-latest
213221
steps:
214222
- uses: actions/checkout@v4
215223
with:
@@ -428,7 +436,7 @@ jobs:
428436
make stats
429437
430438
emscripten:
431-
runs-on: ubuntu-20.04
439+
runs-on: ubuntu-latest
432440
steps:
433441
- uses: actions/checkout@v4
434442
- uses: mymindstorm/setup-emsdk@v13
@@ -441,7 +449,7 @@ jobs:
441449
- name: result
442450
run: ls -lh build
443451
wasi:
444-
runs-on: ubuntu-20.04
452+
runs-on: ubuntu-latest
445453
steps:
446454
- uses: actions/checkout@v4
447455
- uses: jcbhmr/setup-wasmtime@v2
@@ -526,7 +534,7 @@ jobs:
526534
gmake test
527535
528536
android:
529-
runs-on: ubuntu-20.04
537+
runs-on: ubuntu-latest
530538
container: reactnativecommunity/react-native-android:v13.0
531539
steps:
532540
- uses: actions/checkout@v4

0 commit comments

Comments
 (0)