Validing css causes entire X server to crash. Doesn't happen when using Konqueror.

RESOLVED INVALID

Status

()

RESOLVED INVALID
12 years ago
9 years ago

People

(Reporter: jnguy, Unassigned)

Tracking

1.5.0.x Branch
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

12 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060608 Ubuntu/dapper-security Firefox/1.5.0.4
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060608 Ubuntu/dapper-security Firefox/1.5.0.4

Going to the W3C validator server found at http://jigsaw.w3.org/css-validator/ and entering:

<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
        td { font-size: 12px; font-family: verdana, arial, geneva, sans-serif; }
        h2 { font-size: 18px; font-family: verdana, arial, geneva, sans-serif; }
      </style>
<title>
        UCSD Department of Computer Science and Engineering -

      </title> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<meta content="en" http-equiv="content-language">
<meta content="text/css" http-equiv="content-style-type">
<meta content="no" http-equiv="imagetoolbar">
<meta content="Computer Science, engineering, ucsd, faculty, students, Jacobs School, San Diego, University" name="keywords">
<meta content="UCSD Department of Computer Science and Engineering" name="description">
<meta content="UCSD Department of Computer Science and Engineering" name="organization">
<meta content="" name="pageno">
<link media="screen" type="text/css" href="http://www-cse.ucsd.edu/css/global_style.css" rel="stylesheet">
<script type="text/javascript" language="JavaScript" src="http://www-cse.ucsd.edu/javascript/global_functions.js"> </script>
</head><body style="background: #ffffff url(/images/IMG_bgimg.gif) no-repeat" rightmargin="0" leftmargin="0" topmargin="0" marginheight="0"marginwidth="0" alink="#006699" vlink="#006699" link="#006699"><a name="top"></a>

