Skip to content

Commit f1eae63

Browse files
committed
try skipping teardown
1 parent 8c84cca commit f1eae63

2 files changed

Lines changed: 16 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ jobs:
3838
. ./ci-support-v0
3939
build_py_project_in_conda_env
4040
export NO_COLOR=1
41+
export SKIP_TEARDOWN=1
4142
python intel_crash_reproducer.py
4243
4344
# vim: sw=4

intel_crash_reproducer.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
group/local/chunk inames and tagged for an OpenCL-style execution.
77
"""
88

9+
import os
10+
import sys
11+
912
import numpy as np
1013

1114
import loopy as lp
@@ -47,3 +50,15 @@
4750

4851
_evt, (out,) = knl(queue)
4952
print(out.get())
53+
54+
# The kernel result above is correct; the Intel CPU OpenCL runtime instead
55+
# aborts with "corrupted double-linked list" later, during process teardown
56+
# (its atexit/TBB thread-pool shutdown), not during the kernel launch.
57+
#
58+
# Setting SKIP_TEARDOWN=1 hard-exits before those finalizers run. If that makes
59+
# the crash disappear, it confirms the fault is in runtime/TBB shutdown rather
60+
# than the kernel.
61+
if os.environ.get("SKIP_TEARDOWN") == "1":
62+
sys.stdout.flush()
63+
sys.stderr.flush()
64+
os._exit(0)

0 commit comments

Comments
 (0)