nextcloud / nextcloud/talk-android
Crash during call when phone entered powersave mode
Open
Nobody has claimed this yet.
1. to develop
bug
- Dominant language
- Kotlin
- Stars
- 739
- Forks
- 321
- Avg merge
- 14h 59m
- Merged PRs (30d)
- 151
Description
Steps to reproduce
- Drain phone battery up to the limit before it switches to save mode (around 30% or so)
- Enter a call with several people
- Wait for phone to go into battery save mode
Expected behaviour
No crash, call goes on
Actual behaviour
Crash
Device information
Device: Nokia 6.1
Android version: 10
Talk version: 12.0.0 Alpha 15
Server information
Server was c.nc.com with HPB
Logs
06-10 11:20:18.734 1660 1660 I Telecom : BluetoothStateReceiver: Device XX:XX:XX:XX:XX:XX transitioned to audio state 11: BSR.oR@b8A
06-10 11:20:19.199 1660 4221 I BatteryService: shutdownIfLowCurrentLocked batteryLevel = 14 , hasChargingCurrent = false(isPowered=false,batteryCurrent=-1028,hardware=qcom) , hitShutdownVoltage = true(batteryVoltage=3487,mBatteryMinVoltage=-1) , isSystemReady = true
06-10 11:20:19.417 1660 1842 I ActivityManager: Start proc 11056:com.google.process.gapps/u0a90 for content provider {com.google.android.gsf/com.google.android.gsf.settings.GoogleSettingsProvider}
06-10 11:20:19.417 1660 1842 D ActivityManager: handleProcessStartedLocked mDoneFinishBooting && app.pid != 0 ---> notifyProcessStart, app.processName = com.google.process.gapps, app.info = ApplicationInfo{3f952a2 com.google.android.gsf}, app.hostingType = content provider, getHostingName() = ComponentInfo{com.google.android.gsf/com.google.android.gsf.settings.GoogleSettingsProvider}, getIntentFlag() = 0, getIsPackageRunning() = false, app = ProcessRecord{3a1bb33 11056:com.google.process.gapps/u0a90}, getExtraData() = null
06-10 11:20:19.476 1660 1660 I Telecom : BluetoothStateReceiver: Device XX:XX:XX:XX:XX:XX transitioned to audio state 12: BSR.oR@b8E
06-10 11:20:19.476 1660 1660 I Telecom : BluetoothStateReceiver: Ignoring BT audio on since we're not in a call: BSR.oR@b8E
06-10 11:20:19.478 1660 4972 D PowerManagerService: WAKE_LOCK_SCREEN_BRIGHT Change, Total ACQUIRED:
06-10 11:20:19.478 1660 4972 D PowerManagerService: PARTIAL_WAKE_LOCK 'AudioMix' ACQ=-2m42s867ms LONG (uid=1041 ws=WorkSource{10321})
06-10 11:20:19.478 1660 4972 D PowerManagerService: PARTIAL_WAKE_LOCK 'nctalk:partialwakelock' ACQ=-3s3ms (uid=10321 pid=2457)
06-10 11:20:19.478 1660 4972 D PowerManagerService: PROXIMITY_SCREEN_OFF_WAKE_LOCK 'nctalk:proximitylock' ACQ=-21m5s782ms (uid=10321 pid=2457)
06-10 11:20:19.478 1660 4972 D PowerManagerService: PARTIAL_WAKE_LOCK 'AudioIn' ACQ=-21m4s308ms LONG (uid=1041 ws=WorkSource{10321})
06-10 11:20:19.478 1660 4972 D PowerManagerService: PARTIAL_WAKE_LOCK 'NlpCollectorWakeLock' ACQ=-2s720ms (uid=10090 pid=24095 ws=WorkSource{10147 com.google.android.apps.maps})
06-10 11:20:19.478 1660 4972 D PowerManagerService: PARTIAL_WAKE_LOCK '*gms_scheduler*/com.google.android.gms/.phenotype.service.sync.PhenotypeConfigurator' ACQ=-2s548ms (uid=10090 pid=24095 ws=WorkSource{10090 com.google.android.gms chains=WorkChain{(10090, scheduler)}})
06-10 11:20:19.478 1660 4972 D PowerManagerService: PARTIAL_WAKE_LOCK 'nctalk:partialwakelock' ACQ=-1s234ms (uid=10321 pid=2457)
06-10 11:20:19.478 1660 4972 D PowerManagerService: PROXIMITY_SCREEN_OFF_WAKE_LOCK 'nctalk:proximitylock' ACQ=-1s224ms (uid=10321 pid=2457)
06-10 11:20:19.478 1660 4972 D PowerManagerService: PARTIAL_WAKE_LOCK 'nctalk:partialwakelock' ACQ=-1s165ms (uid=10321 pid=2457)
06-10 11:20:19.478 1660 4972 D PowerManagerService: PROXIMITY_SCREEN_OFF_WAKE_LOCK 'nctalk:proximitylock' ACQ=-1s162ms (uid=10321 pid=2457)
06-10 11:20:19.478 1660 4972 D PowerManagerService: SCREEN_BRIGHT_WAKE_LOCK 'WindowManager' ON_AFTER_RELEASE ACQ=-952ms (uid=1000 pid=1660 ws=WorkSource{10321})
06-10 11:20:19.478 1660 4972 D PowerManagerService: SCREEN_BRIGHT_WAKE_LOCK 'nctalk:fullwakelock' ACQUIRE_CAUSES_WAKEUP (uid=10321 pid=2457)
06-10 11:20:19.822 1660 1842 I ActivityManager: Start proc 11163:com.android.vending/u0a106 for service {com.android.vending/com.google.android.finsky.scheduler.process.mainimpl.PhoneskyJobServiceMain}
06-10 11:20:19.822 1660 1842 D ActivityManager: handleProcessStartedLocked mDoneFinishBooting && app.pid != 0 ---> notifyProcessStart, app.processName = com.android.vending, app.info = ApplicationInfo{c137162 com.android.vending}, app.hostingType = service, getHostingName() = ComponentInfo{com.android.vending/com.google.android.finsky.scheduler.process.mainimpl.PhoneskyJobServiceMain}, getIntentFlag() = 0, getIsPackageRunning() = false, app = ProcessRecord{49f52f3 11163:com.android.vending/u0a106}, getExtraData() = Bundle[{SERVICE_INTENT=Intent { cmp=com.android.vending/com.google.android.finsky.scheduler.process.mainimpl.PhoneskyJobServiceMain }, CALLER_PACKAGE=android}]
06-10 11:20:20.482 1660 5307 D ConnectivityService: requestNetwork for uid/pid:10106/11163 NetworkRequest [ TRACK_DEFAULT id=28117, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10106] ]
06-10 11:20:20.779 1660 5307 I ActivityManager: Process de.rki.coronawarnapp (pid 10710) has died: cch+25 CEM
06-10 11:20:20.788 1660 9230 I ActivityManager: Process android.process.acore (pid 10797) has died: cch+15 CEM
06-10 11:20:21.864 1660 11458 D ActivityManager: Package [com.android.vending] have process
06-10 11:20:21.894 1660 1842 I ActivityManager: Start proc 11620:com.android.vending:download_service/u0a106 for service {com.android.vending/com.google.android.finsky.ipcservers.downloadservice.DownloadServiceGrpcServerAndroidService}
06-10 11:20:21.894 1660 1842 D ActivityManager: handleProcessStartedLocked mDoneFinishBooting && app.pid != 0 ---> notifyProcessStart, app.processName = com.android.vending:download_service, app.info = ApplicationInfo{8ec7628 com.android.vending}, app.hostingType = service, getHostingName() = ComponentInfo{com.android.vending/com.google.android.finsky.ipcservers.downloadservice.DownloadServiceGrpcServerAndroidService}, getIntentFlag() = 0, getIsPackageRunning() = true, app = ProcessRecord{39eaf41 11620:com.android.vending:download_service/u0a106}, getExtraData() = Bundle[{SERVICE_INTENT=Intent { act=grpc.io.action.BIND cmp=com.android.vending/com.google.android.finsky.ipcservers.downloadservice.DownloadServiceGrpcServerAndroidService }, CALLER_PACKAGE=com.android.vending}]
06-10 11:20:22.560 1660 3771 D ConnectivityService: requestNetwork for uid/pid:10106/11620 NetworkRequest [ TRACK_DEFAULT id=28119, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10106] ]
06-10 11:20:26.142 1660 4221 I BatteryService: shutdownIfLowCurrentLocked batteryLevel = 13 , hasChargingCurrent = false(isPowered=false,batteryCurrent=-958,hardware=qcom) , hitShutdownVoltage = true(batteryVoltage=3503,mBatteryMinVoltage=-1) , isSystemReady = true
06-10 11:20:26.226 1660 1842 I ActivityManager: Start proc 11729:com.google.android.apps.turbo/u0a231 for broadcast {com.google.android.apps.turbo/com.google.android.apps.turbo.nudges.broadcasts.BatteryStatusChangedReceiver}
06-10 11:20:26.226 1660 1842 D ActivityManager: handleProcessStartedLocked mDoneFinishBooting && app.pid != 0 ---> notifyProcessStart, app.processName = com.google.android.apps.turbo, app.info = ApplicationInfo{8b60501 com.google.android.apps.turbo}, app.hostingType = broadcast, getHostingName() = ComponentInfo{com.google.android.apps.turbo/com.google.android.apps.turbo.nudges.broadcasts.BatteryStatusChangedReceiver}, getIntentFlag() = 16777236, getIsPackageRunning() = false, app = ProcessRecord{acc9fa6 11729:com.google.android.apps.turbo/u0a231}, getExtraData() = Bundle[{BROADCAST_INTENT=Intent { act=android.intent.action.BATTERY_LEVEL_CHANGED flg=0x1000010 (has extras) }, CALLER_PACKAGE=android}]
06-10 11:20:27.929 1660 11458 I ActivityManager: Process com.evenwell.stbmonitor (pid 10928) has died: cch+15 CEM
06-10 11:20:30.281 2457 10985 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 10985 (signaling_threa), pid 2457 (nextcloud.talk2)
06-10 11:20:30.765 11811 11811 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-10 11:20:30.765 11811 11811 F DEBUG : Build fingerprint: 'Nokia/Plate2_00WW/PL2_sprout:10/QKQ1.190828.002/00WW_4_16H:user/release-keys'
06-10 11:20:30.765 11811 11811 F DEBUG : Revision: '0'
06-10 11:20:30.765 11811 11811 F DEBUG : ABI: 'arm64'
06-10 11:20:30.776 11811 11811 F DEBUG : Timestamp: 2021-06-10 11:20:30+0200
06-10 11:20:30.776 11811 11811 F DEBUG : pid: 2457, tid: 10985, name: signaling_threa >>> com.nextcloud.talk2 <<<
06-10 11:20:30.776 11811 11811 F DEBUG : uid: 10321
06-10 11:20:30.776 11811 11811 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
06-10 11:20:30.776 11811 11811 F DEBUG : x0 0000000000000000 x1 0000000000002ae9 x2 0000000000000006 x3 0000007253ea0850
06-10 11:20:30.776 11811 11811 F DEBUG : x4 fefeff702d9bf4ff x5 fefeff702d9bf4ff x6 fefeff702d9bf4ff x7 7f7f7f7f7fffff7f
06-10 11:20:30.776 11811 11811 F DEBUG : x8 00000000000000f0 x9 920e1e301373306b x10 0000000000000001 x11 0000000000000000
06-10 11:20:30.776 11811 11811 F DEBUG : x12 fffffff0fffffbdf x13 ffffffffffffffff x14 0000000000000004 x15 ffffffffffffffff
06-10 11:20:30.776 11811 11811 F DEBUG : x16 00000073345228c0 x17 00000073344fe900 x18 00000071fc97e000 x19 0000000000000999
06-10 11:20:30.776 11811 11811 F DEBUG : x20 0000000000002ae9 x21 00000000ffffffff x22 00000072442e2937 x23 0000007253ea1020
06-10 11:20:30.776 11811 11811 F DEBUG : x24 00000072442deab8 x25 00000000ffffffff x26 0000007253ea1020 x27 0000007335301020
06-10 11:20:30.776 11811 11811 F DEBUG : x28 000000720ec3c360 x29 0000007253ea08f0
06-10 11:20:30.777 11811 11811 F DEBUG : sp 0000007253ea0830 lr 00000073344b00c4 pc 00000073344b00f0
06-10 11:20:30.787 11811 11811 F DEBUG :
06-10 11:20:30.787 11811 11811 F DEBUG : backtrace:
06-10 11:20:30.787 11811 11811 F DEBUG : #00 pc 00000000000830f0 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160) (BuildId: cf739dbc84bcc78f7a1500721bfb3758)
06-10 11:20:30.788 11811 11811 F DEBUG : #01 pc 00000000002626dc /data/app/com.nextcloud.talk2-8QPp4j6uYsH9xJMfXdIPjQ==/lib/arm64/libjingle_peerconnection_so.so (BuildId: d011a5fc83d6e795)
06-10 11:20:30.788 11811 11811 F DEBUG : #02 pc 000000000024243c /data/app/com.nextcloud.talk2-8QPp4j6uYsH9xJMfXdIPjQ==/lib/arm64/libjingle_peerconnection_so.so (BuildId: d011a5fc83d6e795)
06-10 11:20:30.788 11811 11811 F DEBUG : #03 pc 0000000000242364 /data/app/com.nextcloud.talk2-8QPp4j6uYsH9xJMfXdIPjQ==/lib/arm64/libjingle_peerconnection_so.so (BuildId: d011a5fc83d6e795)
06-10 11:20:30.788 11811 11811 F DEBUG : #04 pc 00000000004e2c60 /data/app/com.nextcloud.talk2-8QPp4j6uYsH9xJMfXdIPjQ==/lib/arm64/libjingle_peerconnection_so.so (BuildId: d011a5fc83d6e795)
06-10 11:20:30.788 11811 11811 F DEBUG : #05 pc 00000000006288b4 /data/app/com.nextcloud.talk2-8QPp4j6uYsH9xJMfXdIPjQ==/lib/arm64/libjingle_peerconnection_so.so (BuildId: d011a5fc83d6e795)
06-10 11:20:30.788 11811 11811 F DEBUG : #06 pc 000000000025c08c /data/app/com.nextcloud.talk2-8QPp4j6uYsH9xJMfXdIPjQ==/lib/arm64/libjingle_peerconnection_so.so (BuildId: d011a5fc83d6e795)
06-10 11:20:30.788 11811 11811 F DEBUG : #07 pc 000000000025b098 /data/app/com.nextcloud.talk2-8QPp4j6uYsH9xJMfXdIPjQ==/lib/arm64/libjingle_peerconnection_so.so (BuildId: d011a5fc83d6e795)
06-10 11:20:30.788 11811 11811 F DEBUG : #08 pc 000000000025c544 /data/app/com.nextcloud.talk2-8QPp4j6uYsH9xJMfXdIPjQ==/lib/arm64/libjingle_peerconnection_so.so (BuildId: d011a5fc83d6e795)
06-10 11:20:30.788 11811 11811 F DEBUG : #09 pc 00000000000e6890 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: cf739dbc84bcc78f7a1500721bfb3758)
06-10 11:20:30.788 11811 11811 F DEBUG : #10 pc 0000000000084b6c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: cf739dbc84bcc78f7a1500721bfb3758)
Notes
Only happened once, I haven't tried to reproduce it again.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The report names no source file or test; begin with the Android call path associated with the signaling_thread and libjingle_peerconnection_so.so entries in the crash backtrace. Reproduce the listed group-call scenario on a Nokia 6.1 as battery saver activates, then verify that the call continues without a crash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- audio-video-rtc, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100