[Mono-bugs] [Bug 59962][Nor] New - PEFile format of libraries violates ECMA/MS specs

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 10 Jun 2004 14:06:44 -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 infodate@aster.pl.

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

--- shadow/59962	2004-06-10 14:06:44.000000000 -0400
+++ shadow/59962.tmp.19080	2004-06-10 14:06:44.000000000 -0400
@@ -0,0 +1,48 @@
+Bug#: 59962
+Product: Mono: Class Libraries
+Version: unspecified
+OS: 
+OS Details: Irrelevant
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: CORLIB
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: infodate@aster.pl               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: PEFile format of libraries violates ECMA/MS specs
+
+Description of Problem:
+Parsing Mono Beta2 class libraries with ECMA compliant parser raises 
+several exceptions pointing to serious format errors.
+
+
+Steps to reproduce the problem:
+1. Get PEParserReader by John Miller (MS) which is strictly ECMA compliant.
+2. Parse with it files coming with Windows distribution of Mono Beta2 - 
+any library will do its job.
+3. Catch exceptions and after fixing them delve inside parsing process.
+
+Actual Results:
+During parsing the following errors were catched:
+a) PE Header Windows NT-Specific Fields - Subsystem is 1 (this value is 
+used for device drivers and native Windows processes - ECMA should be 2 or 
+3)
+b) #String stream size is not multpile of 4 - again violates ECMA.
+
+
+Expected Results:
+According to ECMA specs. However, Micorsoft vialotes it as well but in 
+other areas. In none of the MS violations basic pecoff standard is 
+violated.
+
+Impact on system of found errors is unknown, however due to their nature 
+they are easy to fix and should be avoided in future.
+
+Additional Information:
+My understanding is that errors are created by PEAPI classes during 
+compilation with Mono tools.