<table bgcolor="#efefef" cellpadding="0" cellspacing="0" border="0" width="760">
<tr>
<td valign="top" width="187"><a href="http://www.jacobsschool.ucsd.edu"><img border="0" width="187" height="47" src="/images/H_logo.gif" alt="UCSD Jacobs School"></a></td><td valign="top" width="573"><a href="http://www-cse.ucsd.edu/index.php"><img border="0" width="573" height="47" src="http://www-cse.ucsd.edu/images/H_header.gif" alt="Department of Computer Science and Engineering"></a></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="760">
<tr>
<td valign="top" width="82"><a onmouseout="Off('aboutcse')" onmouseover="On('aboutcse'); window.status='aboutcse'; return true" href="http://www-cse.ucsd.edu/aboutcse/aboutcse.html"><img border="0" width="82" height="54" src="/images/HN_aboutcse.gif" name="aboutcse" alt="aboutcse"></a></td><td valign="top" width="85"><a onmouseout="Off('csepeople')" onmouseover="On('csepeople'); window.status='csepeople'; return true" href="http://www-cse.ucsd.edu/csepeople/csepeoplehome.html"><img border="0" width="85" height="54" src="/images/HN_csepeople.gif" name="csepeople" alt="csepeople"></a></td><td valign="top" width="108"><a onmouseout="Off('faculty')" onmouseover="On('faculty'); window.status='faculty'; return true" href="http://www-cse.ucsd.edu/facresearch/facultyresearch.html"><img border="0" width="108" height="54" src="/images/HN_faculty.gif" name="faculty" alt="faculty"></a></td><td valign="top" width="109"><a onmouseout="Off('graduate')" onmouseover="On('graduate'); window.status='graduate'; return true" href="http://www-cse.ucsd.edu/gradedu/gradeduhome.html"><img border="0" width="109" height="54" src="/images/HN_graduate.gif" name="graduate" alt="graduate"></a></td><td valign="top" width="140"><a onmouseout="Off('undergraduate')" onmouseover="On('undergraduate'); window.status='undergraduate'; return true" href="http://www-cse.ucsd.edu/undergrad/undergradeduhome.html"><img border="0" width="140" height="54" src="/images/HN_undergraduate.gif" name="undergraduate" alt="undergraduate"></a></td><td valign="top" width="142"><a onmouseout="Off('deptadmin')" onmouseover="On('deptadmin'); window.status='deptadmin'; return true" href="http://www-cse.ucsd.edu/deptadmin/index.php"><img border="0" width="142" height="54" src="/images/HN_deptadmin.gif" name="deptadmin" alt="deptadmin"></a></td><td valign="top" width="94"><a onmouseout="Off('contactcse')" onmouseover="On('contactcse'); window.status='contactcse'; return true" href="http://www-cse.ucsd.edu/aboutcse/contactinfo.html"><img border="0" width="94" height="54" src="/images/HN_contactcse.gif" name="contactcse" alt="contactcse"></a></td>
</tr>
</table>
<script>aboutcseon = new Image(82,54);
aboutcseon.src = "/images/HNR_aboutcse.gif";
aboutcseoff = new Image(82,54);
aboutcseoff.src = "/images/HN_aboutcse.gif";
csepeopleon = new Image(85,54);
csepeopleon.src = "/images/HNR_csepeople.gif";
csepeopleoff = new Image(85,54);
csepeopleoff.src = "/images/HN_csepeople.gif";
facultyon = new Image(108,54);
facultyon.src = "/images/HNR_faculty.gif";
facultyoff = new Image(108,54);
facultyoff.src = "/images/HN_faculty.gif";
graduateon = new Image(109,54);
graduateon.src = "/images/HNR_graduate.gif";
graduateoff = new Image(109,54);
graduateoff.src = "/images/HN_graduate.gif";
undergraduateon = new Image(140,54);
undergraduateon.src = "/images/HNR_undergraduate.gif";
undergraduateoff = new Image(140,54);
undergraduateoff.src = "/images/HN_undergraduate.gif";
deptadminon = new Image(142,54);
deptadminon.src = "/images/HNR_deptadmin.gif";
deptadminoff = new Image(142,54);
deptadminoff.src = "/images/HN_deptadmin.gif";
contactcseon = new Image(94,54);
contactcseon.src = "/images/HNR_contactcse.gif";
contactcseoff = new Image(94,54);
contactcseoff.src = "/images/HN_contactcse.gif";
</script>
<table cellpadding="0" cellspacing="0" border="0" width="760">
<tr>
<td bgcolor="#EFEFEF" valign="top" width="760"><img border="0" width="1" height="12" src="/images/space.gif"></td>
</tr>
</table><table cellpadding="0" cellspacing="0" border="0" width="760"><tr><td valign="top" height="1" width="12" bgcolor="#efefef"><img height="1" width="12" src="/images/space.gif"></td> <td>

    <style><!--
    
    a.info {
        text-decoration: none;
        color: #4444cc;
    }
    a.info:hover {
        color: #4444cc;
        text-decoration: underline;
    }
    
    /* set table header to a fixed position. WinIE 6.x only                                       */
    /* In WinIE 6.x, any element with a position property set to relative and is a child of       */
    /* an element that has an overflow property set, the relative value translates into fixed.    */
    /* Ex: parent element DIV with a class of tableContainer has an overflow property set to auto */
    thead.fixedHeader tr {
    }
    
    /* set THEAD element to have block level attributes. All other non-IE browsers            */
    /* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
    html>body thead.fixedHeader tr {
    }
    
    /* make the TH elements pretty */
    thead.fixedHeader th {
        border 1px groove;
	    font-weight: bold;
        font-size: 1.2em;
	    text-align: center;
    }

    /* define the table content to be scrollable                                              */
    /* set TBODY element to have block level attributes. All other non-IE browsers            */
    /* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
    /* induced side effect is that child TDs no longer accept width: auto                     */
    html>body tbody.scrollContent {
	    width: 100%;
    }
    
    /* make TD elements pretty. Provide alternating classes for striping the table */
    thead.fixedHeader th,
    tbody.scrollContent td {
	    border-bottom: none;
	    border-left: none;
	    border-right: 1px solid #CCC;
    }
    
    thead.fixedHeader th.majorCol0, thead.fixedHeader th.majorCol1, 
    thead.fixedHeader th.majorCol2, thead.fixedHeader th.majorCol3, 
    tbody.scrollContent td.topRow {
	    border-top: 1px inset #DDD;
    }
    
    thead.fixedHeader th.majorCol0, thead.fixedHeader th.majorCol1, 
    thead.fixedHeader th.majorCol2, thead.fixedHeader th.majorCol3, 
    thead.fixedHeader th.minorCol2,
    tbody.scrollContent td.minorCol2 {
	    border-right: 1px inset #888888;
    }
    
    thead.fixedHeader th.majorCol0, thead.fixedHeader th.majorCol1, 
    thead.fixedHeader th.majorCol2, thead.fixedHeader th.majorCol3, 
    thead.fixedHeader th.minorCol0,
    tbody.scrollContent td.minorCol0 {
	    border-left: 1px inset #888888;
    }
    
    tbody.scrollContent td.middleRow {
	    border-top: 1px dotted #DDD;
    }
    
    thead.fixedHeader th.majorCol0, thead.fixedHeader th.majorCol2, 
    tbody.scrollContent td.majorCol0, tbody.scrollContent td.majorCol2 {
        background-color: #ffffff;
    }
    
    thead.fixedHeader th.majorCol1, thead.fixedHeader th.majorCol3, 
    tbody.scrollContent td.majorCol1, tbody.scrollContent td.majorCol3 {
        background-color: #efefef;
    }

    .displayNone {
        display: none;
    }

    .displayBlock {
        display: block;
    }

    li.printMessage {
        color: #0000cc;
    }

    li.printError {
        color: #cc0000;
    }

    --></style>

    <script>
    <!--
    
    function classChange(element,newclass) {
        element.className = newclass;
    }

    function toggleDisplay(el) {
        element = document.getElementById(el);
        if( element.className == "displayBlock" ){
            classChange(element, "displayNone");
        }
        else {
            classChange(element, "displayBlock");
        }
    }
    -->
    </script><table cellpadding='4' border='1' width = 100%><tr><td><a href="menu.php">Login</a></td><td><a href='index.php'>Home</a></td><td><a href='history.php'>Historical view</a></td></tr></table><br><h2 align='center'>Initial Course Scheduling</h2>
