[ 
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)

Reply via email to