nextcloud / nextcloud/talk-android

Crash during call when phone entered powersave mode

Open
#1,318 1 comment 0 reactions 0 assignees View on GitHub

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

  1. Drain phone battery up to the limit before it switches to save mode (around 30% or so)
  2. Enter a call with several people
  3. 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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.