[Ironpython-users] [IronPython] unittest crash on mono

Dino Viehland dinov at microsoft.com
Thu Apr 26 06:29:44 CEST 2012


It looks like the current signal implementation won't work off of Windows.  There's a call to SetConsoleControlHandler that happens when the signal module gets imported - which is very windows specific and is going to fail on all other platforms.  

This can all be handled at runtime in a graceful way, but the calls to platform specific APIs need to be moved into non-inlinable methods.  In this case it seems like the 2 implementations are going to be pretty different given that everyone but windows has a reasonable signal function, so it might start to get to be a pain to keep both in the same module at the same time.  If someone wanted to get really adventurous they could add a platform attribute to PlatformID parameter to PythonModuleAttribute and have different implementations of modules for different platforms - then implementing the Unix signal implementation is probably pretty easy.

> -----Original Message-----
> From: ironpython-users-bounces+dinov=exchange.microsoft.com at python.org
> [mailto:ironpython-users-
> bounces+dinov=exchange.microsoft.com at python.org] On Behalf Of Fruchter,
> Israel
> Sent: Wednesday, April 25, 2012 5:48 AM
> To: ironpython-users at python.org
> Subject: Re: [Ironpython-users] [IronPython] unittest crash on mono
> 
> Thanks Michael,
> 
> Anyone can point me in the right direction ?
> 
> I also tried this:
> 
> /extra/views/ifruchte/mono/IronPython-2.7.2.1> ../install/bin/mono ipy.exe -c
> "import sys; print sys.builtin_module_names"
> ('__builtin__', 'sys', 'unicodedata', 'exceptions', 'clr', '_ast', 'imp',
> 'future_builtins', 'signal', 'zipimport', 'zlib', '_codecs', '_collections', 'copy_reg',
> 'cPickle', 'cStringIO', 'datetime', 'errno', 'gc', 'itertools', '_csv', '_io', '_locale',
> 'marshal', 'math', '_md5', '_sqlite3', 'operator', 're', 'select', '_sha', '_sha256',
> '_ctypes', '_ctypes_test', '_heapq', '_struct', 'thread', 'time', 'xxsubtype',
> '_functools', '_random', '_sre', '_ssl', '_subprocess', '_warnings', '_weakref',
> '_winreg', 'binascii', 'mmap', '_sha512', 'socket', 'msvcrt', 'array', 'cmath', 'posix',
> 'wpf')
> 
> So, I guess signal module already there...
> 
> I'm using IronPython binaries from the IronPython Site Do I need to compile it on
> the same place mono was compiled?
> 
> Are there any instruction on how to compile IronPython on linux using mono ?
> 
> Fruch
> 
> -----Original Message-----
> From: Michael Foord [mailto:michael at voidspace.org.uk]
> Sent: Wednesday, April 25, 2012 3:42 PM
> To: Fruchter, Israel
> Subject: Re: [IronPython] unittest crash on mono
> 
> Hey Fruch,
> 
> I can provide help on the unittest side of things, but I'm not using IronPython or
> Mono at all now so I can't really help with that. The IronPython mailing list is
> probably the best place to get help.
> 
> 	http://mail.python.org/mailman/listinfo/ironpython-users
> 
> All the best,
> 
> Michael Foord
> 
> On 25 Apr 2012, at 13:38, Fruchter, Israel wrote:
> 
> > Hi Michael,
> >
> > I've encounter an issue with IronPython when it being used ontop of
> > mono I know you not the right address for rasing issues, but I don't
> > know if it's a mono or IronPython problem
> >
> > Look like the signal module isn't loading.
> > Can you help me look in the right direction? Finding the root cause of this?
> >
> > /extra/views/ifruchte/mono/IronPython-2.7.2.1> ../install/bin/mono
> > --version Mono JIT compiler version 2.10.2 (tarball Sun Oct  2
> > 17:05:21 IST 2011) Copyright (C) 2002-2011 Novell, Inc and Contributors.
> www.mono-project.com
> >         TLS:           __thread
> >         SIGSEGV:       altstack
> >         Notifications: epoll
> >         Architecture:  amd64
> >         Disabled:      none
> >         Misc:          softdebug
> >         LLVM:          supported, not enabled.
> >         GC:            Included Boehm (with typed GC and Parallel Mark)
> >
> > /extra/views/ifruchte/mono/IronPython-2.7.2.1> ../install/bin/mono
> > ipy.exe -v IronPython 2.7.2.1 (2.7.0.40) on Mono 4.0.30319.1 (64-bit)
> > Type "help", "copyright", "credits" or "license" for more information.
> > >>>
> >
> > /extra/views/ifruchte/mono/IronPython-2.7.2.1> ../install/bin/mono ipy.exe -
> c "import unittest"
> > Traceback (most recent call last):
> >   File "<string>", line 1, in <module>
> >   File "/extra/views/ifruchte/mono/IronPython-
> 2.7.2.1/Lib/unittest/__init__.py", line 64, in <module>
> >   File "/extra/views/ifruchte/mono/IronPython-2.7.2.1/Lib/unittest/main.py",
> line 7, in <module>
> >   File "/extra/views/ifruchte/mono/IronPython-
> 2.7.2.1/Lib/unittest/runner.py", line 7, in <module>
> >   File
> > "/extra/views/ifruchte/mono/IronPython-2.7.2.1/Lib/unittest/signals.py
> > ", line 1, in <module>
> > StandardError: Exception has been thrown by the target of an invocation.
> >
> > /extra/views/ifruchte/mono/IronPython-2.7.2.1> ../install/bin/mono ipy.exe -
> c "import signal"
> > Traceback (most recent call last):
> >   File "<string>", line 1, in <module>
> > StandardError: Exception has been thrown by the target of an invocation.
> >
> > Thanks,
> > Fruch
> > <image001.jpg>
> >
> >
> > This message is confidential and intended only for the addressee. If you have
> received this message in error, please immediately notify the
> postmaster at nds.com and delete it from your system as well as any copies. The
> content of e-mails as well as traffic data may be monitored by NDS for
> employment and security purposes.
> > To protect the environment please do not print this e-mail unless necessary.
> >
> > An NDS Group Limited company. www.nds.com
> 
> 
> --
> http://www.voidspace.org.uk/
> 
> 
> May you do good and not evil
> May you find forgiveness for yourself and forgive others May you share freely,
> never taking more than you give.
> -- the sqlite blessing
> http://www.sqlite.org/different.html
> 
> 
> 
> 
> 
> _______________________________________________
> Ironpython-users mailing list
> Ironpython-users at python.org
> http://mail.python.org/mailman/listinfo/ironpython-users
> 





More information about the Ironpython-users mailing list