[Mono-bugs] [Bug 60442][Maj] Changed - PrivateBinPath bug again...
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Thu, 24 Jun 2004 18:48:36 -0400 (EDT)
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by vguzev@yandex.ru.
http://bugzilla.ximian.com/show_bug.cgi?id=60442
--- shadow/60442 2004-06-24 13:42:33.000000000 -0400
+++ shadow/60442.tmp.1833 2004-06-24 18:48:36.000000000 -0400
@@ -1,13 +1,13 @@
Bug#: 60442
Product: Mono: Class Libraries
Version: unspecified
OS: Red Hat 9.0
OS Details: Linux skif 2.4.25 #2 SMP Fri Apr 23 14:03:00 MSD 2004 i686 athlon i386 GNU/Linux
-Status: RESOLVED
-Resolution: FIXED
+Status: REOPENED
+Resolution:
Severity: Unknown
Priority: Major
Component: System
AssignedTo: gonzalo@ximian.com
ReportedBy: vguzev@yandex.ru
QAContact: mono-bugs@ximian.com
@@ -198,6 +198,122 @@
> unless you setup a new domain for which you set the privatebinpath
> and privatebinpathprobe properly.
No, there's no 'obj' directory... all necessary assemblies are placed
in 'object' directory.
+
+------- Additional Comments From vguzev@yandex.ru 2004-06-24 18:48 -------
+Current CVS version doesn't work properly if the directory path
+contain '.', for example, replace file testload.cs with this one:
+
+8<-----------------------------------------------------
+using System;
+using System.IO;
+using System.Reflection;
+using System.Runtime.Serialization.Formatters.Binary;
+
+public class A {
+ public static void Main( string[] args ) {
+ AppDomain.CurrentDomain.AppendPrivatePath
+( "/home/vadim/archive/tests/a.b" );
+
+ BinaryFormatter bf = new BinaryFormatter();
+ FileStream fs = new FileStream( "a.b" + Path.DirectorySeparatorChar
++ "serializedobject.txt",
+ FileMode.Open, FileAccess.Read );
+ object o = bf.Deserialize( fs );
+ fs.Close();
+
+ Console.WriteLine( o );
+
+ Type t = o.GetType();
+ MethodInfo mi = t.GetMethod( "SayHello" );
+ mi.Invoke( o, new object[] {} );
+ }
+}
+8<-----------------------------------------------------
+
+and rename directory 'object' to 'a.b' and run it as it was written
+above. You'll see the following:
+
+8<-----------------------------------------------------
+[vadim@skif testdeserialization]$ mono testload.exe
+Mono-INFO: Assembly Loader probing location: 'mscorlib.dll'.
+Mono-INFO: Assembly Loader probing
+location: '/home/vadim/mcsharp.cluster/lib/mscorlib.dll'.
+Mono-INFO: Assembly Loader probing
+location: '/home/vadim/mcsharp.cluster/bin/mscorlib.dll'.
+Mono-INFO: Assembly Loader probing
+location: '/home/vadim/mcsharp.cluster/lib/mscorlib.dll'.
+Mono-INFO: Assembly Loader probing
+location: '/home/vadim/mcsharp.cluster/bin/mscorlib.dll'.
+Mono-INFO: Assembly Loader probing location: '/home/vadim/mono/m-
+0.96.20040624/lib/mscorlib.dll'.
+Mono-INFO: Assembly Loader loaded assembly from
+location: '/home/vadim/mono/m-0.96.20040624/lib/mscorlib.dll'.
+Mono-INFO: Assembly Loader probing location: 'testload.exe'.
+Mono-INFO: Assembly Loader loaded assembly from
+location: 'testload.exe'.
+Mono-INFO: Assembly Loader probing location: 'testload.exe'.
+Mono-INFO: Assembly Loader loaded assembly from
+location: 'testload.exe'.
+test
+Mono-INFO: Assembly Loader probing location: '/home/vadim/mono/m-
+0.96.20040624/lib/obj.dll'.
+
+Unhandled Exception: System.IO.FileNotFoundException: File 'obj,
+Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' not found.
+in (unmanaged) (wrapper managed-to-native)
+System.AppDomain:LoadAssembly (string,System.Security.Policy.Evidence)
+in <0x00004> (wrapper managed-to-native)
+System.AppDomain:LoadAssembly (string,System.Security.Policy.Evidence)
+in <0x0006f> (wrapper remoting-invoke-with-check)
+System.AppDomain:LoadAssembly (string,System.Security.Policy.Evidence)
+in <0x0006b> System.AppDomain:Load (string)
+in <0x0005d> (wrapper remoting-invoke-with-check)
+System.AppDomain:Load (string)
+in <0x0001d> System.Reflection.Assembly:Load (string)
+in <0x00071>
+System.Runtime.Serialization.Formatters.Binary.ObjectReader:GetDeseria
+lizationType (long,string)
+in <0x0027a>
+System.Runtime.Serialization.Formatters.Binary.ObjectReader:ReadTypeMe
+tadata (System.IO.BinaryReader,bool)
+in <0x00047>
+System.Runtime.Serialization.Formatters.Binary.ObjectReader:ReadObject
+Instance
+(System.IO.BinaryReader,bool,long&,object&,System.Runtime.Serializatio
+n.SerializationInfo&)
+in <0x00088>
+System.Runtime.Serialization.Formatters.Binary.ObjectReader:ReadObject
+
+(System.Runtime.Serialization.Formatters.Binary.BinaryElement,System.I
+O.BinaryReader,long&,object&,System.Runtime.Serialization.Serializatio
+nInfo&)
+in <0x00167>
+System.Runtime.Serialization.Formatters.Binary.ObjectReader:ReadObject
+
+(System.Runtime.Serialization.Formatters.Binary.BinaryElement,System.I
+O.BinaryReader,long&,object&,System.Runtime.Serialization.Serializatio
+nInfo&)
+in <0x0007d>
+System.Runtime.Serialization.Formatters.Binary.ObjectReader:ReadNextOb
+ject (System.IO.BinaryReader)
+in <0x000b9>
+System.Runtime.Serialization.Formatters.Binary.ObjectReader:ReadObject
+Graph
+(System.IO.BinaryReader,bool,object&,System.Runtime.Remoting.Messaging
+.Header[]&)
+in <0x00192>
+System.Runtime.Serialization.Formatters.Binary.BinaryFormatter:Deseria
+lize
+(System.IO.Stream,System.Runtime.Remoting.Messaging.HeaderHandler)
+in <0x00017>
+System.Runtime.Serialization.Formatters.Binary.BinaryFormatter:Deseria
+lize (System.IO.Stream)
+in <0x000e2> A:Main (string[])
+8<-----------------------------------------------------
+
+Mono doesn't search the
+directory '/home/vadim/archive/tests/tests/a.b'...
+