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


Groups > comp.lang.python > #87438

Re: Odd ValueError using float

Path csiph.com!usenet.pasdenom.info!news.redatomik.org!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <python-python-list@m.gmane.org>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'interpreter': 0.05; 'string.': 0.05; 'assignment': 0.07; 'error:': 0.07; 'failing': 0.07; 'string': 0.09; 'debugger': 0.09; 'except:': 0.09; 'exception,': 0.09; 'latter': 0.09; 'literal': 0.09; 'meaningful': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'runtime': 0.09; 'subject:using': 0.09; 'try:': 0.09; 'val': 0.09; 'valueerror:': 0.09; 'python': 0.11; 'bug': 0.12; 'itself.': 0.14; '(pdb)': 0.16; 'debugger,': 0.16; 'deletion': 0.16; 'itself,': 0.16; 'nameerror:': 0.16; 'pdb;': 0.16; 'received:80.91.229.3': 0.16; 'received:dip0.t-ipconnect.de': 0.16; 'received:plane.gmane.org': 0.16; 'received:t-ipconnect.de': 0.16; 'subclass': 0.16; 'throw': 0.16; 'undefined.': 0.16; 'valueerror': 0.16; 'sat,': 0.16; 'wrote:': 0.18; 'looked': 0.18; 'written': 0.21; '>>>': 0.22; 'import': 0.22; 'header:User-Agent:1': 0.23; 'error': 0.23; 'paul': 0.24; 'extension': 0.26; 'post': 0.26; 'defined': 0.27; 'skip:" 20': 0.27; 'header:X-Complaints-To:1': 0.27; 'chris': 0.29; 'am,': 0.29; 'gives': 0.31; 'that.': 0.31; '"",': 0.31; '>>>>': 0.31; 'bad.': 0.31; 'comparison': 0.31; 'routine': 0.31; 'terminate': 0.31; 'work:': 0.31; 'writes:': 0.31; 'file': 0.32; 'interface': 0.32; "we're": 0.32; 'says': 0.33; '(most': 0.33; 'checking': 0.33; 'guess': 0.33; 'actual': 0.34; 'trouble': 0.34; 'problem': 0.35; 'something': 0.35; '14,': 0.36; "didn't": 0.36; 'should': 0.36; 'application': 0.37; 'expected': 0.38; 'to:addr:python-list': 0.38; 'pm,': 0.38; 'recent': 0.39; 'does': 0.39; 'generating': 0.39; 'help,': 0.39; 'sure': 0.39; 'to:addr:python.org': 0.39; 'received:org': 0.40; 'even': 0.60; 'expression': 0.60; 'most': 0.60; 'conversion': 0.61; 'field.': 0.61; 'making': 0.63; 'name': 0.63; 'more': 0.64; 'contact': 0.67; 'mar': 0.68; 'invalid': 0.68; 'evaluate': 0.72; 'unusual': 0.74; 'completion': 0.78; '10:': 0.84; '2014,': 0.84; '2015': 0.84; 'examining': 0.84; 'fail.': 0.84; 'otten': 0.84; '***': 0.95
X-Injected-Via-Gmane http://gmane.org/
To python-list@python.org
From Peter Otten <__peter__@web.de>
Subject Re: Odd ValueError using float
Date Sat, 14 Mar 2015 19:24:26 +0100
Organization None
References <mailman.336.1426284641.21433.python-list@python.org> <877fuk71fz.fsf@nightsong.com> <CAPTjJmoxL0ux3mHAd8UCZmdbTHe_Yz5i9Y8XrzJ7NAuy8WZ4sA@mail.gmail.com> <me1k2i$ljt$1@ger.gmane.org> <me1mdb$nri$1@ger.gmane.org> <me1ptc$gna$1@ger.gmane.org>
Mime-Version 1.0
Content-Type text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding 7Bit
X-Gmane-NNTP-Posting-Host p57bd8704.dip0.t-ipconnect.de
User-Agent KNode/4.13.3
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.19
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://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 <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.366.1426357477.21433.python-list@python.org> (permalink)
Lines 99
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1426357477 news.xs4all.nl 2843 [2001:888:2000:d::a6]:47620
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:87438

Show key headers only | View raw


emile wrote:

