nextcloud / nextcloud/talk-android

App crashes in signaling_thread inside libjingle_peerconnection_so.so during call initialization

Open
#4,951 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage bug
Dominant language
Kotlin
Stars
739
Forks
321
Avg merge
14h 59m
Merged PRs (30d)
151

Description

Steps to reproduce
  1. Set up a functioning Nextcloud Talk server with custom signaling and TURN server.
  2. Open the Talk Android app on an Android 11 or 15 device.
  3. Join a call (video or audio).
  4. Observe the app crash immediately after initiating the call.
Expected behaviour

The app should proceed with the WebRTC negotiation and join the call successfully.

Actual behaviour

The app crashes during the ICE/TURN negotiation phase. From adb logcat, a fatal crash occurs in libjingle_peerconnection_so.so inside the signaling_thread.

Device brand and model

Motorola moto g64y 5G

Android version

11 and 15 (both affected)

Nextcloud Talk app version

21.0.1

Nextcloud server version

31.0.4

Talk version

21.0.4

Custom Signaling server configured

None

Custom TURN server configured

None

Custom STUN server configured

None

Android logs

--------- beginning of crash
...
05-08 14:55:02.096 29090 29212 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 29212 (signaling_threa), pid 29090 (nextcloud.talk2)
...
05-08 14:55:03.062 29320 29320 F DEBUG : Cmdline: com.nextcloud.talk2
05-08 14:55:03.062 29320 29320 F DEBUG : pid: 29090, tid: 29212, name: signaling_threa >>> com.nextcloud.talk2 <<<
05-08 14:55:03.062 29320 29320 F DEBUG : backtrace:
#00 pc 0000000000096044 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164)
#01 pc 000000000042792c /data/app/.../base.apk!libjingle_peerconnection_so.so
#02 pc 0000000000427f78 /data/app/.../base.apk!libjingle_peerconnection_so.so
...
A full crash trace is available if needed.

Server log

Additional information

This crash occurs both on Android 11 and 15.
The crash appears to originate inside libjingle_peerconnection_so.so, which is part of the native WebRTC library used by the app.

The crash happens on the signaling_thread, suggesting it may be related to ICE/TURN negotiation or media session setup.

Other clients (browser, iOS app) using the same signaling and TURN configuration work correctly.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Android call-initialization path and the supplied adb logcat backtrace for libjingle_peerconnection_so.so. Reproduce the crash on the listed Android versions and compare the signaling and ICE/TURN negotiation flow; the issue does not name a source file or test. Done means calls initialize without the native crash and WebRTC negotiation completes successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
audio-video-rtc, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.