New issue
Advanced search Search tips

Issue 775959 link

Starred by 3 users

Issue metadata

Status: Archived
Owner: ----
Closed: Nov 5
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

Currently jumbo in base and nacl do not mix

Project Member Reported by brat...@opera.com, Oct 18 2017

Issue description

I just disabled jumbo for nacl in //base because of linking problems: https://chromium-review.googlesource.com/c/chromium/src/+/725284

There are too many instances of some memory allocation functions as below:

[626/5256] LINK irt_x64/nacl_irt.nexe
FAILED: irt_x64/nacl_irt.nexe irt_x64/exe.unstripped/nacl_irt.nexe 
E:/b/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe "../../build/toolchain/gcc_link_wrapper.py" --output="irt_x64/nacl_irt.nexe" --strip="../../native_client/toolchain/win_x86/pnacl_newlib/bin/x86_64-nacl-strip.exe" --unstripped-file="irt_x64/exe.unstripped/nacl_irt.nexe" -- E:/b/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../native_client/build/link_irt.py --tls-edit=./tls_edit --link-cmd=../../native_client/toolchain/win_x86/pnacl_newlib/bin/x86_64-nacl-clang++.exe --readelf-cmd=../../native_client/toolchain/win_x86/pnacl_newlib/bin/x86_64-nacl-readelf.exe -Wl,--fatal-warnings -m64 -Werror -Wl,--gc-sections -o "irt_x64/exe.unstripped/nacl_irt.nexe" -Wl,--start-group @"irt_x64/nacl_irt.nexe.rsp"  -Wl,--end-group    
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `_calloc_r':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/untrusted/nacl/malloc.c:37: multiple definition of `_calloc_r'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text._calloc_r+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `_free_r':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/untrusted/nacl/malloc.c:46: multiple definition of `_free_r'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text._free_r+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `_malloc_r':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/untrusted/nacl/malloc.c:34: multiple definition of `_malloc_r'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text._malloc_r+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `_realloc_r':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/untrusted/nacl/malloc.c:42: multiple definition of `_realloc_r'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text._realloc_r+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `bulk_free':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/third_party/dlmalloc/malloc.c:5311: multiple definition of `bulk_free'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text.bulk_free+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `calloc':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/third_party/dlmalloc/malloc.c:4786: multiple definition of `calloc'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text.calloc+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `free':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/third_party/dlmalloc/malloc.c:4677: multiple definition of `free'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text.free+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `independent_calloc':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/third_party/dlmalloc/malloc.c:5301: multiple definition of `independent_calloc'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text.independent_calloc+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `independent_comalloc':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/third_party/dlmalloc/malloc.c:5307: multiple definition of `independent_comalloc'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text.independent_comalloc+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `malloc':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/third_party/dlmalloc/malloc.c:4539: multiple definition of `malloc'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text.malloc+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `malloc_footprint':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/third_party/dlmalloc/malloc.c:5340: multiple definition of `malloc_footprint'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text.malloc_footprint+0x0): first defined here
E:\b\c\builder\Jumbo_Win_x64\src\native_client\toolchain\win_x86\pnacl_newlib\bin/../x86_64-nacl/lib\libnacl.a(malloc.o): In function `malloc_footprint_limit':
/mnt/data/b/build/slave/nacl-toolchain/build/native_client/src/third_party/dlmalloc/malloc.c:5348: multiple definition of `malloc_footprint_limit'
irt_x64/obj/native_client/src/untrusted/irt/libirt_core_lib.a(irt_malloc.o):../../native_client/src/untrusted/irt/irt_malloc.c:(.text.malloc_footprint_limit+0x0): first defined here
from https://build.chromium.org/p/chromium.fyi/builders/Jumbo%20Win%20x64/builds/1984

(and equivalent for Linux https://build.chromium.org/p/chromium.fyi/builders/Jumbo%20Linux%20x64/builds/3559 and Mac https://build.chromium.org/p/chromium.fyi/builders/Jumbo%20Mac/builds/3377 )

This only triggers when enable_nacl = true, and there is something else that matters too because thakis could not reproduce locally. Possibly x64 vs x86?

A local tree on a Linux x64 machine where I can reproduce it has args.gn:

is_debug=true
is_clang=true
enable_nacl=true
use_sysroot=false
is_component_build=true
use_jumbo_build=true
jumbo_file_merge_limit=100
enable_ipc_fuzzer=true

It triggers from the target chrome because it depends on //ppapi/native_client:irt (if enable_nacl is true) via some cross-compilation commands.
 

Comment 1 by ajha@chromium.org, Nov 3 2017

Components: Platform>NaCl
Labels: TE-NeedsTriageHelp
Adding 'TE-NeedsTriageHelp' label to move this out of TE Unconfirmed triaging bucket.
Project Member

Comment 2 by sheriffbot@chromium.org, Nov 5

Status: Archived (was: Unconfirmed)
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment