nextcloud / talk-ios

📱😀 Video & audio calls through Nextcloud on iOS
GNU General Public License v3.0
146 stars 86 forks source link

Crash on call connect #1693

Closed pu15e closed 2 weeks ago

pu15e commented 2 weeks ago

Steps to reproduce

  1. Start a call (voice or video)

Expected behaviour

Call connects and parties communicate

Actual behaviour

Call starts connecting, and immediately upon actual / successful connection, client CTDs (crashes to "desktop" / home screen)

Device information

Device: iPhone 11

iOS version: 17.5.1

Talk version: 19.0.5

Server information

Nextcloud version: 29.0.3

Talk version: 19.0.4

Custom Signaling server configured: no

Custom TURN server configured: yes

Custom STUN server configured: yes

Server log (data/nextcloud.log)

``` (there is nothing at all in the logs that's relevant to these failed calls) ```

Note that only this single device is afflicted. Also, this failure only began two days ago - it was on a very long-running call, then I disconnected it and the failure happened on the almost immediate reconnect and has been happening on every single attempt since.

It's possible that the (ios) app had silently updated during the last call it was on - 19.0.5 had only hit the app store a few days prior.

I believe I've tried everything possible to diagnose and / or fix this - with the exception of factory resetting the phone.

I did find an ips file on the phone which does log the crash/es. I've attached that file here. It appears to indicate a memory / vm issue, but I can't make much more sense of it than that. NextcloudTalk-2024-06-30-065033.ips.txt

SystemKeeper commented 2 weeks ago

Hey, thanks for the report. So do I understand it correctly, that this crash now happens on every call? Or only on that particular one when you tried to connect again?

What client did the other participants use? Web, ios, android?

19.0.5 just contains a small bug fix which is not related to calls, so that should not affect calling at least.

pu15e commented 2 weeks ago

Yup, every single call. To any number of other users on any number of other, different devices.

Have tried all sorts of different call combinations, etc. Have completely wiped the app (inc data, etc) and reinstalled. Can't really reset the phone (too much trouble to reconnect apps with credentials, etc).

Have been using this phone for talk calls for several months without any issue whatsoever. It's sooo weird...

SystemKeeper commented 2 weeks ago

Have tried all sorts of different call combinations, etc.

What do you mean with different call combinations?

Have been using this phone for talk calls for several months without any issue whatsoever. It's sooo weird...

Indeed it is, can't see what's causing this at the moment.

SystemKeeper commented 2 weeks ago

Also, does it work, when another one calls you instead?

SystemKeeper commented 2 weeks ago

I was able to reproduce the issue, I'll take a closer look.

pu15e commented 2 weeks ago

Ahhh, good - glad I'm not the only one :-)

I did test incoming calls yesterday and they failed, However, to be certain I just tried again, and two out of three tests did not fail.

By different call combinations, I meant calling different devices and different users at different sites (to rule out some firewall or NAT issue, etc, etc, at the other end).

For clarity, my wife and kids are in the US and I'm in Australia working, so we tend to be on a constant call... ie: calls that regularly last well over 24 hours and are reconnected soon after any disconnect.

SystemKeeper commented 2 weeks ago

A fix has been merged and is pending a release. You can try it with the latest TestFlight build already: https://github.com/nextcloud/talk-ios?tab=readme-ov-file#testflight

pu15e commented 2 weeks ago

Awesomeness!!

Any chance I could get a TestFlight invite?

SystemKeeper commented 2 weeks ago

Just see the link I posted ;)

pu15e commented 2 weeks ago

I hope I'm just being thick, but I can't for the life of me find any "public link" on my phone. Opening TestFlight gives me nothing but a Redeem button...

SystemKeeper commented 2 weeks ago

Follow this link and then the instructions https://testflight.apple.com/join/cxzyr1eO

pu15e commented 2 weeks ago

Followed these instructions:

Installing a beta iOS or iPadOS app via email or public link invitation

[Install TestFlight](https://itunes.apple.com/us/app/testflight/id899247664?mt=8) on the iOS or iPadOS device that you’ll use for testing.
Open your email invitation and tap "View in TestFlight" or tap the public link on your device.
If you’re a new tester for the app, tap Accept.
Tap Install to install the app on your device.
If you’re a returning tester, tap Update or Open.

Have not seen, nor can I find, any public link...

TestFlight only give me a "Ready To Test" screen with a Redeem button. No settings hamburger menu icon, nothing. Just the Redeem button.

This is the first time I've used TestFlight. I'm probably missing something salient...

SystemKeeper commented 2 weeks ago

The public link is the one I posted. You just install TestFlight from the AppStore, go to the link and join the beta:

IMG_9551

pu15e commented 2 weeks ago

Ohhhhh....

Haha - I was viewing the github and TestFlight pages, etc, on my desktop computer and not the phone - following the link you provided (actually, I used the one at the bottom of the main github page) seems to have gotten me there.

Thanks soooo much for all of your help. It's hugely appreciated <3

pu15e commented 2 weeks ago

Update:

19.0.6 is running, and has immediately connected to our call. All is / seems well.

You guys rock!!!!!!!!!!