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

[KYUUBI #6449] Fix Gluten CI ClassNotFoundException: io.glutenproject.GlutenPlugin #6449

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Conversation

zhouyifan279
Copy link
Contributor

🔍 Description

Issue References 🔗

This pull request fixes Gluten CI Error ClassNotFoundException: io.glutenproject.GlutenPlugin

Describe Your Solution 🔧

Change spark.plugins's property value from io.glutenproject.GlutenPlugin to org.apache.gluten.GlutenPlugin.

Types of changes 🔖

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪

Behavior Without This Pull Request ⚰️

Behavior With This Pull Request 🎉

Related Unit Tests


Checklist 📝

Be nice. Be informative.

@github-actions github-actions bot added kind:documentation Documentation is a feature! module:common labels Jun 4, 2024
@zhouyifan279 zhouyifan279 changed the title Fix Gluten CI ClassNotFoundException: io.glutenproject.GlutenPlugin Jun 4, 2024
@zhouyifan279
Copy link
Contributor Author

@pan3793 How can I tigger Gluten CI in this PR ?

@pan3793
Copy link
Member

pan3793 commented Jun 4, 2024

You can modify

on:
schedule:
- cron: 0 4 * * *

@github-actions github-actions bot added the kind:infra license, community building, project builds, asf infra related, etc. label Jun 4, 2024
@zhouyifan279
Copy link
Contributor Author

You can modify

on:
schedule:
- cron: 0 4 * * *

@pan3793 Thanks. I was hoping there was a button on some web page. But it looks like there is no such button.

@pan3793
Copy link
Member

pan3793 commented Jun 4, 2024

technically, we can allow the job to be triggered manually, then there will be a button.

@codecov-commenter
Copy link

codecov-commenter commented Jun 4, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 0.00%. Comparing base (1fb1f85) to head (284861d).
Report is 29 commits behind head on master.

Current head 284861d differs from pull request most recent head a3415c8

Please upload reports for the commit a3415c8 to get more accurate results.

❗ There is a different number of reports uploaded between BASE (1fb1f85) and HEAD (284861d). Click for more details.

HEAD has 5 uploads less than BASE
Flag BASE (1fb1f85) HEAD (284861d)
6 1
Additional details and impacted files
@@             Coverage Diff              @@
##             master   #6449       +/-   ##
============================================
- Coverage     58.34%   0.00%   -58.35%     
============================================
  Files           656     677       +21     
  Lines         40264   41734     +1470     
  Branches       5498    5704      +206     
============================================
- Hits          23493       0    -23493     
- Misses        14272   41734    +27462     
+ Partials       2499       0     -2499     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@@ -20,6 +20,10 @@ name: Gluten CI
on:
schedule:
- cron: 0 4 * * *
pull_request:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this before merge

<!-- provides os.detected.classifier (i.e. linux-x86_64, osx-x86_64) property -->
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we're likely to reuse this plugin for proto file gen, let's pullout it to the root pom

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

VERSION=$(. /etc/os-release && echo ${VERSION_ID})
ARCH=`uname -m`
mkdir -p $THIRDPARTY_LIB
cp /usr/lib/${ARCH}-linux-gnu/{libre2.so.9,libdouble-conversion.so.3,libidn.so.12,\
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why should we do such copy? /usr/lib/${ARCH}-linux-gnu should be included in ld.so.conf

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build and test are run in different vm. Libraries only exists in build vm.

@pan3793 pan3793 requested a review from ulysses-you June 11, 2024 02:27
@@ -64,6 +68,18 @@ jobs:
git clone https://github.com/oap-project/gluten.git
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this repo should be updated.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated.

@pan3793
Copy link
Member

pan3793 commented Jun 11, 2024

I don't have further questions, would like @ulysses-you to take a look.

libldap-2.5.so.0,liblber-2.5.so.0,libntlm.so.0,librtmp.so.1,libsasl2.so.2,libssh.so.4,\
libicudata.so.70,libthrift-0.16.0.so} $THIRDPARTY_LIB/
cp /usr/local/lib/{libprotobuf.so.32,libboost_context.so.1.84.0,\
libboost_regex.so.1.84.0} $THIRDPARTY_LIB/
Copy link
Contributor

@ulysses-you ulysses-you Jun 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we send a pr to gluten to make package.sh support collect libraries only ? So that we can use that script directly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. Let me try.

@zhouyifan279
Copy link
Contributor Author

zhouyifan279 commented Jun 25, 2024

@pan3793 @ulysses-you I have fixed the errors in gluten project build script ./dev/package.sh and use it in kyuubi's gluten ci to generate both gluten jars and gluten libs(.so files). Job gluten-build now works fine.

But Job gluten-it always throws the following error:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f47b5c75994, pid=24169, tid=0x00007f47237ff640
#
# JRE version: OpenJDK Runtime Environment (8.0_412-b08) (build 1.8.0_412-b08)
# Java VM: OpenJDK 64-Bit Server VM (25.412-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libgcc_s.so.1+0x14994]  _Unwind_GetTextRelBase+0x4
#
# Core dump written. Default location: /home/runner/work/kyuubi/kyuubi/integration-tests/kyuubi-gluten-it/core or core.24169
#
# An error report file with more information is saved as:
# /home/runner/work/kyuubi/kyuubi/integration-tests/kyuubi-gluten-it/hs_err_pid24169.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/adoptium/adoptium-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

It seems to be caused by Gluten's cpp code.
I'm not familiar with Gluten's cpp code. I hope we can have a gluten expert to fix this.

I've uploaded the jvm error report files as artifacts. It may help the debugging.

@@ -61,9 +65,9 @@ jobs:
- name: Build gluten project
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try remove libunwind-dev at line46

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. Let me try.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ulysses-you It failed at StepInstall dependencies.

+ sudo --preserve-env apt install -y libc-ares-dev libcurl4-openssl-dev libssl-dev libicu-dev libdouble-conversion-dev libgoogle-glog-dev libbz2-dev libgflags-dev libevent-dev liblz4-dev libzstd-dev libre2-dev libsnappy-dev libsodium-dev libthrift-dev liblzo2-dev libelf-dev libdwarf-dev bison flex libfl-dev tzdata

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
bison is already the newest version (2:3.8.2+dfsg-1build1).
flex is already the newest version (2.6.4-8build2).
libbz2-dev is already the newest version (1.0.8-5build1).
libbz2-dev set to manually installed.
libicu-dev is already the newest version (70.1-2).
libicu-dev set to manually installed.
liblz4-dev is already the newest version (1.9.3-2build2).
libre2-dev is already the newest version (20220201+dfsg-1).
libzstd-dev is already the newest version (1.4.8+dfsg-3build1).
libzstd-dev set to manually installed.
libthrift-dev is already the newest version (0.16.0-2).
libcurl4-openssl-dev is already the newest version (7.81.0-1ubuntu1.16).
libssl-dev is already the newest version (3.0.2-0ubuntu1.15).
tzdata is already the newest version (2024a-0ubuntu0.22.04).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libgoogle-glog-dev : Depends: libunwind-dev or
                               libunwind7-dev but it is not installable
E: Unable to correct problems, you have held broken packages.
``
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me try libunwind7-dev

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libunwind7-dev does not work either

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:build kind:documentation Documentation is a feature! kind:infra license, community building, project builds, asf infra related, etc. module:common module:integration-tests
4 participants