-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
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
Ignore all Java exceptions when looking for Linux musl support #7844
Ignore all Java exceptions when looking for Linux musl support #7844
Conversation
Hmm, that's unfortunate. If the method was refactored to not use streams then it should throw a subclass of IOException for those operations. I'd missed that the stream would convert the exception when I looked over the musl PR. Are you running a hardened configuration of RHEL/CentOS/OL 7? |
@trivialfis looks like we should also port this PR to 1.6.1 |
@Craigacp I don't admin this cluster and really don't even understand your question. I'm pretty sure it is Centos 7. Otherwise I don't know. Sorry. |
@wbo4958 That would be great, thank you! |
The operation not permitted error makes me wonder if it's hitting SELinux or it's running inside a restricted container. It's separate from actually fixing the issue, I was just wondering what was different about your setup that caused you to hit it, because it doesn't throw in the CI. |
@Craigacp Hmmmm... well, if there's a few system commands you want me to run on the machine to gather information I will do that for you. |
Unfortunately I'm not sure what the set of things is that can cause that part of |
Thank you for working on the fix, will backport it to 1.6 |
* [jvm-packages] move the dmatrix building into rabit context (#7823) This fixes the QuantileDeviceDMatrix in distributed environment. * [doc] update the jvm tutorial to 1.6.1 [skip ci] (#7834) * [Breaking][jvm-packages] Use barrier execution mode (#7836) With the introduction of the barrier execution mode. we don't need to kill SparkContext when some xgboost tasks failed. Instead, Spark will handle the errors for us. So in this PR, `killSparkContextOnWorkerFailure` parameter is deleted. * [doc] remove the doc about killing SparkContext [skip ci] (#7840) * [jvm-package] remove the coalesce in barrier mode (#7846) * [jvm-packages] Fix model compatibility (#7845) * Ignore all Java exceptions when looking for Linux musl support (#7844) Co-authored-by: Bobby Wang <[email protected]> Co-authored-by: Michael Allman <[email protected]>
Ignore all Java exceptions when looking for Linux musl support, not just
IOException
.The current (1.6.0) implementation of the musl support detection code catches and ignores exceptions of type
java.io.IOException
. However, in our case the detection code is throwing an instance ofjava.io.UncheckedIOException
, which is not a subtype ofjava.io.IOException
. As a result, XGBoost fails to load.To resolve this issue, this PR catches and ignores all exceptions. I don't think we should or can assume that all failures of this code will be of a particular subtype of
java.io.Exception
, as our experience shows.Here is our complete exception stack trace:
Incidentally, our kernel version is 3.10.0-514.el7.x86_64.