[IronPython] os.popen() + Mono == segfault

Sylvain Hellegouarch sh at defuze.org
Wed Dec 6 21:18:57 CET 2006


Just to confirm I get the same issue with IPCE-r3 and mono 1.2.1

- Sylvain

Anthony Baxter wrote:
> On both IronPython 1.0.1 and IPCE release 4, os.popen() segfaults
> under Mono 1.17.1 (on Ubuntu edgy).
> 
> To reproduce:
> ipy.exe -c "import os; print os.popen('/bin/ls', 'r').read()"
> 
> Stacktrace follows, for whatever value it is... I can't tell
> immediately whether it's an IronPython or Mono problem, although it
> _appears_ to be in Mono. If other people agree, I'll log a Mono bug
> tomorrow.
> 
> It looks like most of the os module to do with spawning commands is
> missing, apart from os.spawnl(), which _appears_ to work. It should be
> possible to re implement the stdlib's popen2 module on top of that.
> Whether it will work is another matter entirely, of course :-)
> 
> 
> 
> 
> =================================================================
> Got a SIGSEGV while executing native code. This usually indicates
> a fatal error in the mono runtime or one of the native libraries
> used by your application.
> =================================================================
> 
> Stacktrace
> 
>   at (wrapper managed-to-native)
> System.Diagnostics.Process.CreateProcess_internal
> (System.Diagnostics.ProcessStartInfo,intptr,intptr,intptr,System.Diagnostics.Process/ProcInfo&)
> <0x00004>
>   at (wrapper managed-to-native)
> System.Diagnostics.Process.CreateProcess_internal
> (System.Diagnostics.ProcessStartInfo,intptr,intptr,intptr,System.Diagnostics.Process/ProcInfo&)
> <0xffffffff>
>   at System.Diagnostics.Process.Start_noshell
> (System.Diagnostics.ProcessStartInfo,System.Diagnostics.Process)
> <0x00547>
>   at System.Diagnostics.Process.Start_common
> (System.Diagnostics.ProcessStartInfo,System.Diagnostics.Process)
> <0x0007c>
>   at System.Diagnostics.Process.Start
> (System.Diagnostics.ProcessStartInfo) <0x00032>
>   at IronPython.Modules.PythonNT.OpenPipedCommand
> (IronPython.Runtime.Calls.ICallerContext,string,string,int) <0x000ae>
>   at IronPython.Modules.PythonNT.OpenPipedCommand
> (IronPython.Runtime.Calls.ICallerContext,string,string) <0x00015>
>   at (wrapper dynamic-method) System.Object.OpenPipedCommand##49
> (IronPython.Runtime.Calls.ICallerContext,object,object) <0xffffffff>
>   at (wrapper delegate-invoke)
> System.MulticastDelegate.invoke_object_ICallerContext_object_object
> (IronPython.Runtime.Calls.ICallerContext,object,object) <0xffffffff>
>   at IronPython.Runtime.Calls.FastCallableWithContextAny.Call
> (IronPython.Runtime.Calls.ICallerContext,object,object) <0x00023>
>   at IronPython.Runtime.Calls.BuiltinFunction.Call
> (IronPython.Runtime.Calls.ICallerContext,object,object) <0x00023>
>   at IronPython.Runtime.Operations.Ops.CallWithContext
> (IronPython.Runtime.Calls.ICallerContext,object,object,object)
> <0x00042>
>   at (wrapper dynamic-method) System.Object.<stdin>##47
> (IronPython.Runtime.ModuleScope) <0xffffffff>
>   at (wrapper delegate-invoke)
> System.MulticastDelegate.invoke_object_ModuleScope
> (IronPython.Runtime.ModuleScope) <0xffffffff>
>   at IronPython.Hosting.CompiledCode.Run
> (IronPython.Runtime.ModuleScope) <0x00048>
>   at IronPython.Hosting.PythonEngine.ExecuteToConsole
> (string,IronPython.Hosting.EngineModule,System.Collections.Generic.IDictionary`2)
> <0x00180>
>   at IronPython.Hosting.PythonEngine.ExecuteToConsole (string) <0x00015>
>   at IronPythonConsole.PythonCommandLine.RunString
> (IronPython.Hosting.PythonEngine,string) <0x000bc>
>   at IronPythonConsole.PythonCommandLine.Run
> (IronPython.Hosting.PythonEngine,string) <0x0002b>
>   at IronPythonConsole.PythonCommandLine.Main (string[]) <0x002bf>
>   at (wrapper runtime-invoke)
> System.Object.runtime_invoke_int_string[]
> (object,intptr,intptr,intptr) <0xffffffff>
> 
> Native stacktrace:
> 
>         /usr/bin/mono(mono_handle_native_sigsegv+0xde) [0x815644e]
>         /usr/bin/mono [0x8122c88]
>         [0xffffe440]
>         /usr/bin/mono(mono_unicode_to_external+0x3f) [0x811309f]
>         /usr/bin/mono [0x8103947]
>         /usr/bin/mono [0x80d6b57]
>         [0xb6e5d3fa]
>         [0xb6e5c880]
>         [0xb6e5c275]
>         [0xb6e5c0cb]
>         [0xb6e5ba5f]
>         [0xb6e5b996]
>         [0xb6e5b90a]
>         [0xb6e6b45c]
>         [0xb6e6b3d4]
>         [0xb6e5acfc]
>         [0xb6e5ac73]
>         [0xb6e5b6b3]
>         [0xb6e5378a]
>         [0xb6e53711]
>         [0xb6e5af89]
>         [0xb6e5adee]
>         [0xb706d4fd]
>         [0xb706d34c]
>         [0xb79725a0]
>         [0xb7971a84]
>         /usr/bin/mono(mono_runtime_exec_main+0x9f) [0x80996ef]
>         /usr/bin/mono(mono_runtime_run_main+0x1b9) [0x8099999]
>         /usr/bin/mono(mono_main+0xe47) [0x805d477]
>         /usr/bin/mono [0x805c122]
>         /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xdc) [0xb7d058cc]
>         /usr/bin/mono [0x805c071]
> _______________________________________________
> users mailing list
> users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com




More information about the Ironpython-users mailing list