[Mono-bugs] [Bug 51776][Nor] New - Mono 0.28 appears to have problems running obfuscated code

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Fri, 5 Dec 2003 11:41:03 -0500 (EST)


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 eric@sourcegear.com.

http://bugzilla.ximian.com/show_bug.cgi?id=51776

--- shadow/51776	2003-12-05 11:41:03.000000000 -0500
+++ shadow/51776.tmp.21916	2003-12-05 11:41:03.000000000 -0500
@@ -0,0 +1,108 @@
+Bug#: 51776
+Product: Mono/Runtime
+Version: unspecified
+OS: Fedora 1.0
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: eric@sourcegear.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Mono 0.28 appears to have problems running obfuscated code
+
+The SourceGear Vault command-line client is usually obfuscated (using 
+Dotfuscator by Preemptive Solutions).  Mono seems to have trouble running 
+the obfuscated version but can run a non-obfuscated version with no 
+difficulty.
+
+To reproduce this bug, you need the Vault command line client.  It 
+consists of vault.exe plus five supporting DLLs, all of which are managed 
+code written in C#.
+
+An obfuscated version is available here:
+
+http://vaultpub.sourcegear.com/cmdline/vault_ob.zip
+
+For comparison purposes, a non-obfuscated version is at:
+
+http://vaultpub.sourcegear.com/cmdline/vault_no_ob.zip
+
+These require no special installation.  Simply unzip and run vault.exe.
+
+Here is a command line for testing:
+
+vault.exe -host vaultpub.sourcegear.com -user guest -password guest 
+listrepositories
+
+This command line assumes connectivity to contact the Vault server on 
+vaultpub.sourcegear.com.
+
+When it works correctly, you get something like this:
+
+<vault>
+<listrepositories>
+ <repository name="Build_Tool_Integration" files="18" folders="2" 
+dbsize="0" />
+ <repository name="Default Repository" files="2" folders="5" dbsize="0" />
+ <repository name="nGallery" files="803" folders="73" dbsize="0" />
+</listrepositories>
+<result success="yes" />
+</vault>
+
+When this fails, we see the following error messages:
+
+
+** (vault.exe:29842): WARNING **: constant for field 
+WorkingFolderFileStatus:_Deleted not found
+
+** (vault.exe:29842): WARNING **: constant for field 
+ChangeSetItemType:_Deleted not found
+
+** (vault.exe:29842): WARNING **: constant for field 
+PerformDeletionsType:_Deleted not found
+
+** (vault.exe:29842): WARNING **: constant for field 
+ConnectionStateType:_Deleted not found
+
+** (vault.exe:29842): WARNING **: constant for field 
+ClientInstance:_Deleted not found
+&#65279;<vault>
+<error>
+A null value was found where an object instance was required
+</error>
+<exception>
+System.NullReferenceException: A null value was found where an object 
+instance was required
+in (unmanaged) VaultCmdLineClient.VaultCmdLineClient:Login (bool,bool)
+in &lt;0x00015&gt; VaultCmdLineClient.VaultCmdLineClient:Login ()
+in &lt;0x00026&gt; 
+VaultCmdLineClient.VaultCmdLineClient:ProcessCommandListRepositories ()
+in &lt;0x01a38&gt; VaultCmdLineClient.VaultCmdLineClient:ProcessCommand ()
+in &lt;0x028ef&gt; VaultCmdLineClient.VaultCmdLineClient:ProcessCommand ()
+in &lt;0x00111&gt; VaultCmdLineClient.VaultCmdLineClient:.ctor (string[])
+
+</exception>
+<result success="no" />
+</vault>
+
+This bug seems to be consistent and completely reproduceable.  
+
+It has been seen on several different machines.  
+
+The bug appears to be in Mono 0.28 and in Mono 0.29.
+
+It was first reproduced under Mono 0.28 on a Linux (Intel) box running Red 
+Hat 9.
+
+Identical results were obtained on another box (Linux Intel) running a 
+fresh install of Fedora 1.0, also with Mono 0.28.
+
+Something very similar happens under MacOS X using Mono 0.29.  The first 
+few error messages are identical, but it proceeds to fail in a different 
+way due to the current state of Mono on PPC.