[
https://issues.apache.org/jira/browse/FLINK-13172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nico Kruber updated FLINK-13172:
--------------------------------
Description:
The dynamically-linked wrapper library in
{{flink-shaded-netty-tcnative-dynamic}} may not work on all systems, depending
on how the system-provided openSSL library is built.
As a result, when trying to run Flink with {{security.ssl.provider: OPENSSL}}
or just running a test based on {{SSLUtilsTest}} (which checks for openSSL
availability which is enough to trigger the error below), the JVM will crash,
e.g. with
- on SUSE-based systems:
{code}
/usr/lib64/jvm/java-openjdk/bin/java: relocation error:
/tmp/liborg_apache_flink_shaded_netty4_netty_tcnative_linux_x86_644115489043239307863.so:
symbol TLSv1_2_server_method version OPENSSL_1.0.1 not defined in file
libssl.so.1.0.0 with link time reference
{code}
- on Arch Linux:
{code}
/usr/lib/jvm/default/bin/java: relocation error:
/tmp/liborg_apache_flink_shaded_netty4_netty_tcnative_linux_x86_648476498532937980008.so:
symbol SSLv3_method version OPENSSL_1.0.0 not defined in file libssl.so.1.0.0
with link time reference
{code}
Possible solutions:
# build your own OS-dependent dynamically-linked {{netty-tcnative}} library and
shade it in your own build of {{flink-shaded-netty-tcnative-dynamic}}, or
# use {{flink-shaded-netty-tcnative-static}}:
{code}
git clone https://github.com/apache/flink-shaded.git
cd flink-shaded
mvn clean package -Pinclude-netty-tcnative-static -pl
flink-shaded-netty-tcnative-static
{code}
# get your OS-dependent build into netty-tcnative as a special branch similar
to what they currently do with Fedora-based systems
was:
The dynamically-linked wrapper library in
{{flink-shaded-netty-tcnative-dynamic}} may not work on all systems, depending
on how the system-provided openSSL library is built.
As a result, when trying to run Flink with {{security.ssl.provider: OPENSSL}}
or running a test based on {{SSLUtilsTest}} (which checks for openSSL
availability), the JVM will crash, e.g. with
- on SUSE-based systems:
{code}
/usr/lib64/jvm/java-openjdk/bin/java: relocation error:
/tmp/liborg_apache_flink_shaded_netty4_netty_tcnative_linux_x86_644115489043239307863.so:
symbol TLSv1_2_server_method version OPENSSL_1.0.1 not defined in file
libssl.so.1.0.0 with link time reference
{code}
- on Arch Linux:
{code}
/usr/lib/jvm/default/bin/java: relocation error:
/tmp/liborg_apache_flink_shaded_netty4_netty_tcnative_linux_x86_648476498532937980008.so:
symbol SSLv3_method version OPENSSL_1.0.0 not defined in file libssl.so.1.0.0
with link time reference
{code}
Possible solutions:
# build your own OS-dependent dynamically-linked {{netty-tcnative}} library and
shade it in your own build of {{flink-shaded-netty-tcnative-dynamic}}, or
# use {{flink-shaded-netty-tcnative-static}}:
{code}
git clone https://github.com/apache/flink-shaded.git
cd flink-shaded
mvn clean package -Pinclude-netty-tcnative-static -pl
flink-shaded-netty-tcnative-static
{code}
# get your OS-dependent build into netty-tcnative as a special branch similar
to what they currently do with Fedora-based systems
> JVM crash with dynamic netty-tcnative wrapper to openSSL on some OS
> -------------------------------------------------------------------
>
> Key: FLINK-13172
> URL: https://issues.apache.org/jira/browse/FLINK-13172
> Project: Flink
> Issue Type: Bug
> Components: Runtime / Network, Tests
> Affects Versions: 1.9.0
> Reporter: Nico Kruber
> Assignee: Nico Kruber
> Priority: Major
>
> The dynamically-linked wrapper library in
> {{flink-shaded-netty-tcnative-dynamic}} may not work on all systems,
> depending on how the system-provided openSSL library is built.
> As a result, when trying to run Flink with {{security.ssl.provider: OPENSSL}}
> or just running a test based on {{SSLUtilsTest}} (which checks for openSSL
> availability which is enough to trigger the error below), the JVM will crash,
> e.g. with
> - on SUSE-based systems:
> {code}
> /usr/lib64/jvm/java-openjdk/bin/java: relocation error:
> /tmp/liborg_apache_flink_shaded_netty4_netty_tcnative_linux_x86_644115489043239307863.so:
> symbol TLSv1_2_server_method version OPENSSL_1.0.1 not defined in file
> libssl.so.1.0.0 with link time reference
> {code}
> - on Arch Linux:
> {code}
> /usr/lib/jvm/default/bin/java: relocation error:
> /tmp/liborg_apache_flink_shaded_netty4_netty_tcnative_linux_x86_648476498532937980008.so:
> symbol SSLv3_method version OPENSSL_1.0.0 not defined in file
> libssl.so.1.0.0 with link time reference
> {code}
> Possible solutions:
> # build your own OS-dependent dynamically-linked {{netty-tcnative}} library
> and shade it in your own build of {{flink-shaded-netty-tcnative-dynamic}}, or
> # use {{flink-shaded-netty-tcnative-static}}:
> {code}
> git clone https://github.com/apache/flink-shaded.git
> cd flink-shaded
> mvn clean package -Pinclude-netty-tcnative-static -pl
> flink-shaded-netty-tcnative-static
> {code}
> # get your OS-dependent build into netty-tcnative as a special branch similar
> to what they currently do with Fedora-based systems
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)