bifold-wallet
bifold-wallet copied to clipboard
iOS sleep/lock crash (ZMQ)
Hi Folks! As part of the efforts to update Aries Bifold to 0.70.1 of React Native, we've encountered a serious bug resulting from ZMQ in the Indy SDK on iOS with React Native v0.68.x or newer.
The Issue
The behavior observed is that when a user on iOS has connected to or is in the process of opening the ledger pools (aka the connection to the Indy ledger(s)) and they either let their device sleep or lock their device, upon unlocking the device, the app will hard crash and display a message such as "Aries Bifold has crashed".
Our troubleshooting has surfaced that when backgrounding the app (via the device going to sleep or being locked), iOS is reclaiming the TCP sockets that ZMQ is using when communicating with the ledger nodes. When the app is foregrounded again, ZMQ does not gracefully handle the sockets being reclaimed, and ZMQ subsequently crashes the app with an assert, which is not catchable/handleable. Relevant iOS documentation on networking behavior.
We've created a fresh, minimal React Native project (fresh RN 0.70.1 install, Indy-sdk-react-native setup, and AFJ dependencies) for reproduction of the issue: https://github.com/JamesKEbert/iosindyrntest
iOS Device Logs (partially abbreviated)
2022-09-28 12:44:54.192610-0600 ariesbifold[539:16761] [javascript] DEBUG: Connection completed, requesting mediation
2022-09-28 12:44:54.193021-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Send outbound message', '{\n "message": {\n "@type": "https://didcomm.org/trust_ping/1.0/ping",\n "response_requested": false,\n "@id": "b7770990-1b63-4b87-8982-abe1d680174b",\n "~transport": {\n "return_route": "none"\n }\n },\n "connectionId": "f41e4161-1da7-440a-8234-e91b293cc1b2"\n}'
2022-09-28 12:44:54.193327-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Retrieving services for connection \'f41e4161-1da7-440a-8234-e91b293cc1b2\' (Indicio Proven Mediator)', '{\n "connection": {\n "_tags": {\n "outOfBandId": "404290b8-8158-40c2-a944-3a8ff72d87cd",\n "did": "did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ",\n "state": "request-sent",\n "role": "requester",\n "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9wcm92ZW4ubWVkaWF0b3IuaW5kaWNpb3RlY2guaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtwajROaXQ2SmtVVjJ1MWg3UEV0bXlDQU5ja0ZSaWd6NXhDc3hLZFBxclptTiN6Nk1rcGo0Tml0NkprVVYydTFoN1BFdG15Q0FOY2tGUmlnejV4Q3N4S2RQcXJabU4iXX0",\n "threadId": "1d1ae534-af16-493e-8e4b-0a28b21554d4"\n },\n "metadata": {},\n "id": "f41e4161-1da7-440a-8234-e91b293cc1b2",\n "createdAt": "2022-09-28T18:44:53.609Z",\n "did": "did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ",\n "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9wcm92ZW4ubWVkaWF0b3IuaW5kaWNpb3RlY2guaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtwajROaXQ2SmtVVjJ1MWg3UEV0bXlDQU5ja0ZSaWd6NXhDc3hLZFBxclptTiN6Nk1rcGo0Tml0NkprVVYydTFoN1BFdG15Q0FOY2tGUmlnejV4Q3N4S2RQcXJabU4iXX0",\n "theirLabel": "Indicio Proven Mediator",\n "state": "completed",\n "role": "requester",\n "autoAcceptConnection": true,\n "threadId": "1d1ae534-af16-493e-8e4b-0a28b21554d4",\n "protocol": "https://didcomm.org/connections/1.0",\n "outOfBandId": "404290b8-8158-40c2-a944-3a8ff72d87cd",\n "theirDid": "did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz"\n }\n}'
2022-09-28 12:44:54.193477-0600 ariesbifold[539:16761] [javascript] DEBUG: Resolving services for connection theirDid did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz.
2022-09-28 12:44:54.193675-0600 ariesbifold[539:16761] [javascript] DEBUG: resolving didUrl did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz
2022-09-28 12:44:54.196799-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Retrieved 2 services for message to connection \'f41e4161-1da7-440a-8234-e91b293cc1b2\'(Indicio Proven Mediator)\'', '{\n "hasQueueService": false\n}'
2022-09-28 12:44:54.196829-0600 ariesbifold[539:16761] [javascript] DEBUG: resolving didUrl did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ
2022-09-28 12:44:54.199518-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Sending outbound message to service:', '{\n "messageId": "b7770990-1b63-4b87-8982-abe1d680174b",\n "service": {\n "id": "#indy",\n "recipientKeys": "omitted...",\n "routingKeys": "omitted...",\n "serviceEndpoint": "https://proven.mediator.indiciotech.io"\n }\n}'
2022-09-28 12:44:54.201658-0600 ariesbifold[539:16761] [javascript] DEBUG: Pack outbound message https://didcomm.org/trust_ping/1.0/ping
2022-09-28 12:44:54.202317-0600 ariesbifold[539:16761] [javascript] INFO: Requesting mediation for connection f41e4161-1da7-440a-8234-e91b293cc1b2
2022-09-28 12:44:54.204033-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Sending outbound message to endpoint \'https://proven.mediator.indiciotech.io\'', '{\n "payload": {\n "protected": "eyJlbmMiOiJ4Y2hhY2hhMjBwb2x5MTMwNV9pZXRmIiwidHlwIjoiSldNLzEuMCIsImFsZyI6IkF1dGhjcnlwdCIsInJlY2lwaWVudHMiOlt7ImVuY3J5cHRlZF9rZXkiOiI4MU9Lb2lfQ2U5ZjdRNE5LVHYwOVg1eXg0aUE2N0t2UEZPRE5leU9NazNtXzZveUpJRHoyT1ZVU29xWGMtUG9nIiwiaGVhZGVyIjp7ImtpZCI6IjMzZHNNWjU4UUFwaTFINldNZUNNcUtHeHphVm9vRnpCbVFyWjFvVFBodlk1IiwiaXYiOiJ2U2ZCSk9SeTBkd3d4NmZHaEpheDJXRnNUZnBUQWZMeCIsInNlbmRlciI6Im93ZkppWmdWSENScXl3VUlmQ2x2UVFXZlpWcDJPY3doM3B3cEU5UnlXQ2czVzNhNDM1WWJoREpRSkR5X1FBNmZQYjBqV3dCSVItVlc4ZzBJdVdvdUpHSG85SXlCbTV1Q1JFVWtiOEk1WC1RQ0N1WlNUcVBlaFFfaDJhYz0ifX1dfQ==",\n "iv": "vA2wHq68Vy1lFpOP",\n "ciphertext": "BIxUMXRYwEtRhsH2jFI0AbLpX2kwUE2X8WhG7FxEoA_4CwGwSrMM1mua_CvivHRWgGAXnwtC6WjbQi2dmg9S1KDvmaDaXn-Qiv4seDFckVJM_5xrcyar90Q-VrWDvzVDKWRpE4CrDLAerVydT1Ykp-hnvscLD1IE_pY1zL5A19Aysp1wJMdXG675Nt5ZWKloms1V2LI7eLe35eFgxO4TIA==",\n "tag": "fKuIqR9YNi-01Az2dIqucQ=="\n }\n}'
2022-09-28 12:44:54.207363-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Send outbound message', '{\n "message": {\n "@type": "https://didcomm.org/coordinate-mediation/1.0/mediate-request",\n "@id": "934876c8-820f-4310-a689-efcf5786994e",\n "~l10n": {\n "locale": "en"\n }\n },\n "connectionId": "f41e4161-1da7-440a-8234-e91b293cc1b2"\n}'
2022-09-28 12:44:54.207687-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Retrieving services for connection \'f41e4161-1da7-440a-8234-e91b293cc1b2\' (Indicio Proven Mediator)', '{\n "transportPriority": {\n "schemes": [\n "wss",\n "ws"\n ],\n "restrictive": true\n },\n "connection": {\n "_tags": {\n "outOfBandId": "404290b8-8158-40c2-a944-3a8ff72d87cd",\n "did": "did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ",\n "state": "request-sent",\n "role": "requester",\n "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9wcm92ZW4ubWVkaWF0b3IuaW5kaWNpb3RlY2guaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtwajROaXQ2SmtVVjJ1MWg3UEV0bXlDQU5ja0ZSaWd6NXhDc3hLZFBxclptTiN6Nk1rcGo0Tml0NkprVVYydTFoN1BFdG15Q0FOY2tGUmlnejV4Q3N4S2RQcXJabU4iXX0",\n "threadId": "1d1ae534-af16-493e-8e4b-0a28b21554d4",\n "connectionType": [\n "mediator"\n ]\n },\n "metadata": {},\n "id": "f41e4161-1da7-440a-8234-e91b293cc1b2",\n "createdAt": "2022-09-28T18:44:53.609Z",\n "did": "did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ",\n "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9wcm92ZW4ubWVkaWF0b3IuaW5kaWNpb3RlY2guaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtwajROaXQ2SmtVVjJ1MWg3UEV0bXlDQU5ja0ZSaWd6NXhDc3hLZFBxclptTiN6Nk1rcGo0Tml0NkprVVYydTFoN1BFdG15Q0FOY2tGUmlnejV4Q3N4S2RQcXJabU4iXX0",\n "theirLabel": "Indicio Proven Mediator",\n "state": "completed",\n "role": "requester",\n "autoAcceptConnection": true,\n "threadId": "1d1ae534-af16-493e-8e4b-0a28b21554d4",\n "protocol": "https://didcomm.org/connections/1.0",\n "outOfBandId": "404290b8-8158-40c2-a944-3a8ff72d87cd",\n "theirDid": "did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz"\n }\n}'
2022-09-28 12:44:54.207799-0600 ariesbifold[539:16761] [javascript] DEBUG: Resolving services for connection theirDid did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz.
2022-09-28 12:44:54.207822-0600 ariesbifold[539:16761] [javascript] DEBUG: resolving didUrl did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz
2022-09-28 12:44:54.210807-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Retrieved 1 services for message to connection \'f41e4161-1da7-440a-8234-e91b293cc1b2\'(Indicio Proven Mediator)\'', '{\n "hasQueueService": false\n}'
2022-09-28 12:44:54.210835-0600 ariesbifold[539:16761] [javascript] DEBUG: resolving didUrl did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ
2022-09-28 12:44:54.213444-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Sending outbound message to service:', '{\n "messageId": "934876c8-820f-4310-a689-efcf5786994e",\n "service": {\n "id": "#indy1",\n "recipientKeys": "omitted...",\n "routingKeys": "omitted...",\n "serviceEndpoint": "wss://proven.mediator.indiciotech.io"\n }\n}'
2022-09-28 12:44:54.215289-0600 ariesbifold[539:16761] [javascript] DEBUG: Pack outbound message https://didcomm.org/coordinate-mediation/1.0/mediate-request
2022-09-28 12:44:54.217655-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Sending outbound message to endpoint \'wss://proven.mediator.indiciotech.io\' over WebSocket transport.', '{\n "payload": {\n "protected": "eyJlbmMiOiJ4Y2hhY2hhMjBwb2x5MTMwNV9pZXRmIiwidHlwIjoiSldNLzEuMCIsImFsZyI6IkF1dGhjcnlwdCIsInJlY2lwaWVudHMiOlt7ImVuY3J5cHRlZF9rZXkiOiJBTmE0QlZPU3dxMmFLdEU1MVFIdzJQVDBvWXVRemFQa2RCWGpNaG1pWWN1T0h0Szd1ZlI3Y1d0YnFCQ2hRUUc1IiwiaGVhZGVyIjp7ImtpZCI6IjMzZHNNWjU4UUFwaTFINldNZUNNcUtHeHphVm9vRnpCbVFyWjFvVFBodlk1IiwiaXYiOiJCS2tDQWFVOWVGWjJqY1dObkwxQ1RQZFpHR0V2cWRKUCIsInNlbmRlciI6InhwZ2YyYTJ6NEp3TGc0Z0xxZEFSZHU0ZGpycWpIYXdkM3RlNFZjMWFQaEVXMVFxWGpoeFB4QXQyY3ZuN3diNk5vR2QwY2pOdXl6SEUyWjRaQjlLV3RYMjNkZkl0YjBreGFHZkVDQW9iR2VUM3RyU1V3dHF2WG1Jb1Zwaz0ifX1dfQ==",\n "iv": "1CbjpKeNMI9m-n5W",\n "ciphertext": "gVpbfTPRumyrCFAYM63dB_KPKgRDaMee_7JcRuD_i7Zj1enJwnHXtJq1EJSUfDUsruuxuR7rO2Qjkt2Bj5KS4CnxMyrvsDKgDJPQZkYfsBpu8htSITT9HJVPfnbLnijJNS3Sn9wdjnFDJuW2RUNQYMYqRuERKZcXGxXYY0Vp1ncSUERitfmqXzktu_Q9pn4nqwFvETdRU-NV8ZeXTuQXm4HjxzdexESzucQFWzLu3M7R",\n "tag": "p9Isvvf-YRHB0SsUsoL-5Q=="\n }\n}'
2022-09-28 12:44:54.218007-0600 ariesbifold[539:16761] [javascript] DEBUG: Connecting to WebSocket wss://proven.mediator.indiciotech.io
2022-09-28 12:44:54.218625-0600 ariesbifold[539:16483] [native] SocketRocket: In debug mode. Allowing connection to any root cert
2022-09-28 12:44:54.282435-0600 ariesbifold[539:16761] [javascript] DEBUG: No response received.
2022-09-28 12:44:54.563614-0600 ariesbifold[539:16761] [javascript] DEBUG: Successfully connected to WebSocket wss://proven.mediator.indiciotech.io
2022-09-28 12:44:54.676179-0600 ariesbifold[539:16761] [javascript] 'TRACE: WebSocket message event received.', '{\n "url": "wss://proven.mediator.indiciotech.io"\n}'
2022-09-28 12:44:54.677893-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Payload received from mediator:', '{\n "protected": "eyJlbmMiOiJ4Y2hhY2hhMjBwb2x5MTMwNV9pZXRmIiwidHlwIjoiSldNLzEuMCIsImFsZyI6IkF1dGhjcnlwdCIsInJlY2lwaWVudHMiOlt7ImVuY3J5cHRlZF9rZXkiOiI3OUR0ZWFYT19qbFlsWjl4Q3owT3lFeUk3cC1CSGRWVXpZTmFiUV9mbS1tV1lIZHVwUzNiS3VGZ1hlZ0ZRZ29DIiwiaGVhZGVyIjp7ImtpZCI6Ikd4SGt3ZGF6aXA1RkxSNHdXNFZvemNNZ3JMZG56eVRyY2lNazdKYXhTSzZ0IiwiaXYiOiJLQ3pBMGR1N0lqcUpueW9neUZZZE14czFpN2VfeGNzWCIsInNlbmRlciI6IkNILWtmMTg3eVFPUDF3MWVJTFB2SGh1VjZ3VE11QjZZZkh2eU5JazM0RmVhYVBCZDh6M25WWWUxMHBOQmt0LVZJaW4ybFg5dVRPcE44X3RhNjlwVEoxRExmU1RRVzZxend0Z1EwWWE3MVZaVGl1MEFLbVlGSGszOVM3MD0ifX1dfQ==",\n "iv": "_6EfYgh3r5ghGmAm",\n "ciphertext": "jQE2gQIaH141GZjj5gdpp29cxbHjD16pKz4LhWu4n1WLZ0XOhqLVCSh8aAtybroXunY2hNts5p4tVUmrX27nOAgG7lD2VGN_1HahNrkGR5rXD8Gv7yEi4fOkTgKJkBBhPXgTEwjGSclcFM2rmOdYXL2REZVjUrwnHTkWwb065WJAOAiNKzktlXr8usHx2xufTBobHI2P7M3qAoVLprTVn_V_5mp1sTszjDcgLKJGQ7qpU4JxQ0nBqrNXank4mPU1JNp3pBPdZCgtUE_V-NQ52T0ZdafkWP0RMllwYNlYEqbx10dk30I68Lcn-CSZ872ZV6qjDNEKcKh-GXqdVKU=",\n "tag": "OchIp_HHgOqaXEpQ1c-Z9w=="\n}'
2022-09-28 12:44:54.678445-0600 ariesbifold[539:16761] [javascript] DEBUG: Agent John Doe received message
2022-09-28 12:44:54.699813-0600 ariesbifold[539:16761] [javascript] 'INFO: Received message with type \'did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/coordinate-mediation/1.0/mediate-grant\', recipient key z6MkvQYoXsqS4MZiSuueBdTeqhugfuueQriDJjGfwaYyMXtG and sender key z6MkgVtuwoKZjiKB7mwD3DACgQpxp9mfD9EYTRmUr5RQd9KT', '{\n "@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/coordinate-mediation/1.0/mediate-grant",\n "@id": "0ae5d90b-6a48-4e6e-b3d3-5521826e6880",\n "endpoint": "https://proven.mediator.indiciotech.io",\n "routing_keys": [\n "2DAB6MSevnqcsfh32H8AkvPHpssVf7ZytRVG98SuvWR5"\n ]\n}'
2022-09-28 12:44:54.727736-0600 ariesbifold[539:16761] [javascript] DEBUG: Mediation granted, setting as default mediator
2022-09-28 12:44:54.732127-0600 ariesbifold[539:16761] [javascript] DEBUG: Default mediator set
2022-09-28 12:44:54.732378-0600 ariesbifold[539:16761] [javascript] DEBUG: Mediator routing record not loaded yet, retrieving from storage
2022-09-28 12:44:54.738030-0600 ariesbifold[539:16761] [javascript] DEBUG: Mediator routing record does not exist yet, creating routing keys and record
2022-09-28 12:44:54.744448-0600 ariesbifold[539:16761] [javascript] INFO: Starting implicit pickup of messages from mediator 'e760f186-2b7f-4036-98ef-590a3572a189'
2022-09-28 12:44:54.747925-0600 ariesbifold[539:16761] [javascript] DEBUG: resolving didUrl did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz
2022-09-28 12:44:54.751306-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Send outbound message', '{\n "message": {\n "@type": "https://didcomm.org/trust_ping/1.0/ping",\n "response_requested": false,\n "@id": "ae9e06aa-e3ca-4561-abf5-0e15d81cffdf"\n },\n "connectionId": "f41e4161-1da7-440a-8234-e91b293cc1b2"\n}'
2022-09-28 12:44:54.751730-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Retrieving services for connection \'f41e4161-1da7-440a-8234-e91b293cc1b2\' (Indicio Proven Mediator)', '{\n "transportPriority": {\n "schemes": [\n "ws",\n "wss"\n ],\n "restrictive": true\n },\n "connection": {\n "_tags": {\n "did": "did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ",\n "role": "requester",\n "theirDid": "did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz",\n "connectionType": [\n "mediator"\n ],\n "state": "completed",\n "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9wcm92ZW4ubWVkaWF0b3IuaW5kaWNpb3RlY2guaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtwajROaXQ2SmtVVjJ1MWg3UEV0bXlDQU5ja0ZSaWd6NXhDc3hLZFBxclptTiN6Nk1rcGo0Tml0NkprVVYydTFoN1BFdG15Q0FOY2tGUmlnejV4Q3N4S2RQcXJabU4iXX0",\n "threadId": "1d1ae534-af16-493e-8e4b-0a28b21554d4",\n "outOfBandId": "404290b8-8158-40c2-a944-3a8ff72d87cd"\n },\n "metadata": {\n "_internal/useDidKeysForProtocol": {\n "https://didcomm.org/coordinate-mediation/1.0": false\n }\n },\n "id": "f41e4161-1da7-440a-8234-e91b293cc1b2",\n "createdAt": "2022-09-28T18:44:53.609Z",\n "did": "did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ",\n "invitationDid": "did:peer:2.SeyJzIjoiaHR0cHM6Ly9wcm92ZW4ubWVkaWF0b3IuaW5kaWNpb3RlY2guaW8iLCJ0IjoiZGlkLWNvbW11bmljYXRpb24iLCJwcmlvcml0eSI6MCwicmVjaXBpZW50S2V5cyI6WyJkaWQ6a2V5Ono2TWtwajROaXQ2SmtVVjJ1MWg3UEV0bXlDQU5ja0ZSaWd6NXhDc3hLZFBxclptTiN6Nk1rcGo0Tml0NkprVVYydTFoN1BFdG15Q0FOY2tGUmlnejV4Q3N4S2RQcXJabU4iXX0",\n "theirLabel": "Indicio Proven Mediator",\n "state": "completed",\n "role": "requester",\n "autoAcceptConnection": true,\n "threadId": "1d1ae534-af16-493e-8e4b-0a28b21554d4",\n "protocol": "https://didcomm.org/connections/1.0",\n "outOfBandId": "404290b8-8158-40c2-a944-3a8ff72d87cd",\n "theirDid": "did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz"\n }\n}'
2022-09-28 12:44:54.751946-0600 ariesbifold[539:16761] [javascript] DEBUG: Resolving services for connection theirDid did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz.
2022-09-28 12:44:54.751969-0600 ariesbifold[539:16761] [javascript] DEBUG: resolving didUrl did:peer:1zQmVYBg2PY3H8oeYrzfwvBS5258yA6PULrrhcBERLLZ46oz
2022-09-28 12:44:54.755067-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Retrieved 1 services for message to connection \'f41e4161-1da7-440a-8234-e91b293cc1b2\'(Indicio Proven Mediator)\'', '{\n "hasQueueService": false\n}'
2022-09-28 12:44:54.755095-0600 ariesbifold[539:16761] [javascript] DEBUG: resolving didUrl did:peer:1zQmc7pXD4vikj1i3XCrfg9Euwo2HHrfo84x5ysUQzcJGiWQ
2022-09-28 12:44:54.757923-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Sending outbound message to service:', '{\n "messageId": "ae9e06aa-e3ca-4561-abf5-0e15d81cffdf",\n "service": {\n "id": "#indy1",\n "recipientKeys": "omitted...",\n "routingKeys": "omitted...",\n "serviceEndpoint": "wss://proven.mediator.indiciotech.io"\n }\n}'
2022-09-28 12:44:54.759529-0600 ariesbifold[539:16761] [javascript] DEBUG: Pack outbound message https://didcomm.org/trust_ping/1.0/ping
2022-09-28 12:44:54.762351-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Sending outbound message to endpoint \'wss://proven.mediator.indiciotech.io\' over WebSocket transport.', '{\n "payload": {\n "protected": "eyJlbmMiOiJ4Y2hhY2hhMjBwb2x5MTMwNV9pZXRmIiwidHlwIjoiSldNLzEuMCIsImFsZyI6IkF1dGhjcnlwdCIsInJlY2lwaWVudHMiOlt7ImVuY3J5cHRlZF9rZXkiOiI2Q01CWDZtYVhTdEU4bGQ1YlRXR09WRmI0ZHhUbGtabkdpVmJoWHF6YVZKVC1ndy05ZnRhSTVqV2wtakFfUVRZIiwiaGVhZGVyIjp7ImtpZCI6IjMzZHNNWjU4UUFwaTFINldNZUNNcUtHeHphVm9vRnpCbVFyWjFvVFBodlk1IiwiaXYiOiJKNnNOemtPRzEtS2pTRW80NlAxUEtUcXBOQzJiM3otcCIsInNlbmRlciI6IjFuQ3RZX1UxRlVVRl9fTDRSWVZDWmJNdk1lMVNUOExQeVNGZXhfV2U5MXVTWDV0NUo0UUZscy03LWVXOHFwbGZCT1lwQ2ZWZ2Y1NE9SaTR2WTBKbWMxNzVvaWZ4bTJCYnVVTHZscjJtTjhmSTVvMHpIdklfaUNlMy1IUT0ifX1dfQ==",\n "iv": "NRYbPxy-24cOx4Gn",\n "ciphertext": "ABp_4mSTfY0DMtDleY1JeZowp6ivhpBWvNzI6jJgq8pSTEZls6KKMRj-ySPUkmtDiDz5XJvZyFQrcT-gfM2MrhroOd6jxQCWiPTGrwBHUjxwfxegmGUoZrlgaTHadhQoQutMpe9YqhH3gRWEAUEtTsXJ_huOeYCWz1L--dyWj4QF8EU9Ztmx05wCXFAOVPkh2qKSBOKM5EaGavydFki1",\n "tag": "1vk-X_p4P1XnavI7nPBwvg=="\n }\n}'
2022-09-28 12:44:54.892836-0600 ariesbifold[539:16761] [javascript] DEBUG: Finished connection to pool: SovrinMainNet
2022-09-28 12:44:54.892860-0600 ariesbifold[539:16761] [javascript] DEBUG: Connecting to pool: IndicioMainNet
2022-09-28 12:44:54.895278-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Connecting to ledger pool \'IndicioMainNet\'', '{\n "genesisPath": "/private/var/mobile/Containers/Data/Application/4146589A-BA1C-4219-BF67-23B8F13DF631/tmp//afj/genesis-IndicioMainNet.txn"\n}'
2022-09-28 12:44:54.899370-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Pool \'IndicioMainNet\' does not exist yet, creating.', '{\n "indyError": "PoolLedgerNotCreatedError"\n}'
2022-09-28 12:44:56.095254-0600 ariesbifold[539:16761] [javascript] DEBUG: Finished connection to pool: IndicioMainNet
2022-09-28 12:44:56.095380-0600 ariesbifold[539:16761] [javascript] DEBUG: Connecting to pool: SovrinStagingNet
2022-09-28 12:44:56.178691-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Connecting to ledger pool \'SovrinStagingNet\'', '{\n "genesisPath": "/private/var/mobile/Containers/Data/Application/4146589A-BA1C-4219-BF67-23B8F13DF631/tmp//afj/genesis-SovrinStagingNet.txn"\n}'
2022-09-28 12:44:56.183113-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Pool \'SovrinStagingNet\' does not exist yet, creating.', '{\n "indyError": "PoolLedgerNotCreatedError"\n}'
2022-09-28 12:44:57.667082-0600 ariesbifold[539:16761] [javascript] DEBUG: Finished connection to pool: SovrinStagingNet
2022-09-28 12:44:57.667130-0600 ariesbifold[539:16761] [javascript] DEBUG: Connecting to pool: IndicioDemoNet
2022-09-28 12:44:57.672258-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Connecting to ledger pool \'IndicioDemoNet\'', '{\n "genesisPath": "/private/var/mobile/Containers/Data/Application/4146589A-BA1C-4219-BF67-23B8F13DF631/tmp//afj/genesis-IndicioDemoNet.txn"\n}'
2022-09-28 12:44:57.680714-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Pool \'IndicioDemoNet\' does not exist yet, creating.', '{\n "indyError": "PoolLedgerNotCreatedError"\n}'
2022-09-28 12:44:58.163827-0600 ariesbifold[539:16761] [javascript] DEBUG: Finished connection to pool: IndicioDemoNet
2022-09-28 12:44:58.163980-0600 ariesbifold[539:16761] [javascript] DEBUG: Connecting to pool: IndicioTestNet
2022-09-28 12:44:58.176592-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Connecting to ledger pool \'IndicioTestNet\'', '{\n "genesisPath": "/private/var/mobile/Containers/Data/Application/4146589A-BA1C-4219-BF67-23B8F13DF631/tmp//afj/genesis-IndicioTestNet.txn"\n}'
2022-09-28 12:44:58.189350-0600 ariesbifold[539:16761] [javascript] 'DEBUG: Pool \'IndicioTestNet\' does not exist yet, creating.', '{\n "indyError": "PoolLedgerNotCreatedError"\n}'
2022-09-28 12:45:15.715303-0600 ariesbifold[539:16483] [Snapshotting] Snapshotting a view (0x10b013800, UIKeyboardImpl) that is not in a visible window requires afterScreenUpdates:YES.
dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
Bad file descriptor (/Users/beri/Developer/work/hyperledger/libindy-pod/Pods/libzmq/src/tcp_connecter.cpp:403)
(lldb)
Crash Logs
Incident Identifier: 95D51872-CBA9-41E9-84DD-4EA6653A8C7F
Hardware Model: iPhone14,3
Process: ariesbifold [15075]
Path: /private/var/containers/Bundle/Application/CCFF75AB-E3CA-4761-9BBF-26737C0B4568/ariesbifold.app/ariesbifold
Identifier:
Version: 1.2.0 (17)
AppStoreTools: 14A305
AppVariant: 1:iPhone14,3:16
Beta: YES
Code Type: ARM-64 (Native)
Role: Non UI
Parent Process: launchd [1]
Coalition: [1778]
Date/Time: 2022-09-28 16:47:11.9975 -0600
Launch Time: 2022-09-28 16:45:15.8568 -0600
OS Version: iPhone OS 16.0 (20A362)
Release Type: User
Baseband Version: 2.09.01
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread: 21
Thread 0 name:
Thread 0:
0 libsystem_kernel.dylib 0x00000001cbc2fb48 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x00000001cbc42008 mach_msg2_internal + 80 (mach_msg.c:201)
2 libsystem_kernel.dylib 0x00000001cbc42248 mach_msg_overwrite + 388 (mach_msg.c:0)
3 libsystem_kernel.dylib 0x00000001cbc3008c mach_msg + 24 (mach_msg.c:323)
4 QuartzCore 0x0000000190cfc16c CA::Display::DisplayTimingsControl::update_frame_interval_request() + 404 (CARenderServicesUser.c:13411)
5 QuartzCore 0x0000000190cfbdc0 CA::Display::DisplayTimingsControl::register_frame_interval_range(CAFrameIntervalRange) + 84 (CADisplay.mm:1506)
6 QuartzCore 0x0000000190d7b348 CA::DynamicFrameRateSource::set_preferred_fps_range(CAFrameRateRange, bool) + 404 (CADisplay.mm:7152)
7 UIKitCore 0x0000000192361cd8 schedulerStepScheduling + 328 (_UIUpdateScheduler.m:387)
8 UIKitCore 0x0000000192361ad0 runloopSourceCallback + 92 (_UIUpdateScheduler.m:1079)
9 CoreFoundation 0x000000018f61a22c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (CFRunLoop.c:1974)
10 CoreFoundation 0x000000018f626614 __CFRunLoopDoSource0 + 176 (CFRunLoop.c:2018)
11 CoreFoundation 0x000000018f5aa51c __CFRunLoopDoSources0 + 244 (CFRunLoop.c:2055)
12 CoreFoundation 0x000000018f5bfeb8 __CFRunLoopRun + 836 (CFRunLoop.c:2970)
13 CoreFoundation 0x000000018f5c51e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
14 GraphicsServices 0x00000001c83e5368 GSEventRunModal + 164 (GSEvent.c:2196)
15 UIKitCore 0x0000000191a74d88 -[UIApplication _run] + 888 (UIApplication.m:3726)
16 UIKitCore 0x0000000191a749ec UIApplicationMain + 340 (UIApplication.m:5316)
17 ariesbifold 0x0000000104c177fc main + 272 (main.m:35)
18 dyld 0x00000001ad8e9948 start + 2504 (dyldMain.cpp:1168)
Thread 1 name:
Thread 1:
0 libsystem_kernel.dylib 0x00000001cbc2fb48 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x00000001cbc42008 mach_msg2_internal + 80 (mach_msg.c:201)
2 libsystem_kernel.dylib 0x00000001cbc42248 mach_msg_overwrite + 388 (mach_msg.c:0)
3 libsystem_kernel.dylib 0x00000001cbc3008c mach_msg + 24 (mach_msg.c:323)
4 CoreFoundation 0x000000018f5bee00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5 CoreFoundation 0x000000018f5c0044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6 CoreFoundation 0x000000018f5c51e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7 Foundation 0x00000001899cd818 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (NSRunLoop.m:373)
8 Foundation 0x00000001899cd700 -[NSRunLoop(NSRunLoop) runUntilDate:] + 64 (NSRunLoop.m:420)
9 UIKitCore 0x0000000191ba988c -[UIEventFetcher threadMain] + 436 (UIEventFetcher.m:1212)
10 Foundation 0x00000001899e6ce8 __NSThread__start__ + 716 (NSThread.m:968)
11 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
12 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 2 name:
Thread 2:
0 libsystem_kernel.dylib 0x00000001cbc2fb48 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x00000001cbc42008 mach_msg2_internal + 80 (mach_msg.c:201)
2 libsystem_kernel.dylib 0x00000001cbc42248 mach_msg_overwrite + 388 (mach_msg.c:0)
3 libsystem_kernel.dylib 0x00000001cbc3008c mach_msg + 24 (mach_msg.c:323)
4 CoreFoundation 0x000000018f5bee00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5 CoreFoundation 0x000000018f5c0044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6 CoreFoundation 0x000000018f5c51e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7 ariesbifold 0x0000000104d7c764 +[RCTCxxBridge runRunLoop] + 264 (RCTCxxBridge.mm:335)
8 Foundation 0x00000001899e6ce8 __NSThread__start__ + 716 (NSThread.m:968)
9 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
10 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 3 name:
Thread 3:
0 libsystem_kernel.dylib 0x00000001cbc3041c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001dbe7406c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2 libc++.1.dylib 0x000000019d8eeacc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3 hermes 0x00000001064355ac 0x106318000 + 1168812
4 hermes 0x0000000106435360 0x106318000 + 1168224
5 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
6 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 4 name:
Thread 4:
0 libsystem_kernel.dylib 0x00000001cbc3041c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001dbe7406c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2 libc++.1.dylib 0x000000019d8eeacc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3 ariesbifold 0x0000000104e8d3d8 void std::__1::condition_variable::wait<facebook::hermes::inspector::detail::SerialExecutor::runLoop()::$_1>(std::__1::unique_lock<std::__1::mutex>&, facebook::hermes::inspector::detail::SerialExec... + 28 (__mutex_base:404)
4 ariesbifold 0x0000000104e8d3d8 facebook::hermes::inspector::detail::SerialExecutor::runLoop() + 120 (SerialExecutor.cpp:41)
5 ariesbifold 0x0000000104e51ea0 decltype(static_cast<void (*>(fp)(static_cast<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>(fp0), static_cast<std::__1::function<void ()>>(fp0))) std::__1::... + 52 (type_traits:3918)
6 ariesbifold 0x0000000104e51ea0 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(std::__1::basic_string<char, std::__1::char_traits<ch... + 56 (thread:287)
7 ariesbifold 0x0000000104e51ea0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(std::__1::basic_string<char, std::__1:... + 116 (thread:298)
8 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
9 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 5 name:
Thread 5:
0 libsystem_kernel.dylib 0x00000001cbc3041c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001dbe7406c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2 libc++.1.dylib 0x000000019d8eeacc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3 ariesbifold 0x0000000104e8d3d8 void std::__1::condition_variable::wait<facebook::hermes::inspector::detail::SerialExecutor::runLoop()::$_1>(std::__1::unique_lock<std::__1::mutex>&, facebook::hermes::inspector::detail::SerialExec... + 28 (__mutex_base:404)
4 ariesbifold 0x0000000104e8d3d8 facebook::hermes::inspector::detail::SerialExecutor::runLoop() + 120 (SerialExecutor.cpp:41)
5 ariesbifold 0x0000000104e51ea0 decltype(static_cast<void (*>(fp)(static_cast<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>(fp0), static_cast<std::__1::function<void ()>>(fp0))) std::__1::... + 52 (type_traits:3918)
6 ariesbifold 0x0000000104e51ea0 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(std::__1::basic_string<char, std::__1::char_traits<ch... + 56 (thread:287)
7 ariesbifold 0x0000000104e51ea0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(std::__1::basic_string<char, std::__1:... + 116 (thread:298)
8 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
9 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 6 name:
Thread 6:
0 libsystem_kernel.dylib 0x00000001cbc3041c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001dbe7406c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2 libc++.1.dylib 0x000000019d8eeacc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3 hermes 0x00000001064355ac 0x106318000 + 1168812
4 hermes 0x0000000106435360 0x106318000 + 1168224
5 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
6 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 7 name:
Thread 7:
0 libsystem_kernel.dylib 0x00000001cbc3041c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001dbe7406c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2 libc++.1.dylib 0x000000019d8eeacc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (__threading_support:380)
3 hermes 0x00000001064355ac 0x106318000 + 1168812
4 hermes 0x0000000106435360 0x106318000 + 1168224
5 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
6 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 8 name:
Thread 8:
0 libobjc.A.dylib 0x0000000188905d74 objc_opt_isKindOfClass + 80 (objc-runtime-new.h:2155)
1 RunningBoardServices 0x000000019c8fe924 _BSXPCDecodeObject + 576 (RBSXPCCoder.m:538)
2 RunningBoardServices 0x000000019c906d4c _BSXPCDecodeObjectForKey + 180 (RBSXPCCoder.m:386)
3 RunningBoardServices 0x000000019c8fef88 -[RBSInheritance initWithRBSXPCCoder:] + 76 (RBSInheritance.m:98)
4 RunningBoardServices 0x000000019c8fec64 _BSXPCDecodeObject + 1408 (RBSXPCCoder.m:490)
5 RunningBoardServices 0x000000019c9088b8 ___BSXPCDecodeObject_block_invoke + 60 (RBSXPCCoder.m:463)
6 libxpc.dylib 0x00000001dbeb8c78 xpc_array_apply + 96 (array.c:563)
7 RunningBoardServices 0x000000019c8fe88c _BSXPCDecodeObject + 424 (RBSXPCCoder.m:461)
8 RunningBoardServices 0x000000019c906d4c _BSXPCDecodeObjectForKey + 180 (RBSXPCCoder.m:386)
9 RunningBoardServices 0x000000019c8fe464 -[RBSInheritanceChangeSet initWithRBSXPCCoder:] + 188 (RBSInheritanceChangeSet.m:69)
10 RunningBoardServices 0x000000019c8fec64 _BSXPCDecodeObject + 1408 (RBSXPCCoder.m:490)
11 RunningBoardServices 0x000000019c906d4c _BSXPCDecodeObjectForKey + 180 (RBSXPCCoder.m:386)
12 RunningBoardServices 0x000000019c8fb6b8 -[RBSXPCMessage decodeArgumentCollection:withClass:atIndex:allowNil:error:] + 340 (RBSXPCUtilities.m:362)
13 RunningBoardServices 0x000000019c8fb08c __32-[RBSConnection _handleMessage:]_block_invoke_2 + 88 (RBSConnection.m:1182)
14 libsystem_trace.dylib 0x00000001a6001d78 _os_activity_initiate_impl + 64 (activity.c:131)
15 RunningBoardServices 0x000000019c904110 -[RBSConnection _handleMessage:] + 672 (RBSConnection.m:1182)
16 RunningBoardServices 0x000000019c924b78 __37-[RBSConnection _lock_setConnection:]_block_invoke + 80 (RBSConnection.m:1302)
17 libxpc.dylib 0x00000001dbec118c _xpc_connection_call_event_handler + 152 (connection.c:834)
18 libxpc.dylib 0x00000001dbec15bc _xpc_connection_mach_event + 992 (connection.c:1445)
19 libdispatch.dylib 0x00000001969ca09c _dispatch_client_callout4 + 20 (object.m:600)
20 libdispatch.dylib 0x00000001969e6830 _dispatch_mach_msg_invoke + 468 (mach.c:2462)
21 libdispatch.dylib 0x00000001969d156c _dispatch_lane_serial_drain + 376 (inline_internal.h:0)
22 libdispatch.dylib 0x00000001969e754c _dispatch_mach_invoke + 448 (mach.c:2784)
23 libdispatch.dylib 0x00000001969d156c _dispatch_lane_serial_drain + 376 (inline_internal.h:0)
24 libdispatch.dylib 0x00000001969d2214 _dispatch_lane_invoke + 436 (queue.c:3940)
25 libdispatch.dylib 0x00000001969dce10 _dispatch_workloop_worker_thread + 652 (queue.c:6846)
26 libsystem_pthread.dylib 0x00000001dbe6cdf8 _pthread_wqthread + 288 (pthread.c:2618)
27 libsystem_pthread.dylib 0x00000001dbe6cb98 start_wqthread + 8
Thread 9 name:
Thread 9:
0 libsystem_kernel.dylib 0x00000001cbc3041c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001dbe7406c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2 Indy 0x000000010855f858 std::thread::park::hbd73935d65c0de25 + 404
3 Indy 0x00000001085749b4 std::sync::mpsc::blocking::WaitToken::wait::hda653576325020a7 + 40
4 Indy 0x0000000107e0e6f8 indy::commands::CommandExecutor::new::_$u7b$$u7b$closure$u7d$$u7d$::h85f9962696cf09ae + 5808
5 Indy 0x0000000108586ca0 __rust_maybe_catch_panic + 40
6 Indy 0x0000000107d45d54 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h7eec23b99bcbb200 + 96
7 Indy 0x000000010855ee34 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h348cec35aa383d95 + 76
8 Indy 0x0000000108585ee0 std::sys::unix::thread::Thread::new::thread_start::h6bd966c0933e3d06 + 28
9 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
10 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 10:
0 libsystem_kernel.dylib 0x00000001cbc30b48 __psynch_mutexwait + 8
1 libsystem_pthread.dylib 0x00000001dbe6e150 _pthread_mutex_firstfit_lock_wait + 84 (pthread_mutex.c:1414)
2 libsystem_pthread.dylib 0x00000001dbe75310 _pthread_mutex_firstfit_lock_slow + 248 (pthread_mutex.c:1490)
3 Indy 0x0000000108000a68 std::sys_common::backtrace::__rust_begin_short_backtrace::h89d983a2d0e830a4 + 76
4 Indy 0x0000000108586ca0 __rust_maybe_catch_panic + 40
5 Indy 0x0000000108001144 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h1e54bc5e0194e265 + 96
6 Indy 0x000000010855ee34 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h348cec35aa383d95 + 76
7 Indy 0x0000000108585ee0 std::sys::unix::thread::Thread::new::thread_start::h6bd966c0933e3d06 + 28
8 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
9 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 11:
0 libsystem_kernel.dylib 0x00000001cbc30b48 __psynch_mutexwait + 8
1 libsystem_pthread.dylib 0x00000001dbe6e150 _pthread_mutex_firstfit_lock_wait + 84 (pthread_mutex.c:1414)
2 libsystem_pthread.dylib 0x00000001dbe75310 _pthread_mutex_firstfit_lock_slow + 248 (pthread_mutex.c:1490)
3 Indy 0x0000000108000a68 std::sys_common::backtrace::__rust_begin_short_backtrace::h89d983a2d0e830a4 + 76
4 Indy 0x0000000108586ca0 __rust_maybe_catch_panic + 40
5 Indy 0x0000000108001144 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h1e54bc5e0194e265 + 96
6 Indy 0x000000010855ee34 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h348cec35aa383d95 + 76
7 Indy 0x0000000108585ee0 std::sys::unix::thread::Thread::new::thread_start::h6bd966c0933e3d06 + 28
8 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
9 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 12:
0 libsystem_kernel.dylib 0x00000001cbc3041c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x00000001dbe7406c _pthread_cond_wait + 1232 (pthread_cond.c:636)
2 Indy 0x000000010855f858 std::thread::park::hbd73935d65c0de25 + 404
3 Indy 0x00000001085749b4 std::sync::mpsc::blocking::WaitToken::wait::hda653576325020a7 + 40
4 Indy 0x0000000107ffe7ec std::sync::mpsc::stream::Packet$LT$T$GT$::recv::h6dcd5fd479774857 + 596
5 Indy 0x000000010800392c std::sync::mpsc::Receiver$LT$T$GT$::recv::heb15987db5980a5c + 236
6 Indy 0x0000000108000a8c std::sys_common::backtrace::__rust_begin_short_backtrace::h89d983a2d0e830a4 + 112
7 Indy 0x0000000108586ca0 __rust_maybe_catch_panic + 40
8 Indy 0x0000000108001144 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h1e54bc5e0194e265 + 96
9 Indy 0x000000010855ee34 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h348cec35aa383d95 + 76
10 Indy 0x0000000108585ee0 std::sys::unix::thread::Thread::new::thread_start::h6bd966c0933e3d06 + 28
11 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
12 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 13:
0 libsystem_kernel.dylib 0x00000001cbc30b48 __psynch_mutexwait + 8
1 libsystem_pthread.dylib 0x00000001dbe6e150 _pthread_mutex_firstfit_lock_wait + 84 (pthread_mutex.c:1414)
2 libsystem_pthread.dylib 0x00000001dbe75310 _pthread_mutex_firstfit_lock_slow + 248 (pthread_mutex.c:1490)
3 Indy 0x0000000108000a68 std::sys_common::backtrace::__rust_begin_short_backtrace::h89d983a2d0e830a4 + 76
4 Indy 0x0000000108586ca0 __rust_maybe_catch_panic + 40
5 Indy 0x0000000108001144 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h1e54bc5e0194e265 + 96
6 Indy 0x000000010855ee34 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h348cec35aa383d95 + 76
7 Indy 0x0000000108585ee0 std::sys::unix::thread::Thread::new::thread_start::h6bd966c0933e3d06 + 28
8 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
9 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 14:
0 libsystem_kernel.dylib 0x00000001cbc31480 kevent + 8
1 Indy 0x000000010860fd88 zmq::kqueue_t::loop() + 208
2 Indy 0x000000010860fc88 zmq::kqueue_t::worker_routine(void*) + 24
3 Indy 0x000000010867d2b4 thread_routine(void*) + 284
4 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
5 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 15:
0 libsystem_kernel.dylib 0x00000001cbc31480 kevent + 8
1 Indy 0x000000010860fd88 zmq::kqueue_t::loop() + 208
2 Indy 0x000000010860fc88 zmq::kqueue_t::worker_routine(void*) + 24
3 Indy 0x000000010867d2b4 thread_routine(void*) + 284
4 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
5 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 16:
0 libsystem_kernel.dylib 0x00000001cbc3322c poll + 8
1 Indy 0x00000001086638d8 zmq::socket_poller_t::wait(zmq::socket_poller_t::event_t*, int, long) + 292
2 Indy 0x000000010869d830 zmq_poller_wait_all + 160
3 Indy 0x000000010869cfd0 zmq_poller_poll(zmq_pollitem_t*, int, long) + 984
4 Indy 0x000000010869cbec zmq_poll + 40
5 Indy 0x000000010821da44 zmq::poll::h6188ffa9cca7bff0 + 16
6 Indy 0x0000000107dd24b4 indy::services::pool::pool::PoolThread$LT$S$C$R$GT$::work::h5b10f452c851850b + 600
7 Indy 0x0000000107ddaf1c std::sys_common::backtrace::__rust_begin_short_backtrace::h4554716e94055882 + 128
8 Indy 0x0000000107eecd08 std::panicking::try::do_call::h4aef600588ce2d23 + 52
9 Indy 0x0000000108586ca0 __rust_maybe_catch_panic + 40
10 Indy 0x0000000107d45b44 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h4b1af0ee60c572ec + 132
11 Indy 0x000000010855ee34 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h348cec35aa383d95 + 76
12 Indy 0x0000000108585ee0 std::sys::unix::thread::Thread::new::thread_start::h6bd966c0933e3d06 + 28
13 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
14 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 17:
0 libsystem_kernel.dylib 0x00000001cbc31480 kevent + 8
1 Indy 0x000000010860fd88 zmq::kqueue_t::loop() + 208
2 Indy 0x000000010860fc88 zmq::kqueue_t::worker_routine(void*) + 24
3 Indy 0x000000010867d2b4 thread_routine(void*) + 284
4 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
5 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 18:
0 libsystem_kernel.dylib 0x00000001cbc31480 kevent + 8
1 Indy 0x000000010860fd88 zmq::kqueue_t::loop() + 208
2 Indy 0x000000010860fc88 zmq::kqueue_t::worker_routine(void*) + 24
3 Indy 0x000000010867d2b4 thread_routine(void*) + 284
4 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
5 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 19 name:
Thread 19:
0 libsystem_kernel.dylib 0x00000001cbc3322c poll + 8
1 Indy 0x0000000108651e84 zmq::signaler_t::wait(int) + 124
2 Indy 0x0000000108614048 zmq::mailbox_t::recv(zmq::command_t*, int) + 104
3 Indy 0x0000000108654bd0 zmq::socket_base_t::process_commands(int, bool) + 228
4 Indy 0x00000001086547dc zmq::socket_base_t::getsockopt(int, void*, unsigned long*) + 596
5 Indy 0x0000000108663514 zmq::socket_poller_t::check_events(zmq::socket_poller_t::event_t*, int) + 176
6 Indy 0x00000001086639f8 zmq::socket_poller_t::wait(zmq::socket_poller_t::event_t*, int, long) + 580
7 Indy 0x000000010869d830 zmq_poller_wait_all + 160
8 Indy 0x000000010869cfd0 zmq_poller_poll(zmq_pollitem_t*, int, long) + 984
9 Indy 0x000000010869cbec zmq_poll + 40
10 Indy 0x000000010821da44 zmq::poll::h6188ffa9cca7bff0 + 16
11 Indy 0x0000000107dd24b4 indy::services::pool::pool::PoolThread$LT$S$C$R$GT$::work::h5b10f452c851850b + 600
12 Indy 0x0000000107ddaf1c std::sys_common::backtrace::__rust_begin_short_backtrace::h4554716e94055882 + 128
13 Indy 0x0000000107eecd08 std::panicking::try::do_call::h4aef600588ce2d23 + 52
14 Indy 0x0000000108586ca0 __rust_maybe_catch_panic + 40
15 Indy 0x0000000107d45b44 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h4b1af0ee60c572ec + 132
16 Indy 0x000000010855ee34 _$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h348cec35aa383d95 + 76
17 Indy 0x0000000108585ee0 std::sys::unix::thread::Thread::new::thread_start::h6bd966c0933e3d06 + 28
18 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
19 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 20:
0 libsystem_kernel.dylib 0x00000001cbc31480 kevent + 8
1 Indy 0x000000010860fd88 zmq::kqueue_t::loop() + 208
2 Indy 0x000000010860fc88 zmq::kqueue_t::worker_routine(void*) + 24
3 Indy 0x000000010867d2b4 thread_routine(void*) + 284
4 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
5 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 21 Crashed:
0 libsystem_kernel.dylib 0x00000001cbc36200 __pthread_kill + 8
1 libsystem_pthread.dylib 0x00000001dbe731ac pthread_kill + 268 (pthread.c:1670)
2 libsystem_c.dylib 0x0000000196a2dca0 abort + 180 (abort.c:118)
3 Indy 0x0000000108605d80 zmq::zmq_abort(char const*) + 24
4 Indy 0x000000010867adc4 zmq::tcp_connecter_t::connect() + 312
5 Indy 0x000000010867aa94 zmq::tcp_connecter_t::out_event() + 84
6 Indy 0x000000010867aa1c zmq::tcp_connecter_t::in_event() + 32
7 Indy 0x000000010860fe90 zmq::kqueue_t::loop() + 472
8 Indy 0x000000010860fc88 zmq::kqueue_t::worker_routine(void*) + 24
9 Indy 0x000000010867d2b4 thread_routine(void*) + 284
10 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
11 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 22 name:
Thread 22:
0 libsystem_kernel.dylib 0x00000001cbc2fb48 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x00000001cbc42008 mach_msg2_internal + 80 (mach_msg.c:201)
2 libsystem_kernel.dylib 0x00000001cbc42248 mach_msg_overwrite + 388 (mach_msg.c:0)
3 libsystem_kernel.dylib 0x00000001cbc3008c mach_msg + 24 (mach_msg.c:323)
4 CoreFoundation 0x000000018f5bee00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5 CoreFoundation 0x000000018f5c0044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6 CoreFoundation 0x000000018f5c51e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7 CFNetwork 0x0000000190913bac +[__CFN_CoreSchedulingSetRunnable _run:] + 392 (CoreSchedulingSet.mm:1372)
8 Foundation 0x00000001899e6ce8 __NSThread__start__ + 716 (NSThread.m:968)
9 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
10 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 23 name:
Thread 23:
0 libsystem_kernel.dylib 0x00000001cbc2fb48 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x00000001cbc42008 mach_msg2_internal + 80 (mach_msg.c:201)
2 libsystem_kernel.dylib 0x00000001cbc42248 mach_msg_overwrite + 388 (mach_msg.c:0)
3 libsystem_kernel.dylib 0x00000001cbc3008c mach_msg + 24 (mach_msg.c:323)
4 CoreFoundation 0x000000018f5bee00 __CFRunLoopServiceMachPort + 160 (CFRunLoop.c:2639)
5 CoreFoundation 0x000000018f5c0044 __CFRunLoopRun + 1232 (CFRunLoop.c:3022)
6 CoreFoundation 0x000000018f5c51e4 CFRunLoopRunSpecific + 612 (CFRunLoop.c:3390)
7 Foundation 0x00000001899cd818 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 (NSRunLoop.m:373)
8 ariesbifold 0x0000000104db7934 -[_RCTSRRunLoopThread main] + 300 (RCTSRWebSocket.m:1624)
9 Foundation 0x00000001899e6ce8 __NSThread__start__ + 716 (NSThread.m:968)
10 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
11 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 24 name:
Thread 24:
0 libsystem_kernel.dylib 0x00000001cbc306ac select$DARWIN_EXTSN + 8
1 CoreFoundation 0x000000018f60f9d4 __CFSocketManager + 636 (CFSocket.c:1340)
2 libsystem_pthread.dylib 0x00000001dbe6d6cc _pthread_start + 148 (pthread.c:893)
3 libsystem_pthread.dylib 0x00000001dbe6cba4 thread_start + 8
Thread 25:
0 libsystem_pthread.dylib 0x00000001dbe6cb90 start_wqthread + 0
Thread 26:
0 libsystem_pthread.dylib 0x00000001dbe6cb90 start_wqthread + 0
Thread 21 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000
x4: 0x0000000000000000 x5: 0x0000000000000003 x6: 0x000000000000000a x7: 0x0000000113023cac
x8: 0x1564446a5437bb04 x9: 0x1564446b3896cb04 x10: 0x0000000000000002 x11: 0x00000000fffffffd
x12: 0x0000010000000000 x13: 0x0000000000000000 x14: 0x0000000000000000 x15: 0x0000000000000000
x16: 0x0000000000000148 x17: 0x000000016ca17000 x18: 0x0000000000000000 x19: 0x0000000000000006
x20: 0x000000000001671b x21: 0x000000016ca170e0 x22: 0x0000000000000000 x23: 0x0000000000000000
x24: 0x0000000000000000 x25: 0x0000000000000000 x26: 0x0000000000000000 x27: 0x0000000000000000
x28: 0x0000000000000000 fp: 0x000000016ca14cf0 lr: 0x00000001dbe731ac
sp: 0x000000016ca14cd0 pc: 0x00000001cbc36200 cpsr: 0x40001000
esr: 0x56000080 Address size fault
Binary Images:
0x104c10000 - 0x105a83fff ariesbifold arm64 <33c850cdaa3a34d381853c9c688dd6be> /private/var/containers/Bundle/Application/CCFF75AB-E3CA-4761-9BBF-26737C0B4568/ariesbifold.app/ariesbifold
0x106318000 - 0x1065e7fff hermes arm64 <c9c3232edb403d1ea35be647a8c12641> /private/var/containers/Bundle/Application/CCFF75AB-E3CA-4761-9BBF-26737C0B4568/ariesbifold.app/Frameworks/hermes.framework/hermes
0x107ba0000 - 0x1089b7fff Indy arm64 <acf8a96893bc3734a05105e72b90583f> /private/var/containers/Bundle/Application/CCFF75AB-E3CA-4761-9BBF-26737C0B4568/ariesbifold.app/Frameworks/Indy.framework/Indy
0x1888fc000 - 0x18893fc3f libobjc.A.dylib arm64e <b3a78098c0fb3dcdb1ac0712762510db> /usr/lib/libobjc.A.dylib
0x18998c000 - 0x18a2d6fff Foundation arm64e <aa92cd58561a341492f4b4120298b39a> /System/Library/Frameworks/Foundation.framework/Foundation
0x18f544000 - 0x18f928fff CoreFoundation arm64e <42c5c91704473995b50fde4d132c2435> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x1906bf000 - 0x190a84fff CFNetwork arm64e <35605de33723335a83d96f35f2989935> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x190ba9000 - 0x190f01fff QuartzCore arm64e <c4c4667b69333b01a37b747cd0c00431> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x1916d2000 - 0x192e98fff UIKitCore arm64e <7b942fa4cb7633759972f58c14492fb4> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x1969c6000 - 0x196a0cfff libdispatch.dylib arm64e <c663d847b94f3fb0925432edbc55315e> /usr/lib/system/libdispatch.dylib
0x196a0d000 - 0x196a8cfff libsystem_c.dylib arm64e <82c0f938e2773165a61470151c651798> /usr/lib/system/libsystem_c.dylib
0x19c8f8000 - 0x19c94dfff RunningBoardServices arm64e <32ad4aa53d97332e8381ed24fa12301a> /System/Library/PrivateFrameworks/RunningBoardServices.framework/RunningBoardServices
0x19d8e2000 - 0x19d948ff3 libc++.1.dylib arm64e <36bf5e0c2d4036faa0752476613f6d3f> /usr/lib/libc++.1.dylib
0x1a5ffb000 - 0x1a6014fff libsystem_trace.dylib arm64e <0de65dd9be413e129257c4f0adc0d5bb> /usr/lib/system/libsystem_trace.dylib
0x1ad8d4000 - 0x1ad956e4f dyld arm64e <341bbf646034357e8aa6e1e4b988e03c> /usr/lib/dyld
0x1c83e4000 - 0x1c83ecfff GraphicsServices arm64e <03732ba5113235b4b09d8dd49807d246> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x1cbc2f000 - 0x1cbc65ffb libsystem_kernel.dylib arm64e <a5d3b72578c33e19a765cceb22355093> /usr/lib/system/libsystem_kernel.dylib
0x1dbe6c000 - 0x1dbe77fff libsystem_pthread.dylib arm64e <b89b9a5b55d93e84b6d3c3da93c1cd39> /usr/lib/system/libsystem_pthread.dylib
0x1dbeb0000 - 0x1dbeeffff libxpc.dylib arm64e <be45e2e7648c3a609c57e63229b6cfe0> /usr/lib/system/libxpc.dylib
EOF
Environment
This behavior we can confirm is present in React Native 0.68.x or newer (we have not tested 0.67.x though, so that could also be impacted), which is why this behavior has not been observed previously (that I'm aware of). We are not sure what has caused this to now be an issue when it wasn't previously, but I suspect it's due to changes in how iOS is managing network behaviors. I find it much more unlikely that we'll find what was tweaked between RN 0.66.x to 0.68.x+.
We have not tested Indy-VDR, as that is not yet working with AFJ in a RN context (although that's definitely getting closer!), but I suspect that the behavior here would be the same with ZMQ, but I am not the expert on Indy-VDR.
Solutions
Here are a couple of the solutions discussed internally at Indicio. In particular, I want to note that this is not the first issue the community has had with ZMQ on mobile, nor do I think it'll be the last.
Indy SDK & ZMQ Updates
Additional investigation and troubleshooting would be in order, but based off of our initial observations, we believe Indy-SDK would need to be updated to use a newer version of ZMQ, assuming that ZMQ has addressed this issue in a newer version. This would result in the need to re-bundle the indy-sdk. If ZMQ has not addressed this issue (specifically because iOS is not a largely used environment with ZMQ, as I understand it), there could be the need to fork ZMQ (which poses it's own concerns), update ZMQ, bundle ZMQ, and then bundle indy-sdk with the updated ZMQ.
We've given a rough estimate of 40-80 man hours of effort involved for this fix, although this could potentially be minimally reduced with collaboration on the build process.
Indy-VDR as a Proxy Server
Indy-VDR is able to run as a proxy server, which provides a HTTP API that will make the ZMQ requests to the indy ledgers on the behalf of the caller. Aries Framework Javascript (AFJ) could be updated to support an interface that allows a indy-vdr-proxy ledger service to be implemented, which will make the API calls to the indy-vdr proxy and return the same content returned by the indy-sdk.
This is a fairly quick and doable solution. There is the additional benefit of the issues with ledger access observed with strict firewalls in some organizations / use cases, as this would also resolve that issue. This is something that the BCGov team was investigating (cc: @swcurran), however I'm now aware of what came of that.
This indy-vdr proxy server could be run along side the mediator, or separate. Additionally, in the future, DIDComm protocols could be developed in place of the HTTP API present today.
Direct DIDComm communication to the Ledger nodes
The ledger nodes could be equipped with the capability to communicate over DIDComm, or with a service running directly next to the nodes with the capability. I'll freely admit that I do not have the knowledge of how implementing direct DIDComm communication to the indy ledger should be done, just that it's something that poses additional benefits and has been discussed previously.
Last Thoughts
Is this something anyone else has run into? Are there things I've missed or incorrect assumptions made?
Indicio is looking at implementing the Indy-VDR as a Proxy solution, as this seems the fastest solution, but I think we're also interested in alternate and longer-term solutions.
Thanks!
indy-vdr proxy could also run on the indy nodes as well, like the didcomm method.
If anyone is interested, it is likely that the error is occurring here in zmq.
The errno_assert will cause the program to crash. Changing the behavior of ZMQ to be able to return without an active socket would be helpful.
Maybe related to
https://github.com/zeromq/libzmq/issues/3046 https://github.com/zeromq/libzmq/pull/3047
I wonder if it can be worked around by allowing the app to temporarily do background networking? In "Signing & Capabilities" add Background Modes and check "Background Fetch". It might give it 30 seconds to finish started tasks. I'm also curious if we can deal with it at the Indy SDK level. Maybe make the wrapper more exception friendly (or background friendly).
Was looking through the wrapper and noticed it runs requests on the main thread. I though iOS was meant to run data tasks on a background thread to avoid slowing the UI where all UI updates take place. For another conversation. I don't think this is related to this bug.
Indy-VDR probably currently has the same issue, as it still depends on libzmq. There's also a native Rust zmq implementation (https://github.com/zeromq/zmq.rs) to which I've added CurveZMQ support, but that isn't merged yet. With some work it could probably be substituted.