Closed
Description
On FreeBSD, running "cargo build" on any repo with a git dependency specified in Cargo.toml will segfault. It doesn't matter if the dependency is on github or uses a file:/// url.
cargo version
cargo 0.11.0 (built 2016-07-27)
cargo test
Updating git repository `https://github.com/asomers/libc`
error: Unable to update https://github.com/asomers/libc?rev=a4721e8
To learn more, run the command again with --verbose.
fish: 'cargo test' terminated by signal SIGSEGV (Address boundary error)
Here is the backtrace from the core file:
#0 0x00000000014c5be1 in ?? ()
#1 0x00000000014da841 in ?? ()
#2 0x00000000014da636 in ?? ()
#3 0x00000008023bb685 in CRYPTO_free (str=0x80521ffa8) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/mem.c:442
#4 0x00000008023b9cb2 in ASN1_STRING_free (a=0x8052add00) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/asn1_lib.c:425
#5 0x00000008023b2bb2 in ASN1_primitive_free (pval=0x8052adcf0, it=0x8052084e8) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/tasn_fre.c:244
#6 0x00000008023b28eb in asn1_item_combine_free (pval=<optimized out>, it=<optimized out>, combine=<optimized out>) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/tasn_fre.c:166
#7 0x00000008023b2aac in ASN1_template_free (pval=<optimized out>, tt=<optimized out>) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/tasn_fre.c:186
#8 0x00000008023b28eb in asn1_item_combine_free (pval=<optimized out>, it=<optimized out>, combine=<optimized out>) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/tasn_fre.c:166
#9 0x00000008023b28eb in asn1_item_combine_free (pval=<optimized out>, it=<optimized out>, combine=<optimized out>) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/tasn_fre.c:166
#10 0x00000008023b27d6 in ASN1_item_free (val=<error reading variable: Cannot access memory at address 0x1fe0>, it=0x8052084e8) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/asn1/tasn_fre.c:72
#11 0x00000008022ff793 in cleanup (a=0x8053724a0) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/x509/x509_lu.c:222
#12 0x0000000802303d30 in sk_pop_free (st=<optimized out>, func=<optimized out>) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/stack/stack.c:327
#13 0x00000008022ff740 in X509_STORE_free (vfy=<optimized out>) at /usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/x509/x509_lu.c:261
#14 0x0000000801eb4156 in SSL_CTX_free (a=0x805238380) at /usr/src/secure/lib/libssl/../../../crypto/openssl/ssl/ssl_lib.c:2142
#15 0x000000000144f77a in ?? ()
#16 0x000000000143deb1 in ?? ()
#17 0x0000000802deea46 in __cxa_finalize (dso=<optimized out>) at /usr/src/lib/libc/stdlib/atexit.c:237
#18 0x0000000802d7e04c in exit (status=101) at /usr/src/lib/libc/stdlib/exit.c:66
#19 0x00000000014a0ca0 in ?? ()
#20 0x0000000001114801 in ?? ()
#21 0x000000000109a757 in ?? ()
#22 0x00000000010a31e0 in ?? ()
#23 0x000000000109c15c in ?? ()
#24 0x0000000001098f92 in ?? ()
#25 0x00000000014ac079 in ?? ()
#26 0x00000000014b991c in ?? ()
#27 0x00000000014b98bf in ?? ()
#28 0x00000000014abafa in ?? ()
#29 0x0000000001098971 in ?? ()
#30 0x00000008017f0000 in ?? ()
#31 0x0000000000000000 in ?? ()
Using Cargo from git, the result is an assertion error instead of a segfault.
~/src/rust/cargo/target/debug/cargo version
cargo 0.13.0
~/src/rust/cargo/target/debug/cargo test
Updating git repository `https://github.com/asomers/libc`
Assertion failed: (e->refcount.val == 0), function free_cache_object, file /usr/home/somers/.cargo/registry/src/github.heygears.com-1ecc6299db9ec823/libgit2-sys-0.4.5/libgit2/src/pack.c, line 73.
fish: '~/src/rust/cargo/target/debug/c…' terminated by signal SIGABRT (Abort)
In this case, the core file contains no intelligible stack trace.
My Cargo.toml file contains the following lines. However, every other variation I tried produces the same result, as long as it involves git.
[dependencies]
libc = { git = "https://github.com/asomers/libc", rev="a4721e8"}