netty-tcnative: Crash (Symbol not found: ____chkstk_darwin) under some versions of macOS
After updating to the latest version of ~netty-tcnative~ netty-tcnative-boringssl-static, our Travis CI builds for macOS started reporting crashes. I’ve narrowed the problem down to ~netty-tcnative~ netty-tcnative-boringssl-static 2.0.27 (2.0.26 is fine, and the version of Netty itself doesn’t seem to matter).
I’ve created a minimal reproduction case here: https://github.com/jchambers/netty-tcnative-travis-test. The problem seems to happen when the client and server attempt a TLS handshake. I’ll continue to narrow the problem space.
Here are the details of the Travis instance experiencing the crash:
$ java -Xmx32m -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
$ javac -J-Xmx32m -version
javac 1.8.0_112
$ uname -a
Darwin Traviss-Mac-463.local 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64 x86_64
Travis reports the following when things go south:
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
Referenced from: /private/var/folders/bb/n7t3rs157850byt_jfdcq9k80000gn/T/libnetty_tcnative_osx_x86_648800677716316437175.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /private/var/folders/bb/n7t3rs157850byt_jfdcq9k80000gn/T/libnetty_tcnative_osx_x86_648800677716316437175.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
Referenced from: /private/var/folders/bb/n7t3rs157850byt_jfdcq9k80000gn/T/libnetty_tcnative_osx_x86_648800677716316437175.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ____chkstk_darwin
Referenced from: /private/var/folders/bb/n7t3rs157850byt_jfdcq9k80000gn/T/libnetty_tcnative_osx_x86_648800677716316437175.dylib
Expected in: /usr/lib/libSystem.B.dylib
/bin/sh: line 1: 1443 Abort trap: 6 /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/bin/java -jar /Users/travis/build/jchambers/netty-tcnative-travis-test/target/surefire/surefirebooter6882775787343813136.jar /Users/travis/build/jchambers/netty-tcnative-travis-test/target/surefire/surefire8113115051640716633tmp /Users/travis/build/jchambers/netty-tcnative-travis-test/target/surefire/surefire_08398107402907887457tmp
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 17 (15 by maintainers)
Commits related to this issue
- Specify MACOSX_DEPLOYMENT_TARGET to ensure native lib can also be used on older MacOS releases Motivation: We did not specify MACOSX_DEPLOYMENT_TARGET before which lead to a situation where we broke... — committed to netty/netty-tcnative by normanmaurer 4 years ago
- QPIDJMS-488: drop netty-tcnative test dep back to 2.0.26 to get CI builds working. Related issue: https://github.com/netty/netty-tcnative/issues/523 This reverts commit 458489ac08d0af0bd2a0025fc71c6... — committed to apache/qpid-jms by gemmellr 4 years ago
- Specify MACOSX_DEPLOYMENT_TARGET to ensure native lib can also be use… (#527) Motivation: We did not specify MACOSX_DEPLOYMENT_TARGET before which lead to a situation where we broke the ability ... — committed to netty/netty-tcnative by normanmaurer 4 years ago
@jchambers @gemmellr 2.0.29.Final was released and fixed the problem 🎉