[Mono-dev] ASP.NET website fails after update to 2.4.3

k0l0b0k k0l0b0k.void at gmail.com
Thu Dec 10 17:09:03 EST 2009


Hello again, thanks for reply.
I'm play with ObjectStateFormatter, and found this:
if I add this check:
 !converter.CanConvertFrom (t) on line 441 of trunk's source
as it was changed in this patch:
http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/System.Web/System.Web.UI/ObjectStateFormatter.cs?r1=143587&r2=143967

application goes to work well.
I did not understand how and why (no time for it), but it works. Thanks, Marek!

2009/12/10 Marek Habersack <grendel at twistedcode.net>:
> On Thu, 10 Dec 2009 23:08:55 +0200
> k0l0b0k <k0l0b0k.void at gmail.com> wrote:
>
>> Good day!
> Hello,
>
>> I have a production website, that runs on mod_mono on Debian Lenny,
>> and after update from 2.4.2.3 to mono-2.4.3 few hours ago, application
>> runs with some stranges (it works at all, but does not show some
>> information).
> It looks like either a regression in ObjectStateFormatter or an issue with CollectionConverter.
> 2.4.3 has some changes in the former which introduced proper usage of type converters. It's hard to
> tell which of the above is true without getting a test case or access to your application so that I
> can reproduce the bug locally. Please file a bug and include a test case (or provide source for
> your application if you can). If you can't share your app's code publically and are unable to come
> up with a test case, please contact me privately at mhabersack at novell.com and we'll work something
> out.
>
> regards,
>
> marek
>
>
>> In apache's error log I'm found:
>>
>> Runtime error: Exception of type 'System.Web.HttpUnhandledException'
>> was thrown.
>>
>>   at System.Web.UI.Page.ProcessException (System.Exception e) [0x00000]
>>   at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext
>> context) [0x00000]
>>   at System.Web.HttpApplication+<Pipeline>c__Iterator2.MoveNext ()
>> [0x00000]
>>   at System.Web.HttpApplication.Tick () [0x00000]
>>
>> Inner exception: CollectionConverter cannot convert from System.String.
>>
>>   at System.ComponentModel.TypeConverter.GetConvertFromException
>> (System.Object value) [0x00000]
>>   at System.ComponentModel.TypeConverter.ConvertFrom
>> (ITypeDescriptorContext context, System.Globalization.CultureInfo
>> culture, System.Object value) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+TypeConverterFormatter.Read
>> (Byte token, System.IO.BinaryReader r, System.Web.UI.ReaderContext
>> ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+TripletFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectArrayFormatter.Read
>> (Byte token, System.IO.BinaryReader r, System.Web.UI.ReaderContext
>> ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+PairFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectArrayFormatter.Read
>> (Byte token, System.IO.BinaryReader r, System.Web.UI.ReaderContext
>> ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+TripletFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ArrayListFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+TripletFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ArrayListFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+TripletFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ArrayListFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+TripletFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ArrayListFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+TripletFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ArrayListFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+TripletFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+PairFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+PairFormatter.Read (Byte
>> token, System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx)
>> [0x00000]
>>   at System.Web.UI.ObjectStateFormatter+ObjectFormatter.ReadObject
>> (System.IO.BinaryReader r, System.Web.UI.ReaderContext ctx) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter.DeserializeObject
>> (System.IO.BinaryReader r) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter.Deserialize (System.IO.Stream
>> inputStream) [0x00000]
>>   at System.Web.UI.ObjectStateFormatter.Deserialize (System.String
>> inputString) [0x00000]
>>   at System.Web.UI.HiddenFieldPageStatePersister.Load () [0x00000]
>>   at System.Web.UI.Page.LoadPageStateFromPersistenceMedium () [0x00000]
>>   at System.Web.UI.Page.LoadPageViewState () [0x00000]
>>   at System.Web.UI.Page.RestorePageState () [0x00000]
>>   at System.Web.UI.Page.InternalProcessRequest () [0x00000]
>>   at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext
>> context) [0x00000]
>>
>> How can I fix this bug? This app works properly on mono versions from
>> 1.9 to 2.4.2, and MS .NET 2.0 (Cassini and IIS hosts).
>> I'm build mono from sources, and can give any additional info, if needed.
>> One thing - if you can help - please do it, coz I need to fix it urgently.
>> Thanks in advice!
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>


More information about the Mono-devel-list mailing list