[Ironpython-users] IronPython, Daily Digest 11/19/2014

CodePlex no_reply at codeplex.com
Thu Nov 20 09:27:28 CET 2014


Hi ironpython,

Here's your Daily Digest of new issues for project "IronPython".

In today's digest:ISSUES

1. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
2. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
3. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
4. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
5. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
6. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
7. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
8. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
9. [New issue] os.access when file is missing inconsistent with cpython

----------------------------------------------

ISSUES

1. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
http://ironpython.codeplex.com/workitem/35682
User jdhardy has commented on the issue:

"<p>@s3e3: Easiest way to build is to run `make.cmd` from the root of the checkout; then you should have `bin\Debug\ipy.exe`. You may have to run `Scripts\Bat\Dev.bat` to make it work cleanly from a checkout.</p>"-----------------

2. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
http://ironpython.codeplex.com/workitem/35682
User jdhardy has commented on the issue:

"<p>@paweljasinski: How did you go from "ValueError: Index was out of range..." to generator finalizers? I'm just curious.</p>"-----------------

3. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
http://ironpython.codeplex.com/workitem/35682
User paweljasinski has commented on the issue:

"<p>The actual error `Exception in generator <generator object at 0x0000000000000040> ignored` has only one place in entire IronPython code base, Generator.cs and the method is called HandleFinalizerException<br>But that was not enough of a hint.</p><p>The problem is random, so it is very likely threads or GC finalizer which goes on separate thread.<br>I looked at some basic stuff in Generator.cs (e.g. recycling of finalizer) but couldn't find anything wrong.</p><p>I checked old generator bugs where there is another hint on delayed destructor.</p><p>I always assumed that finalizer code is clean and calling 'close' is safe until I drilled it down ... ta da !<br>Quick fix, test with pylynt and it doesn't happen any more.</p><p>But, why?<br>I also read somewhere, that finalizer goes after GC and that order of finalizer is non deterministic, so it is possible to have an island of objects with generator which gets collected and only after generator finalizer will be called. The references in generator can be pointing to anything.</p><p>Reading PEP was also a help (particularly the part about __del__)</p><p>The last circumstantial evidence is `index` out of `Parameter name: index`. CurrentValue is a mutable tuple and GetValue of mutable tuple is using `index` as a parameter. But this can be just a coincidence which conveniently fits. <br> <br></p>"-----------------

4. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
http://ironpython.codeplex.com/workitem/35682
User s3e3 has commented on the issue:

"<p>I have run make.cmd from the root folder of unpacked archive IronLanguages-cp35682.zip. Resulting bin\Debug\ipy.exe has version 2.7.5.100, while ipy.exe from IP 2.7.5b3 has version 2.7.5.30.</p><p>New patched ipy.exe v2.7.5.100 was copied to "C:\Program Files (x86)\IronPython 2.7" overwriting existing ipy.exe v2.7.5.30.</p><p>Unfortunatelly, piece of code that previously caused exceptions "Value Error: ..." with version 2.7.5.30, causes also the same exceptions with patched version 2.7.5.100.</p>"-----------------

5. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
http://ironpython.codeplex.com/workitem/35682
User s3e3 has commented on the issue:

"<p>Just to mention and emphasize again that the exception "Value error: Index was out of range..." has never happened to us with IP v2.7.3 (or any of previous IP versions) which we still use very extensively with quite large and diverse codebase.</p><p>Maybe this circumstance can help in tracking down breaking change that was introduced somewhere in version interval from 2.7.3 to 2.7.5b2.</p>"-----------------

6. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
http://ironpython.codeplex.com/workitem/35682
User paweljasinski has commented on the issue:

"<p>@s3e3 Did you copy all the dlls as well?</p><p>probably the safest way is to build using make.cmd</p><p>I usually do:</p><p>make.cmd release<br>make.cmd stage-release<br>make.cmd package</p><p>In package folder, there should be msi<br>First uninstall existing ip, than install using new msi</p><p>Any other scenario has a risk of using old dlls from GAC.<br></p>"-----------------

7. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
http://ironpython.codeplex.com/workitem/35682
User paweljasinski has commented on the issue:

"<p>@s3e3 you can pick msi from mydrive.ch<br>user: tmp1 at pawel.jasinski<br>pass: 123456</p>"-----------------

8. [New comment] ValueError: Index was out of range. Must be non-negative and less than the size of the collection.
http://ironpython.codeplex.com/workitem/35682
User s3e3 has commented on the issue:

"<p>Sorry, I understood from your comment that only "ipy.exe" file was affected by the patch (bin\Debug\ipy.exe), so only this file was replaced by patched version.</p><p>I have installed msi that you provided (and previously deinstalled 2.7.5b3) - after patched version was installed, no exceptions were thrown, just mulitple lines such as:</p><p>```<br>******************<br>******************<br>******************<br>```</p><p>were printed. I guess these lines are some debug prints that you used in the code?</p><p>Btw, I tried to create msi as you suggested:</p><p>make.cmd release<br>make.cmd stage-release<br>make.cmd package </p><p>but it seems that "package" target does not exist, just "package-release". Also targets "stage-release" and "package-release" produced error:</p><p>```<br>D:\IronLanguages-cp35682\IronLanguages-cp35682\Solutions\Build.IronPython.proj(<br>130,5): error MSB3680: The source file "D:\IronLanguages-cp35682\IronLanguages-<br>cp35682\Solutions\..\External.LCA_RESTRICTED\Languages\IronPython\27\Doc\Output<br>\CHtml\IronPython.chm" does not exist.<br>```</p><p>which prevented creating of msi package.</p>"-----------------

9. [New issue] os.access when file is missing inconsistent with cpython
http://ironpython.codeplex.com/workitem/35700
User paweljasinski has proposed the issue:

"cpython returns False when file doesn't exist. IronPython throws.
c:\cygwin64\home\rejap\eamod\docgen\extractor>ipy -X:Frames
IronPython 2.7.5rc1 (2.7.5.0) on .NET 4.0.30319.18444 (32-bit)
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.access('aaa', os.R_OK)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 2] Could not find file 'c:\cygwin64\home\rejap\eamod\docgen\extractor\aaa'.

>>> os.access('.', os.R_OK)
True
>>>

c:\cygwin64\home\rejap\eamod\docgen\extractor>c:\Python27\python.exe
Python 2.7.8 (default, Jun 30 2014, 16:08:48) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.access("aaa", os.R_OK)
False
>>> os.access(".", os.R_OK)
True
"
----------------------------------------------



----------------------------------------------
You are receiving this email because you subscribed to notifications on CodePlex.

To report a bug, request a feature, or add a comment, visit IronPython Issue Tracker. You can unsubscribe or change your issue notification settings on CodePlex.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20141120/9f18cd09/attachment.html>


More information about the Ironpython-users mailing list