[
https://issues.apache.org/jira/browse/HADOOP-19994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18119182#comment-18119182
]
ASF GitHub Bot commented on HADOOP-19994:
-----------------------------------------
joseluisll opened a new pull request, #8757:
URL: https://github.com/apache/hadoop/pull/8757
### Description of PR
PhantomJS 2.1.1 (downloaded by phantomjs-maven-plugin for the
`hadoop-yarn-applications-catalog-webapp` Jasmine specs) bundles OpenSSL 1.x.
On OpenSSL 3 systems, such as the ubuntu-noble precommit image,
`/etc/ssl/openssl.cnf` declares `providers = provider_sect`. OpenSSL 1.x fails
to load `libproviders.so`, prints "Auto configuration failed" and exits before
opening its WebDriver port. jasmine-maven-plugin then fails with
`UnreachableBrowserException`, the reactor stops, and the unit vote is -1 on
every PR.
Fix: a Unix-only profile (`phantomjs-openssl-conf`) in the catalog-webapp
pom starts PhantomJS through `/bin/sh -c 'OPENSSL_CONF=/dev/null exec "$0"
"$@"' <phantomjs> ...`, using the `phantomjs.binary.path` and
`phantomjs.cli.args` capabilities.
- Same approach as RANGER-4791 (apache/ranger@de2fa77): `OPENSSL_CONF` is
set only for the process that starts PhantomJS. Ranger used
frontend-maven-plugin's `environmentVariables`. jasmine-maven-plugin /
`PhantomJSDriverService` cannot set the browser's environment (it logs
`environment: {}`), hence the `sh -c` wrapper.
- Fixes developers' local builds on any OpenSSL 3 distro, not only CI. No
image-wide `OPENSSL_CONF` change, which would affect every tool in the
container.
- The specs still run; nothing is skipped. Windows keeps launching PhantomJS
directly.
- `/dev/null` is an empty, valid config on every system.
- Durable follow-up: replace PhantomJS (unmaintained) with headless Chromium.
### How was this patch tested?
Ubuntu 24.04, OpenSSL 3.0.13 (same `openssl.cnf` as the precommit image):
`mvn test -pl
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp`
Before:
Auto configuration failed
...filename(libproviders.so): libproviders.so: cannot open shared object
file
...MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=providers,
path=providers
[ERROR] Failed to execute goal
com.github.searls:jasmine-maven-plugin:2.1:test ... UnreachableBrowserException
BUILD FAILURE
After:
INFO: executable: /bin/sh
Results: 15 specs, 0 failures, 0 pending
BUILD SUCCESS
Checked with `help:effective-pom` that with the profile deactivated (as on
Windows), the jasmine configuration is unchanged.
### For code changes:
- [x] Does the title of this PR start with the corresponding JIRA issue id
(e.g. 'HADOOP-17799. Your PR title ...')?
- [ ] Object storage: Have the integration tests been executed and the
endpoint declared according to the connector-specific documentation? (N/A)
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under ASF 2.0? (N/A, no new
dependencies)
- [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`,
`NOTICE-binary` files? (N/A)
### AI Tooling
- [x] The PR includes the phrase "Contains content generated by Claude Code".
- [x] My use of AI contributions follows the ASF legal policy
https://www.apache.org/legal/generative-tooling.html
Contains content generated by Claude Code.
> Precommit unit build fails: PhantomJS 2.1.1 cannot start on OpenSSL 3 build
> images
> ----------------------------------------------------------------------------------
>
> Key: HADOOP-19994
> URL: https://issues.apache.org/jira/browse/HADOOP-19994
> Project: Hadoop Common
> Issue Type: Bug
> Components: build
> Affects Versions: 3.6.0
> Reporter: Jose Luis López
> Assignee: Jose Luis López
> Priority: Major
>
> Yetus precommit on the ubuntu-noble image ends in BUILD FAILURE in
> hadoop-yarn-applications-catalog-webapp before its Jasmine specs run, so the
> unit vote is -1 on every PR with no failing test named.
> PhantomJS 2.1.1 bundles OpenSSL 1.x and aborts on the image's OpenSSL 3
> configuration:
> {noformat}
> Auto configuration failed
> ...could not load the shared library: libproviders.so ... module=providers
> SEVERE: ExecuteException: Process exited with an error: 1
> ...
> UnreachableBrowserException: Could not start a new session.
> {noformat}
> Seen identically in PR 8725 builds 1, 2 and 4. Same root cause as RANGER-4791.
> Expected result:
> - The catalog webapp Jasmine specs run and pass in precommit.
> - The reactor completes, so the unit vote reflects actual test results.
> - Coverage of the catalog UI is kept (specs not skipped).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]