New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 593980 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment

undefined reference to 'blink::Length blink::StyleBuilderConverter::convertPositionLength […]

Reported by tas...@gmail.com, Mar 11 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

Steps to reproduce the problem:
Maybe I misread this, but in "Move background related shorthands into CSSPropertyParser" (4d1a91b7) StyleBuilderConverter::convertPositionLength was changed to a member method in StyleBuilderConverter.cpp, but the (new) header entry keeps designating to it as static:

cpp:

 template <CSSValueID cssValueFor0, CSSValueID cssValueFor100>
-static Length convertPositionLength(StyleResolverState& state, const CSSValue& value)
+Length StyleBuilderConverter::convertPositionLength(StyleResolverState& state, const CSSValue& value)

h:

+    template <CSSValueID cssValueFor0, CSSValueID cssValueFor100> static Length convertPositionLength(StyleResolverState&, const CSSValue&);

Whatever the case, the code fails to link with gcc 5.3.1 (20160308).

What is the expected behavior?

What went wrong?
[18601/18601] LINK chrome
FAILED: chrome 
[…]
obj/third_party/WebKit/Source/core/libwebcore_remaining.a(obj/third_party/WebKit/Source/core/css/resolver/webcore_remaining.CSSToStyleMap.o):CSSToStyleMap.cpp:function blink::CSSToStyleMap::mapFillXPosition(blink::StyleResolverState&, blink::FillLayer*, blink::CSSValue const&): error: undefined reference to 'blink::Length blink::StyleBuilderConverter::convertPositionLength<(blink::CSSValueID)156, (blink::CSSValueID)157>(blink::StyleResolverState&, blink::CSSValue const&)'
obj/third_party/WebKit/Source/core/libwebcore_remaining.a(obj/third_party/WebKit/Source/core/css/resolver/webcore_remaining.CSSToStyleMap.o):CSSToStyleMap.cpp:function blink::CSSToStyleMap::mapFillYPosition(blink::StyleResolverState&, blink::FillLayer*, blink::CSSValue const&): error: undefined reference to 'blink::Length blink::StyleBuilderConverter::convertPositionLength<(blink::CSSValueID)152, (blink::CSSValueID)153>(blink::StyleResolverState&, blink::CSSValue const&)'
collect2: error: ld returned 1 exit status

Did this work before? Yes 

Chrome version: 50.0.2665.0+  Channel: canary
OS Version: Arch x64
Flash Version: 21.0.0.172
 
Cc: rnimmagadda@chromium.org
Labels: Needs-Feedback
@tastky: Could you please provide us the Steps to reproduce & Sample URL to repro this issue from our side, which would help us in triaging it further.

Also, provide us the Crash ID [chrome://crashes]

Thank you.

Comment 2 by tas...@gmail.com, Mar 11 2016

Basically I'm using this build script https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=chromium-dev with some modifications, such as using the git repo instead of only the tarball, and the latest snapshot for gcc 5.3.1.

Not sure how it's possible to provide a crash ID for an error that happens at compile time.

Comment 3 by tas...@gmail.com, Mar 12 2016

Yeah I misunderstood, it's simply the case of the compiler being unable to instantiate the template. Easy fix, move the definition into the header, just as the other templates already are.
fix_convertPositionLength.patch
3.7 KB Download
Project Member

Comment 4 by sheriffbot@chromium.org, Mar 14 2016

Labels: -Needs-Feedback Needs-Review
Owner: rnimmagadda@chromium.org
Status: Assigned (was: Unconfirmed)
Thank you for providing more feedback. Assigning to requester "rnimmagadda@chromium.org" for another review.

For more details visit https://sites.google.com/a/chromium.org/dev/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Needs-Review Te-NeedsFurtherTriage
Owner: ----
Status: Unconfirmed (was: Assigned)

Comment 6 by tas...@gmail.com, Mar 31 2016

Another fix for gcc (5.3.1), required after commit 727837f ("Make chrome://site-engagement non-polymer and re-enable on Android.") from Mar 14.
scope_isnan.patch
688 bytes Download
I've hit the same issue today with gcc-6. 
It only happens when I build with -O3 (-O2 is fine).

This is clearly a Chromium bug, so can the fix_convertPositionLength.patch
please be applied?

 
Components: Blink>CSS
Why are the identical calls in StyleBuilderConverter.cpp not sufficient to instantiate the template?
Labels: Needs-Feedback

Comment 11 by shans@chromium.org, Jul 20 2016

Status: WontFix (was: Unconfirmed)
Closing this: there clearly hasn't been an ongoing build failure since Mar 11.

Sign in to add a comment