<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">What WebKit revision are your sources based on? It's quite likely the this bug has been fixed.<div class=""><br class=""></div><div class="">Simon</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 9, 2017, at 4:09 AM, Atul Sowani <<a href="mailto:sowani@gmail.com" class="">sowani@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Finally I zeroed in on 3 "calc" candidates from the stylesheet which are causing the CSS parser to fail:</div><div class=""><br class=""></div><div class="">height:calc(100vh - 200px)<br class="">height:calc(100vh - 230px)<br class="">max-height:calc(100vh - 200px)</div><div class=""><br class=""></div><div class="">I think it is the very first one and the remaining two never get processed.</div><div class=""><br class=""></div><div class="">I put in some debug statements in the code and the corresponding output for this is:</div><div class=""><br class=""></div><div class="">ATUL: value->id = 0 propId = 1080<br class="">ATUL: in CSSPropertyHeight<br class="">ATUL: in CSSPropertyWebkitLogicalHeight<br class="">ATUL: in CSSCalcValue::create<br class="">ATUL: in parseValueExpression, calling parseAdditiveValueExpression<br class="">ATUL: calling CSSCalcBinaryOperation::create from parseAdditiveValueExpression<br class="">ATUL: operatorCharacter = -<br class="">ATUL: lhs = 1 rhs = 1<br class="">ATUL: leftSide category = ATUL: m_category = 5<br class="">5<br class="">ATUL: rightSide category = ATUL: m_category = 1<br class="">1<br class="">ATUL: m_category = 5<br class="">ASSERTION FAILED: leftSide->category() != CalcOther && rightSide->category() != CalcOther<br class="">css/CSSCalculationValue.cpp(293) : static WTF::PassRefPtr<WebCore::CSSCalcBinaryOperation> WebCore::CSSCalcBinaryOperation::create(WTF::PassRefPtr<WebCore::CSSCalcExpressionNode>, WTF::PassRefPtr<WebCore::CSSCalcExpressionNode>, WebCore::CalcOperator)<br class="">1 0x12e8a80c bin/phantomjs() [0x12e8a80c]</div><div class="">< stack trace removed ></div><div class=""><br class=""></div><div class="">So the question is, is the calc expression valid one?</div><div class=""><br class=""></div><div class="">Best regards,</div><div class="">Atul.<br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Feb 9, 2017 at 2:17 PM, Atul Sowani <span dir="ltr" class=""><<a href="mailto:sowani@gmail.com" target="_blank" class="">sowani@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><div class="">@<span class="m_-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 class=""><span class="m_-7655172812451744796gmail-gD" name="Konstantin Tokarev"><br class=""></span></div><div class=""><span class="m_-7655172812451744796gmail-gD" name="Konstantin Tokarev">Thanks!</span></div><span class="HOEnZb"><font color="#888888" class=""><div class=""><span class="m_-7655172812451744796gmail-gD" name="Konstantin Tokarev">Atul.</span></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Feb 7, 2017 at 3:53 PM, Konstantin Tokarev <span dir="ltr" class=""><<a href="mailto:annulen@yandex.ru" target="_blank" class="">annulen@yandex.ru</a>></span> wrote:<br class=""><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 class="">
<br class="">
07.02.2017, 12:55, "Atul Sowani" <<a href="mailto:sowani@gmail.com" target="_blank" class="">sowani@gmail.com</a>>:<br class="">
<span class="">> 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 class="">
><br class="">
> Unfortunately, I don't have a stand-alone test case which can be tested with qtwebkit. I am trying to load a page using PhantomJS and it's crashing. The typical URLs which cause it to crash are <a href="http://engadget.com/" target="_blank" rel="noreferrer" class="">http://engadget.com</a> and <a href="http://cnn.com/" target="_blank" rel="noreferrer" class="">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 class="">
<br class="">
</span>A few suggestions:<br class="">
<br class="">
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 class="">
<br class="">
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 class="">
<br class="">
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 class="">
<br class="">
[1] <a href="https://github.com/annulen/webkit/releases/tag/qtwebkit-tp5" target="_blank" rel="noreferrer" class="">https://github.com/annulen/web<wbr class="">kit/releases/tag/qtwebkit-tp5</a><br class="">
<div class=""><div class="m_-7655172812451744796h5"><br class="">
><br class="">
> Thanks,<br class="">
> Atul.<br class="">
><br class="">
> On Mon, Feb 6, 2017 at 5:56 PM, Yoav Weiss <<a href="mailto:yoav@yoav.ws" target="_blank" class="">yoav@yoav.ws</a>> wrote:<br class="">
>> Hi Atul,<br class="">
>><br class="">
>> I second Alex's suggestion (perhaps followed by HTMLLinkElement::process() and other places in that file that refer to `hrefAttr`).<br class="">
>> If you have a test case online, I could try to take a look and maybe provide more guidance.<br class="">
>><br class="">
>> Cheers :)<br class="">
>> Yoav<br class="">
>><br class="">
>> On Fri, Feb 3, 2017 at 9:19 PM Alex Christensen <<a href="mailto:achristensen@apple.com" target="_blank" class="">achristensen@apple.com</a>> wrote:<br class="">
>>> I would start looking at HTMLLinkElement::parseAttribut<wbr class="">e.<br class="">
>>> LinkHeader.cpp contains parsers for link headers, which are related. Yoav knows more about those. Those parsers ought to be united more.<br class="">
>>><br class="">
>>>> On Feb 3, 2017, at 1:17 AM, Atul Sowani <<a href="mailto:sowani@gmail.com" target="_blank" class="">sowani@gmail.com</a>> wrote:<br class="">
>>>> 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 class="">
>>>><br class="">
>>>> Please let me know if I should be looking at some other functionality as well to resolve this issue.<br class="">
>>>><br class="">
>>>> Thanks!<br class="">
>>>> Atul.<br class="">
>>>><br class="">
>>>> On Fri, Feb 3, 2017 at 2:33 PM, Atul Sowani <<a href="mailto:sowani@gmail.com" target="_blank" class="">sowani@gmail.com</a>> wrote:<br class="">
>>>>> Hi,<br class="">
>>>>><br class="">
>>>>> I came across an issue in qtwebkit CSS parser while working on a PhantomJS crash. The issue seems to be with parsing of <link rel="..." href="..."> 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 "-" (e.g. "<a href="http://some.domain.com/some-page-etc-etc" target="_blank" rel="noreferrer" class="">http://some.domain.com/some-p<wbr class="">age-etc-etc</a>"). The "-" sign is being interpreted as minus and then things go wrong. In another case I found that "\g" embedded in the value (e.g. "<a href="http://some.domain.com/some-page/global/something" target="_blank" rel="noreferrer" class="">http://some.domain.com/some-p<wbr class="">age/global/something</a>") is also creating issues. In essence, the parser is trying to interpret the value, which I believe, it should not.<br class="">
>>>>><br class="">
>>>>> 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 class="">
>>>>><br class="">
>>>>> Thanks,<br class="">
>>>>> Atul.<br class="">
>>>> ______________________________<wbr class="">_________________<br class="">
>>>> webkit-dev mailing list<br class="">
>>>> <a href="mailto:webkit-dev@lists.webkit.org" target="_blank" class="">webkit-dev@lists.webkit.org</a><br class="">
>>>> <a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank" rel="noreferrer" class="">https://lists.webkit.org/mailm<wbr class="">an/listinfo/webkit-dev</a><br class="">
</div></div>> ,<br class="">
<div class="m_-7655172812451744796HOEnZb"><div class="m_-7655172812451744796h5">><br class="">
> ______________________________<wbr class="">_________________<br class="">
> webkit-dev mailing list<br class="">
> <a href="mailto:webkit-dev@lists.webkit.org" target="_blank" class="">webkit-dev@lists.webkit.org</a><br class="">
> <a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank" rel="noreferrer" class="">https://lists.webkit.org/mailm<wbr class="">an/listinfo/webkit-dev</a><br class="">
<br class="">
<br class="">
</div></div><span class="m_-7655172812451744796HOEnZb"><font color="#888888" class="">-- <br class="">
Regards,<br class="">
Konstantin<br class="">
</font></span></blockquote></div><br class=""></div>
</div></div></blockquote></div><br class=""></div>
_______________________________________________<br class="">webkit-dev mailing list<br class=""><a href="mailto:webkit-dev@lists.webkit.org" class="">webkit-dev@lists.webkit.org</a><br class="">https://lists.webkit.org/mailman/listinfo/webkit-dev<br class=""></div></blockquote></div><br class=""></div></body></html>