Daniel Becker has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/19117


Change subject: IMPALA-11640: Build fails on Ubuntu 18/20 when using shared 
libraries
......................................................................

IMPALA-11640: Build fails on Ubuntu 18/20 when using shared libraries

When building on Ubuntu 18 or Ubuntu 20 with shared libraries (-so), the
build fails because the unifiedbetests binary fails to run as part of
the validate-unified-backend-test-filters.py invocation with the
following error:

  Check failed: !error failed to find symbol dlopen:
  /home/ubuntu/Impala/be/build/release/kudu_util/libkudu_util.so:
  undefined symbol: dlopen

The probably cause is that the code in unwind_safeness.cc has never
worked, but Ubuntu 16.04 is impacted by a glibc bug that prevents it
from setting an error
(https://sourceware.org/bugzilla/show_bug.cgi?id=19509). Newer Ubuntu
correctly report the error, which leads to the failure.

This patch changes unwind_safeness.cc to tolerate missing dlopen/dlclose
and adds a DCHECK that checks that they are available before calling
them. If the unwind_safeness.cc variables that contain dlopen/dlclose
are actually used after a failure to resolve dlopen/dlclose (for example
in a release build that doesn't have DCHECKs), then it would result in a
SIGSEGV and it would be very obvious.

Note that Impala doesn't ship using shared libraries.

Change-Id: Ibc39c6c25c7e996f422ee6e78c409a59a8ac9bd5
---
M be/src/kudu/util/debug/unwind_safeness.cc
1 file changed, 6 insertions(+), 10 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/17/19117/1
--
To view, visit http://gerrit.cloudera.org:8080/19117
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibc39c6c25c7e996f422ee6e78c409a59a8ac9bd5
Gerrit-Change-Number: 19117
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Becker <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>

Reply via email to