Quanlong Huang created IMPALA-12979:
---------------------------------------

             Summary: Wildcard in CLASSPATH might not work in the RPM package
                 Key: IMPALA-12979
                 URL: https://issues.apache.org/jira/browse/IMPALA-12979
             Project: IMPALA
          Issue Type: Bug
          Components: Infrastructure
            Reporter: Quanlong Huang
            Assignee: Quanlong Huang


I tried deploying the RPM package of Impala-3.4.2 (commit 8e9c5a5) on CentOS 
7.9 and found launching catalogd failed by the following error (in 
catalogd.INFO):
{noformat}
Wrote minidump to 
/var/log/impala-minidumps/catalogd/5e3c8819-0593-4943-555addbc-665470ad.dmp
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000000002baf14c, pid=156082, tid=0x00007fec0dce59c0
#
# JRE version: Java(TM) SE Runtime Environment (8.0_141-b15) (build 
1.8.0_141-b15)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.141-b15 mixed mode linux-amd64 
compressed oops)
# Problematic frame:
# C  [catalogd+0x27af14c]  
llvm::SCEVAddRecExpr::getNumIterationsInRange(llvm::ConstantRange const&, 
llvm::ScalarEvolution&) const+0x73c
#
# Core dump written. Default location: /opt/impala/core or core.156082
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid156082.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
# {noformat}
There are other logs in catalogd.ERROR
{noformat}
Log file created at: 2024/04/08 04:49:28
Running on machine: ccycloud-1.quanlong.root.comops.site
Log line format: [IWEF]mmdd hh:mm:ss.uuuuuu threadid file:line] msg
E0408 04:49:28.979386 158187 logging.cc:146] stderr will be logged to this file.
Wrote minidump to 
/var/log/impala-minidumps/catalogd/6c3f550c-be96-4a5b-61171aac-0de15155.dmp
could not find method getRootCauseMessage from class (null) with signature 
(Ljava/lang/Throwable;)Ljava/lang/String;
could not find method getStackTrace from class (null) with signature 
(Ljava/lang/Throwable;)Ljava/lang/String;
FileSystem: loadFileSystems failed error:
(unable to get root cause for java.lang.NoClassDefFoundError)
(unable to get stack trace for java.lang.NoClassDefFoundError){noformat}

Resolving the minidump shows me the following stacktrace:
{noformat}
(gdb) bt
#0  0x0000000002baf14c in ?? ()
#1  0x0000000002baee24 in getJNIEnv ()
#2  0x0000000002bacb71 in hdfsBuilderConnect ()
#3  0x00000000012e6ae2 in impala::JniUtil::InitLibhdfs() ()
#4  0x00000000012e7897 in impala::JniUtil::Init() ()
#5  0x0000000000be9297 in impala::InitCommonRuntime(int, char**, bool, 
impala::TestInfo::Mode) ()
#6  0x0000000000bb604a in CatalogdMain(int, char**) ()
#7  0x0000000000b33f97 in main (){noformat}

It indicates something wrong in initializing the JVM. Here are the env vars:
{noformat}
Environment Variables:
JAVA_HOME=/usr/java/jdk1.8.0_141
CLASSPATH=/opt/impala/conf:/opt/impala/jar/*
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
LD_LIBRARY_PATH=/opt/impala/lib/:/usr/java/jdk1.8.0_141/jre/lib/amd64/server:/usr/java/jdk1.8.0_141/jre/lib/amd64
SHELL=/bin/bash{noformat}
We use wildcard "*" in the classpath which seems to be the cause. The issue was 
resolved after using explicit paths in the classpath. Here are what I changed 
in bin/impala-env.sh:
{code:bash}
#export CLASSPATH="/opt/impala/conf:/opt/impala/jar/*"
CLASSPATH=/opt/impala/conf
for jar in /opt/impala/jar/*.jar; do
  CLASSPATH="$CLASSPATH:$jar"
done
export CLASSPATH
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to