apache/hadoop · error · UnsupportedOperationException
libhadoop cannot be loaded.
Error message
libhadoop cannot be loaded.
What it means
Error "libhadoop cannot be loaded." thrown in apache/hadoop.
Source
Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/unix/DomainSocket.java:193
private void unreference(boolean checkClosed) throws ClosedChannelException {
if (checkClosed) {
refCount.unreferenceCheckClosed();
} else {
refCount.unreference();
}
}
/**
* Create a new DomainSocket listening on the given path.
*
* @param path The path to bind and listen on.
* @return The new DomainSocket.
* @throws IOException raised on errors performing I/O.
*/
public static DomainSocket bindAndListen(String path) throws IOException {
if (loadingFailureReason != null) {
throw new UnsupportedOperationException(loadingFailureReason);
}
if (validateBindPaths) {
validateSocketPathSecurity0(path, 0);
}
int fd = bind0(path);
return new DomainSocket(path, fd);
}
/**
* Create a pair of UNIX domain sockets which are connected to each other
* by calling socketpair(2).
*
* @return An array of two UNIX domain sockets connected to
* each other.
* @throws IOException on error.
*/
public static DomainSocket[] socketpair() throws IOException {
int fds[] = socketpair0();View on GitHub (pinned to 2add963021)
Solutions
- Build or install the Hadoop native library (libhadoop) for your platform and ensure it is on java.library.path or in LD_LIBRARY_PATH.
- Check hadoop.native.lib is not disabled and that the native library matches the OS and architecture.
- If native domain sockets are not required, use TCP sockets instead of UNIX domain sockets.
When it happens
Trigger: Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/unix/DomainSocket.java:193 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/ff5d0752f3ab2c0a.
Report an issue: GitHub.