Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cff] Some CFF files fail to build with warnings in Chrome #1443

Closed
drott opened this issue Dec 4, 2018 · 2 comments
Closed

[cff] Some CFF files fail to build with warnings in Chrome #1443

drott opened this issue Dec 4, 2018 · 2 comments
Assignees
Labels
Chrome Chrome/Chromium project related issues and requests

Comments

@drott
Copy link
Collaborator

drott commented Dec 4, 2018

Compare Chromium build output from:

https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8928054094769963200/+/steps/compile__with_patch_/0/stdout

via the experimental HB roll CL in:
https://chromium-review.googlesource.com/c/chromium/src/+/1361067

FAILED: obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-cff1-table.o 
/b/swarming/w/ir/cache/goma/client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-cff1-table.o.d -DHAVE_OT -DHAVE_ICU -DHAVE_ICU_BUILTIN -DHAVE_INTEL_ATOMIC_PRIMITIVES -DHB_NO_MMAP -DV8_DEPRECATION_WARNINGS -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DCR_CLANG_REVISION=\"346388-5\" -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=344254 -DCR_LIBCXXABI_REVISION=344215 -D_LIBCPP_ENABLE_NODISCARD -DCR_SYSROOT_HASH=e7c53f04bd88d29d075bfd1f62b073aeb69cbe09 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DFT_CONFIG_CONFIG_H=\"freetype-custom-config/ftconfig.h\" -DFT_CONFIG_MODULES_H=\"freetype-custom-config/ftmodule.h\" -DFT_CONFIG_OPTIONS_H=\"freetype-custom-config/ftoption.h\" -DPDFIUM_REQUIRED_MODULES -DCHROMIUM_RESTRICT_VISIBILITY -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../../third_party/freetype/include -I../../third_party/freetype/src/include -I../../third_party/harfbuzz-ng/src/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -fmerge-all-constants -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -fcomplete-member-pointers -m64 -march=x86-64 -fno-omit-frame-pointer -g0 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang enforce-in-thirdparty-webkit -Xclang -plugin-arg-find-bad-constructs -Xclang check-enum-max-value -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-null-pointer-arithmetic -Wno-ignored-pragma-optimize -Wno-unused-value -Wno-unused-local-typedef -O3 -fno-ident -fdata-sections -ffunction-sections -isystem../../build/linux/debian_sid_amd64-sysroot/usr/include/glib-2.0 -isystem../../build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -std=c++14 -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_sid_amd64-sysroot -fvisibility-inlines-hidden -c ../../third_party/harfbuzz-ng/src/src/hb-ot-cff1-table.cc -o obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ot-cff1-table.o
In file included from ../../third_party/harfbuzz-ng/src/src/hb-ot-cff1-table.cc:27:
../../third_party/harfbuzz-ng/src/src/hb-ot-cff1-table.hh:676:3: error: control may reach end of non-void function [-Werror,-Wreturn-type]
  }
  ^
1 error generated.

Thanks in advance for taking a look, @blueshade7 .

@drott drott added the Chrome Chrome/Chromium project related issues and requests label Dec 4, 2018
@ebraminio
Copy link
Collaborator

ebraminio commented Dec 4, 2018

Is the landed fix by @blueshade7 is enough? I wonder how our -Weverything bot https://github.com/harfbuzz/harfbuzz/blob/master/.circleci/config.yml#L140 didn't catch it.

@ebraminio
Copy link
Collaborator

The linked compiler log suggests the fix will be enough, Chromium however shouldn't use CFF's get_extents till all its fuzz discovered bugs be fixed, or, these lines should be commented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chrome Chrome/Chromium project related issues and requests
Projects
None yet
Development

No branches or pull requests

3 participants