[Mono-bugs] [Bug 588450] New: Parser error on less than symbol inside html comment inside script tag on aspx page

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Mar 15 14:52:45 EDT 2010


http://bugzilla.novell.com/show_bug.cgi?id=588450

http://bugzilla.novell.com/show_bug.cgi?id=588450#c0


           Summary: Parser error on less than symbol inside html comment
                    inside script tag on aspx page
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: jd at cpanel.net
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.6)
Gecko/20091216 Iceweasel/3.5.8 (like Firefox/3.5.8)

Noticed this problem after updating to mono 2.6.1.  A less than symbol inside a
HTML comment, inside a <script> tag on an aspx page is somehow expanded by the
parser and results in an error message when there is no matching greater than
symbol

Reproducible: Always

Steps to Reproduce:
This works fine and both the asp and javascript function correctly:

<html>
<head>
</head>
<body>
<pre>
<script type="text/javascript">
var a = 0;
var b = 1;
if (a < b) {
    document.write("javascript\n");
}
</script>
<% Response.Write("asp\n"); %>
</pre>
</body>
</html>



This hits the parser error

<html>
<head>
</head>
<body>
<pre>
<script type="text/javascript">
<!--
var a = 0;
var b = 1;
if (a < b) {
    document.write("javascript\n");
}
-->
</script>
<% Response.Write("asp\n"); %>
</pre>
</body>
</html>



Oddly enough, if I flip the conditional around, it starts working again
(although if you look at the page source you'll see that the HTML comment tags
have disappeared)

<html>
<head>
</head>
<body>
<pre>
<script type="text/javascript">
<!--
var a = 0;
var b = 1;
if (b > a) {
    document.write("javascript\n");
}
-->
</script>
<% Response.Write("asp\n"); %>
</pre>
</body>
</html>

Actual Results:  
This is the error message I get

Server Error in '/' Application
Expecting > and got EOF.

Description: HTTP 500. Error processing request.

Stack Trace:

System.Web.Compilation.ParseException: Expecting > and got EOF.
  at System.Web.Compilation.AspGenerator.ParseError (ILocation location,
System.String message) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AspParser.OnError (System.String msg) [0x00000] in
<filename unknown>:0 
  at System.Web.Compilation.AspParser.GetVerbatim (Int32 token, System.String
end) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AspParser.GetTag (System.Web.Compilation.TagType&
tagtype, System.String& id, System.Web.Compilation.TagAttributes& attributes)
[0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AspParser.Parse () [0x00000] in <filename
unknown>:0 
  at System.Web.Compilation.AspGenerator.TextParsed (ILocation location,
System.String text) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AspParser.OnTextParsed (System.String text)
[0x00000] in <filename unknown>:0 
  at System.Web.Compilation.AspParser.Parse () [0x00000] in <filename
unknown>:0 
  at System.Web.Compilation.AspGenerator.Parse (System.IO.TextReader reader,
System.String filename, Boolean doInitParser) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.GenericBuildProvider`1[TParser].Parse () [0x00000]
in <filename unknown>:0 
  at System.Web.Compilation.GenericBuildProvider`1[TParser].get_LanguageName ()
[0x00000] in <filename unknown>:0 
  at System.Web.Compilation.TemplateBuildProvider.get_LanguageName () [0x00000]
in <filename unknown>:0 
  at
System.Web.Compilation.GenericBuildProvider`1[TParser].get_CodeCompilerType ()
[0x00000] in <filename unknown>:0 
  at
System.Web.Compilation.BuildManagerDirectoryBuilder.GetBuildProviderCodeDomType
(System.Web.Compilation.BuildProvider bp) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManagerDirectoryBuilder.AssignToGroup
(System.Web.Compilation.BuildProvider buildProvider,
System.Collections.Generic.List`1 groups) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManagerDirectoryBuilder.Build (Boolean single)
[0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.BuildInner (System.Web.VirtualPath vp,
Boolean debug) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.Build (System.Web.VirtualPath vp)
[0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.GetCompiledType
(System.Web.VirtualPath virtualPath) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath
(System.Web.VirtualPath virtualPath, System.Type requiredBaseType) [0x00000] in
<filename unknown>:0 
  at System.Web.UI.PageParser.GetCompiledPageInstance (System.String
virtualPath, System.String inputFile, System.Web.HttpContext context) [0x00000]
in <filename unknown>:0 
  at System.Web.UI.PageHandlerFactory.GetHandler (System.Web.HttpContext
context, System.String requestType, System.String url, System.String path)
[0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context,
System.String url, Boolean ignoreContextHandler) [0x00000] in <filename
unknown>:0 
  at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context,
System.String url) [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication+<Pipeline>c__Iterator2.MoveNext () [0x00000] in
<filename unknown>:0 

Expected Results:  
Mono should be ignoring the <script> tag entirely.  All thress versions should
behave identically and display both "javascript" and "asp".

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list