Hi, Forums!
I have a crash problem in ios and android. Our app is build by unity. The crash calling stack as follow:
Thread 129 (crashed)
0 libfmod.so!FMOD::ChannelControl::getDSPClock(unsigned long long*, unsigned long long*) + 0x48
x0 = 0xb400007343025988 x1 = 0x0000000000000000
x2 = 0xb4000074384ae238 x3 = 0x0000007396e37fac
x4 = 0x0000000000000000 x5 = 0x00000000ffffffff
x6 = 0x00000076939c3000 x7 = 0x00000000039e2caa
x8 = 0x0000007096f25da0 x9 = 0x00000000ca5cade5
x10 = 0xb4000074384ae228 x11 = 0x0000000000000000
x12 = 0x0000000000000018 x13 = 0x00000003e8000000
x14 = 0x00364e9507efbfa4 x15 = 0x00006cfed4ff4d6c
x16 = 0x0000007396dda5b8 x17 = 0x0000007396eb9d68
x18 = 0x0000007393b2c000 x19 = 0xb400007343025988
x20 = 0xb4000074384ae238 x21 = 0x0000000000000000
x22 = 0x0000000000000000 x23 = 0x0000007396ddbde0
x24 = 0x000000740329ccc0 x25 = 0x000000740329ccc0
x26 = 0x000000740329cff8 x27 = 0x0000007581e8c000
x28 = 0x000000740327c000 fp = 0x000000740329c940
lr = 0x0000007396eb9d98 sp = 0x000000740329c810
pc = 0x0000007396eb9db0
Found by: given as instruction pointer in context
1 libfmod.so!FMOD::ChannelControl::getDSPClock(unsigned long long*, unsigned long long*) + 0x2c
fp = 0x000000740329c960 lr = 0x0000007396daa408
sp = 0x000000740329c950 pc = 0x0000007396eb9d98
Found by: previous frame’s frame pointer
2 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x2d2ac
fp = 0x000000740329c990 lr = 0x0000007396d03db8
sp = 0x000000740329c970 pc = 0x0000007396daa408
Found by: previous frame’s frame pointer
3 libfmodstudio.so + 0x3bdb4
fp = 0x000000740329c9c0 lr = 0x0000007396d11c6c
sp = 0x000000740329c9a0 pc = 0x0000007396d03db8
Found by: previous frame’s frame pointer
4 libfmodstudio.so + 0x49c68
fp = 0x000000740329ca10 lr = 0x0000007396d145b0
sp = 0x000000740329c9d0 pc = 0x0000007396d11c6c
Found by: previous frame’s frame pointer
5 libfmodstudio.so + 0x4c5ac
fp = 0x000000740329ca40 lr = 0x0000007396d96544
sp = 0x000000740329ca20 pc = 0x0000007396d145b0
Found by: previous frame’s frame pointer
6 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x193e8
fp = 0x000000740329cb60 lr = 0x0000007396d972d8
sp = 0x000000740329ca50 pc = 0x0000007396d96544
Found by: previous frame’s frame pointer
7 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x1a17c
fp = 0x000000740329cb80 lr = 0x0000007396dbcf0c
sp = 0x000000740329cb70 pc = 0x0000007396d972d8
Found by: previous frame’s frame pointer
8 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x3fdb0
fp = 0x000000740329cc60 lr = 0x0000007396dbd788
sp = 0x000000740329cb90 pc = 0x0000007396dbcf0c
Found by: previous frame’s frame pointer
9 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x4062c
fp = 0x000000740329cc70 lr = 0x000000768e10f208
sp = 0x000000740329cc70 pc = 0x0000007396dbd788
Found by: previous frame’s frame pointer
10 libc.so!__pthread_start(void*) + 0x40
fp = 0x000000740329cc90 lr = 0x000000768e0a9c68
sp = 0x000000740329cc80 pc = 0x000000768e10f208
Found by: previous frame’s frame pointer
Sometimes, the stack is as follow:
Thread 73 (crashed)
0 libfmod.so!FMOD::AsyncThread::getAsyncThread(FMOD::SystemI*, int, FMOD::AsyncThread**) + 0x415c
x0 = 0xb400007460ca72b8 x1 = 0x00000000fffffffe
x2 = 0x00000072d6e834f8 x3 = 0x0000000000000000
x4 = 0x00000072a958f2d4 x5 = 0xb40000746114f4e0
x6 = 0x0000007667a31000 x7 = 0x000000000af87322
x8 = 0x000000705e7a9da0 x9 = 0xb400007460ca7478
x10 = 0xb4000075809932b4 x11 = 0x0000000000000000
x12 = 0x0000000000000018 x13 = 0x00000003e8000000
x14 = 0x001a252b1c250222 x15 = 0x000062143c54b4a4
x16 = 0x000000715e7ad110 x17 = 0x00000076610e2cc8
x18 = 0x00000072b0849000 x19 = 0xb400007460ca72b8
x20 = 0x0000000000000000 x21 = 0x0000000000000000
x22 = 0x0000000000000037 x23 = 0xb400007580993978
x24 = 0x00000000004b37a5 x25 = 0x00000072d6e83cc0
x26 = 0x00000072d6e83ff8 x27 = 0x0000000000024000
x28 = 0x00000072d6e63000 fp = 0x00000072d6e83560
lr = 0x000000715e6bfe10 sp = 0x00000072d6e834f0
pc = 0x000000715e6bd3c4
Found by: given as instruction pointer in context
1 libfmod.so!FMOD::AsyncThread::getAsyncThread(FMOD::SystemI*, int, FMOD::AsyncThread**) + 0x6ba4
fp = 0x00000072d6e835a0 lr = 0x000000715e6bfe10
sp = 0x00000072d6e83570 pc = 0x000000715e6bfe10
Found by: previous frame’s frame pointer
2 libfmod.so!FMOD::AsyncThread::getAsyncThread(FMOD::SystemI*, int, FMOD::AsyncThread**) + 0x6ba4
fp = 0x00000072d6e835d0 lr = 0x000000715e6e668c
sp = 0x00000072d6e835b0 pc = 0x000000715e6bfe10
Found by: previous frame’s frame pointer
3 libfmod.so!FMOD::SystemI::createDiskFile(char const*, FMOD_CREATESOUNDEXINFO*, FMOD::File**, bool*) + 0x3dc4
fp = 0x00000072d6e83620 lr = 0x000000715e6e61fc
sp = 0x00000072d6e835e0 pc = 0x000000715e6e668c
Found by: previous frame’s frame pointer
4 libfmod.so!FMOD::SystemI::createDiskFile(char const*, FMOD_CREATESOUNDEXINFO*, FMOD::File**, bool*) + 0x3934
fp = 0x00000072d6e83760 lr = 0x000000715e74d024
sp = 0x00000072d6e83630 pc = 0x000000715e6e61fc
Found by: previous frame’s frame pointer
5 libfmod.so!FMOD::System::update() + 0x34
fp = 0x00000072d6e837c0 lr = 0x000000715e59e860
sp = 0x00000072d6e83770 pc = 0x000000715e74d024
Found by: previous frame’s frame pointer
6 libfmodstudio.so + 0x4c85c
fp = 0x00000072d6e83a10 lr = 0x000000715e5a6b88
sp = 0x00000072d6e837d0 pc = 0x000000715e59e860
Found by: previous frame’s frame pointer
7 libfmodstudio.so + 0x54b84
fp = 0x00000072d6e83a40 lr = 0x000000715e62056c
sp = 0x00000072d6e83a20 pc = 0x000000715e5a6b88
Found by: previous frame’s frame pointer
8 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x19410
fp = 0x00000072d6e83b60 lr = 0x000000715e6212d8
sp = 0x00000072d6e83a50 pc = 0x000000715e62056c
Found by: previous frame’s frame pointer
9 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x1a17c
fp = 0x00000072d6e83b80 lr = 0x000000715e646f0c
sp = 0x00000072d6e83b70 pc = 0x000000715e6212d8
Found by: previous frame’s frame pointer
10 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x3fdb0
fp = 0x00000072d6e83c60 lr = 0x000000715e647788
sp = 0x00000072d6e83b90 pc = 0x000000715e646f0c
Found by: previous frame’s frame pointer
11 libfmodstudio.so!FMOD::Studio::CommandReplay::setUserData(void*) + 0x4062c
fp = 0x00000072d6e83c70 lr = 0x000000766114908c
sp = 0x00000072d6e83c70 pc = 0x000000715e647788
Found by: previous frame’s frame pointer
12 libc.so!__pthread_start(void*) + 0x40
fp = 0x00000072d6e83c90 lr = 0x00000076610e940c
sp = 0x00000072d6e83c80 pc = 0x000000766114908c
Found by: previous frame’s frame pointer
Unfortunately, it is difficult to reproduce such program crashes proactively.
I hope there is someone who can answer this question!