Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #46390

Re: Fatal Python error

Path csiph.com!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <oscar.j.benjamin@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.001
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'subject:error': 0.03; 'subject:Python': 0.06; 'error:': 0.07; 'interpreter.': 0.07; 'logic': 0.09; 'overflow': 0.09; 'runtime': 0.09; 'stack,': 0.09; 'try:': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; 'def': 0.12; 'bug': 0.12; '2.7': 0.14; 'thread': 0.14; 'benjamin': 0.16; 'cc:name:python list': 0.16; 'handler,': 0.16; 'overflow.': 0.16; 'somehow.': 0.16; 'sure.': 0.16; 'exception': 0.16; 'wrote:': 0.18; 'stack': 0.19; 'separate': 0.22; 'cc:addr:python.org': 0.22; '2.x': 0.24; 'cc:2**0': 0.24; 'pass': 0.26; 'header:In-Reply- To:1': 0.27; 'am,': 0.29; 'errors': 0.30; 'message- id:@mail.gmail.com': 0.30; "i'm": 0.30; 'gives': 0.31; '3.2': 0.31; 'depth': 0.31; 'terminate': 0.31; 'file': 0.32; '(most': 0.33; 'except': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'leads': 0.36; 'application': 0.37; 'list.': 0.37; 'recent': 0.39; 'expect': 0.39; 'dave': 0.60; 'maximum': 0.63; 'more': 0.64; 'different': 0.65; 'contact': 0.67; 'unusual': 0.74; 'oscar': 0.84; 'presumably': 0.84; 'angel': 0.91; 'recover': 0.91; 'exceeded': 0.97; '2013': 0.98
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=lOYpWZYc0oRcJwuaIh1dMvnJlNiprMie3Po84d4VMMA=; b=0THcCyA6YdPSPpriEc8iSOkNoQPBM7sPPFsSZhffT9N40/heGCmAd6un3MV5bwo2RE 4lDW3n6bUeOSitcScc9roUcC8E2hxuv3SvPfhSalOSrXdcv/vpR+LjVIBI9UNAL1tdK9 A0cnOEJTA+IHCxo2AWFkWe6esQ09+8BDk461XcpPzrCorHMAjKBwWr9z9l8QsKsPUlQh t9Kd0QoshIyLBBTwCgvw+quziSOVFQpULvjZh+WMBlbFy8sS6tYlrOXTyyHGaB6bqdg2 4iPuneZ6j+HP7R/LWMFD60LmV7HFdds7xqnkIYXuAHdDg8XSL0G4Ziaumsd9nhy1LsA1 zK1g==
X-Received by 10.52.165.99 with SMTP id yx3mr1590845vdb.34.1369840698239; Wed, 29 May 2013 08:18:18 -0700 (PDT)
MIME-Version 1.0
In-Reply-To <51A5FC7D.8080202@davea.name>
References <CAN1F8qXPEM4B=2e7KOhWeTKzxmeeb_w_S97wYiHCMXH3jfzL6g@mail.gmail.com> <CAHVvXxTxzZjhsmDw3x0Wm-wyLmdx5VehzKahnfkTSNrmigKMUA@mail.gmail.com> <51A5FC7D.8080202@davea.name>
From Oscar Benjamin <oscar.j.benjamin@gmail.com>
Date Wed, 29 May 2013 16:17:58 +0100
Subject Re: Fatal Python error
To Dave Angel <davea@davea.name>
Content-Type text/plain; charset=ISO-8859-1
Cc Python List <python-list@python.org>
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.2362.1369840706.3114.python-list@python.org> (permalink)
Lines 80
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1369840706 news.xs4all.nl 15942 [2001:888:2000:d::a6]:37094
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:46390

Show key headers only | View raw


On 29 May 2013 14:02, Dave Angel <davea@davea.name> wrote:
> On 05/29/2013 08:45 AM, Oscar Benjamin wrote:
>
> More likely a bug in the 2.x interpreter.  Once inside an exception handler,
> that frame must be held somehow.  If not on the stack, then in some separate
> list.  So the logic will presumably fill memory, it just may take longer on
> 2.x .

I'm not so sure. The following gives the same behaviour in 2.7, 3.2 and 3.3:

$ cat tmp.py
def loop():
    loop()

loop()

$ py -3.2 tmp.py
Traceback (most recent call last):
  File "tmp.py", line 4, in <module>
    loop()
  File "tmp.py", line 2, in loop
    loop()
  File "tmp.py", line 2, in loop
    loop()
  File "tmp.py", line 2, in loop
    loop()
  File "tmp.py", line 2, in loop
...

However the following leads to a RuntimeError in 2.7 but different
stack overflow errors in 3.2 and 3.3:

$ cat tmp.py
def loop():
    try:
        (lambda: None)()
    except RuntimeError:
        pass
    loop()

loop()

$ py -2.7 tmp.py
Traceback (most recent call last):
  File "tmp.py", line 8, in <module>
    loop()
  File "tmp.py", line 6, in loop
    loop()
  File "tmp.py", line 6, in loop
    loop()
  File "tmp.py", line 6, in loop
    loop()
  File "tmp.py", line 6, in loop
...
RuntimeError: maximum recursion depth exceeded

$ py -3.2 tmp.py
Fatal Python error: Cannot recover from stack overflow.

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

$ py -3.3 tmp.py
Fatal Python error: Cannot recover from stack overflow.

Current thread 0x000005c4:
  File "tmp.py", line 3 in loop
  File "tmp.py", line 6 in loop
  File "tmp.py", line 6 in loop
  File "tmp.py", line 6 in loop
  File "tmp.py", line 6 in loop
  File "tmp.py", line 6 in loop
  File "tmp.py", line 6 in loop
...

I would expect this to give "RuntimeError: maximum recursion depth
exceeded" in all three cases.


Oscar

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Fatal Python error Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-05-29 16:17 +0100

csiph-web