@@ -319,6 +319,13 @@ jobs:
319319 - name : " Install deps"
320320 run : sudo apt install -y ${{ matrix.compiler_pkgs}} cmake gperf zlib1g-dev doxygen valgrind libmbedtls-dev
321321
322+ - name : Set cores to get stored in /cores
323+ run : |
324+ sudo mkdir /cores
325+ sudo chmod 777 /cores
326+ # Core filenames will be of the form executable.pid.timestamp:
327+ sudo bash -c 'echo "/cores/%e.%p.%t" > /proc/sys/kernel/core_pattern'
328+
322329 # Builder info
323330 - name : " System info"
324331 run : |
@@ -367,60 +374,69 @@ jobs:
367374 timeout-minutes : 15
368375 working-directory : build
369376 run : |
377+ ulimit -c unlimited
370378 ./tests/test-erlang -s prime_smp
371379 valgrind ./tests/test-erlang -s prime_smp
372380
373381 - name : " Test: test-enif"
374382 working-directory : build
375383 run : |
384+ ulimit -c unlimited
376385 ./tests/test-enif
377386 valgrind ./tests/test-enif
378387
379388 - name : " Test: test-mailbox"
380389 working-directory : build
381390 run : |
391+ ulimit -c unlimited
382392 ./tests/test-mailbox
383393 valgrind ./tests/test-mailbox
384394
385395 - name : " Test: test-structs"
386396 timeout-minutes : 10
387397 working-directory : build
388398 run : |
399+ ulimit -c unlimited
389400 ./tests/test-structs
390401 valgrind ./tests/test-structs
391402
392403 - name : " Test: test_etest.avm"
393404 timeout-minutes : 5
394405 working-directory : build
395406 run : |
407+ ulimit -c unlimited
396408 ./src/AtomVM ./tests/libs/etest/test_etest.avm
397409 valgrind ./src/AtomVM ./tests/libs/etest/test_etest.avm
398410
399411 - name : " Test: test_estdlib.avm"
400412 timeout-minutes : 5
401413 working-directory : build
402414 run : |
415+ ulimit -c unlimited
403416 ./src/AtomVM ./tests/libs/estdlib/test_estdlib.avm
404417 valgrind ./src/AtomVM ./tests/libs/estdlib/test_estdlib.avm
405418
406419 - name : " Test: test_eavmlib.avm"
407420 timeout-minutes : 10
408421 working-directory : build
409422 run : |
423+ ulimit -c unlimited
410424 ./src/AtomVM ./tests/libs/eavmlib/test_eavmlib.avm
411425 valgrind ./src/AtomVM ./tests/libs/eavmlib/test_eavmlib.avm
412426
413427 - name : " Test: test_alisp.avm"
414428 timeout-minutes : 10
415429 working-directory : build
416430 run : |
431+ ulimit -c unlimited
417432 ./src/AtomVM ./tests/libs/alisp/test_alisp.avm
418433 valgrind ./src/AtomVM ./tests/libs/alisp/test_alisp.avm
419434
420435 - name : " Test: Tests.avm (Elixir)"
421436 timeout-minutes : 10
422437 working-directory : build
423438 run : |
439+ ulimit -c unlimited
424440 if command -v elixirc &> /dev/null
425441 then
426442 ./src/AtomVM ./tests/libs/exavmlib/Tests.avm
@@ -430,7 +446,15 @@ jobs:
430446 - name : " Install and smoke test"
431447 working-directory : build
432448 run : |
449+ ulimit -c unlimited
433450 sudo PATH=${PATH} make install
434451 atomvm examples/erlang/hello_world.avm
435452 atomvm -v
436453 atomvm -h
454+
455+ - name : " Upload any dumped core"
456+ uses : actions/upload-artifact@v3
457+ if : ${{ failure() }} # Run only if something went wrong
458+ with :
459+ name : cores-${{ github.run_id }}-${{ github.run_attempt }}
460+ path : /cores
0 commit comments