Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stuck on 'Connecting process started' due to missing community on iOS #2500

Closed
leblowl opened this issue May 3, 2024 · 1 comment
Closed
Assignees
Labels
bug Something isn't working

Comments

@leblowl
Copy link
Collaborator

leblowl commented May 3, 2024

We cancel the useIO saga whenever we close the connection between the backend and frontend. And it looks like this causes us to cancel the createNetwork saga while it's running and this results in the community never being added to the Redux store. In the iOS log below (this is a fresh install), we can see Sending SIGNAL SHUTDOWN on Tor control port 1 which indicates the app is going to background (I was fetching the invite code). Then we see the useIO saga closing (useIO ending) and then we connect to the backend when the app is re-opened ('client: Websocket connected', 'AyawhCR74MvflVqnAAAD') and then start the useIO saga again ('USE IO TASK', { '@@redux-saga/TASK': true,). We see that we then enter the create network saga and then receive a connection failure from iOS:

nw_socket_handle_socket_event [C5:2] Socket SO_ERROR [61: Connection refused]
Connection 5: received failure notification

which causes the socket to close ('client: Closing socket connection', 'AyawhCR74MvflVqnAAAD') and the useIO saga to be cancelled.

We connect again, start the useIO saga and at this point we are at the register username saga and the community hasn't been added yet (it get's added in createNetwork):

Registering username
Community missing, waiting...

Larger log (not the full log, but the relevant parts):

Sending SIGNAL SHUTDOWN on Tor control port 1
May 03 13:05:58.000 [notice] Interrupt: exiting cleanly.
Tor control port response code 250
Tor control port response message OK
Malformed rn-bridge entry:  [ '' ]
parsed {}
'nativeServicesCallbacksSaga PUT', { type: 'NativeServices/flushPersistor', payload: undefined }
Flushing redux store
'nativeServicesCallbacksSaga PUT', { type: 'Network/removeInitializedCommunities',
  payload: undefined }
'client: Closing socket connection', '43StAWqQXuET0CF7AAAB'
'handleSocketlifecycleActions PUT', { type: 'Init/suspendWebsocketConnection', payload: undefined }
'Canceling root task', { '@@redux-saga/TASK': true,
  id: 87,
  meta: { name: 'useIO', location: undefined },
  isRoot: undefined,
  context: {},
  joiners: [],
  queue: 
   { addTask: [Function: addTask],
     cancelAll: [Function: cancelAll],
     abort: [Function: abort],
     getTasks: [Function: getTasks] },
  cancel: [Function: cancel],
  cont: [Function],
  end: [Function: end],
  setContext: [Function: setContext],
  toPromise: [Function: toPromise],
  isRunning: [Function: isRunning],
  isCancelled: [Function: isCancelled],
  isAborted: [Function: isAborted],
  result: [Function: result],
  error: [Function: error] }
