Bug 1331480 - FTBFS on Fedora 24 and Rawhide: src/spaces.h: nonnull argument 'this' compared to NULL
Summary: FTBFS on Fedora 24 and Rawhide: src/spaces.h: nonnull argument 'this' compare...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: v8
Version: 24
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
Assignee: Vít Ondruch
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1331458
TreeView+ depends on / blocked
 
Reported: 2016-04-28 15:21 UTC by Dominic Cleal
Modified: 2016-06-20 22:25 UTC (History)
6 users (show)

Fixed In Version: v8-3.14.5.10-24.fc24
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-06-20 22:25:35 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
f24 build root.log (73.88 KB, text/plain)
2016-04-28 15:21 UTC, Dominic Cleal
no flags Details
f24 build.log (73.58 KB, text/plain)
2016-04-28 15:22 UTC, Dominic Cleal
no flags Details
Fix for "nonnull argument 'this' compared to NULL" (2.99 KB, patch)
2016-06-02 12:04 UTC, Vít Ondruch
no flags Details | Diff

Description Dominic Cleal 2016-04-28 15:21:53 UTC
Created attachment 1151939 [details]
f24 build root.log

Description of problem:
The v8 package fails to build from source on both Fedora 24 and Rawhide (as of 2016-04-28).

Version-Release number of selected component (if applicable):
v8-3.14.5.10-23.fc24

How reproducible:
Always

Steps to Reproduce:
1. koji build --scratch f24 v8-3.14.5.10-23.fc24.src.rpm

Actual results:
g++ -o obj/release/spaces.os -c -fno-rtti -fno-exceptions -Wall -Werror -W -Wno-unused-parameter -Woverloaded-virtual -Wnon-virtual-dtor -pedantic -m64 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-bu
ffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fPIC -fno-strict-aliasing -Wno-unused-parameter -Wno-error=strict-overflow -Wno-unused-but-set-variable -fomit-frame-pointer -fdata-sections -ffunction-sections -ansi -f
PIC -DV8_TARGET_ARCH_X64 -DV8_SHARED -DBUILDING_V8_SHARED -DENABLE_DEBUGGER_SUPPORT -Isrc src/spaces.cc
In file included from src/mark-compact.h:32:0,
                 from src/incremental-marking.h:33,
                 from src/heap.h:35,
                 from src/elements.h:33,
                 from src/objects-inl.h:38,
                 from src/v8.h:60,
                 from src/spaces.cc:28:
src/spaces.h: In member function 'bool v8::internal::CodeRange::exists()':
src/spaces.h:837:39: error: nonnull argument 'this' compared to NULL [-Werror=nonnull-compare]
   bool exists() { return this != NULL && code_range_ != NULL; }
                                       ^
src/spaces.h: In member function 'bool v8::internal::CodeRange::contains(v8::internal::Address)':
src/spaces.h:839:5: error: nonnull argument 'this' compared to NULL [-Werror=nonnull-compare]
     if (this == NULL || code_range_ == NULL) return false;
     ^~
cc1plus: all warnings being treated as errors
scons: *** [obj/release/spaces.os] Error 1
scons: building terminated because of errors.


Expected results:
Successful build

Additional info:
I notice the rebuild of -24 against ICU 57.1 in Rawhide failed for the same reason: http://koji.fedoraproject.org/koji/buildinfo?buildID=755094

Comment 1 Dominic Cleal 2016-04-28 15:22:18 UTC
Created attachment 1151940 [details]
f24 build.log

Comment 2 Adam Williamson 2016-04-28 18:06:37 UTC
We're carrying a very old v8 and this code no longer exists upstream, so the fix isn't a simple backport.

Comment 3 Tom "spot" Callaway 2016-04-28 19:10:37 UTC
I am strongly motivated to simply retire v8 in Fedora. Chromium uses its bundled copy and the only consumers are:

* rubygem-therubyracer
* uwsgi-plugin-v8

Comment 4 Adam Williamson 2016-04-28 19:13:45 UTC
I've got no objections, but note this was pointed out to me by someone who was hitting it trying to upgrade, so it'd be nice if it got auto-removed somehow. did we solve that problem yet?

Comment 5 Dominic Cleal 2016-04-29 08:43:30 UTC
(In reply to Tom "spot" Callaway from comment #3)
> I am strongly motivated to simply retire v8 in Fedora. Chromium uses its
> bundled copy and the only consumers are:
> 
> * rubygem-therubyracer

I'm using rubygem-therubyracer to precompile assets with Ruby on Rails, but it's trivial to switch to NodeJS as Rails uses rubygem-execjs to select an available runtime.

I'll probably switch anyway due to bug #1331458 making the package unusable, so retiring v8 isn't a big deal if it's unmaintainable.

Comment 6 Vít Ondruch 2016-06-02 10:49:59 UTC
This is related upstream change:

https://github.com/v8/v8/commit/99d9abaf82aff155a62a1ebb03c6a12920554d91

Comment 7 Vít Ondruch 2016-06-02 12:04:53 UTC
Created attachment 1164036 [details]
Fix for "nonnull argument 'this' compared to NULL"

This is based on https://github.com/v8/v8/commit/99d9abaf82aff155a62a1ebb03c6a12920554d91

Comment 8 Vít Ondruch 2016-06-02 12:06:28 UTC
Actually the patch header would deserve some cleanup, but I leave it to anybody else for now.

Comment 9 Vít Ondruch 2016-06-06 13:30:49 UTC
I am sick of this, so I applied "-fno-delete-null-pointer-checks" to workaround this. This should be fine for F24 and F25 has completely different version of V8 which does not suffer this issues anyway.

Comment 10 Fedora Update System 2016-06-07 05:09:04 UTC
v8-3.14.5.10-24.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-67dcc8e9dd

Comment 11 Fedora Update System 2016-06-07 18:53:59 UTC
v8-3.14.5.10-24.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-67dcc8e9dd

Comment 12 Tom "spot" Callaway 2016-06-09 15:39:12 UTC
> I'll probably switch anyway due to bug #1331458 making the package unusable,
> so retiring v8 isn't a big deal if it's unmaintainable.

After several people came out of the woodwork as consumers of v8 3.14, I've decided to make a v8-314 package so that people dependent on this specific release will have something to build against.

https://bugzilla.redhat.com/show_bug.cgi?id=1344415

(This will only go into Fedora 25+)

Comment 13 Fedora Update System 2016-06-20 22:25:29 UTC
v8-3.14.5.10-24.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.