[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'...
+