<ul><li class='printError'>You must be logged in to view/edit initial planning.</li></ul><table>
<form method='post' action = 'menu.php'>
<tr><td>
     Username:</td><td><input type='text' name='handle' size='20'></td></tr>

<br>
<td>
Password:</td><td><input type='password' name='passwd' size='10'></td>
<br>
<input type='hidden' name='rememberMe' value='true'>
      
      <tr><td align = right colspan = 2><input type='submit' value='Login'></td></tr>
      </form>
      </table></td><td bgcolor="#efefef" height="12" width="12"><img height="1" width="12" src="/images/space.gif"></td> </tr> <tr><td bgcolor="#efefef" colspan="3" height="12" width="760"><img height="12" width="760" src="/images/space.gif"></td> </tr> </table>
</body></html>

Seems to cause the entire Xserver to crash. At first, I assumed that it was X.org, but trying it with konqueror resulted in no crash. 

jnguy@stetson:~$ Xorg -version

X Window System Version 7.0.0
Release Date: 21 December 2005
X Protocol Version 11, Revision 0, Release 7.0
Build Operating System:Linux 2.6.12 i686
Current Operating System: Linux stetson.ucsd.edu 2.6.15-23-386 #1 PREEMPT Tue May 23 13:49:40 UTC 2006 i686
Build Date: 16 March 2006
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present

However, it does not appear to happen when using another computer either. 

Reproducible: Always

Steps to Reproduce:
1. Go to http://jigsaw.w3.org/css-validator/
2. enter 
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
        td { font-size: 12px; font-family: verdana, arial, geneva, sans-serif; }
        h2 { font-size: 18px; font-family: verdana, arial, geneva, sans-serif; }
      </style>
<title>
        UCSD Department of Computer Science and Engineering -

      </title> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<meta content="en" http-equiv="content-language">
