Reland futex syscall in SpinLockDelay() for ARM |
|||||||||||
Issue descriptionstarting with 56.0.2923.0 we are seeing the error below. I dont understand why this was not caught by the linux builders? Maybe linux builders are not using -mthumb? cc'ing Hans and Nico in case theyu know something. I looked at the changed that went into this version and I believe the commit causing this problem is: https://chromium.googlesource.com/chromium/src/+log/56.0.2920.0..56.0.2923.0?pretty=fuller&n=10000 commit 7f1336053e39737671a52ca7a265007e9024ee8a author matteo.franchin <matteo.franchin@arm.com> Wed Nov 16 21:11:04 2016 committer Commit bot <commit-bot@chromium.org> Wed Nov 16 21:16:41 2016 tcmalloc: Use futex syscall in SpinLockDelay() for ARM. Error details: for -march=armv8-a+crc chromeos-chrome-56.0.2923.0_rc-r1: FAILED: obj/base/allocator/tcmalloc/spinlock_internal.o chromeos-chrome-56.0.2923.0_rc-r1: armv7a-cros-linux-gnueabi-clang++ -B/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold -MMD -MF obj/base/allocator/tcmalloc/spinlock_internal.o.d -DNO_HEAP_CHECK -DV8_DEPRECATION_WARNINGS -DENABLE_NOTIFICATIONS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_ASH=1 -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DENABLE_WEBRTC=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_RLZ -DENABLE_WAYLAND_SERVER=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DOFFICIAL_BUILD -DGOOGLE_CHROME_BUILD -DENABLE_MEDIA_ROUTER=1 -DCR_CLANG_REVISION=284979-2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DOS_CHROMEOS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DTCMALLOC_DONT_REPLACE_SYSTEM_ALLOC -I../../../../../../../home/chrome-bot/chrome_root/src/base/allocator -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src -I../../../../../../../home/chrome-bot/chrome_root/src -Igen -fno-strict-aliasing -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -fcolor-diagnostics -fdebug-prefix-map=/home/chrome-bot/chrome_root/src=. -pthread --target=arm-linux-gnueabihf -march=armv7-a -mfloat-abi=hard -mthumb -mtune=generic-armv7-a -mfpu=neon -g2 -gsplit-dwarf --sysroot=../../../../../../../build/elm -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-reorder -Wno-unused-function -Wno-unused-local-typedefs -Wno-unused-private-field -Wno-sign-compare -Wno-unused-result -O2 -fno-ident -fdata-sections -ffunction-sections -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -Wno-reserved-user-defined-literal -pipe -march=armv8-a+crc -mtune=cortex-a57.cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -D__google_stl_debug_vector=1 -Wno-unknown-warning-option -c ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc -o obj/base/allocator/tcmalloc/spinlock_internal.o chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:43: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.h:40: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops.h:95: chromeos-chrome-56.0.2923.0_rc-r1: ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops-internals-arm-v6plus.h:279:3: error: instruction requires: arm-mode chromeos-chrome-56.0.2923.0_rc-r1: "ldrexd %0, [%1]\n" chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: <inline asm>:1:2: note: instantiated into assembly here chromeos-chrome-56.0.2923.0_rc-r1: ldrexd r0, [r12] chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:43: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.h:40: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops.h:95: chromeos-chrome-56.0.2923.0_rc-r1: ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops-internals-arm-v6plus.h:267:8: error: instruction requires: arm-mode chromeos-chrome-56.0.2923.0_rc-r1: "ldrexd %1, [%3]\n" chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: <inline asm>:2:1: note: instantiated into assembly here chromeos-chrome-56.0.2923.0_rc-r1: ldrexd r8, [r12] chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:43: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.h:40: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops.h:95: chromeos-chrome-56.0.2923.0_rc-r1: ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops-internals-arm-v6plus.h:268:8: error: instruction requires: arm-mode chromeos-chrome-56.0.2923.0_rc-r1: "strexd %0, %2, [%3]\n" chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: <inline asm>:3:1: note: instantiated into assembly here chromeos-chrome-56.0.2923.0_rc-r1: strexd r2, r0, [r12] chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:43: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.h:40: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops.h:95: chromeos-chrome-56.0.2923.0_rc-r1: ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops-internals-arm-v6plus.h:75:6: warning: deprecated instruction in IT block [-Winline-asm] chromeos-chrome-56.0.2923.0_rc-r1: "strexeq %0, %5, [%3]\n" chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: <inline asm>:5:1: note: instantiated into assembly here chromeos-chrome-56.0.2923.0_rc-r1: strexeq r0, r2, [r6] chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: 1 warning and 3 errors generated. chromeos-chrome-56.0.2923.0_rc-r1: this also happens for march=armv7-a chromeos-chrome-56.0.2923.0_rc-r1: armv7a-cros-linux-gnueabi-clang++ -B/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold -MMD -MF obj/base/allocator/tcmalloc/spinlock_internal.o.d -DNO_HEAP_CHECK -DV8_DEPRECATION_WARNINGS -DENABLE_NOTIFICATIONS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_ASH=1 -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DENABLE_WEBRTC=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_RLZ -DENABLE_WAYLAND_SERVER=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DOFFICIAL_BUILD -DGOOGLE_CHROME_BUILD -DENABLE_MEDIA_ROUTER=1 -DCR_CLANG_REVISION=284979-2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DOS_CHROMEOS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DTCMALLOC_DONT_REPLACE_SYSTEM_ALLOC -I../../../../../../../home/chrome-bot/chrome_root/src/base/allocator -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base -I../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src -I../../../../../../../home/chrome-bot/chrome_root/src -Igen -fno-strict-aliasing -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -fcolor-diagnostics -fdebug-prefix-map=/home/chrome-bot/chrome_root/src=. -pthread --target=arm-linux-gnueabihf -march=armv7-a -mfloat-abi=hard -mthumb -mtune=generic-armv7-a -mfpu=neon -g2 -gsplit-dwarf --sysroot=../../../../../../../build/daisy -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-reorder -Wno-unused-function -Wno-unused-local-typedefs -Wno-unused-private-field -Wno-sign-compare -Wno-unused-result -O2 -fno-ident -fdata-sections -ffunction-sections -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -Wno-reserved-user-defined-literal -pipe -march=armv7-a -mtune=cortex-a15 -mfpu=neon -mfloat-abi=hard -D__google_stl_debug_vector=1 -Wno-unknown-warning-option -c ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc -o obj/base/allocator/tcmalloc/spinlock_internal.o chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:43: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.h:40: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops.h:95: chromeos-chrome-56.0.2923.0_rc-r1: ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops-internals-arm-v6plus.h:279:3: error: instruction requires: arm-mode chromeos-chrome-56.0.2923.0_rc-r1: "ldrexd %0, [%1]\n" chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: <inline asm>:1:2: note: instantiated into assembly here chromeos-chrome-56.0.2923.0_rc-r1: ldrexd r0, [r12] chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:43: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.h:40: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops.h:95: chromeos-chrome-56.0.2923.0_rc-r1: ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops-internals-arm-v6plus.h:267:8: error: instruction requires: arm-mode chromeos-chrome-56.0.2923.0_rc-r1: "ldrexd %1, [%3]\n" chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: <inline asm>:2:1: note: instantiated into assembly here chromeos-chrome-56.0.2923.0_rc-r1: ldrexd r8, [r12] chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.cc:43: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/spinlock_internal.h:40: chromeos-chrome-56.0.2923.0_rc-r1: In file included from ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops.h:95: chromeos-chrome-56.0.2923.0_rc-r1: ../../../../../../../home/chrome-bot/chrome_root/src/third_party/tcmalloc/chromium/src/base/atomicops-internals-arm-v6plus.h:268:8: error: instruction requires: arm-mode chromeos-chrome-56.0.2923.0_rc-r1: "strexd %0, %2, [%3]\n" chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: <inline asm>:3:1: note: instantiated into assembly here chromeos-chrome-56.0.2923.0_rc-r1: strexd r2, r0, [r12] chromeos-chrome-56.0.2923.0_rc-r1: ^ chromeos-chrome-56.0.2923.0_rc-r1: 3 errors generated.
,
Nov 18 2016
> I dont understand why this was not caught by the linux builders? Maybe linux builders are not using -mthumb? cc'ing Hans and Nico in case theyu know something. I don't think we have any Linux builders targeting ARM, but I'd expect Android would have the same problem. And I believe we use -mthumb there.
,
Nov 18 2016
.. but it looks like the Android build doesn't use tcmalloc, which would explain why we don't see it on those bots: https://cs.chromium.org/chromium/src/base/allocator/README.md?rcl=0&l=35 (+primiano to double check)
,
Nov 18 2016
Sorry for the trouble this is causing. I am investigating it right now. I am puzzled to see this failure when building for ChromeOS, as we are doing tests on several ChromeOS overlays, including ARM overlays building on Linux builders. We will revert the change for now so the tree is green again. We will work on reproducing and fixing the issue. Could you please provide build environment details?
,
Nov 18 2016
regarding #1. @cavalcantii we are building for ChromeOS. The default ChromeOS build still uses GCC but we are migrating to Clang/LLVM and we have some builders set up for that. It started failing there. You can see this link (from within Google). https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/release/builds/7235 Please revert this change until the problem is fixed.
,
Nov 18 2016
Ack, reverting the patch now.
,
Nov 18 2016
The following seems relevant: https://codereview.chromium.org/2515503002 The associated bug is: https://bugs.chromium.org/p/chromium/issues/detail?id=564059
,
Nov 18 2016
ok, so it looks like we have a fix. no need to revert. We also know why it does not reproduce with GCC. I will keep this open until we can verify the issue is gone. Thanks all.
,
Nov 18 2016
@matteo Thanks for doing more research on the subject. @llozano Too late! It is reverted already. And to make things more interesting, it seems that the Android bots are broken now. Not sure if it is related (it seems to point to a build failure of a net unit test). I'm contacting sheriffs to look for the best route on this.
,
Nov 18 2016
In retrospect, it may make sense to have a linux builder for ARM in future to avoid this kind of issue.
,
Nov 19 2016
#9 ok, I will apply both patches and make sure it builds in ChromeOS. Will reply by Monday.
,
Nov 21 2016
@llozano I applied my patch again to the tree and tried building ChromeOS with USE=clang. The bug still occurs. In other words, the CL at https://codereview.chromium.org/2515503002 did't fix the issue. You can find more info here https://codereview.chromium.org/2457473003/
,
Nov 21 2016
@llozano Any news?
,
Nov 21 2016
I am trying to reproduce but I dont see the point of doing that. If Matteo says it is broken even after tcmalloc is built without -mthumb then we need to owner of tcmalloc to fix this.
,
Nov 21 2016
https://codereview.chromium.org/2515503002 should remove the -mthumb argument from the command line. Are you still seeing -mthumb on the failing command line? If so, can you try to find out why?
,
Nov 21 2016
How is this part of the code supposed to work for ChromeOS?
+config("compiler_arm_thumb") {
+ if (current_cpu == "arm" && arm_use_thumb && is_posix &&
+ !(is_mac || is_ios || is_nacl)) {
+ cflags = [ "-mthumb" ]
+ if (is_android && !is_clang) {
+ # Clang doesn't support this option.
+ cflags += [ "-mthumb-interwork" ]
+ }
+ }
+}
+
this checks for is_mac and for is_android only.
,
Nov 21 2016
I cannot see -mthumb in the command line, but this doesn't seem to fix the issue. -no-integrated-as does. If I replace -O2 with -O0 the issue occurs even if I remove my patch.
,
Nov 21 2016
From inside my ChromeOS chroot I get: $ ls -l /usr/bin/armv7a-cros-linux-gnueabi-g++ /usr/bin/armv7a-cros-linux-gnueabi-clang++ -rwxr-xr-x 1 root root 10104 Nov 3 15:59 /usr/bin/armv7a-cros-linux-gnueabi-clang++ -rwxr-xr-x 1 root root 10104 Nov 3 15:59 /usr/bin/armv7a-cros-linux-gnueabi-g++ $ diff -s /usr/bin/armv7a-cros-linux-gnueabi-g++ /usr/bin/armv7a-cros-linux-gnueabi-clang++ Files /usr/bin/armv7a-cros-linux-gnueabi-g++ and /usr/bin/armv7a-cros-linux-gnueabi-clang++ are identical Note that /usr/bin/armv7a-cros-linux-gnueabi-clang++ is the executable which is used to compile the code. The conclusion is that this is not the real clang compiler and - as such - it may end up inserting flags that we did not want. Further investigations reveal indeed that this executable ends up calling /usr/bin/clang-3.9. So I replaced /usr/bin/armv7a-cros-linux-gnueabi-clang++ with /usr/bin/clang-3.9 and the compilation was successful. The conclusion is that ChromeOS compiler wrappers insert some flags that end up triggering the clang integrated assembler bug.
,
Nov 21 2016
Re #3 > .. but it looks like the Android build doesn't use tcmalloc ... (+primiano to double check) Absolutely correct. Can somebody raise a bug upstream on https://github.com/gperftools/gperftools/issues ? At a quick glance it looks that that asm section is missing some ".arm" directive.
,
Nov 21 2016
#18. Matteo is right, on ChromeOS everything is built with -mthumb. The compiler wrapper does the following: " # Generate thumb codes by default. # GCC is configured with --with-mode=thumb and defaults to thumb mode already. # This changes the default behavior of clang and doesn't affect GCC. " It is just doing what it was done for GCC (ie: flip the default to -mthumb). I will try what #19 is suggesting.
,
Nov 21 2016
ok, adding the .arm directives allows it to build. But I don't think that is the right fix. Since this is a bug in the clang integrated assembler, we should add -no-integrated-as to the tcmalloc build UNTIL the integrated assembler bug is fixed.
,
Nov 21 2016
I have updated https://codereview.chromium.org/2515503002/ requesting a fix that disables integrated assembler for tcmalloc .
,
Nov 21 2016
,
Nov 21 2016
I don't think the .arm directive makes sense in inline assembly. It appears to cause the assembler to change states mid-stream (and even annotates the object file so the disassembler changes states too), but there's nothing to cause the processor to change states during execution. The outcome can't be good. Disabling integrated assembler seems right to me. There seems to be a pre-existing bug for that, tracking various related changes: https://bugs.chromium.org/p/chromium/issues/detail?id=124610
,
Nov 30 2016
@llozano As there is activity in this bug, I'm marking it as started and assigning it to sbc. I see Sam's patch has landed, has this unblocked Matteo? @matteo Assuming that you are no longer blocked, any ETA for submitting the futex optimization again?
,
Nov 30 2016
Personally I would mark this bug as a duplicate of https://bugs.chromium.org/p/chromium/issues/detail?id=564059, which is fixed. There is a TODO in the gn file to remove the workaround once clang is fixed.
,
Nov 30 2016
@sbc I agree that the buildsystem part is done (and has its own bug), so I will rename the issue to track the task to re-land the futex optimization.
,
Dec 1 2016
My understanding is that we need to wait for https://codereview.chromium.org/2522973002/ to be merged before we can push the tcmalloc fix (https://codereview.chromium.org/2457473003/) again. The tcmalloc fix exposed indeed the problem with the ChromiumOS build system and its compiler wrappers defaulting to thumb. Personally, I would wait some time (let's say a week) after Sam's patch has landed before re-pushing the tcmalloc fix. This is to reduce the probability of having to revert my patch once more.
,
Dec 1 2016
Matteo is right. The CL is still in progress. sbc@ is driving it.
,
Dec 5 2016
FWIW: We do have a chrome on chromeos builder on the main waterfall that targets ARM: https://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20daisy%20Compile llozano@, any idea why the error wasn't triggered there?
,
Dec 8 2016
I don't know anything about how that builder is configured. One theory was that only ChromeOS was using tcmalloc. I dont know if the chrome in this builder is configured to build for linux.
,
Dec 8 2016
IIUC, that builder doesn't use clang, and this is a clang-only issue.
,
Dec 8 2016
ah, that is true.
,
Dec 9 2016
,
Dec 9 2016
,
Mar 4 2017
,
Apr 17 2017
,
May 30 2017
,
Aug 1 2017
,
Aug 3 2017
Closing. Please reopen it if its not fixed. Thanks! |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by cavalcantii@chromium.org
, Nov 18 2016