This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2012年06月04日 19:49 by amaury.forgeotdarc, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| pyrun_simple.patch | vstinner, 2012年06月05日 23:53 | review | ||
| Messages (9) | |||
|---|---|---|---|
| msg162284 - (view) | Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) | Date: 2012年06月04日 19:49 | |
This simple script segfaults the interpreter (all versions), at least when run with "./python myscript.py" myscript.py:: import sys del sys.module['__main__'] |
|||
| msg162286 - (view) | Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) | Date: 2012年06月04日 20:06 | |
Many paths in pythonrun.c contains these lines:
m = PyImport_AddModule("__main__");
d = PyModule_GetDict(m);
both return borrowed references, from sys.modules.
in most cases, d is simply passed to PyEval_EvalCode() and not used afterwards, *except* in PyRun_SimpleFileExFlags which calls PyDict_DelItemString(d, "__file__"); this is where the crash occurs.
|
|||
| msg162381 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2012年06月05日 23:53 | |
Attached patch changes PyRun_SimpleFileExFlags() to keep a reference to the module. |
|||
| msg174492 - (view) | Author: Hynek Schlawack (hynek) * (Python committer) | Date: 2012年11月02日 07:19 | |
Fun fact, on 2.7 & 3.2 I get infinite loops @ 100% CPU. 3.3 & default crash. Unless someone yells, I'll polish this up and commit next week. |
|||
| msg174745 - (view) | Author: Dmytro Korsakov (shaitanich) | Date: 2012年11月04日 02:59 | |
I was unable to reproduce the case with stock python 2.7 neither on OSX nor on Linux. System python 3.2 seems to be fine too. At the same time python 2.7 built with debug enabled gets infinite loop and uses all the cpu. However, python 3.4 crashes just as described built both with or without debug flag, and suggested patch fixes it. |
|||
| msg174748 - (view) | Author: Ezio Melotti (ezio.melotti) * (Python committer) | Date: 2012年11月04日 03:32 | |
Same here, I tested the patch on 3.4 (debug and non-debug) and it seems to fix the problem. |
|||
| msg175049 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年11月07日 08:14 | |
New changeset b256d054f229 by Hynek Schlawack in branch '3.2': Issue #15001: fix segfault on "del sys.module['__main__']" http://hg.python.org/cpython/rev/b256d054f229 New changeset 215297665098 by Hynek Schlawack in branch '3.3': Issue #15001: fix segfault on "del sys.module['__main__']" http://hg.python.org/cpython/rev/215297665098 New changeset 859ef54bdce2 by Hynek Schlawack in branch 'default': Issue #15001: fix segfault on "del sys.module['__main__']" http://hg.python.org/cpython/rev/859ef54bdce2 |
|||
| msg175055 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年11月07日 08:48 | |
New changeset 4ebe1ede981e by Hynek Schlawack in branch '2.7': Issue #15001: fix segfault on "del sys.modules['__main__']" http://hg.python.org/cpython/rev/4ebe1ede981e |
|||
| msg175056 - (view) | Author: Hynek Schlawack (hynek) * (Python committer) | Date: 2012年11月07日 08:52 | |
This should be fixed now, thanks to all who helped! |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:31 | admin | set | github: 59206 |
| 2012年11月07日 08:52:46 | hynek | set | status: open -> closed resolution: fixed messages: + msg175056 stage: commit review -> resolved |
| 2012年11月07日 08:48:28 | python-dev | set | messages: + msg175055 |
| 2012年11月07日 08:31:59 | Arfrever | set | title: segmentation fault with del sys.module['__main__'] -> segmentation fault with del sys.modules['__main__'] |
| 2012年11月07日 08:14:32 | python-dev | set | nosy:
+ python-dev messages: + msg175049 |
| 2012年11月05日 12:12:47 | ncoghlan | set | nosy:
+ ncoghlan |
| 2012年11月04日 03:32:40 | ezio.melotti | set | nosy:
+ ezio.melotti messages: + msg174748 |
| 2012年11月04日 02:59:26 | shaitanich | set | nosy:
+ shaitanich messages: + msg174745 |
| 2012年11月02日 07:19:05 | hynek | set | stage: commit review messages: + msg174492 versions: + Python 3.4, - Python 3.1 |
| 2012年06月06日 01:08:10 | jcea | set | nosy:
+ jcea |
| 2012年06月05日 23:53:40 | vstinner | set | files:
+ pyrun_simple.patch keywords: + patch messages: + msg162381 |
| 2012年06月04日 22:55:25 | vstinner | set | nosy:
+ vstinner |
| 2012年06月04日 20:06:59 | amaury.forgeotdarc | set | messages: + msg162286 |
| 2012年06月04日 19:59:29 | hynek | set | nosy:
+ hynek |
| 2012年06月04日 19:54:12 | alex | set | nosy:
+ alex |
| 2012年06月04日 19:49:25 | amaury.forgeotdarc | create | |