[IronPython] IP B2 Issue

Dino Viehland dinov at microsoft.com
Thu Jul 23 20:33:35 CEST 2009


This looks like it's due to a bug fix and is correct behavior - we used to
allow None + "abc" but we've fixed the issue and it now throws an exception
as expected.

Note CallTarget0 is no longer used by IronPython at all.  We keep it around
though for backwards compatibility because people seem to like it :)

But I would generally recommend using Func<object> instead.

> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-
> bounces at lists.ironpython.com] On Behalf Of Davy Mitchell
> Sent: Thursday, July 23, 2009 11:29 AM
> To: Discussion of IronPython
> Subject: [IronPython] IP B2 Issue
>
> Hi Guys,
>
> Don't have much time to look into this right now but thought I would
> share it right away as it seems low level :-)
> Changes to CallTarget0?
>
> I was just running DIE on PY and it was capturing output from a script
> in the usual manner when...
>
>
> Unhandled Exception: Unhandled Exception:
> Microsoft.Scripting.ArgumentTypeExcept
> ion: unsupported operand type(s) for +: 'NoneType' and 'str'
>    at CallSite.Target(Closure , CallSite , Object , String )
>    at
> Microsoft.Scripting.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallS
> ite
>  site, T0 arg0, T1 arg1)
>    at
> IronPython.Runtime.Binding.PythonBinaryOperationBinder.StringAdd(CallSi
> te
> site, Object self, String other)
>    at ProcessOutputHandler$300(Closure , PythonFunction , Object ,
> Object , Obje
> ct )
>    at IronPython.Runtime.PythonFunction.FunctionCaller`3.Call3(CallSite
> site, Co
> deContext context, Object func, T0 arg0, T1 arg1, T2 arg2)
>    at CallSite.Target(Closure , CallSite , Object , Object ,
> DataReceivedEventAr
> gs )
>    at _Scripting_(Object[] , Object , DataReceivedEventArgs )
>    at System.Diagnostics.Process.OutputReadNotifyUser(String data)
>    at System.Diagnostics.AsyncStreamReader.FlushMessageQueue()
>    at System.Diagnostics.AsyncStreamReader.ReadBuffer(IAsyncResult ar)
>    at
> System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(IMessa
> ge
> msg)
>    at
> System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(
> IMe
> ssage msg, IMessageSink replySink)
>    at
> System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.DoAsyncCall()
>    at
> System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack
> (Ob
> ject o)
>    at
> System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object
> state
> )
>    at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, C
> ontextCallback callback, Object state)
>    at
> System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_T
> hre
> adPoolWaitCallback tpWaitCallBack)
>    at
> System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object
> state)
>
> --
>   Davy Stuff  - http://daftspaniel.blogspot.com
>   Geeky Stuff  - http://daftpython.blogspot.com
>   Davy's Ironpython Editor -
> http://code.google.com/p/davysironpythoneditor/
> _______________________________________________
> 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