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年08月20日 13:46 by Apple Grew, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| Process Python.txt | Apple Grew, 2012年08月20日 13:46 | Crash report | ||
| Messages (9) | |||
|---|---|---|---|
| msg168660 - (view) | Author: Apple Grew (Apple Grew) | Date: 2012年08月20日 13:46 | |
Python crashes when I try to access (by sending http request from borwser) my Django application. OS: Mac OSX Lion Python version: 2.7.1 (This was pre-bundled with OS and not a MacPort). There isn't a simple test case but I do have an open source app which where I am able to replicate this always on my system. 0. Make sure you have Django 1.4 installed. 1. Download the code at https://github.com/applegrew/django-select2/tree/v1.1-PythonCrasher 2. cd to django-select2/testapp folder. 3. Use python manage.py runserver & to run the server. 4. Now try accessing http://127.0.0.1:8000/ . It should crash immediately. Lines which seem to cause the crash. Follow the following instructions and the application won't crash again. 1. Open django_select2/fields.py. 2. Comment line 128, uncomment line 129. 3. Uncomment line 156 and comment lines 158 and 159. 4. Now run the app again. This time it should work. |
|||
| msg168663 - (view) | Author: Ross Lagerwall (rosslagerwall) (Python committer) | Date: 2012年08月20日 14:42 | |
Well the app has an infinite recursion. This shows on Fedora Linux 17: """ Request Method: GET Request URL: http://127.0.0.1:8000/ Django Version: 1.4 Exception Type: RuntimeError Exception Value: maximum recursion depth exceeded while calling a Python object Exception Location: /tmp/dg/django_select2/fields.py in __init__, line 146 Python Executable: /home/ross/src/python/2.7/python Python Version: 2.7.1 ... """ Of course, this shouldn't cause a bus error in Python. Perhaps try a different build of Python or try building it yourself? |
|||
| msg168685 - (view) | Author: Apple Grew (Apple Grew) | Date: 2012年08月20日 18:09 | |
Well I tried with Python2.6 (MacPort) now. It too crashes with Bus error. I guess this has something to do with OSX ports. Please investigate. Whatever it maybe, but the process must not crash like that. |
|||
| msg168688 - (view) | Author: Apple Grew (Apple Grew) | Date: 2012年08月20日 18:22 | |
If you believe this is impossible then possibly there could be a memory overflow issue which triggers this error in OSX builds. In other builds it may not cause that problem or don't share the same faulty code. |
|||
| msg168699 - (view) | Author: Ross Lagerwall (rosslagerwall) (Python committer) | Date: 2012年08月20日 20:44 | |
Sorry, I didn't mean that it's impossible; I meant that it shouldn't happen and it should be fixed :-) Unfortunately I don't have access to an OS X box to test. |
|||
| msg168701 - (view) | Author: Ronald Oussoren (ronaldoussoren) * (Python committer) | Date: 2012年08月20日 20:54 | |
The bug report mentions python 2.7.1. Could you try to reproduce using the most recent release, or a fresh checkout? The reason I ask this is that the crash report has a deeply nested call stack and there used to be a bug where new threads were created with a too small stack. BTW. Python 2.6 is in security fix only mode. |
|||
| msg168732 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2012年08月21日 03:05 | |
I believe the issue Ronald is referring to is Issue9670. I tried your test program with a current MacPorts Python 2.7.3 and Django 1.4 and, as Ross saw, it failed gracefully with a "maximum recursion depth exceeded while calling a Python object" exception. Note in that issue there is currently no perfect fix for this: we've had to heuristically adjust the maximum default stack size based on experience with different compilers and trying not to unnecessarily increase memory usage for pathological cases. The last adjustment was released in 2.7.2, so presumably not in the compiler used for the Apple-supplied Python 2.7.1 in Lion. I'm going to close this as a duplicate of #9670. Feel free to reopen if the problem can be reproduced with a current 2.7.3 or if someone has a better long-term solution. |
|||
| msg168734 - (view) | Author: Apple Grew (Apple Grew) | Date: 2012年08月21日 04:34 | |
Thanks. I tested with 2.7.3 (macport) and it indeed works. |
|||
| msg168736 - (view) | Author: Ronald Oussoren (ronaldoussoren) * (Python committer) | Date: 2012年08月21日 04:54 | |
The stack size problem was issue #9670. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:34 | admin | set | github: 59944 |
| 2012年08月21日 04:54:30 | ronaldoussoren | set | messages: + msg168736 |
| 2012年08月21日 04:34:03 | Apple Grew | set | messages: + msg168734 |
| 2012年08月21日 03:05:29 | ned.deily | set | status: open -> closed superseder: Exceed Recursion Limit in Thread nosy: + ned.deily messages: + msg168732 resolution: duplicate stage: resolved |
| 2012年08月20日 20:54:09 | ronaldoussoren | set | messages: + msg168701 |
| 2012年08月20日 20:44:28 | rosslagerwall | set | messages: + msg168699 |
| 2012年08月20日 18:22:32 | Apple Grew | set | versions:
+ Python 2.6 nosy: + ronaldoussoren messages: + msg168688 assignee: ronaldoussoren components: + macOS, - Interpreter Core |
| 2012年08月20日 18:09:46 | Apple Grew | set | messages: + msg168685 |
| 2012年08月20日 14:42:03 | rosslagerwall | set | nosy:
+ rosslagerwall messages: + msg168663 |
| 2012年08月20日 13:46:53 | Apple Grew | create | |