<meta content="text/css" http-equiv="content-style-type">
<meta content="no" http-equiv="imagetoolbar">
<meta content="Computer Science, engineering, ucsd, faculty, students, Jacobs School, San Diego, University" name="keywords">
<meta content="UCSD Department of Computer Science and Engineering" name="description">
<meta content="UCSD Department of Computer Science and Engineering" name="organization">
<meta content="" name="pageno">
<link media="screen" type="text/css" href="http://www-cse.ucsd.edu/css/global_style.css" rel="stylesheet">
<script type="text/javascript" language="JavaScript" src="http://www-cse.ucsd.edu/javascript/global_functions.js"> </script>
</head><body style="background: #ffffff url(/images/IMG_bgimg.gif) no-repeat" rightmargin="0" leftmargin="0" topmargin="0" marginheight="0"marginwidth="0" alink="#006699" vlink="#006699" link="#006699"><a name="top"></a>

<table bgcolor="#efefef" cellpadding="0" cellspacing="0" border="0" width="760">
<tr>
<td valign="top" width="187"><a href="http://www.jacobsschool.ucsd.edu"><img border="0" width="187" height="47" src="/images/H_logo.gif" alt="UCSD Jacobs School"></a></td><td valign="top" width="573"><a href="http://www-cse.ucsd.edu/index.php"><img border="0" width="573" height="47" src="http://www-cse.ucsd.edu/images/H_header.gif" alt="Department of Computer Science and Engineering"></a></td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0" width="760">
<tr>
<td valign="top" width="82"><a onmouseout="Off('aboutcse')" onmouseover="On('aboutcse'); window.status='aboutcse'; return true" href="http://www-cse.ucsd.edu/aboutcse/aboutcse.html"><img border="0" width="82" height="54" src="/images/HN_aboutcse.gif" name="aboutcse" alt="aboutcse"></a></td><td valign="top" width="85"><a onmouseout="Off('csepeople')" onmouseover="On('csepeople'); window.status='csepeople'; return true" href="http://www-cse.ucsd.edu/csepeople/csepeoplehome.html"><img border="0" width="85" height="54" src="/images/HN_csepeople.gif" name="csepeople" alt="csepeople"></a></td><td valign="top" width="108"><a onmouseout="Off('faculty')" onmouseover="On('faculty'); window.status='faculty'; return true" href="http://www-cse.ucsd.edu/facresearch/facultyresearch.html"><img border="0" width="108" height="54" src="/images/HN_faculty.gif" name="faculty" alt="faculty"></a></td><td valign="top" width="109"><a onmouseout="Off('graduate')" onmouseover="On('graduate'); window.status='graduate'; return true" href="http://www-cse.ucsd.edu/gradedu/gradeduhome.html"><img border="0" width="109" height="54" src="/images/HN_graduate.gif" name="graduate" alt="graduate"></a></td><td valign="top" width="140"><a onmouseout="Off('undergraduate')" onmouseover="On('undergraduate'); window.status='undergraduate'; return true" href="http://www-cse.ucsd.edu/undergrad/undergradeduhome.html"><img border="0" width="140" height="54" src="/images/HN_undergraduate.gif" name="undergraduate" alt="undergraduate"></a></td><td valign="top" width="142"><a onmouseout="Off('deptadmin')" onmouseover="On('deptadmin'); window.status='deptadmin'; return true" href="http://www-cse.ucsd.edu/deptadmin/index.php"><img border="0" width="142" height="54" src="/images/HN_deptadmin.gif" name="deptadmin" alt="deptadmin"></a></td><td valign="top" width="94"><a onmouseout="Off('contactcse')" onmouseover="On('contactcse'); window.status='contactcse'; return true" href="http://www-cse.ucsd.edu/aboutcse/contactinfo.html"><img border="0" width="94" height="54" src="/images/HN_contactcse.gif" name="contactcse" alt="contactcse"></a></td>
</tr>
</table>
<script>aboutcseon = new Image(82,54);
aboutcseon.src = "/images/HNR_aboutcse.gif";
aboutcseoff = new Image(82,54);
aboutcseoff.src = "/images/HN_aboutcse.gif";
csepeopleon = new Image(85,54);
csepeopleon.src = "/images/HNR_csepeople.gif";
csepeopleoff = new Image(85,54);
csepeopleoff.src = "/images/HN_csepeople.gif";
facultyon = new Image(108,54);
facultyon.src = "/images/HNR_faculty.gif";
facultyoff = new Image(108,54);
facultyoff.src = "/images/HN_faculty.gif";
graduateon = new Image(109,54);
graduateon.src = "/images/HNR_graduate.gif";
graduateoff = new Image(109,54);
graduateoff.src = "/images/HN_graduate.gif";
undergraduateon = new Image(140,54);
undergraduateon.src = "/images/HNR_undergraduate.gif";
undergraduateoff = new Image(140,54);
undergraduateoff.src = "/images/HN_undergraduate.gif";
deptadminon = new Image(142,54);
deptadminon.src = "/images/HNR_deptadmin.gif";
deptadminoff = new Image(142,54);
deptadminoff.src = "/images/HN_deptadmin.gif";
contactcseon = new Image(94,54);
contactcseon.src = "/images/HNR_contactcse.gif";
contactcseoff = new Image(94,54);
contactcseoff.src = "/images/HN_contactcse.gif";
</script>
<table cellpadding="0" cellspacing="0" border="0" width="760">
<tr>
<td bgcolor="#EFEFEF" valign="top" width="760"><img border="0" width="1" height="12" src="/images/space.gif"></td>
</tr>
</table><table cellpadding="0" cellspacing="0" border="0" width="760"><tr><td valign="top" height="1" width="12" bgcolor="#efefef"><img height="1" width="12" src="/images/space.gif"></td> <td>

    <style><!--
    
    a.info {
        text-decoration: none;
        color: #4444cc;
    }
    a.info:hover {
        color: #4444cc;
        text-decoration: underline;
    }
    
    /* set table header to a fixed position. WinIE 6.x only                                       */
    /* In WinIE 6.x, any element with a position property set to relative and is a child of       */
    /* an element that has an overflow property set, the relative value translates into fixed.    */
    /* Ex: parent element DIV with a class of tableContainer has an overflow property set to auto */
    thead.fixedHeader tr {
    }
    
    /* set THEAD element to have block level attributes. All other non-IE browsers            */
    /* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
    html>body thead.fixedHeader tr {
    }
    
    /* make the TH elements pretty */
    thead.fixedHeader th {
        border 1px groove;
	    font-weight: bold;
        font-size: 1.2em;
	    text-align: center;
    }

    /* define the table content to be scrollable                                              */
    /* set TBODY element to have block level attributes. All other non-IE browsers            */
    /* this enables overflow to work on TBODY element. All other non-IE, non-Mozilla browsers */
    /* induced side effect is that child TDs no longer accept width: auto                     */
    html>body tbody.scrollContent {
	    width: 100%;
    }
    
    /* make TD elements pretty. Provide alternating classes for striping the table */
    thead.fixedHeader th,
    tbody.scrollContent td {
	    border-bottom: none;
	    border-left: none;
	    border-right: 1px solid #CCC;
    }
    
    thead.fixedHeader th.majorCol0, thead.fixedHeader th.majorCol1, 
    thead.fixedHeader th.majorCol2, thead.fixedHeader th.majorCol3, 
    tbody.scrollContent td.topRow {
	    border-top: 1px inset #DDD;
    }
    
    thead.fixedHeader th.majorCol0, thead.fixedHeader th.majorCol1, 
    thead.fixedHeader th.majorCol2, thead.fixedHeader th.majorCol3, 
    thead.fixedHeader th.minorCol2,
    tbody.scrollContent td.minorCol2 {
	    border-right: 1px inset #888888;
    }
    
    thead.fixedHeader th.majorCol0, thead.fixedHeader th.majorCol1, 
    thead.fixedHeader th.majorCol2, thead.fixedHeader th.majorCol3, 
    thead.fixedHeader th.minorCol0,
    tbody.scrollContent td.minorCol0 {
	    border-left: 1px inset #888888;
    }
    
    tbody.scrollContent td.middleRow {
	    border-top: 1px dotted #DDD;
    }
    
    thead.fixedHeader th.majorCol0, thead.fixedHeader th.majorCol2, 
    tbody.scrollContent td.majorCol0, tbody.scrollContent td.majorCol2 {
        background-color: #ffffff;
    }
    
    thead.fixedHeader th.majorCol1, thead.fixedHeader th.majorCol3, 
    tbody.scrollContent td.majorCol1, tbody.scrollContent td.majorCol3 {
        background-color: #efefef;
    }

    .displayNone {
        display: none;
    }

    .displayBlock {
        display: block;
    }

    li.printMessage {
        color: #0000cc;
    }

    li.printError {
        color: #cc0000;
    }

    --></style>

    <script>
    <!--
    
    function classChange(element,newclass) {
        element.className = newclass;
    }

    function toggleDisplay(el) {
        element = document.getElementById(el);
        if( element.className == "displayBlock" ){
            classChange(element, "displayNone");
        }
        else {
            classChange(element, "displayBlock");
        }
    }
    -->
    </script><table cellpadding='4' border='1' width = 100%><tr><td><a href="menu.php">Login</a></td><td><a href='index.php'>Home</a></td><td><a href='history.php'>Historical view</a></td></tr></table><br><h2 align='center'>Initial Course Scheduling</h2>
