<div dir="ltr"><div>I have been debugging on the CSS Parser issue and what I observed is similar to issue described at <a href="http://stackoverflow.com/questions/27256849/it-is-possible-to-use-vh-minus-pixels-in-a-css-calc">http://stackoverflow.com/questions/27256849/it-is-possible-to-use-vh-minus-pixels-in-a-css-calc</a></div><div><br></div><div>For example, the CSS parser is crashing while processing following:</div><div>height:calc(100vh - 200px)</div><div><br></div><div>I modified it as</div><div>height:calc(~&quot;100vh - 200px&quot;)</div><div><br></div><div>This seems to be working. So my question is, whether CSS parser is supposed to handle the faulty case or the CSS source should be fixed always?</div><div><br></div><div>Thanks,</div><div>Atul.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 13, 2017 at 2:21 PM, Atul Sowani <span dir="ltr">&lt;<a href="mailto:sowani@gmail.com" target="_blank">sowani@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I am using Qt 5.5.1.<div class="gmail_extra"><br><div class="gmail_quote"><span>On Thu, Feb 9, 2017 at 10:15 PM, Simon Fraser <span dir="ltr">&lt;<a href="mailto:simon.fraser@apple.com" target="_blank">simon.fraser@apple.com</a>&gt;</span> wrote:<br></span><div><div class="h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div>What WebKit revision are your sources based on? It&#39;s quite likely the this bug has been fixed.<span class="m_6406950869666751019m_-5015284364546948103HOEnZb"><font color="#888888"><div><br></div><div>Simon</div></font></span><div><div class="m_6406950869666751019m_-5015284364546948103h5"><div><br><div><blockquote type="cite"><div>On Feb 9, 2017, at 4:09 AM, Atul Sowani &lt;<a href="mailto:sowani@gmail.com" target="_blank">sowani@gmail.com</a>&gt; wrote:</div><br class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144Apple-interchange-newline"><div><div dir="ltr"><div>Finally I zeroed in on 3 &quot;calc&quot; candidates from the stylesheet which are causing the CSS parser to fail:</div><div><br></div><div>height:calc(100vh - 200px)<br>height:calc(100vh - 230px)<br>max-height:calc(100vh - 200px)</div><div><br></div><div>I think it is the very first one and the remaining two never get processed.</div><div><br></div><div>I put in some debug statements in the code and the corresponding output for this is:</div><div><br></div><div>ATUL: value-&gt;id = 0 propId = 1080<br>ATUL: in CSSPropertyHeight<br>ATUL: in CSSPropertyWebkitLogicalHeight<br>ATUL: in CSSCalcValue::create<br>ATUL: in parseValueExpression, calling parseAdditiveValueExpression<br>ATUL: calling CSSCalcBinaryOperation::create from parseAdditiveValueExpression<br>ATUL: operatorCharacter = -<br>ATUL: lhs = 1 rhs = 1<br>ATUL: leftSide category = ATUL: m_category = 5<br>5<br>ATUL: rightSide category = ATUL: m_category = 1<br>1<br>ATUL: m_category = 5<br>ASSERTION FAILED: leftSide-&gt;category() != CalcOther &amp;&amp; rightSide-&gt;category() != CalcOther<br>css/CSSCalculationValue.cpp(29<wbr>3) : static WTF::PassRefPtr&lt;WebCore::CSSCa<wbr>lcBinaryOperation&gt; WebCore::CSSCalcBinaryOperatio<wbr>n::create(WTF::PassRefPtr&lt;WebC<wbr>ore::CSSCalcExpressionNode&gt;, WTF::PassRefPtr&lt;WebCore::CSSCa<wbr>lcExpressionNode&gt;, WebCore::CalcOperator)<br>1   0x12e8a80c bin/phantomjs() [0x12e8a80c]</div><div>&lt; stack trace removed &gt;</div><div><br></div><div>So the question is, is the calc expression valid one?</div><div><br></div><div>Best regards,</div><div>Atul.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 9, 2017 at 2:17 PM, Atul Sowani <span dir="ltr">&lt;<a href="mailto:sowani@gmail.com" target="_blank">sowani@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div dir="ltr"><div>@<span class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144m_-7655172812451744796gmail-gD" name="Konstantin Tokarev">Konstantin thanks for the suggestions. I disabled CSS JIT on x85 but there was no negative impact on the results on x86. So I guess the issue is a genuine ppc64le problem. I have picked up the starting points mentioned in this thread earlier and debugging the issue. I have also isolated the issue to a single CSS file which is causing the problem. Now I am trying to isolate the exact entry in the CSS file which is causing the trouble.</span></div><div><span class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144m_-7655172812451744796gmail-gD" name="Konstantin Tokarev"><br></span></div><div><span class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144m_-7655172812451744796gmail-gD" name="Konstantin Tokarev">Thanks!</span></div><span class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144HOEnZb"><font color="#888888"><div><span class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144m_-7655172812451744796gmail-gD" name="Konstantin Tokarev">Atul.</span></div></font></span></div><div class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144HOEnZb"><div class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 7, 2017 at 3:53 PM, Konstantin Tokarev <span dir="ltr">&lt;<a href="mailto:annulen@yandex.ru" target="_blank">annulen@yandex.ru</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><br>
<br>
07.02.2017, 12:55, &quot;Atul Sowani&quot; &lt;<a href="mailto:sowani@gmail.com" target="_blank">sowani@gmail.com</a>&gt;:<br>
<span>&gt; Thanks Geoffrey, Alex, Yoav for the debugging pointer. I am debugging the issue further using this information and will most likely need some more help in immediate future as well.<br>
&gt;<br>
&gt; Unfortunately, I don&#39;t have a stand-alone test case which can be tested with qtwebkit. I am trying to load a page using PhantomJS and it&#39;s crashing. The typical URLs which cause it to crash are <a href="http://engadget.com/" target="_blank" rel="noreferrer">http://engadget.com</a> and <a href="http://cnn.com/" target="_blank" rel="noreferrer">http://cnn.com</a> - both of these load without any issue on x86 platform though, so the issue seems to be specific to ppc64le.<br>
<br>
</span>A few suggestions:<br>
<br>
1. I suppose you are building with disabled JIT, as WebKit does not implement JIT for any PPC variant in official tree. This may introduce subtle differences in behavior, for example I once encountered layout test that was failing only when CSS JIT was disabled. You can try building without JIT on x86_64 and compare.<br>
<br>
2. It might be miscompilation, as your platform may not be as thoroughly tested as more mainstream ones. You can try to build with -O0, -O1, -O2 (default is -O3). Alternatively, try building with different compiler (at least GCC and Clang support ppc64le and are fine for WebKit, xlC may not work though), or try different version of your compiler.<br>
<br>
3. Note that webkit-qt list is more appropriate for issues specific for QtWebKit. Make sure you are using latest release (technology preview 5 at the moment [1])<br>
<br>
[1] <a href="https://github.com/annulen/webkit/releases/tag/qtwebkit-tp5" target="_blank" rel="noreferrer">https://github.com/annulen/web<wbr>kit/releases/tag/qtwebkit-tp5</a><br>
<div><div class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144m_-7655172812451744796h5"><br>
&gt;<br>
&gt; Thanks,<br>
&gt; Atul.<br>
&gt;<br>
&gt; On Mon, Feb 6, 2017 at 5:56 PM, Yoav Weiss &lt;<a href="mailto:yoav@yoav.ws" target="_blank">yoav@yoav.ws</a>&gt; wrote:<br>
&gt;&gt; Hi Atul,<br>
&gt;&gt;<br>
&gt;&gt; I second Alex&#39;s suggestion (perhaps followed by HTMLLinkElement::process() and other places in that file that refer to `hrefAttr`).<br>
&gt;&gt; If you have a test case online, I could try to take a look and maybe provide more guidance.<br>
&gt;&gt;<br>
&gt;&gt; Cheers :)<br>
&gt;&gt; Yoav<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Feb 3, 2017 at 9:19 PM Alex Christensen &lt;<a href="mailto:achristensen@apple.com" target="_blank">achristensen@apple.com</a>&gt; wrote:<br>
&gt;&gt;&gt; I would start looking at HTMLLinkElement::parseAttribut<wbr>e.<br>
&gt;&gt;&gt; LinkHeader.cpp contains parsers for link headers, which are related.  Yoav knows more about those.  Those parsers ought to be united more.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Feb 3, 2017, at 1:17 AM, Atul Sowani &lt;<a href="mailto:sowani@gmail.com" target="_blank">sowani@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; At present I am focusing on CSSParser::findURI() particularly and CSSParser::realLex() other related functionality in CSSParser.cpp - hope I am on right track. ;-)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Please let me know if I should be looking at some other functionality as well to resolve this issue.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thanks!<br>
&gt;&gt;&gt;&gt; Atul.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Fri, Feb 3, 2017 at 2:33 PM, Atul Sowani &lt;<a href="mailto:sowani@gmail.com" target="_blank">sowani@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I came across an issue in qtwebkit CSS parser while working on a PhantomJS crash. The issue seems to be with parsing of &lt;link rel=&quot;...&quot; href=&quot;...&quot;&gt; type elements in an HTML page. What I observed is that the parser is trying to interpret the value for href given inside double-quotes. The value contains a &quot;-&quot; (e.g. &quot;<a href="http://some.domain.com/some-page-etc-etc" target="_blank" rel="noreferrer">http://some.domain.com/some-p<wbr>age-etc-etc</a>&quot;). The &quot;-&quot; sign is being interpreted as minus and then things go wrong. In another case I found that &quot;\g&quot; embedded in the value (e.g. &quot;<a href="http://some.domain.com/some-page/global/something" target="_blank" rel="noreferrer">http://some.domain.com/some-p<wbr>age/global/something</a>&quot;) is also creating issues. In essence, the parser is trying to interpret the value, which I believe, it should not.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I am willing to dive further into it to debug and fix the issue, but looking at the complexity and size of WebCore, I think I would benefit a lot to expedite a fix, if I could get some tips about which code area/functionality I should specifically focus in the WebCore. Looking forward to some help in this regard.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt;&gt;&gt; Atul.<br>
&gt;&gt;&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt; webkit-dev mailing list<br>
&gt;&gt;&gt;&gt; <a href="mailto:webkit-dev@lists.webkit.org" target="_blank">webkit-dev@lists.webkit.org</a><br>
&gt;&gt;&gt;&gt; <a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank" rel="noreferrer">https://lists.webkit.org/mailm<wbr>an/listinfo/webkit-dev</a><br>
</div></div>&gt; ,<br>
<div class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144m_-7655172812451744796HOEnZb"><div class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144m_-7655172812451744796h5">&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; webkit-dev mailing list<br>
&gt; <a href="mailto:webkit-dev@lists.webkit.org" target="_blank">webkit-dev@lists.webkit.org</a><br>
&gt; <a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank" rel="noreferrer">https://lists.webkit.org/mailm<wbr>an/listinfo/webkit-dev</a><br>
<br>
<br>
</div></div><span class="m_6406950869666751019m_-5015284364546948103m_8557101364328275144m_-7655172812451744796HOEnZb"><font color="#888888">-- <br>
Regards,<br>
Konstantin<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
______________________________<wbr>_________________<br>webkit-dev mailing list<br><a href="mailto:webkit-dev@lists.webkit.org" target="_blank">webkit-dev@lists.webkit.org</a><br><a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank">https://lists.webkit.org/mailm<wbr>an/listinfo/webkit-dev</a><br></div></blockquote></div><br></div></div></div></div></blockquote></div></div></div><br></div></div>
</blockquote></div><br></div>