> On 03/14/2015 09:08 AM, Peter Otten wrote:
>> emile wrote:
>>
>>> On 03/13/2015 08:09 PM, Chris Angelico wrote:
>>>> On Sat, Mar 14, 2015 at 1:33 PM, Paul Rubin <no.email@nospam.invalid>
>>>> wrote:
>>>>> emile <emile@fenx.com> writes:
>>>>>> *** NameError: name 'val' is not defined
>>>>>> (Pdb) l
>>>>>> 139         try:
>>>>>> 140             val = round(float(decval),1)
>>>>>> 141         except:
>>>>>> 142             import pdb; pdb.set_trace()
>>>>>
>>>>> If 'float' or 'round' throw an exception, the assignment to 'val'
>>>>> never
>>>>> happens, so 'val' is undefined.  Try examining the value of 'decval'
>>>>> in the debugger to see what is making the conversion fail.
>>>>
>>>> That's exactly what the OP did :) Trouble is, it didn't help, because
>>>> it sure looked as if decval was the string '4'. My best guess was -
>>>> and is - that it's not just a string. We're looking at an SQL
>>>> interface routine here, so it may be that there's a string subclass
>>>> that length-limits itself, on the assumption that it's going into a
>>>> fixed-length database field.
>>>
>>> It ran almost to completion before generating the error again --
>>>
>>> (Pdb) decval
>>> '4'
>>> (Pdb) type(decval)
>>> <type 'str'>
>>> (Pdb) len(decval)
>>> 1
>>> (Pdb) int(decval)
>>> *** ValueError: invalid literal for int() with base 10:
>>> '41.700000000000003'
>>>
>>> So there's still something amiss.
>>
>> Why are you checking
>>
>> int(decval)
> 
> 
> because it sure smells like int should work:
> 
> (Pdb) "3"<decval<"5"
> True

That's a normal string comparison when decval is a string. This and the 
ValueError is expected Python behaviour:

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> decval = "41.700000000000003"
>>> "3" < decval < "5"
True
>>> int(decval)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '41.700000000000003'


>> when the actual failing expression is
>>
>> round(float(decval),1)
>>
>> ? Try to evaluate the latter in the debugger, and if that gives no clue
>> change
>>
>>>>>> 139         try:
>>>>>> 140             val = round(float(decval),1)
>>>>>> 141         except:
>>>>>> 142             import pdb; pdb.set_trace()
>>
>> to just
>>
>> val = round(float(decval), 1)
>>
>> to get a meaningful traceback and post that.
> 
> I don't get a traceback -- it spews:
> 
> Fatal Python error: deletion of interned string failed
> 
> This application has requested the Runtime to terminate it in an unusual
> way.
> Please contact the application's support team for more information.
> 
> then crashes and I get a Microsoft pop-up that says python.exe has
> encountered a problem and needs to close.

That does look bad. Most likely an extension written in C corrupts the 
interpreter or it's even a bug in the interpreter itself.

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


Thread

Odd ValueError using float emile <emile@fenx.com> - 2015-03-13 15:10 -0700
  Re: Odd ValueError using float Paul Rubin <no.email@nospam.invalid> - 2015-03-13 19:33 -0700
    Re: Odd ValueError using float Chris Angelico <rosuav@gmail.com> - 2015-03-14 14:09 +1100
    Re: Odd ValueError using float emile <emile@fenx.com> - 2015-03-14 08:28 -0700
    Re: Odd ValueError using float Chris Angelico <rosuav@gmail.com> - 2015-03-15 02:52 +1100
    Re: Odd ValueError using float Peter Otten <__peter__@web.de> - 2015-03-14 17:08 +0100
    Re: Odd ValueError using float emile <emile@fenx.com> - 2015-03-14 10:08 -0700
    Re: Odd ValueError using float emile <emile@fenx.com> - 2015-03-14 10:17 -0700
    Re: Odd ValueError using float Peter Otten <__peter__@web.de> - 2015-03-14 19:24 +0100
    Re: Odd ValueError using float emile <emile@fenx.com> - 2015-03-14 13:01 -0700
    Re: Odd ValueError using float Peter Otten <__peter__@web.de> - 2015-03-15 15:01 +0100
    Re: Odd ValueError using float emile <emile@fenx.com> - 2015-03-17 13:48 -0700

csiph-web