<ul><li class='printError'>You must be logged in to view/edit initial planning.</li></ul><table>
<form method='post' action = 'menu.php'>
<tr><td>
     Username:</td><td><input type='text' name='handle' size='20'></td></tr>

<br>
<td>
Password:</td><td><input type='password' name='passwd' size='10'></td>
<br>
<input type='hidden' name='rememberMe' value='true'>
      
      <tr><td align = right colspan = 2><input type='submit' value='Login'></td></tr>
      </form>
      </table></td><td bgcolor="#efefef" height="12" width="12"><img height="1" width="12" src="/images/space.gif"></td> </tr> <tr><td bgcolor="#efefef" colspan="3" height="12" width="760"><img height="12" width="760" src="/images/space.gif"></td> </tr> </table>
</body></html>
3. click submit

Actual Results:  
Xserver crashes

Expected Results:  
CSS validator results

Using Kubuntu 
Kernel 2.6.15-23

Comment 1

12 years ago
Do you crash in official mozilla.org builds? http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/
(Reporter)

Comment 2

12 years ago
I'm using whatever is on the Ubuntu repository, so I would assume so. 

Comment 3

12 years ago
The point is that Ubuntu patches their builds. So if this only occurs in Ubuntu's builds, and not ours, then it should be filed against Ubuntu.
(Reporter)

Comment 4

12 years ago
Hm. Okay. In addition, on a RHEL4 machine, the address bar begins acting weird after the same test is performed. 

Comment 5

12 years ago
Jack, you still haven't answered my question in comment 1. 

If you need more info., the easiest way to do this is just to download a tar.gz (pre-compiled binary) and do `tar xf <file>' then `./firefox/firefox -P'. This will launch the profile manger. Create a new profile to test this in and report back.
(Reporter)

Comment 6

12 years ago
I followed your instructions and Xorg still crashed. This time, it took slightly longer, but it still crashed. Please let me know if there is anything else you need. 

Comment 7

12 years ago
if your xserver crashes you need to visit your xserver vendor and follow their instructions for debugging crashes in their product. the xserver is like your os or your kernel, if it crashes, it's entirely the fault of the xserver/kernel. sure we could be nicer and try not to encourage it to crash, but it's the xserver/kernel's job not to crash no matter what input we or any other application give it.
Can this bug be closed INVALID then?
Version: unspecified → 1.5.0.x Branch

Comment 9

9 years ago
Doesn't crash for me using the Firefox that ships with Ubuntu 9.10.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.