Skip to content

Segmentation fault on utils/multipart_upload_utils.rb for MacOS Apple Silicon. Processor M1 #248

@acdesouza

Description

@acdesouza

The error happens when running a test. But, only when using Rails parallel test with process.

Running this test alone I can't reproduce the error.

/Users/acdesouza/.rvm/gems/ruby-3.2.3/gems/ethon-0.15.0/lib/ethon/curl.rb:61: [BUG] Segmentation fault at 0x0000000000000110
ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [arm64-darwin23]

[...]

-- Control frame information -----------------------------------------------
c:0138 p:---- s:0905 e:000904 CFUNC  :global_init
c:0137 p:0014 s:0900 e:000899 BLOCK  /Users/ac/.rvm/gems/ruby-3.2.3/gems/ethon-0.16.0/lib/ethon/curl.rb:61 [FINISH]
c:0136 p:---- s:0897 e:000896 CFUNC  :synchronize
c:0135 p:0006 s:0893 e:000892 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/ethon-0.16.0/lib/ethon/curl.rb:59
c:0134 p:0008 s:0889 e:000888 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/ethon-0.16.0/lib/ethon/easy.rb:219 [FINISH]
c:0133 p:---- s:0884 e:000883 CFUNC  :new
c:0132 p:0014 s:0880 e:000879 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/typhoeus-1.4.1/lib/typhoeus/pool.rb:43
c:0131 p:0011 s:0876 e:000875 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/typhoeus-1.4.1/lib/typhoeus/easy_factory.rb:70
c:0130 p:0014 s:0872 e:000871 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/typhoeus-1.4.1/lib/typhoeus/easy_factory.rb:83
c:0129 p:0007 s:0865 e:000864 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/typhoeus-1.4.1/lib/typhoeus/request.rb:130
c:0128 p:0006 s:0859 e:000857 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/webmock-3.17.1/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb:54
c:0127 p:0025 s:0849 e:000848 BLOCK  /Users/ac/.rvm/gems/ruby-3.2.3/gems/webmock-3.17.1/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb:147
c:0126 p:0006 s:0841 e:000840 BLOCK  /Users/ac/.rvm/gems/ruby-3.2.3/gems/typhoeus-1.4.1/lib/typhoeus/request/before.rb:21 [FINISH]
c:0125 p:---- s:0836 e:000835 CFUNC  :each
c:0124 p:0007 s:0832 e:000831 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/typhoeus-1.4.1/lib/typhoeus/request/before.rb:20
c:0123 p:0018 s:0828 e:000827 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/typhoeus-1.4.1/lib/typhoeus/request/actions.rb:38
c:0122 p:0093 s:0822 e:000821 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/filestack-2.9.7/lib/filestack/utils/multipart_upload_utils.rb:66
c:0121 p:0052 s:0808 e:000807 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/filestack-2.9.7/lib/filestack/utils/multipart_upload_utils.rb:247
c:0120 p:0084 s:0788 e:000787 METHOD /Users/ac/.rvm/gems/ruby-3.2.3/gems/filestack-2.9.7/lib/filestack/models/filestack_client.rb:42

MacOS: 14.4.1 (23E224)

Ruby:

$ ruby --version
ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [arm64-darwin23]

openssl:

$ openssl --version
OpenSSL 3.2.1 30 Jan 2024 (Library: OpenSSL 3.2.1 30 Jan 2024) 

cURL installed after installing openssl@3

$ curl --version
curl 8.7.1 (aarch64-apple-darwin23.4.0) libcurl/8.7.1 (SecureTransport) OpenSSL/3.2.1 zlib/1.2.12 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.7 libssh2/1.11.0 nghttp2/1.61.0 librtmp/2.3 OpenLDAP/2.6.7
Release-Date: 2024-03-27
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd

libcurl:

$ file /opt/homebrew/opt/curl/lib/libcurl.4.dylib
/opt/homebrew/opt/curl/lib/libcurl.4.dylib: Mach-O 64-bit dynamically linked shared library arm64

typhoeus/typhoeus#452 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions