FS#49395 - [gcc] gcc 6.1 breaks rethinkdb/v8 compilation

Attached to Project: Arch Linux
Opened by Anatol Pomozov (anatolik) - Thursday, 19 May 2016, 04:31 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 24 August 2017, 12:42 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Starting with gcc 6.1 release Arch rethinkdb package cannot be compiled. It fails at V8 subproject compilation. It is easy to reproduce the problem - try to build rethinkdb package (either with or without chroot).

See the crash info attached. Here is the most important part, it is where the segfault happens:


Stack trace of thread 28553:
#0 0x00005624fe713b90 _ZN2v88internal18RootMarkingVisitor19MarkObjectByPointerEPPNS0_6ObjectE (mksnapshot)
#1 0x00005624fe84372a _ZN2v88internal12LookupResult7IterateEPNS0_13ObjectVisitorE (mksnapshot)
#2 0x00005624fe7a75ad _ZN2v88internal7Isolate7IterateEPNS0_13ObjectVisitorEPNS0_14ThreadLocalTopE (mksnapshot)
#3 0x00005624fe6ec7a2 _ZN2v88internal4Heap18IterateStrongRootsEPNS0_13ObjectVisitorENS0_9VisitModeE (mksnapshot)
#4 0x00005624fe714329 _ZN2v88internal20MarkCompactCollector9MarkRootsEPNS0_18RootMarkingVisitorE (mksnapshot)
#5 0x00005624fe7222a2 _ZN2v88internal20MarkCompactCollector15MarkLiveObjectsEv (mksnapshot)
#6 0x00005624fe722efc _ZN2v88internal20MarkCompactCollector14CollectGarbageEv (mksnapshot)
#7 0x00005624fe6eef6a _ZN2v88internal4Heap11MarkCompactEv (mksnapshot)
#8 0x00005624fe6ef255 _ZN2v88internal4Heap24PerformGarbageCollectionENS0_16GarbageCollectorENS_15GCCallbackFlagsE (mksnapshot)
#9 0x00005624fe6f09cb _ZN2v88internal4Heap14CollectGarbageENS0_16GarbageCollectorEPKcS4_NS_15GCCallbackFlagsE (mksnapshot)
#10 0x00005624fe6f0b93 _ZN2v88internal4Heap26CollectAllAvailableGarbageEPKc (mksnapshot)
#11 0x00005624fe611304 main (mksnapshot)
#12 0x00002b1456c81741 __libc_start_main (libc.so.6)
#13 0x00005624fe611979 _start (mksnapshot)
This task depends upon

Closed by  Doug Newgard (Scimmia)
Thursday, 24 August 2017, 12:42 GMT
Reason for closing:  No response
Comment by Allan McRae (Allan) - Thursday, 19 May 2016, 05:03 GMT
Why is this a gcc problem?
Comment by Anatol Pomozov (anatolik) - Thursday, 19 May 2016, 13:23 GMT
It compiles fine with gcc5 and crashes with gcc6
Comment by Allan McRae (Allan) - Thursday, 19 May 2016, 21:07 GMT
That backtrace is nothing to do with gcc. It seems the gcc update is exposing a bug.
Comment by Anatol Pomozov (anatolik) - Friday, 20 May 2016, 12:59 GMT
The mksnapshot tool from v8 works fine with clang and gcc5, but crashes with SIGSEGV when compiled with gcc6. It is clearly a gcc6 regression.

I am interested in understanding why this error happens with gcc6.
Comment by Allan McRae (Allan) - Sunday, 30 October 2016, 05:14 GMT
Just so I don't have to search for the status of this every time someone touches it...

https://github.com/rethinkdb/rethinkdb/issues/5757

If someone wants to figure this out, I would need to know two things (assuming this is really a gcc bug):
1) Does building with -O1 or -O0 remove the segfault?
2) Which gcc commit did the issue start with?
Comment by Doug Newgard (Scimmia) - Tuesday, 15 August 2017, 15:33 GMT
anatolik, is this fixed in the rethinkdb package, or is it still valid?

Loading...