Skip to content

Frequent SIGPIPEs with iOS 17.4 #410

@abustany

Description

@abustany

On a large-ish webpage with iOS 17.4 and the latest release of IWDP, I get a crash due to a SIGPIPE almost instantly:

#0  0x00007ffff7836904 in write () from /nix/store/7jiqcrg061xi5clniy7z5pvkc4jiaqav-glibc-2.38-27/lib/libc.so.6
#1  0x00007ffff7b07a8b in sock_write () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libcrypto.so.3
#2  0x00007ffff7afe117 in bwrite_conv () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libcrypto.so.3
#3  0x00007ffff7afca6c in BIO_write () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libcrypto.so.3
#4  0x00007ffff7ef5dd9 in ssl3_write_pending () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#5  0x00007ffff7ef6e32 in do_ssl3_write[localalias] () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#6  0x00007ffff7ecbd8a in ssl3_dispatch_alert () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#7  0x00007ffff7f09cf5 in ossl_statem_fatal () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#8  0x00007ffff7ef5c86 in ssl3_read_n () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#9  0x00007ffff7ef96f4 in ssl3_get_record () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#10 0x00007ffff7ef8220 in ssl3_read_bytes () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#11 0x00007ffff7eca9e9 in ssl3_read () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#12 0x00007ffff7ed71a3 in SSL_read () from /nix/store/1l3a02nqq5b5v7rhchj89hi7plmbza5r-openssl-3.0.12/lib/libssl.so.3
#13 0x000000000040dafc in sm_recv (self=self@entry=0x423900, fd=fd@entry=7) at socket_manager.c:599
#14 0x000000000040e725 in sm_select (self=0x423900, timeout_secs=<optimized out>) at socket_manager.c:677
#15 0x0000000000403fb4 in main (argc=<optimized out>, argv=<optimized out>) at ios_webkit_debug_proxy_main.c:96

I used the following gdb command to "mask" the SIGPIPES:

handle SIGPIPE nostop nopass

and IWDP works fine 🤷 I have no idea what's causing those SIGPIPEs... Would a dummy SIGPIPE handler would make sense? Since the code handles the error codes from OpenSSL already.

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