[
https://issues.apache.org/jira/browse/KUDU-3776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18078479#comment-18078479
]
ASF subversion and git services commented on KUDU-3776:
-------------------------------------------------------
Commit eebdd0d33b6174df6617b5cef07f32085ac8c475 in kudu's branch
refs/heads/master from Alexey Serbin
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=eebdd0d33 ]
KUDU-3776 fix sporadic gperftools build failure
I had a build machine where KUDU-3776 was 100% reproducible starting with
a particular state of the 3rd-party workspace. Without spending time on
the detailed RCA, I put together a fix that worked 100% for me at that
machine, while the build would fail 100% of the times if starting with
a particular state of the workspace without this patch.
One of the regular suspects is the incorrect tracking of transitive
dependencies, but I didn't see much sense in getting to the bottom of the
issue, given the new way of building gperftools is more consistent with
the build recipe provided in the top-level INSTALL file.
Change-Id: Ie8c26bcc3c2625741cd05b3cc459159434e9d60b
Reviewed-on: http://gerrit.cloudera.org:8080/24272
Tested-by: Kudu Jenkins
Reviewed-by: Zoltan Martonka <[email protected]>
Reviewed-by: Abhishek Chennaka <[email protected]>
Reviewed-by: Marton Greber <[email protected]>
> Build failure in gperftools 3rd-party component under certain conditions
> ------------------------------------------------------------------------
>
> Key: KUDU-3776
> URL: https://issues.apache.org/jira/browse/KUDU-3776
> Project: Kudu
> Issue Type: Bug
> Reporter: Alexey Serbin
> Assignee: Alexey Serbin
> Priority: Major
>
> The gperftools 3rd-party component sometimes fails to build with an error
> like below:
> {noformat}
> libtool: install: /usr/bin/install -c .libs/libtcmalloc_and_profiler.a
> ./thirdparty/installed/uninstrumented/lib/libtcmalloc_and_profiler.a
> libtool: install: chmod 644
> ./thirdparty/installed/uninstrumented/lib/libtcmalloc_and_profiler.a
> libtool: install: ranlib
> ./thirdparty/installed/uninstrumented/lib/libtcmalloc_and_profiler.a
> ranlib: ./thirdparty/installed/uninstrumented/lib/libtcmalloc_and_profiler.a:
> Error reading libtcmalloc_internal_la-malloc_hook.o: File truncated
> make[1]: *** [Makefile:3718: install-libLTLIBRARIES] Error 1
> make[1]: Leaving directory './thirdparty/build/gperftools-2.13'
> make: *** [Makefile:7602: install-am] Error 2
> {noformat}
> The archive library might be any of the gperftools archive libraries
> installed under {{$KUDU_HOME/thirdparty/installed/uninstrumented/lib}}. Upon
> inspection after the error was reported, the object file in question turned
> to be non-truncated, and the archive library under the build directory itself
> was also solid and not compromised in any way: the {{ar}} utility and
> {{ranlib}} both ran perfectly on the archive library in the build directory.
> It turned to be easier to reproducible on a 3rd-party build directory that
> already contained gperftools built and installed, but gperftools would be
> built again because of the necessity to build some other 3rd-party component,
> where gperftools would be re-built by dependency. Impala people reported
> this happening on rare cases on a clean workspace as well. In my case, it
> happened on a RHEL8.8 x86_64 machine, and I could reproduce it 100% of the
> times when keeping the old build of gperftools in
> {{$KUDU_HOME/thirdparty/build}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)