Segfault in `test_sampling_profiler`
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Crash report
What happened?
A recent Buildbot run (AMD64 Debian root) saw a segfault in test_sampling_profiler: https://buildbot.python.org/#/builders/345/builds/12988
test_sampling_all_threads (test.test_profiling.test_sampling_profiler.test_integration.TestSampleProfilerIntegration.test_sampling_all_threads) ... Fatal Python error: Segmentation fault
Current thread 0x00007f85531fa740 [python] (most recent call first):
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/profiling/sampling/sample.py", line 75 in sample
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/profiling/sampling/sample.py", line 350 in sample
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/test_profiling/test_sampling_profiler/test_integration.py", line 521 in test_sampling_all_threads
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/case.py", line 613 in _callTestMethod
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/case.py", line 667 in run
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/case.py", line 723 in __call__
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 122 in run
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 84 in __call__
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 122 in run
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 84 in __call__
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 122 in run
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 84 in __call__
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 122 in run
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 84 in __call__
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 122 in run
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/suite.py", line 84 in __call__
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/unittest/runner.py", line 257 in run
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/single.py", line 84 in _run_suite
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/single.py", line 42 in run_unittest
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/single.py", line 162 in test_func
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/single.py", line 118 in regrtest_runner
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/single.py", line 165 in _load_run_test
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/single.py", line 210 in _runtest_env_changed_exc
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/single.py", line 319 in _runtest
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/single.py", line 348 in run_single_test
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/worker.py", line 99 in worker_process
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/worker.py", line 134 in main
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/test/libregrtest/worker.py", line 138 in <module>
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/runpy.py", line 87 in _run_code
File "/root/buildarea/3.x.angelico-debian-amd64/build/Lib/runpy.py", line 196 in _run_module_as_main
Current thread's C stack trace (most recent call first):
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _Py_DumpStack+0x33 [0x563947ed22d4]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x3285b2 [0x563947eea5b2]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x328caa [0x563947eeacaa]
Binary file "/lib/x86_64-linux-gnu/libc.so.6", at +0x3bfd0 [0x7f8553238fd0]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _PyEval_EvalFrameDefault+0x5795 [0x563947e2bc9a]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x280c92 [0x563947e42c92]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x280e44 [0x563947e42e44]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _PyFunction_Vectorcall+0x54 [0x563947cee2da]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12f1c1 [0x563947cf11c1]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12f326 [0x563947cf1326]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12da86 [0x563947cefa86]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12dd76 [0x563947cefd76]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at PyObject_Call+0x20 [0x563947cefdae]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _PyEval_EvalFrameDefault+0x60a2 [0x563947e2c5a7]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x280c92 [0x563947e42c92]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x280e44 [0x563947e42e44]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _PyFunction_Vectorcall+0x54 [0x563947cee2da]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12d7d3 [0x563947cef7d3]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12d99d [0x563947cef99d]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x1c26af [0x563947d846af]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x1c278d [0x563947d8478d]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _PyObject_MakeTpCall+0xce [0x563947cee47c]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12c6af [0x563947cee6af]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at PyObject_Vectorcall+0x23 [0x563947cee6fd]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _Py_VectorCall_StackRefSteal+0x86 [0x563947e237d2]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _PyEval_EvalFrameDefault+0x90b2 [0x563947e2f5b7]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x280c92 [0x563947e42c92]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x280e44 [0x563947e42e44]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at _PyFunction_Vectorcall+0x54 [0x563947cee2da]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12f1c1 [0x563947cf11c1]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12f326 [0x563947cf1326]
Binary file "/root/buildarea/3.x.angelico-debian-amd64/build/python", at +0x12da86 [0x563947cefa86]
<truncated rest of calls>
A similar crash happened earlier in the run in test_sampling_with_collapsed_export.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Output from running 'python -VV' on the command line:
No response
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par Lib/profiling/sampling/sample.py autour des lignes signalées 75 et 350, puis inspectez Lib/test/test_profiling/test_sampling_profiler/test_integration.py autour de test_sampling_all_threads et test_sampling_with_collapsed_export. Reproduisez les tests défaillants de sampling-profiler sous Linux et suivez le segfault. C’est terminé lorsque les tests concernés s’exécutent sans segmentation fault et que la régression est couverte par la suite de tests pertinente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- performance, testing
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 30/100