Author Topic: tgkill  (Read 119 times)

dieppa

  • Posts: 9
tgkill
« on: 15 Jan '18 - 11:05 »
Hello,

Several devices are crashing describing the following stacktrace from Google play console:

Samsung Galaxy J5 (j5nlte), 1536MB RAM, Android 6.0
Informe 1 de 5

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.energysistem.energyMusic <<<

backtrace:
  #00  pc 0000000000044310  /system/lib/libc.so (tgkill+12)
  #01  pc 0000000000041f11  /system/lib/libc.so (pthread_kill+32)
  #02  pc 000000000001ba13  /system/lib/libc.so (raise+10)
  #03  pc 0000000000018c81  /system/lib/libc.so (__libc_android_abort+34)
  #04  pc 0000000000016840  /system/lib/libc.so (abort+4)
  #05  pc 000000000031eb45  /system/lib/libart.so (_ZN3art7Runtime5AbortEv+200)
  #06  pc 00000000000f3acd  /system/lib/libart.so (_ZN3art10LogMessageD2Ev+2212)
  #07  pc 00000000001d5185  /system/lib/libart.so (_ZN3art22IndirectReferenceTable3AddEjPNS_6mirror6ObjectE+228)
  #08  pc 000000000024d361  /system/lib/libart.so (_ZN3art9JavaVMExt12AddGlobalRefEPNS_6ThreadEPNS_6mirror6ObjectE+28)
  #09  pc 0000000000283c6d  /system/lib/libart.so (_ZN3art3JNI12NewGlobalRefEP7_JNIEnvP8_jobject+212)
  #10  pc 000000000000d1ad  /data/app/com.energysistem.energyMusic-1/lib/arm/libbass.so
  #11  pc 000000000000d1c9  /data/app/com.energysistem.energyMusic-1/lib/arm/libbass.so
  #12  pc 0000000000020703  /data/app/com.energysistem.energyMusic-1/lib/arm/libbass.so (Java_com_un4seen_bass_BASS_BASS_1ChannelSetSync+58)
  #13  pc 0000000000e241eb  /data/app/com.energysistem.energyMusic-1/oat/arm/base.odex

Any clue of what could be going on?

Thanks.

EDIT:

I suspect it's related to an increasing amount of references to Java objects. I will release a patch in the next few hours. I will share with you the results!
« Last Edit: 15 Jan '18 - 13:00 by dieppa »

Ian @ un4seen

  • Administrator
  • Posts: 20607
Re: tgkill
« Reply #1 on: 15 Jan '18 - 15:26 »
Yes, from the "NewGlobalRef" in that call stack, it looks like it may well be a case of too many global Java object references. In this case, it'll be adding a reference to your SYNCPROC in a BASS_ChannelSetSync call, so you could check how many syncs you're setting and if you can reduce that, eg. perhaps some are no longer needed and can be freed via BASS_ChannelRemoveSync?

dieppa

  • Posts: 9
Re: tgkill
« Reply #2 on: 16 Jan '18 - 16:41 »
Hi Ian,

Yes, I did it, it seems to be working so far.

Thanks!