handleActions ending
publicChannelsMasterSaga ending
messagesMasterSaga ending
filesMasterSaga ending
identityMasterSaga ending
communitiesMasterSaga ending
usersMasterSaga ending
usersMasterSaga cancelled
appMasterSaga ending
connectionMasterSaga ending
errorsMasterSaga ending
useIO ending
0x11d034bc0 - ProcessThrottlerTimedActivity::activityTimedOut:
nw_socket_connect [C4:1] connectx(3, [srcif=0, srcaddr=<NULL>, dstaddr=127.0.0.1:11000], SAE_ASSOCID_ANY, 0, NULL, 0, NULL, SAE_CONNID_ANY) failed: [61: Connection refused]
nw_socket_connect [C4:1] connectx failed (fd 3) [61: Connection refused]
nw_socket_connect connectx failed [61: Connection refused]
nw_connection_get_connected_socket_block_invoke [C4] Client called nw_connection_get_connected_socket on unconnected nw_connection
TCP Conn 0x3031fc5a0 Failed : error 0:61 [61]
nw_connection_copy_connected_local_endpoint_block_invoke [C4] Client called nw_connection_copy_connected_local_endpoint on unconnected nw_connection
nw_connection_copy_connected_remote_endpoint_block_invoke [C4] Client called nw_connection_copy_connected_remote_endpoint on unconnected nw_connection
  �[36;1mbackend:SocketService �[0mSocket connection �[36m+3s�[0m
'client: Websocket connected', 'AyawhCR74MvflVqnAAAD'
'handleSocketlifecycleActions PUT', { type: 'Init/setWebsocketConnected',
  payload: { dataPort: 11000, socketIOSecret: 'xZ8m8MQ3neoXAupgb87v' } }
Frontend is ready. Forking state-manager sagas and starting backend...
USE IO
handleActions starting
'USE IO TASK', { '@@redux-saga/TASK': true,
  id: 311,
  meta: { name: 'useIO', location: undefined },
  isRoot: undefined,
  context: {},
  joiners: [],
  queue: 
   { addTask: [Function: addTask],
     cancelAll: [Function: cancelAll],
     abort: [Function: abort],
     getTasks: [Function: getTasks] },
  cancel: [Function: cancel],
  cont: [Function],
  end: [Function: end],
  setContext: [Function: setContext],
  toPromise: [Function: toPromise],
  isRunning: [Function: isRunning],
  isCancelled: [Function: isCancelled],
  isAborted: [Function: isAborted],
  result: [Function: result],
  error: [Function: error] }
[TorHandler] Removing old auth cookie
[TorHandler] Starting Tor
INIT_NAVIGATION: Starting deep link flow.
INIT_NAVIGATION: Waiting for websocket connection before proceeding with deep link flow.
INIT_NAVIGATION: Continuing on deep link flow.
'Stored invitation codes', []
'Current invitation codes', [ { peerId: 'Qma95tVeH8GZAsYd6QCsymSPD1fe1qNHkVZozb2p1gePso',
    onionAddress: 'ckjxecaurdlgl6wxcejdi33xm6tqznmtnl464kgzxmw3ui3rrnoffoad' } ]
'Is invitation data valid', true
INIT_NAVIGATION: Proceeding with connection to the community.
create network saga
INIT_NAVIGATION: Switching to the username registration screen.
nw_socket_handle_socket_event [C5:2] Socket SO_ERROR [61: Connection refused]
Connection 5: received failure notification
Connection 5: failed to connect 1:61, reason -1
Connection 5: encountered error(1:61)
nw_connection_copy_connected_local_endpoint_block_invoke [C5] Client called nw_connection_copy_connected_local_endpoint on unconnected nw_connection
nw_connection_copy_connected_remote_endpoint_block_invoke [C5] Client called nw_connection_copy_connected_remote_endpoint on unconnected nw_connection
Task <8EF65928-FA65-48E1-A86A-68713D90A464>.<11> HTTP load failed, 0/0 bytes (error code: -1004 [1:61])
Task <8EF65928-FA65-48E1-A86A-68713D90A464>.<11> finished with error [-1004] Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={_kCFStreamErrorCodeKey=61, NSUnderlyingError=0x300fd09c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_NSURLErrorNWPathKey=satisfied (Path is satisfied), viable, interface: lo0, _kCFStreamErrorCodeKey=61, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <8EF65928-FA65-48E1-A86A-68713D90A464>.<11>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <8EF65928-FA65-48E1-A86A-68713D90A464>.<11>"
), NSLocalizedDescription=Could not connect to the server., NSErrorFailingURLStringKey=http://127.0.0.1:11000/socket.io/?EIO=4&transport=polling&t=Oy_sN95&sid=CcqSYzdu3egWa3a0AAAC, NSErrorFailingURLKey=http://127.0.0.1:11000/socket.io/?EIO=4&transport=polling&t=Oy_sN95&sid=CcqSYzdu3egWa3a0AAAC, _kCFStreamErrorDomainKey=1}
'client: Closing socket connection', 'AyawhCR74MvflVqnAAAD'
'handleSocketlifecycleActions PUT', { type: 'Init/suspendWebsocketConnection', payload: undefined }
'Canceling root task', { '@@redux-saga/TASK': true,
  id: 311,
  meta: { name: 'useIO', location: undefined },
  isRoot: undefined,
  context: {},
  joiners: [],
  queue: 
   { addTask: [Function: addTask],
     cancelAll: [Function: cancelAll],
     abort: [Function: abort],
     getTasks: [Function: getTasks] },
  cancel: [Function: cancel],
  cont: [Function],
  end: [Function: end],
  setContext: [Function: setContext],
  toPromise: [Function: toPromise],
  isRunning: [Function: isRunning],
  isCancelled: [Function: isCancelled],
  isAborted: [Function: isAborted],
  result: [Function: result],
  error: [Function: error] }
handleActions ending
publicChannelsMasterSaga ending
messagesMasterSaga ending
filesMasterSaga ending
identityMasterSaga ending
communitiesMasterSaga ending
usersMasterSaga ending
usersMasterSaga cancelled
appMasterSaga ending
connectionMasterSaga ending
errorsMasterSaga ending
useIO ending
nw_socket_handle_socket_event [C6:2] Socket SO_ERROR [61: Connection refused]
Connection 6: received failure notification
Connection 6: failed to connect 1:61, reason -1
Connection 6: encountered error(1:61)
nw_connection_copy_connected_local_endpoint_block_invoke [C6] Client called nw_connection_copy_connected_local_endpoint on unconnected nw_connection
nw_connection_copy_connected_remote_endpoint_block_invoke [C6] Client called nw_connection_copy_connected_remote_endpoint on unconnected nw_connection
Task <4FAB61E1-A2A6-4C26-B496-C888822A3D7E>.<12> HTTP load failed, 0/0 bytes (error code: -1004 [1:61])
Task <4FAB61E1-A2A6-4C26-B496-C888822A3D7E>.<12> finished with error [-1004] Error Domain=NSURLErrorDomain Code=-1004 "Could not connect to the server." UserInfo={_kCFStreamErrorCodeKey=61, NSUnderlyingError=0x300fff240 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)" UserInfo={_NSURLErrorNWPathKey=satisfied (Path is satisfied), viable, interface: lo0, _kCFStreamErrorCodeKey=61, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <4FAB61E1-A2A6-4C26-B496-C888822A3D7E>.<12>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <4FAB61E1-A2A6-4C26-B496-C888822A3D7E>.<12>"
), NSLocalizedDescription=Could not connect to the server., NSErrorFailingURLStringKey=http://127.0.0.1:11000/socket.io/?EIO=4&transport=polling&t=Oy_sNAm&sid=CcqSYzdu3egWa3a0AAAC, NSErrorFailingURLKey=http://127.0.0.1:11000/socket.io/?EIO=4&transport=polling&t=Oy_sNAm&sid=CcqSYzdu3egWa3a0AAAC, _kCFStreamErrorDomainKey=1}
May 03 13:06:06.000 [notice] Tor 0.4.5.9 (git-d0ed04d50e80fe1c) running on Darwin with Libevent 2.1.12-stable, OpenSSL 1.1.1k, Zlib 1.2.12, Liblzma 5.2.5, Libzstd N/A and Unknown N/A as libc.
May 03 13:06:06.000 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
May 03 13:06:06.000 [notice] Configuration file "/private/var/mobile/Containers/Data/Application/3171B9BD-206E-4D1A-A0DA-47B285C566E9/.torrc" not present, using reasonable defaults.
May 03 13:06:06.000 [notice] Opening Socks listener on 127.0.0.1:27255
May 03 13:06:06.000 [notice] Opened Socks listener connection (ready) on 127.0.0.1:27255
May 03 13:06:06.000 [notice] Opening HTTP tunnel listener on 127.0.0.1:27106
May 03 13:06:06.000 [notice] Opened HTTP tunnel listener connection (ready) on 127.0.0.1:27106
May 03 13:06:06.000 [notice] Opening Control listener on 127.0.0.1:34345
May 03 13:06:06.000 [notice] Opened Control listener connection (ready) on 127.0.0.1:34345
May 03 13:06:06.000 [notice] Bootstrapped 0% (starting): Starting
May 03 13:06:06.000 [notice] Starting with guard context "default"
parsed {
  socketIOPort: '11000',
  socketIOSecret: 'xZ8m8MQ3neoXAupgb87v',
  torControlPort: '34345',
  httpTunnelPort: '27106',
  authCookie: '2304f88f49a68700b3ecbdb064b1d6a96c2040a06c556fff4f0d1c75a6dedbfb'
}
  �[36;1mbackend:SocketService �[0mData server running on port 11000 �[36m+6s�[0m
  �[36;1mbackend:SocketService �[0minit: Waiting for frontend to connect �[36m+0ms�[0m
May 03 13:06:06.000 [notice] New control connection opened from 127.0.0.1.
Tor control port error (null)
Tor control port auth success YES
Tor control port auth error (null)
  �[36;1mbackend:SocketService �[0mSocket connection �[36m+546ms�[0m
'client: Websocket connected', 'vb4JaHFV6AJ99TADAAAF'
'handleSocketlifecycleActions PUT', { type: 'Init/setWebsocketConnected',
  payload: { dataPort: 11000, socketIOSecret: 'xZ8m8MQ3neoXAupgb87v' } }
Frontend is ready. Forking state-manager sagas and starting backend...
USE IO
handleActions starting
'USE IO TASK', { '@@redux-saga/TASK': true,
  id: 538,
  meta: { name: 'useIO', location: undefined },
  isRoot: undefined,
  context: {},
  joiners: [],
  queue: 
   { addTask: [Function: addTask],
     cancelAll: [Function: cancelAll],
     abort: [Function: abort],
     getTasks: [Function: getTasks] },
  cancel: [Function: cancel],
  cont: [Function],
  end: [Function: end],
  setContext: [Function: setContext],
  toPromise: [Function: toPromise],
  isRunning: [Function: isRunning],
  isCancelled: [Function: isCancelled],
  isAborted: [Function: isAborted],
  result: [Function: result],
  error: [Function: error] }
  �[36;1mbackend:SocketService �[0minit: Frontend connected �[36m+11ms�[0m
May 03 13:06:07.000 [notice] Bootstrapped 5% (conn): Connecting to a relay
'WEBSOCKET', 'Entered restore connection saga', true, { dataPort: 11000, socketIOSecret: 'xZ8m8MQ3neoXAupgb87v' }
May 03 13:06:08.000 [notice] Bootstrapped 10% (conn_done): Connected to a relay
May 03 13:06:08.000 [notice] Bootstrapped 14% (handshake): Handshaking with a relay
<0x10690deb0> Gesture: System gesture gate timed out.
May 03 13:06:08.000 [notice] Bootstrapped 15% (handshake_done): Handshake with a relay done
May 03 13:06:08.000 [notice] Bootstrapped 20% (onehop_create): Establishing an encrypted directory connection
May 03 13:06:08.000 [notice] Bootstrapped 25% (requesting_status): Asking for networkstatus consensus
May 03 13:06:09.000 [notice] Bootstrapped 30% (loading_status): Loading networkstatus consensus
May 03 13:06:10.000 [notice] I learned some more directory information, but not enough to build a circuit: We have no usable consensus.
May 03 13:06:10.000 [notice] Bootstrapped 40% (loading_keys): Loading authority key certs
May 03 13:06:10.000 [notice] The current consensus has no exit nodes. Tor can only build internal paths, such as paths to onion services.
May 03 13:06:10.000 [notice] Bootstrapped 45% (requesting_descriptors): Asking for relay descriptors
May 03 13:06:10.000 [notice] I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 0/7211, and can only build 0% of likely paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of end bw (no exits in consensus, using mid) = 0% of path bw.)
May 03 13:06:10.000 [notice] I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 0/7211, and can only build 0% of likely paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of end bw (no exits in consensus, using mid) = 0% of path bw.)
Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.
If you want to see the backtrace, please set CG_NUMERICS_SHOW_BACKTRACE environmental variable.
Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.
If you want to see the backtrace, please set CG_NUMERICS_SHOW_BACKTRACE environmental variable.
Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.
If you want to see the backtrace, please set CG_NUMERICS_SHOW_BACKTRACE environmental variable.
Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.
If you want to see the backtrace, please set CG_NUMERICS_SHOW_BACKTRACE environmental variable.
Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.
If you want to see the backtrace, please set CG_NUMERICS_SHOW_BACKTRACE environmental variable.
Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.
If you want to see the backtrace, please set CG_NUMERICS_SHOW_BACKTRACE environmental variable.
Registering username
Community missing, waiting...
@leblowl leblowl changed the title iOS cancels useIO saga sometimes useIO saga get's cancelled sometimes May 3, 2024
@leblowl leblowl changed the title useIO saga get's cancelled sometimes Stuck on 'Connecting process started' due to missing community May 3, 2024
@leblowl leblowl changed the title Stuck on 'Connecting process started' due to missing community Stuck on 'Connecting process started' due to missing community on iOS May 3, 2024
@leblowl leblowl added the bug Something isn't working label May 3, 2024
@leblowl leblowl self-assigned this May 7, 2024
@kingalg
Copy link
Collaborator

kingalg commented May 21, 2024

iOS 376

Looks like this one is done, but I'll still keep an eye on ios.

@kingalg kingalg closed this as completed May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

No branches or pull requests

2 participants