[ 
https://issues.apache.org/jira/browse/KUDU-3776?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Serbin updated KUDU-3776:
--------------------------------
    Description: 
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}}.

  was:
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 is also 
solid and not compromised in any way: the {{ar}} utility and {{ranlib}} both 
run perfectly on the archive library in the build directory.

This is most easily reproducible on a 3rd-party build directory that already 
contains gperftools built and installed, but the build starts because of 
necessity to build some other 3rd-party component, and gperftools is re-built 
by dependency.  Impala reported this happening on rare cases on a clean 
workspace.  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}}.


> 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)

Reply via email to